LLVM 20.0.0git
|
#include "llvm/Transforms/Scalar/SCCP.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/DomTreeUpdater.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constant.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/User.h"
#include "llvm/IR/Value.h"
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Transforms/Utils/SCCPSolver.h"
#include <utility>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "sccp" |
Functions | |
STATISTIC (NumInstRemoved, "Number of instructions removed") | |
STATISTIC (NumDeadBlocks, "Number of basic blocks unreachable") | |
STATISTIC (NumInstReplaced, "Number of instructions replaced with (simpler) instruction") | |
static bool | runSCCP (Function &F, const DataLayout &DL, const TargetLibraryInfo *TLI, DomTreeUpdater &DTU) |
|
static |
Definition at line 62 of file SCCP.cpp.
References llvm::changeToUnreachable(), llvm::dbgs(), llvm::DomTreeUpdater::deleteBB(), DL, F, llvm::SCCPSolver::isBlockExecutable(), LLVM_DEBUG, llvm::SCCPSolver::markBlockExecutable(), llvm::SCCPSolver::markOverdefined(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SCCPSolver::removeNonFeasibleEdges(), llvm::SCCPSolver::resolvedUndefsIn(), llvm::SCCPSolver::simplifyInstsInBlock(), and llvm::SCCPSolver::solve().
Referenced by llvm::SCCPPass::run().
STATISTIC | ( | NumDeadBlocks | , |
"Number of basic blocks unreachable" | |||
) |
STATISTIC | ( | NumInstRemoved | , |
"Number of instructions removed" | |||
) |
STATISTIC | ( | NumInstReplaced | , |
"Number of instructions replaced with (simpler) instruction" | |||
) |