LLVM 20.0.0git
|
#include "llvm/CodeGen/EarlyIfConversion.h"
#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 (EarlyIfConverterLegacy, DEBUG_TYPE, "Early If Converter", false, false) INITIALIZE_PASS_END(EarlyIfConverterLegacy | |
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< 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")) |
DEBUG_TYPE | |
Early If | Converter |
Early If | false |
Early If | Predicator |
#define DEBUG_TYPE "early-ifcvt" |
Definition at line 1180 of file EarlyIfConversion.cpp.
#define DEBUG_TYPE "early-if-predicator" |
Definition at line 1180 of file EarlyIfConversion.cpp.
Definition at line 861 of file EarlyIfConversion.cpp.
|
static |
Definition at line 565 of file EarlyIfConversion.cpp.
References llvm::any_of(), llvm::MachineInstr::findRegisterDefOperandIdx(), llvm::MachineInstr::hasUnmodeledSideEffects(), llvm::MachineInstr::isDereferenceableInvariantLoad(), llvm::Register::isVirtual(), llvm::MachineInstr::mayLoadOrStore(), MRI, TII, and llvm::MachineInstr::uses().
INITIALIZE_PASS_BEGIN | ( | EarlyIfConverterLegacy | , |
DEBUG_TYPE | , | ||
"Early If Converter" | , | ||
false | , | ||
false | |||
) |
INITIALIZE_PASS_BEGIN | ( | EarlyIfPredicator | , |
DEBUG_TYPE | , | ||
"Early If Predicator" | , | ||
false | , | ||
false | |||
) |
STATISTIC | ( | NumDiamondsConv | , |
"Number of diamonds converted" | |||
) |
STATISTIC | ( | NumDiamondsSeen | , |
"Number of diamonds" | |||
) |
STATISTIC | ( | NumTrianglesConv | , |
"Number of triangles converted" | |||
) |
References MRI, llvm::CallingConv::Tail, TBB, TII, and TRI.
STATISTIC | ( | NumTrianglesSeen | , |
"Number of triangles" | |||
) |
|
static |
Early If Converter |
Definition at line 807 of file EarlyIfConversion.cpp.
Referenced by createInterfaceFile().
DEBUG_TYPE |
Definition at line 807 of file EarlyIfConversion.cpp.
Early If false |
Definition at line 808 of file EarlyIfConversion.cpp.
Early If Predicator |
Definition at line 1189 of file EarlyIfConversion.cpp.