LLVM  9.0.0svn
Macros | Functions | Variables
ADCE.cpp File Reference
#include "llvm/Transforms/Scalar/ADCE.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/PostOrderIterator.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/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/DebugLoc.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Use.h"
#include "llvm/IR/Value.h"
#include "llvm/Pass.h"
#include "llvm/ProfileData/InstrProf.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include <cassert>
#include <cstddef>
#include <utility>
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 (Instruction *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

◆ DEBUG_TYPE

#define DEBUG_TYPE   "adce"

Definition at line 57 of file ADCE.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( ADCELegacyPass  ,
"adce"  ,
"Aggressive Dead Code Elimination ,
false  ,
false   
)

Referenced by llvm::ADCEPass::run().

◆ isUnconditionalBranch()

static bool isUnconditionalBranch ( Instruction Term)
static

◆ STATISTIC() [1/2]

STATISTIC ( NumRemoved  ,
"Number of instructions removed"   
)

◆ STATISTIC() [2/2]

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

Variable Documentation

◆ adce

adce

Definition at line 730 of file ADCE.cpp.

◆ Elimination

Aggressive Dead Code Elimination

Definition at line 730 of file ADCE.cpp.

◆ false

Aggressive Dead Code false

Definition at line 730 of file ADCE.cpp.

◆ RemoveControlFlowFlag

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

◆ RemoveLoops

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

Referenced by isUnconditionalBranch().