LLVM 22.0.0git
|
#include "Target/VE/VEInstrInfo.h"
Definition at line 51 of file VEInstrInfo.h.
|
explicit |
Definition at line 37 of file VEInstrInfo.cpp.
Referenced by expandExtendStackPseudo(), and expandGetStackTopPseudo().
|
override |
Branch Analysis & Modification {.
Definition at line 144 of file VEInstrInfo.cpp.
References Cond, llvm::MachineInstr::eraseFromParent(), 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 995 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::getBasicBlock(), llvm::VESubtarget::getInstrInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineFunction::getSubtarget(), llvm::MachineFunction::insert(), MBB, MI, llvm::MachineBasicBlock::splice(), TII, llvm::MachineBasicBlock::transferSuccessorsAndUpdatePHIs(), and VEInstrInfo().
Referenced by expandPostRAPseudo().
bool VEInstrInfo::expandGetStackTopPseudo | ( | MachineInstr & | MI | ) | const |
Definition at line 1079 of file VEInstrInfo.cpp.
References llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::MachineFrameInfo::adjustsStack(), llvm::BuildMI(), DL, llvm::VESubtarget::getAdjustedFrameSize(), llvm::MachineFunction::getFrameInfo(), llvm::VESubtarget::getFrameLowering(), llvm::VESubtarget::getInstrInfo(), llvm::MachineFrameInfo::getMaxCallFrameSize(), llvm::MachineFunction::getSubtarget(), llvm::VEFrameLowering::hasReservedCallFrame(), MBB, MI, TII, and VEInstrInfo().
Referenced by expandPostRAPseudo().
|
override |
Definition at line 874 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 576 of file VEInstrInfo.cpp.
References assert(), llvm::dbgs(), DefMI, llvm::get(), INSTRKIND, llvm::isInt(), llvm::isMImmVal(), LLVM_DEBUG, llvm::mimm2Val(), MRI, NCINSTRKIND, UseMI, and llvm::val2MImm().
Register VEInstrInfo::getGlobalBaseReg | ( | MachineFunction * | MF | ) | const |
} Optimization
Definition at line 754 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().
|
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(), 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::getImm(), llvm::MachineFunction::getRegInfo(), getRegisterInfo(), 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 415 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 439 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::get(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), I, MBB, llvm::MachineMemOperand::MOLoad, llvm::report_fatal_error(), and TRI.
|
override |
Definition at line 290 of file VEInstrInfo.cpp.
References assert(), llvm::Count, I, llvm::isCondBranchOpcode(), llvm::isUncondBranchOpcode(), and MBB.
|
override |
Definition at line 313 of file VEInstrInfo.cpp.
References Cond, and GetOppositeBranchCondition().
|
override |
Definition at line 458 of file VEInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), DL, llvm::get(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::getKillRegState(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlign(), llvm::MachineFrameInfo::getObjectSize(), I, MBB, llvm::MachineMemOperand::MOStore, llvm::report_fatal_error(), and TRI.