LLVM  14.0.0git
Macros | Functions | Variables
DFAJumpThreading.cpp File Reference
#include "llvm/Transforms/Scalar/DFAJumpThreading.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/CodeMetrics.h"
#include "llvm/Analysis/LoopIterator.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Verifier.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
#include "llvm/Transforms/Utils/Cloning.h"
#include "llvm/Transforms/Utils/SSAUpdaterBulk.h"
#include "llvm/Transforms/Utils/ValueMapper.h"
#include <algorithm>
#include <deque>
Include dependency graph for DFAJumpThreading.cpp:

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "dfa-jump-threading"
 

Functions

 STATISTIC (NumTransforms, "Number of transformations done")
 
 STATISTIC (NumCloned, "Number of blocks cloned")
 
 STATISTIC (NumPaths, "Number of individual paths threaded")
 
 INITIALIZE_PASS_BEGIN (DFAJumpThreadingLegacyPass, "dfa-jump-threading", "DFA Jump Threading", false, false) INITIALIZE_PASS_END(DFAJumpThreadingLegacyPass
 

Variables

static cl::opt< bool > ClViewCfgBefore ("dfa-jump-view-cfg-before", cl::desc("View the CFG before DFA Jump Threading"), cl::Hidden, cl::init(false))
 
static cl::opt< unsigned > MaxPathLength ("dfa-max-path-length", cl::desc("Max number of blocks searched to find a threading path"), cl::Hidden, cl::init(20))
 
static cl::opt< unsigned > CostThreshold ("dfa-cost-threshold", cl::desc("Maximum cost accepted for the transformation"), cl::Hidden, cl::init(50))
 
dfa jump threading
 
dfa jump DFA Jump Threading
 
dfa jump DFA Jump false
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "dfa-jump-threading"

Definition at line 89 of file DFAJumpThreading.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( DFAJumpThreadingLegacyPass  ,
"dfa-jump-threading ,
"DFA Jump Threading ,
false  ,
false   
)

◆ STATISTIC() [1/3]

STATISTIC ( NumCloned  ,
"Number of blocks cloned"   
)

◆ STATISTIC() [2/3]

STATISTIC ( NumPaths  ,
"Number of individual paths threaded"   
)

◆ STATISTIC() [3/3]

STATISTIC ( NumTransforms  ,
"Number of transformations done"   
)

Variable Documentation

◆ ClViewCfgBefore

cl::opt<bool> ClViewCfgBefore("dfa-jump-view-cfg-before", cl::desc("View the CFG before DFA Jump Threading"), cl::Hidden, cl::init(false))
static

◆ CostThreshold

cl::opt<unsigned> CostThreshold("dfa-cost-threshold", cl::desc("Maximum cost accepted for the transformation"), cl::Hidden, cl::init(50))
static

◆ false

dfa jump DFA Jump false

Definition at line 203 of file DFAJumpThreading.cpp.

◆ MaxPathLength

cl::opt<unsigned> MaxPathLength("dfa-max-path-length", cl::desc("Max number of blocks searched to find a threading path"), cl::Hidden, cl::init(20))
static

◆ threading

dfa jump threading

Definition at line 202 of file DFAJumpThreading.cpp.

◆ Threading

dfa jump DFA Jump Threading

Definition at line 203 of file DFAJumpThreading.cpp.