LLVM: lib/CodeGen/TargetInstrInfo.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static bool isAsmComment (const char *Str, const MCAsmInfo &MAI)
static const TargetRegisterClass * canFoldCopy (const MachineInstr &MI, const TargetInstrInfo &TII, unsigned FoldIdx)
static MachineInstr * foldPatchpoint (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 MachineInstr * foldInlineAsmMemOperand (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 std::pair< bool, bool > mustSwapOperands (unsigned Pattern)

canFoldCopy()

foldInlineAsmMemOperand() [1/2]

Definition at line 594 of file TargetInstrInfo.cpp.

References llvm::MachineInstr::addMemOperand(), llvm::AnalyzeVirtRegInBundle(), assert(), llvm::InlineAsm::Extra_MayLoad, llvm::InlineAsm::Extra_MayStore, foldInlineAsmMemOperand(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineOperand::getImm(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineInstr::getMF(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineInstr::getOperand(), MI, llvm::InlineAsm::MIOp_ExtraInfo, llvm::MachineMemOperand::MOLoad, llvm::MachineMemOperand::MONone, llvm::MachineMemOperand::MOStore, llvm::VirtRegInfo::Reads, llvm::MachineOperand::setImm(), llvm::ArrayRef< T >::size(), TII, and llvm::VirtRegInfo::Writes.

foldInlineAsmMemOperand() [2/2]

Definition at line 568 of file TargetInstrInfo.cpp.

References assert(), llvm::SmallVectorBase< Size_T >::empty(), F, foldInlineAsmMemOperand(), llvm::InlineAsm::m, llvm::InlineAsm::Mem, MI, llvm::MachineOperand::setImm(), llvm::SmallVectorBase< Size_T >::size(), and TII.

Referenced by foldInlineAsmMemOperand(), and llvm::TargetInstrInfo::foldMemoryOperand().

foldPatchpoint()

Definition at line 503 of file TargetInstrInfo.cpp.

References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), assert(), llvm::MachineFunction::CreateMachineInstr(), llvm::MachineInstr::getNumOperands(), llvm::MachineOperand::getReg(), llvm::MachineRegisterInfo::getRegClass(), llvm::MachineFunction::getRegInfo(), llvm::MachineOperand::getSubReg(), llvm::is_contained(), MI, llvm::report_fatal_error(), llvm::MachineInstr::tieOperands(), and TII.

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

isAsmComment()

mustSwapOperands()

transferImplicitOperands()

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 782 of file TargetInstrInfo.cpp.

References MI, and TRI.

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

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