LLVM 22.0.0git
|
#include "Target/LoongArch/LoongArchInstrInfo.h"
Protected Attributes | |
const LoongArchSubtarget & | STI |
Definition at line 26 of file LoongArchInstrInfo.h.
|
explicit |
Definition at line 28 of file LoongArchInstrInfo.cpp.
References STI.
|
override |
Definition at line 298 of file LoongArchInstrInfo.cpp.
References Cond, getBranchDestBlock(), llvm::MachineInstrBundleIterator< Ty, IsReverse >::getReverse(), I, MBB, parseCondBranch(), and TBB.
|
override |
Definition at line 40 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), contains(), DL, llvm::get(), llvm::getKillRegState(), llvm_unreachable, MBB, MBBI, and Opc.
|
override |
Definition at line 708 of file LoongArchInstrInfo.cpp.
References llvm::LoongArchII::MO_DIRECT_FLAG_MASK.
|
override |
Definition at line 279 of file LoongArchInstrInfo.cpp.
Referenced by analyzeBranch().
|
override |
Definition at line 233 of file LoongArchInstrInfo.cpp.
References assert(), llvm::TargetMachine::getMCAsmInfo(), llvm::StatepointOpers::getNumPatchBytes(), llvm::MachineFunction::getTarget(), and MI.
Referenced by insertBranch(), and removeBranch().
|
override |
Definition at line 33 of file LoongArchInstrInfo.cpp.
References llvm::MCInstBuilder::addImm(), and llvm::MCInstBuilder::addReg().
|
override |
Definition at line 752 of file LoongArchInstrInfo.cpp.
References llvm::ArrayRef().
|
override |
Definition at line 714 of file LoongArchInstrInfo.cpp.
References llvm::ArrayRef().
|
override |
Definition at line 570 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addMBB(), assert(), llvm::BuildMI(), Cond, DL, llvm::get(), llvm::getImm(), getInstSizeInBytes(), MBB, MI, and TBB.
|
override |
Definition at line 608 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::MachineBasicBlock::back(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::end(), llvm::RegScavenger::enterBasicBlockEnd(), llvm::get(), llvm::LoongArchMachineFunctionInfo::getBranchRelaxationSpillFrameIndex(), llvm::MachineFunction::getInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineInstr::getOperand(), llvm::MachineFunction::getRegInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), II, llvm::isInt(), llvm::RegState::Kill, loadRegFromStackSlot(), MBB, llvm::LoongArchII::MO_PCREL_HI, llvm::LoongArchII::MO_PCREL_LO, MRI, Register, llvm::report_fatal_error(), llvm::RegScavenger::scavengeRegisterBackwards(), llvm::MachineOperand::setMBB(), llvm::RegScavenger::setRegUsed(), STI, storeRegToStackSlot(), and TRI.
|
override |
Definition at line 263 of file LoongArchInstrInfo.cpp.
References MI.
|
override |
Definition at line 358 of file LoongArchInstrInfo.cpp.
References llvm::isInt(), and llvm_unreachable.
|
override |
Definition at line 381 of file LoongArchInstrInfo.cpp.
References llvm::LoongArchII::getDirectFlags(), llvm::MachineFunction::getSubtarget(), llvm::TargetInstrInfo::isSchedulingBoundary(), MBB, MI, llvm::LoongArchII::MO_DESC64_PC_HI, llvm::LoongArchII::MO_DESC64_PC_LO, llvm::LoongArchII::MO_DESC_CALL, llvm::LoongArchII::MO_DESC_LD, llvm::LoongArchII::MO_DESC_PC_HI, llvm::LoongArchII::MO_DESC_PC_LO, llvm::LoongArchII::MO_GD_PC_HI, llvm::LoongArchII::MO_GOT_PC64_HI, llvm::LoongArchII::MO_GOT_PC64_LO, llvm::LoongArchII::MO_GOT_PC_HI, llvm::LoongArchII::MO_GOT_PC_LO, llvm::LoongArchII::MO_IE_PC64_HI, llvm::LoongArchII::MO_IE_PC64_LO, llvm::LoongArchII::MO_IE_PC_HI, llvm::LoongArchII::MO_IE_PC_LO, llvm::LoongArchII::MO_LD_PC_HI, llvm::LoongArchII::MO_PCREL64_HI, llvm::LoongArchII::MO_PCREL64_LO, llvm::LoongArchII::MO_PCREL_HI, llvm::LoongArchII::MO_PCREL_LO, and STI.
|
override |
Definition at line 150 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::BuildMI(), DL, llvm::get(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), I, llvm_unreachable, MBB, llvm::MachineMemOperand::MOLoad, and TRI.
Referenced by insertIndirectBranch().
void LoongArchInstrInfo::movImm | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | MBBI, | ||
const DebugLoc & | DL, | ||
Register | DstReg, | ||
uint64_t | Val, | ||
MachineInstr::MIFlag | Flag = MachineInstr::NoFlags ) const |
Definition at line 188 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), DL, llvm::LoongArchMatInt::generateInstSeq(), llvm::get(), llvm::isInt(), llvm::RegState::Kill, MBB, MBBI, llvm::report_fatal_error(), llvm::MachineInstrBuilder::setMIFlag(), and STI.
|
override |
Definition at line 537 of file LoongArchInstrInfo.cpp.
References getInstSizeInBytes(), I, and MBB.
|
override |
Definition at line 700 of file LoongArchInstrInfo.cpp.
References assert(), Cond, llvm::getImm(), and getOppositeBranchOpc().
|
override |
Definition at line 113 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::dwarf_linker::DebugLoc, llvm::get(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::getKillRegState(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), I, llvm_unreachable, MBB, llvm::MachineMemOperand::MOStore, and TRI.
Referenced by insertIndirectBranch().
|
protected |
Definition at line 97 of file LoongArchInstrInfo.h.
Referenced by insertIndirectBranch(), isSchedulingBoundary(), LoongArchInstrInfo(), and movImm().