LLVM 22.0.0git
TargetInstrInfo.cpp File Reference

Go to the source code of this file.

Functions

static bool isAsmComment (const char *Str, const MCAsmInfo &MAI)
static const TargetRegisterClasscanFoldCopy (const MachineInstr &MI, const TargetInstrInfo &TII, unsigned FoldIdx)
static MachineInstrfoldPatchpoint (MachineFunction &MF, MachineInstr &MI, ArrayRef< unsigned > Ops, int FrameIndex, const TargetInstrInfo &TII)
static void foldInlineAsmMemOperand (MachineInstr *MI, unsigned OpNo, int FI, const TargetInstrInfo &TII)
static MachineInstrfoldInlineAsmMemOperand (MachineInstr &MI, ArrayRef< unsigned > Ops, int FI, const TargetInstrInfo &TII)
static void transferImplicitOperands (MachineInstr *MI, const TargetRegisterInfo *TRI)
 transferImplicitOperands - MI is a pseudo-instruction, and the lowered replacement instructions immediately precede it.
static bool canCombine (MachineBasicBlock &MBB, MachineOperand &MO, unsigned CombineOpc=0)
static std::pair< bool, boolmustSwapOperands (unsigned Pattern)

Variables

static cl::opt< boolDisableHazardRecognizer ("disable-sched-hazard", cl::Hidden, cl::init(false), cl::desc("Disable hazard detection during preRA scheduling"))
static cl::opt< boolEnableAccReassociation ("acc-reassoc", cl::Hidden, cl::init(true), cl::desc("Enable reassociation of accumulation chains"))
static cl::opt< unsigned int > MinAccumulatorDepth ("acc-min-depth", cl::Hidden, cl::init(8), cl::desc("Minimum length of accumulator chains " "required for the optimization to kick in"))
static cl::opt< unsigned int > MaxAccumulatorWidth ("acc-max-width", cl::Hidden, cl::init(3), cl::desc("Maximum number of branches in the accumulator tree"))

Function Documentation

◆ canCombine()

◆ canFoldCopy()

◆ foldInlineAsmMemOperand() [1/2]

◆ foldInlineAsmMemOperand() [2/2]

◆ foldPatchpoint()

◆ isAsmComment()

◆ mustSwapOperands()

std::pair< bool, bool > mustSwapOperands ( unsigned Pattern)
static

◆ transferImplicitOperands()

void transferImplicitOperands ( MachineInstr * MI,
const TargetRegisterInfo * TRI )
static

transferImplicitOperands - MI is a pseudo-instruction, and the lowered replacement instructions immediately precede it.

Copy any implicit operands from MI to the replacement instruction.

Definition at line 865 of file TargetInstrInfo.cpp.

References MI, and TRI.

Referenced by llvm::TargetInstrInfo::lowerCopy().

Variable Documentation

◆ DisableHazardRecognizer

cl::opt< bool > DisableHazardRecognizer("disable-sched-hazard", cl::Hidden, cl::init(false), cl::desc("Disable hazard detection during preRA scheduling")) ( "disable-sched-hazard" ,
cl::Hidden ,
cl::init(false) ,
cl::desc("Disable hazard detection during preRA scheduling")  )
static

◆ EnableAccReassociation

cl::opt< bool > EnableAccReassociation("acc-reassoc", cl::Hidden, cl::init(true), cl::desc("Enable reassociation of accumulation chains")) ( "acc-reassoc" ,
cl::Hidden ,
cl::init(true) ,
cl::desc("Enable reassociation of accumulation chains")  )
static

◆ MaxAccumulatorWidth

cl::opt< unsigned int > MaxAccumulatorWidth("acc-max-width", cl::Hidden, cl::init(3), cl::desc("Maximum number of branches in the accumulator tree")) ( "acc-max-width" ,
cl::Hidden ,
cl::init(3) ,
cl::desc("Maximum number of branches in the accumulator tree")  )
static

◆ MinAccumulatorDepth

cl::opt< unsigned int > MinAccumulatorDepth("acc-min-depth", cl::Hidden, cl::init(8), cl::desc("Minimum length of accumulator chains " "required for the optimization to kick in")) ( "acc-min-depth" ,
cl::Hidden ,
cl::init(8) ,
cl::desc("Minimum length of accumulator chains " "required for the optimization to kick in")  )
static