LLVM 20.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.
|
override |
Definition at line 296 of file LoongArchInstrInfo.cpp.
References Cond, llvm::MachineBasicBlock::end(), getBranchDestBlock(), llvm::MachineBasicBlock::getLastNonDebugInstr(), llvm::MachineInstrBundleIterator< Ty, IsReverse >::getReverse(), I, MBB, parseCondBranch(), llvm::MachineBasicBlock::rend(), 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, and MBBI.
|
override |
Definition at line 620 of file LoongArchInstrInfo.cpp.
|
override |
Definition at line 277 of file LoongArchInstrInfo.cpp.
Referenced by analyzeBranch().
|
override |
Definition at line 231 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 625 of file LoongArchInstrInfo.cpp.
|
override |
Definition at line 482 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addMBB(), assert(), llvm::BuildMI(), Cond, DL, llvm::get(), getInstSizeInBytes(), MBB, MI, and TBB.
|
override |
Definition at line 520 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::MachineBasicBlock::back(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::empty(), llvm::MachineBasicBlock::end(), llvm::RegScavenger::enterBasicBlockEnd(), llvm::get(), llvm::LoongArchMachineFunctionInfo::getBranchRelaxationSpillFrameIndex(), llvm::MachineFunction::getInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), llvm::TargetSubtargetInfo::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), II, llvm::LoongArchSubtarget::is64Bit(), llvm::RegState::Kill, loadRegFromStackSlot(), MBB, llvm::LoongArchII::MO_PCREL_HI, llvm::LoongArchII::MO_PCREL_LO, MRI, llvm::MachineBasicBlock::pred_size(), llvm::report_fatal_error(), llvm::RegScavenger::scavengeRegisterBackwards(), llvm::MachineOperand::setMBB(), llvm::RegScavenger::setRegUsed(), STI, storeRegToStackSlot(), and TRI.
|
override |
Definition at line 261 of file LoongArchInstrInfo.cpp.
References MI.
|
override |
Definition at line 356 of file LoongArchInstrInfo.cpp.
References llvm_unreachable.
|
override |
Definition at line 379 of file LoongArchInstrInfo.cpp.
References llvm::MachineBasicBlock::end(), llvm::TargetInstrInfo::isSchedulingBoundary(), MBB, MI, 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, and llvm::LoongArchII::MO_PCREL_LO.
|
override |
Definition at line 149 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::BuildMI(), llvm::get(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), 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 186 of file LoongArchInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), DL, llvm::LoongArchMatInt::generateInstSeq(), llvm::get(), llvm::LoongArchSubtarget::is64Bit(), llvm::RegState::Kill, MBB, MBBI, llvm::report_fatal_error(), llvm::MachineInstrBuilder::setMIFlag(), and STI.
|
override |
Definition at line 449 of file LoongArchInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), getInstSizeInBytes(), llvm::MachineBasicBlock::getLastNonDebugInstr(), I, and MBB.
|
override |
Definition at line 612 of file LoongArchInstrInfo.cpp.
References assert(), Cond, 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::get(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::getKillRegState(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), I, llvm_unreachable, MBB, llvm::MachineMemOperand::MOStore, and TRI.
Referenced by insertIndirectBranch().
|
protected |
Definition at line 95 of file LoongArchInstrInfo.h.
Referenced by insertIndirectBranch(), and movImm().