Go to the source code of this file.
|
| STATISTIC (NumInstRemoved, "Number of instructions removed") |
|
| STATISTIC (NumDeadBlocks, "Number of basic blocks unreachable") |
|
| STATISTIC (IPNumInstRemoved, "Number of instructions removed by IPSCCP") |
|
| STATISTIC (IPNumArgsElimed,"Number of arguments constant propagated by IPSCCP") |
|
| STATISTIC (IPNumGlobalConst, "Number of globals found to be constant by IPSCCP") |
|
static bool | tryToReplaceWithConstant (SCCPSolver &Solver, Value *V) |
|
static bool | runSCCP (Function &F, const DataLayout &DL, const TargetLibraryInfo *TLI) |
|
| INITIALIZE_PASS_BEGIN (SCCPLegacyPass, "sccp", "Sparse Conditional Constant Propagation", false, false) INITIALIZE_PASS_END(SCCPLegacyPass |
|
static void | findReturnsToZap (Function &F, SmallVector< ReturnInst *, 8 > &ReturnsToZap, SCCPSolver &Solver) |
|
static void | forceIndeterminateEdge (Instruction *I, SCCPSolver &Solver) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "sccp" |
◆ findReturnsToZap()
◆ forceIndeterminateEdge()
static void forceIndeterminateEdge |
( |
Instruction * |
I, |
|
|
SCCPSolver & |
Solver |
|
) |
| |
|
static |
◆ INITIALIZE_PASS_BEGIN()
◆ runSCCP()
Definition at line 1756 of file SCCP.cpp.
References llvm::Function::args(), llvm::dbgs(), E, llvm::Instruction::eraseFromParent(), llvm::Function::front(), llvm::Value::getName(), llvm::Value::getType(), llvm::isInstructionTriviallyDead(), llvm::Instruction::isTerminator(), llvm::Type::isVoidTy(), LLVM_DEBUG, llvm::removeAllNonTerminatorAndEHPadInstructions(), and tryToReplaceWithConstant().
Referenced by llvm::SCCPPass::run().
◆ STATISTIC() [1/5]
STATISTIC |
( |
NumInstRemoved |
, |
|
|
"Number of instructions removed" |
|
|
) |
| |
◆ STATISTIC() [2/5]
STATISTIC |
( |
NumDeadBlocks |
, |
|
|
"Number of basic blocks unreachable" |
|
|
) |
| |
◆ STATISTIC() [3/5]
STATISTIC |
( |
IPNumInstRemoved |
, |
|
|
"Number of instructions removed by IPSCCP" |
|
|
) |
| |
◆ STATISTIC() [4/5]
STATISTIC |
( |
IPNumArgsElimed |
, |
|
|
"Number of arguments constant propagated by IPSCCP" |
|
|
) |
| |
◆ STATISTIC() [5/5]
STATISTIC |
( |
IPNumGlobalConst |
, |
|
|
"Number of globals found to be constant by IPSCCP" |
|
|
) |
| |
◆ tryToReplaceWithConstant()
static bool tryToReplaceWithConstant |
( |
SCCPSolver & |
Solver, |
|
|
Value * |
V |
|
) |
| |
|
static |
Definition at line 1706 of file SCCP.cpp.
References llvm::any_of(), assert(), llvm::dbgs(), llvm::dyn_cast(), llvm::ConstantStruct::get(), llvm::UndefValue::get(), llvm::CallSiteBase< FunTy, BBTy, ValTy, UserTy, UseTy, InstrTy, CallTy, InvokeTy, IterTy >::getCalledFunction(), llvm::Value::getType(), llvm::CallInst::isMustTailCall(), llvm::Instruction::isSafeToRemove(), llvm::Type::isStructTy(), LLVM_DEBUG, llvm::Value::replaceAllUsesWith(), and llvm::ARM_MB::ST.
Referenced by llvm::runIPSCCP(), and runSCCP().
◆ false
◆ Propagation
◆ sccp