LLVM 20.0.0git
|
#include "Target/VE/VEInstrInfo.h"
Definition at line 51 of file VEInstrInfo.h.
|
explicit |
Definition at line 37 of file VEInstrInfo.cpp.
|
override |
Branch Analysis & Modification {.
Definition at line 144 of file VEInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), Cond, llvm::MachineBasicBlock::end(), llvm::MachineInstr::eraseFromParent(), llvm::MachineBasicBlock::getLastNonDebugInstr(), llvm::MachineOperand::getMBB(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), I, llvm::isCondBranchOpcode(), llvm::isIndirectBranchOpcode(), llvm::isUncondBranchOpcode(), MBB, parseCondBranch(), and TBB.
|
override |
} Branch Analysis & Modification
Definition at line 358 of file VEInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineInstr::addRegisterKilled(), llvm::BuildMI(), contains(), copyPhysSubRegs(), llvm::dbgs(), DL, llvm::get(), llvm::MachineInstrBuilder::getInstr(), llvm::getKillRegState(), getRegisterInfo(), I, IsAliasOfSX(), llvm_unreachable, llvm::M1(), MBB, llvm::printReg(), and TRI.
bool VEInstrInfo::expandExtendStackPseudo | ( | MachineInstr & | MI | ) | const |
Definition at line 997 of file VEInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), llvm::MachineBasicBlock::addSuccessor(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::VECC::CC_IGE, llvm::MachineFunction::CreateMachineBasicBlock(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::findDebugLoc(), llvm::MachineBasicBlock::getBasicBlock(), llvm::VESubtarget::getInstrInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::insert(), MBB, MI, llvm::MachineBasicBlock::splice(), TII, and llvm::MachineBasicBlock::transferSuccessorsAndUpdatePHIs().
Referenced by expandPostRAPseudo().
bool VEInstrInfo::expandGetStackTopPseudo | ( | MachineInstr & | MI | ) | const |
Definition at line 1081 of file VEInstrInfo.cpp.
References llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineFrameInfo::adjustsStack(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::findDebugLoc(), llvm::VESubtarget::getAdjustedFrameSize(), llvm::MachineFunction::getFrameInfo(), llvm::VESubtarget::getFrameLowering(), llvm::VESubtarget::getInstrInfo(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), llvm::VEFrameLowering::hasReservedCallFrame(), MBB, MI, and TII.
Referenced by expandPostRAPseudo().
|
override |
Definition at line 876 of file VEInstrInfo.cpp.
References llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineInstr::addRegisterKilled(), assert(), llvm::BuildMI(), DL, expandExtendStackPseudo(), expandGetStackTopPseudo(), expandPseudoLogM(), expandPseudoVFMK(), llvm::get(), llvm::MachineInstrBuilder::getInstr(), llvm::getKillRegState(), getRegisterInfo(), getVM512Lower(), getVM512Upper(), MBB, MI, and TRI.
|
override |
} Stack Spill & Reload
Optimization {
Definition at line 578 of file VEInstrInfo.cpp.
References assert(), llvm::dbgs(), DefMI, llvm::get(), llvm::MachineInstrBuilder::getReg(), INSTRKIND, llvm::isMImmVal(), LLVM_DEBUG, llvm::mimm2Val(), MRI, NCINSTRKIND, UseMI, and llvm::val2MImm().
Register VEInstrInfo::getGlobalBaseReg | ( | MachineFunction * | MF | ) | const |
} Optimization
Definition at line 756 of file VEInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::MachineFunction::front(), llvm::get(), llvm::VEMachineFunctionInfo::getGlobalBaseReg(), llvm::MachineFunction::getInfo(), MBBI, and llvm::VEMachineFunctionInfo::setGlobalBaseReg().
Referenced by llvm::VETargetLowering::LowerCall(), and llvm::VETargetLowering::lowerToTLSGeneralDynamicModel().
|
inline |
getRegisterInfo - TargetInstrInfo is a superset of MRegister info.
As such, whenever a client has an instance of instruction info, it should always be able to get register info as well (through this method).
Definition at line 62 of file VEInstrInfo.h.
Referenced by copyPhysReg(), expandPostRAPseudo(), llvm::VESubtarget::getRegisterInfo(), and insertBranch().
|
override |
Definition at line 225 of file VEInstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addMBB(), assert(), llvm::BuildMI(), Cond, DL, llvm::get(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), getRegisterInfo(), isImm(), IsIntegerCC(), isReg(), MBB, MRI, TBB, and TRI.
|
override |
Stack Spill & Reload {.
isLoadFromStackSlot - If the specified machine instruction is a direct load from a stack slot, return the virtual or physical register number of the destination along with the FrameIndex of the loaded stack slot.
If not, return 0. This predicate must return 0 if the instruction has any side effects other than loading from the stack slot.
Definition at line 416 of file VEInstrInfo.cpp.
References MI.
|
override |
isStoreToStackSlot - If the specified machine instruction is a direct store to a stack slot, return the virtual or physical register number of the source reg along with the FrameIndex of the loaded stack slot.
If not, return 0. This predicate must return 0 if the instruction has any side effects other than storing to the stack slot.
Definition at line 440 of file VEInstrInfo.cpp.
References MI.
|
override |
Definition at line 522 of file VEInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::end(), llvm::get(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), I, MBB, llvm::MachineMemOperand::MOLoad, and llvm::report_fatal_error().
|
override |
Definition at line 290 of file VEInstrInfo.cpp.
References assert(), llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), I, llvm::isCondBranchOpcode(), llvm::isUncondBranchOpcode(), and MBB.
|
override |
Definition at line 313 of file VEInstrInfo.cpp.
References CC, Cond, and GetOppositeBranchCondition().
|
override |
Definition at line 459 of file VEInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::end(), llvm::get(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::getKillRegState(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), I, MBB, llvm::MachineMemOperand::MOStore, and llvm::report_fatal_error().