|
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 996 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 1080 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 875 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 577 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 755 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 521 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, and llvm::report_fatal_error().
|
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, and llvm::report_fatal_error().