LLVM 22.0.0git
|
#include "Target/Xtensa/XtensaInstrInfo.h"
Definition at line 31 of file XtensaInstrInfo.h.
XtensaInstrInfo::XtensaInstrInfo | ( | const XtensaSubtarget & | STI | ) |
Definition at line 50 of file XtensaInstrInfo.cpp.
void XtensaInstrInfo::adjustStackPtr | ( | MCRegister | SP, |
int64_t | Amount, | ||
MachineBasicBlock & | MBB, | ||
MachineBasicBlock::iterator | I ) const |
Adjust SP by Amount bytes.
Definition at line 79 of file XtensaInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::dwarf_linker::DebugLoc, DL, llvm::get(), I, llvm::isInt(), llvm::RegState::Kill, loadImmediate(), and MBB.
|
override |
Definition at line 350 of file XtensaInstrInfo.cpp.
References assert(), Cond, llvm::MachineOperand::CreateImm(), llvm::getImm(), llvm::MachineOperand::getMBB(), I, isBranch(), llvm::MachineOperand::isMBB(), MBB, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and TBB.
|
override |
Definition at line 112 of file XtensaInstrInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), contains(), DL, llvm::get(), llvm::getKillRegState(), MBB, MBBI, and llvm::report_fatal_error().
|
override |
Definition at line 276 of file XtensaInstrInfo.cpp.
References llvm_unreachable, and MI.
|
override |
Definition at line 199 of file XtensaInstrInfo.cpp.
References llvm::TargetMachine::getMCAsmInfo(), llvm::MachineFunction::getTarget(), and MI.
Referenced by insertBranch(), insertBranchAtInst(), insertConstBranchAtInst(), and removeBranch().
void XtensaInstrInfo::getLoadStoreOpcodes | ( | const TargetRegisterClass * | RC, |
unsigned & | LoadOpcode, | ||
unsigned & | StoreOpcode, | ||
int64_t | offset ) const |
Definition at line 150 of file XtensaInstrInfo.cpp.
References llvm_unreachable.
Referenced by loadRegFromStackSlot(), and storeRegToStackSlot().
|
inline |
Definition at line 44 of file XtensaInstrInfo.h.
|
inline |
Definition at line 124 of file XtensaInstrInfo.h.
|
override |
Definition at line 460 of file XtensaInstrInfo.cpp.
References llvm::MachineInstrBuilder::addMBB(), llvm::BuildMI(), Cond, llvm::Count, DL, llvm::get(), getInstSizeInBytes(), insertBranchAtInst(), MBB, MI, and TBB.
unsigned XtensaInstrInfo::insertBranchAtInst | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | I, | ||
MachineBasicBlock * | TBB, | ||
ArrayRef< MachineOperand > | Cond, | ||
const DebugLoc & | DL, | ||
int * | BytesAdded ) const |
Definition at line 610 of file XtensaInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), Cond, llvm::Count, DL, llvm::get(), llvm::getImm(), getInstSizeInBytes(), getReg(), I, MBB, MI, llvm::report_fatal_error(), and TBB.
Referenced by insertBranch().
unsigned XtensaInstrInfo::insertConstBranchAtInst | ( | MachineBasicBlock & | MBB, |
MachineInstr * | I, | ||
int64_t | offset, | ||
ArrayRef< MachineOperand > | Cond, | ||
DebugLoc | DL, | ||
int * | BytesAdded ) const |
Definition at line 551 of file XtensaInstrInfo.cpp.
References llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), Cond, llvm::Count, DL, llvm::get(), llvm::getImm(), getInstSizeInBytes(), getReg(), I, llvm_unreachable, MBB, and MI.
|
override |
Definition at line 482 of file XtensaInstrInfo.cpp.
References llvm::MachineInstr::addOperand(), llvm::MachineInstrBuilder::addReg(), assert(), llvm::MachineBasicBlock::back(), llvm::BuildMI(), llvm::CallingConv::C, llvm::XtensaConstantPoolMBB::Create(), llvm::MachineOperand::CreateCPI(), DL, llvm::MachineBasicBlock::end(), llvm::RegScavenger::enterBasicBlockEnd(), llvm::get(), llvm::MachineFunction::getConstantPool(), llvm::Function::getContext(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getInfo(), llvm::ilist_node_impl< OptionsT >::getIterator(), llvm::MachineFunction::getRegInfo(), II, llvm::isInt(), llvm::RegState::Kill, loadRegFromStackSlot(), MBB, MRI, Register, llvm::report_fatal_error(), llvm::RegScavenger::scavengeRegisterBackwards(), llvm::RegScavenger::setRegUsed(), and storeRegToStackSlot().
bool XtensaInstrInfo::isBranch | ( | const MachineBasicBlock::iterator & | MI, |
SmallVectorImpl< MachineOperand > & | Cond, | ||
const MachineOperand *& | Target ) const |
Definition at line 674 of file XtensaInstrInfo.cpp.
References assert(), Cond, and MI.
Referenced by analyzeBranch(), and removeBranch().
Definition at line 311 of file XtensaInstrInfo.cpp.
References llvm::isIntN(), and llvm_unreachable.
|
override |
Definition at line 54 of file XtensaInstrInfo.cpp.
|
override |
Definition at line 66 of file XtensaInstrInfo.cpp.
void XtensaInstrInfo::loadImmediate | ( | MachineBasicBlock & | MBB, |
MachineBasicBlock::iterator | MBBI, | ||
MCRegister * | Reg, | ||
int64_t | Value ) const |
Definition at line 165 of file XtensaInstrInfo.cpp.
References llvm::MachineInstrBuilder::addConstantPoolIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::dwarf_linker::DebugLoc, DL, llvm::get(), llvm::MachineConstantPool::getConstantPoolIndex(), llvm::Type::getInt32Ty(), High, llvm::Low, MBB, MBBI, and llvm::report_fatal_error().
Referenced by adjustStackPtr().
|
override |
Definition at line 140 of file XtensaInstrInfo.cpp.
References llvm::addFrameReference(), llvm::BuildMI(), llvm::dwarf_linker::DebugLoc, DL, llvm::get(), getLoadStoreOpcodes(), MBB, MBBI, and TRI.
Referenced by insertIndirectBranch().
|
override |
Definition at line 433 of file XtensaInstrInfo.cpp.
References Cond, llvm::Count, llvm::MachineOperand::CreateImm(), getInstSizeInBytes(), I, isBranch(), and MBB.
|
override |
Definition at line 211 of file XtensaInstrInfo.cpp.
References assert(), Cond, llvm::getImm(), and llvm::report_fatal_error().
|
override |
Definition at line 127 of file XtensaInstrInfo.cpp.
References llvm::addFrameReference(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::dwarf_linker::DebugLoc, DL, llvm::get(), llvm::getKillRegState(), getLoadStoreOpcodes(), MBB, MBBI, and TRI.
Referenced by insertIndirectBranch().