|
LLVM 24.0.0git
|
#include "Target/Sparc/SparcInstrInfo.h"
Definition at line 38 of file SparcInstrInfo.h.
|
explicit |
Definition at line 33 of file SparcInstrInfo.cpp.
|
override |
Definition at line 284 of file SparcInstrInfo.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 |
Definition at line 812 of file SparcInstrInfo.cpp.
References MI.
|
override |
Definition at line 548 of file SparcInstrInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::MachineInstr::addRegisterDefined(), llvm::MachineInstr::addRegisterKilled(), assert(), llvm::BuildMI(), contains(), DL, llvm::get(), llvm::MachineInstrBuilder::getInstr(), llvm::getKillRegState(), getRegisterInfo(), I, llvm_unreachable, MBB, and TRI.
|
override |
Definition at line 951 of file SparcInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), llvm::get(), MBB, MI, and llvm::Offset.
|
override |
Definition at line 252 of file SparcInstrInfo.cpp.
References llvm_unreachable, and MI.
| Register SparcInstrInfo::getGlobalBaseReg | ( | MachineFunction * | MF | ) | const |
Definition at line 717 of file SparcInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::MachineFunction::front(), llvm::get(), llvm::SparcMachineFunctionInfo::getGlobalBaseReg(), llvm::MachineFunction::getInfo(), llvm::MachineFunction::getRegInfo(), MBBI, llvm::SparcMachineFunctionInfo::setGlobalBaseReg(), and llvm::MachineInstrBuilder::setOperandDead().
|
override |
Definition at line 37 of file SparcInstrInfo.cpp.
References C().
|
override |
GetInstSize - Return the number of bytes of code the specified instruction may be.
This returns the maximum number of bytes.
Definition at line 774 of file SparcInstrInfo.cpp.
References llvm::get(), llvm::TargetMachine::getCodeModel(), llvm::TargetMachine::getMCAsmInfo(), llvm::MachineFunction::getTarget(), llvm::TargetMachine::isPositionIndependent(), llvm::CodeModel::Large, llvm_unreachable, llvm::CodeModel::Medium, MI, needsUnimp(), and llvm::CodeModel::Small.
Referenced by removeBranch().
|
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 49 of file SparcInstrInfo.h.
Referenced by copyPhysReg(), and optimizeCompareInstr().
|
override |
Definition at line 367 of file SparcInstrInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMBB(), assert(), llvm::BuildMI(), CC, Cond, DL, llvm::get(), isRegCondBranchOpcode(), MBB, Opc, and TBB.
|
override |
Definition at line 406 of file SparcInstrInfo.cpp.
References llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), DL, llvm::MachineBasicBlock::empty(), llvm::get(), llvm::SparcMachineFunctionInfo::getBranchRelaxationSpillFrameIndex(), llvm::MachineFunction::getInfo(), I, llvm::isInt(), llvm::Register::isValid(), llvm::Kill, loadRegFromStackSlot(), MBB, Register, llvm::report_fatal_error(), storeRegToStackSlot(), and TRI.
Determine if the branch target is in range.
Definition at line 508 of file SparcInstrInfo.cpp.
References assert(), llvm::isIntN(), llvm_unreachable, and llvm::Offset.
|
override |
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 60 of file SparcInstrInfo.cpp.
References llvm::TypeSize::getFixed(), and MI.
|
override |
Definition at line 42 of file SparcInstrInfo.cpp.
References llvm::TargetInstrInfo::isSchedulingBoundary(), MBB, and 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 95 of file SparcInstrInfo.cpp.
References llvm::TypeSize::getFixed(), and MI.
|
override |
Definition at line 678 of file SparcInstrInfo.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, and llvm::MachineMemOperand::MOLoad.
Referenced by insertIndirectBranch().
| bool SparcInstrInfo::needsUnimp | ( | const MachineInstr & | MI, |
| unsigned & | StructSize ) const |
Definition at line 740 of file SparcInstrInfo.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineOperand::isImm(), llvm_unreachable, and MI.
Referenced by getInstSizeInBytes().
|
override |
Definition at line 838 of file SparcInstrInfo.cpp.
References llvm::any_of(), C(), llvm::MachineBasicBlock::end(), llvm::MachineInstr::eraseFromParent(), llvm::get(), llvm::MachineInstr::getParent(), getRegisterInfo(), I, llvm::SPCC::ICC_E, llvm::SPCC::ICC_NE, MBB, MI, MRI, and TRI.
|
override |
Definition at line 474 of file SparcInstrInfo.cpp.
References llvm::Count, getInstSizeInBytes(), I, llvm::isCondBranchOpcode(), llvm::isUncondBranchOpcode(), and MBB.
|
override |
Definition at line 500 of file SparcInstrInfo.cpp.
References assert(), CC, Cond, and GetOppositeBranchCondition().
|
override |
Definition at line 638 of file SparcInstrInfo.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, llvm_unreachable, MBB, and llvm::MachineMemOperand::MOStore.
Referenced by insertIndirectBranch().