LLVM: lib/Analysis/CodeMetrics.cpp File Reference (original) (raw)

#include "[llvm/Analysis/CodeMetrics.h](CodeMetrics%5F8h%5Fsource.html)"
#include "[llvm/ADT/SmallPtrSet.h](SmallPtrSet%5F8h%5Fsource.html)"
#include "[llvm/Analysis/AssumptionCache.h](AssumptionCache%5F8h%5Fsource.html)"
#include "[llvm/Analysis/LoopInfo.h](LoopInfo%5F8h%5Fsource.html)"
#include "[llvm/Analysis/TargetTransformInfo.h](TargetTransformInfo%5F8h%5Fsource.html)"
#include "[llvm/IR/Function.h](IR%5F2Function%5F8h%5Fsource.html)"
#include "[llvm/IR/IntrinsicInst.h](IR%5F2IntrinsicInst%5F8h%5Fsource.html)"
#include "[llvm/Support/Debug.h](Support%5F2Debug%5F8h%5Fsource.html)"
#include "[llvm/Support/InstructionCost.h](InstructionCost%5F8h%5Fsource.html)"

Go to the source code of this file.

Macros
#define DEBUG_TYPE "code-metrics"
Functions
static void appendSpeculatableOperands (const Value *V, SmallPtrSetImpl< const Value * > &Visited, SmallVectorImpl< const Value * > &Worklist)
static void completeEphemeralValues (SmallPtrSetImpl< const Value * > &Visited, SmallVectorImpl< const Value * > &Worklist, SmallPtrSetImpl< const Value * > &EphValues)
static bool extendsConvergenceOutsideLoop (const Instruction &I, const Loop *L)

Macro Definition Documentation

DEBUG_TYPE

#define DEBUG_TYPE "code-metrics"

Definition at line 23 of file CodeMetrics.cpp.

Function Documentation

appendSpeculatableOperands()

void appendSpeculatableOperands ( const Value * V, SmallPtrSetImpl< const Value * > & Visited, SmallVectorImpl< const Value * > & Worklist ) static

Definition at line 28 of file CodeMetrics.cpp.

References llvm::dyn_cast(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().

Referenced by llvm::CodeMetrics::collectEphemeralValues(), llvm::CodeMetrics::collectEphemeralValues(), and completeEphemeralValues().

completeEphemeralValues()

void completeEphemeralValues ( SmallPtrSetImpl< const Value * > & Visited, SmallVectorImpl< const Value * > & Worklist, SmallPtrSetImpl< const Value * > & EphValues ) static

Definition at line 42 of file CodeMetrics.cpp.

References llvm::all_of(), appendSpeculatableOperands(), assert(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::dbgs(), llvm::SmallPtrSetImpl< PtrType >::insert(), LLVM_DEBUG, and llvm::SmallVectorTemplateCommon< T, typename >::size().

Referenced by llvm::CodeMetrics::collectEphemeralValues(), and llvm::CodeMetrics::collectEphemeralValues().

extendsConvergenceOutsideLoop()

bool extendsConvergenceOutsideLoop ( const Instruction & I, const Loop * L ) static

Definition at line 115 of file CodeMetrics.cpp.

References llvm::cast(), I, and llvm::isa().

Referenced by llvm::CodeMetrics::analyzeBasicBlock().