LLVM 20.0.0git
Macros | Functions | Variables
EarlyIfConversion.cpp File Reference
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SparseSet.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/Analysis/OptimizationRemarkEmitter.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineOptimizationRemarkEmitter.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/MachineTraceMetrics.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "early-ifcvt"
 
#define DEBUG_TYPE   "early-if-predicator"
 

Functions

 STATISTIC (NumDiamondsSeen, "Number of diamonds")
 
 STATISTIC (NumDiamondsConv, "Number of diamonds converted")
 
 STATISTIC (NumTrianglesSeen, "Number of triangles")
 
 STATISTIC (NumTrianglesConv, "Number of triangles converted")
 
static bool hasSameValue (const MachineRegisterInfo &MRI, const TargetInstrInfo *TII, Register TReg, Register FReg)
 
 INITIALIZE_PASS_BEGIN (EarlyIfConverter, DEBUG_TYPE, "Early If Converter", false, false) INITIALIZE_PASS_END(EarlyIfConverter
 
static unsigned adjCycles (unsigned Cyc, int Delta)
 
 INITIALIZE_PASS_BEGIN (EarlyIfPredicator, DEBUG_TYPE, "Early If Predicator", false, false) INITIALIZE_PASS_END(EarlyIfPredicator
 

Variables

static cl::opt< unsignedBlockInstrLimit ("early-ifcvt-limit", cl::init(30), cl::Hidden, cl::desc("Maximum number of instructions per speculated block."))
 
static cl::opt< boolStress ("stress-early-ifcvt", cl::Hidden, cl::desc("Turn all knobs to 11"))
 
 DEBUG_TYPE
 
Early If Converter
 
Early If false
 
Early If Predicator
 

Macro Definition Documentation

◆ DEBUG_TYPE [1/2]

#define DEBUG_TYPE   "early-ifcvt"

Definition at line 1143 of file EarlyIfConversion.cpp.

◆ DEBUG_TYPE [2/2]

#define DEBUG_TYPE   "early-if-predicator"

Definition at line 1143 of file EarlyIfConversion.cpp.

Function Documentation

◆ adjCycles()

static unsigned adjCycles ( unsigned  Cyc,
int  Delta 
)
static

Definition at line 851 of file EarlyIfConversion.cpp.

◆ hasSameValue()

static bool hasSameValue ( const MachineRegisterInfo MRI,
const TargetInstrInfo TII,
Register  TReg,
Register  FReg 
)
static

◆ INITIALIZE_PASS_BEGIN() [1/2]

INITIALIZE_PASS_BEGIN ( EarlyIfConverter  ,
DEBUG_TYPE  ,
"Early If Converter"  ,
false  ,
false   
)

◆ INITIALIZE_PASS_BEGIN() [2/2]

INITIALIZE_PASS_BEGIN ( EarlyIfPredicator  ,
DEBUG_TYPE  ,
"Early If Predicator"  ,
false  ,
false   
)

◆ STATISTIC() [1/4]

STATISTIC ( NumDiamondsConv  ,
"Number of diamonds converted"   
)

◆ STATISTIC() [2/4]

STATISTIC ( NumDiamondsSeen  ,
"Number of diamonds"   
)

◆ STATISTIC() [3/4]

STATISTIC ( NumTrianglesConv  ,
"Number of triangles converted"   
)

References MRI, llvm::CallingConv::Tail, TBB, TII, and TRI.

◆ STATISTIC() [4/4]

STATISTIC ( NumTrianglesSeen  ,
"Number of triangles"   
)

Variable Documentation

◆ BlockInstrLimit

cl::opt< unsigned > BlockInstrLimit("early-ifcvt-limit", cl::init(30), cl::Hidden, cl::desc("Maximum number of instructions per speculated block.")) ( "early-ifcvt-limit"  ,
cl::init(30)  ,
cl::Hidden  ,
cl::desc("Maximum number of instructions per speculated block.")   
)
static

◆ Converter

Early If Converter

Definition at line 798 of file EarlyIfConversion.cpp.

Referenced by createInterfaceFile().

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 797 of file EarlyIfConversion.cpp.

◆ false

Early If false

Definition at line 798 of file EarlyIfConversion.cpp.

◆ Predicator

Early If Predicator

Definition at line 1152 of file EarlyIfConversion.cpp.

◆ 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