LLVM API Documentation
#include <NVPTXInstrInfo.h>
Definition at line 26 of file NVPTXInstrInfo.h.
|
explicit |
Definition at line 31 of file NVPTXInstrInfo.cpp.
|
virtual |
AnalyzeBranch - Analyze the branching code at the end of MBB, returning true if it cannot be understood (e.g. it's a switch dispatch or isn't implemented for a target). Upon success, this returns false and returns with the following information in various cases:
Note that RemoveBranch and InsertBranch must be implemented to support cases where this method returns success.
Definition at line 169 of file NVPTXInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), llvm::MachineInstr::eraseFromParent(), llvm::MachineOperand::getMBB(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), I, and llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back().
|
virtual |
Definition at line 133 of file NVPTXInstrInfo.cpp.
References llvm::MachineInstr::getOpcode(), isLoadInstr(), isStoreInstr(), and llvm::NVPTX::PTXLdStInstCode::SHARED.
|
virtual |
Definition at line 34 of file NVPTXInstrInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::getKillRegState(), llvm::MachineBasicBlock::getParent(), llvm::MachineRegisterInfo::getRegClass(), llvm::MachineFunction::getRegInfo(), llvm_unreachable, MRI, and llvm::report_fatal_error().
|
inline |
Definition at line 71 of file NVPTXInstrInfo.h.
References llvm::MachineOperand::getImm(), and llvm::MachineInstr::getOperand().
Referenced by isLoadInstr(), and isStoreInstr().
|
inlinevirtual |
Definition at line 33 of file NVPTXInstrInfo.h.
Referenced by llvm::NVPTXTargetMachine::getRegisterInfo().
|
virtual |
Definition at line 250 of file NVPTXInstrInfo.cpp.
References llvm::MachineInstrBuilder::addMBB(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::SmallVectorBase::empty(), getReg(), and llvm::SmallVectorTemplateCommon< T >::size().
bool NVPTXInstrInfo::isLoadInstr | ( | const MachineInstr & | MI, |
unsigned & | AddrSpace | ||
) | const |
Definition at line 111 of file NVPTXInstrInfo.cpp.
References llvm::MachineInstr::getDesc(), getLdStCodeAddrSpace(), llvm::NVPTX::isLoadMask, llvm::NVPTX::isLoadShift, and llvm::MCInstrDesc::TSFlags.
Referenced by CanTailMerge().
|
virtual |
Definition at line 67 of file NVPTXInstrInfo.cpp.
References llvm::MachineInstr::getDesc(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isReg(), llvm::NVPTX::SimpleMoveMask, llvm::NVPTX::SimpleMoveShift, and llvm::MCInstrDesc::TSFlags.
bool NVPTXInstrInfo::isReadSpecialReg | ( | MachineInstr & | MI | ) | const |
Definition at line 90 of file NVPTXInstrInfo.cpp.
References llvm::MachineInstr::getOpcode().
bool NVPTXInstrInfo::isStoreInstr | ( | const MachineInstr & | MI, |
unsigned & | AddrSpace | ||
) | const |
Definition at line 122 of file NVPTXInstrInfo.cpp.
References llvm::MachineInstr::getDesc(), getLdStCodeAddrSpace(), llvm::NVPTX::isStoreMask, llvm::NVPTX::isStoreShift, and llvm::MCInstrDesc::TSFlags.
Referenced by CanTailMerge().
|
virtual |
Definition at line 226 of file NVPTXInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::MachineBasicBlock::end(), and I.