LLVM  4.0.0
Macros | Functions | Variables
ADCE.cpp File Reference
#include "llvm/Transforms/Scalar/ADCE.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/IteratedDominanceFrontier.h"
#include "llvm/Analysis/PostDominators.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/DebugInfoMetadata.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/Pass.h"
#include "llvm/ProfileData/InstrProf.h"
#include "llvm/Transforms/Scalar.h"
Include dependency graph for ADCE.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "adce"
 

Functions

 STATISTIC (NumRemoved,"Number of instructions removed")
 
 STATISTIC (NumBranchesRemoved,"Number of branch instructions removed")
 
static bool isUnconditionalBranch (TerminatorInst *Term)
 
 INITIALIZE_PASS_BEGIN (ADCELegacyPass,"adce","Aggressive Dead Code Elimination", false, false) INITIALIZE_PASS_END(ADCELegacyPass
 

Variables

static cl::opt< boolRemoveControlFlowFlag ("adce-remove-control-flow", cl::init(true), cl::Hidden)
 
static cl::opt< boolRemoveLoops ("adce-remove-loops", cl::init(false), cl::Hidden)
 
 adce
 
Aggressive Dead Code Elimination
 
Aggressive Dead Code false
 

Macro Definition Documentation

#define DEBUG_TYPE   "adce"

Definition at line 39 of file ADCE.cpp.

Function Documentation

INITIALIZE_PASS_BEGIN ( ADCELegacyPass  ,
"adce"  ,
"Aggressive Dead Code Elimination ,
false  ,
false   
)
static bool isUnconditionalBranch ( TerminatorInst Term)
static

Definition at line 172 of file ADCE.cpp.

References llvm::ISD::BR, and llvm::dyn_cast().

STATISTIC ( NumRemoved  ,
"Number of instructions removed"   
)
STATISTIC ( NumBranchesRemoved  ,
"Number of branch instructions removed"   
)

Variable Documentation

adce

Definition at line 680 of file ADCE.cpp.

Aggressive Dead Code Elimination

Definition at line 680 of file ADCE.cpp.

Aggressive Dead Code false

Definition at line 680 of file ADCE.cpp.

cl::opt<bool> RemoveControlFlowFlag("adce-remove-control-flow", cl::init(true), cl::Hidden)
static
cl::opt<bool> RemoveLoops("adce-remove-loops", cl::init(false), cl::Hidden)
static