Go to the source code of this file.
|
| | STATISTIC (NumDiamondsSeen, "Number of diamonds") |
| | STATISTIC (NumDiamondsConv, "Number of diamonds converted") |
| | STATISTIC (NumTrianglesSeen, "Number of triangles") |
| | STATISTIC (NumTrianglesConv, "Number of triangles converted") |
| | STATISTIC (NumDataDependant, "Number of data dependent conditional branches encountered") |
| | STATISTIC (NumLikelyBiased, "Number of branches with a hot path encountered") |
| static bool | hasSameValue (const MachineRegisterInfo &MRI, const TargetInstrInfo *TII, Register TReg, Register FReg) |
| | INITIALIZE_PASS_BEGIN (EarlyIfConverterLegacy, DEBUG_TYPE, "Early If Converter", false, false) INITIALIZE_PASS_END(EarlyIfConverterLegacy |
| static bool | isConstantPoolLoad (const MachineInstr *MI) |
| static bool | callInRange (const MachineInstr *From, const MachineInstr *To) |
| | Check if there are any calls in the range (From, To].
|
| static unsigned | adjCycles (unsigned Cyc, int Delta) |
| | INITIALIZE_PASS_BEGIN (EarlyIfPredicator, DEBUG_TYPE, "Early If Predicator", false, false) INITIALIZE_PASS_END(EarlyIfPredicator |
|
| static cl::opt< unsigned > | BlockInstrLimit ("early-ifcvt-limit", cl::init(30), cl::Hidden, cl::desc("Maximum number of instructions per speculated block.")) |
| static cl::opt< bool > | Stress ("stress-early-ifcvt", cl::Hidden, cl::desc("Turn all knobs to 11")) |
| static cl::opt< bool > | EnableDataDependentBranchAnalysis ("enable-early-ifcvt-data-dependent", cl::Hidden, cl::init(false), cl::desc("Enable hard-to-predict branch analysis for if-conversion")) |
| static cl::opt< unsigned > | MaxNumSteps ("early-ifcvt-max-steps", cl::Hidden, cl::init(16), cl::desc("Limit the number of steps taken when searching for a " "recently loaded value")) |
| | DEBUG_TYPE |
| Early If | Converter |
| Early If | false |
| Early If | Predicator |
◆ DEBUG_TYPE [1/2]
| #define DEBUG_TYPE "early-ifcvt" |
◆ DEBUG_TYPE [2/2]
| #define DEBUG_TYPE "early-if-predicator" |
◆ adjCycles()
◆ callInRange()
◆ hasSameValue()
◆ INITIALIZE_PASS_BEGIN() [1/2]
| INITIALIZE_PASS_BEGIN |
( |
EarlyIfConverterLegacy | , |
|
|
DEBUG_TYPE | , |
|
|
"Early If Converter" | , |
|
|
false | , |
|
|
false | ) |
◆ INITIALIZE_PASS_BEGIN() [2/2]
| INITIALIZE_PASS_BEGIN |
( |
EarlyIfPredicator | , |
|
|
DEBUG_TYPE | , |
|
|
"Early If Predicator" | , |
|
|
false | , |
|
|
false | ) |
◆ isConstantPoolLoad()
◆ STATISTIC() [1/6]
| STATISTIC |
( |
NumDataDependant | , |
|
|
"Number of data dependent conditional branches encountered" | ) |
◆ STATISTIC() [2/6]
| STATISTIC |
( |
NumDiamondsConv | , |
|
|
"Number of diamonds converted" | ) |
◆ STATISTIC() [3/6]
| STATISTIC |
( |
NumDiamondsSeen | , |
|
|
"Number of diamonds" | ) |
◆ STATISTIC() [4/6]
| STATISTIC |
( |
NumLikelyBiased | , |
|
|
"Number of branches with a hot path encountered" | ) |
◆ STATISTIC() [5/6]
| STATISTIC |
( |
NumTrianglesConv | , |
|
|
"Number of triangles converted" | ) |
◆ STATISTIC() [6/6]
| STATISTIC |
( |
NumTrianglesSeen | , |
|
|
"Number of triangles" | ) |
◆ BlockInstrLimit
◆ Converter
◆ DEBUG_TYPE
◆ EnableDataDependentBranchAnalysis
| cl::opt< bool > EnableDataDependentBranchAnalysis("enable-early-ifcvt-data-dependent", cl::Hidden, cl::init(false), cl::desc("Enable hard-to-predict branch analysis for if-conversion")) |
( |
"enable-early-ifcvt-data-dependent" | , |
|
|
cl::Hidden | , |
|
|
cl::init(false) | , |
|
|
cl::desc("Enable hard-to-predict branch analysis for if-conversion") | ) |
|
static |
◆ false
◆ MaxNumSteps
| cl::opt< unsigned > MaxNumSteps("early-ifcvt-max-steps", cl::Hidden, cl::init(16), cl::desc("Limit the number of steps taken when searching for a " "recently loaded value")) |
( |
"early-ifcvt-max-steps" | , |
|
|
cl::Hidden | , |
|
|
cl::init(16) | , |
|
|
cl::desc("Limit the number of steps taken when searching for a " "recently loaded value") | ) |
|
static |
◆ Predicator
◆ Stress
| cl::opt< bool > Stress("stress-early-ifcvt", cl::Hidden, cl::desc("Turn all knobs to 11")) |
( |
"stress-early-ifcvt" | , |
|
|
cl::Hidden | , |
|
|
cl::desc("Turn all knobs to 11") | ) |
|
static |