LLVM
8.0.1
|
Utilities related to the AVR instruction set. More...
#include "Target/AVR/AVRInstrInfo.h"
Utilities related to the AVR instruction set.
Definition at line 65 of file AVRInstrInfo.h.
|
explicit |
Definition at line 39 of file AVRInstrInfo.cpp.
|
override |
Definition at line 264 of file AVRInstrInfo.cpp.
References llvm::MachineInstrBuilder::addMBB(), assert(), llvm::MachineBasicBlock::begin(), llvm::BuildMI(), llvm::SmallVectorImpl< T >::clear(), llvm::AVRCC::COND_INVALID, llvm::MachineOperand::CreateImm(), llvm::SmallVectorBase::empty(), llvm::MachineBasicBlock::end(), llvm::MachineBasicBlock::findDebugLoc(), getBrCond(), getCondFromBranchOpc(), llvm::MCInstrDesc::getOpcode(), getOppositeCondition(), I, llvm::MachineBasicBlock::isLayoutSuccessor(), llvm::SmallVectorTemplateBase< T >::push_back(), and llvm::SmallVectorBase::size().
|
override |
Definition at line 42 of file AVRInstrInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), contains(), llvm::getKillRegState(), llvm::MachineBasicBlock::getParent(), llvm::AVRSubtarget::getRegisterInfo(), llvm::MachineFunction::getSubtarget(), llvm::AVRSubtarget::hasMOVW(), llvm_unreachable, and TRI.
|
override |
Definition at line 504 of file AVRInstrInfo.cpp.
References llvm::MachineOperand::getMBB(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), and llvm_unreachable.
const MCInstrDesc & llvm::AVRInstrInfo::getBrCond | ( | AVRCC::CondCodes | CC | ) | const |
Definition at line 195 of file AVRInstrInfo.cpp.
References llvm::AVRCC::COND_EQ, llvm::AVRCC::COND_GE, llvm::AVRCC::COND_LO, llvm::AVRCC::COND_LT, llvm::AVRCC::COND_MI, llvm::AVRCC::COND_NE, llvm::AVRCC::COND_PL, llvm::AVRCC::COND_SH, and llvm_unreachable.
Referenced by analyzeBranch(), llvm::AVRTargetLowering::EmitInstrWithCustomInserter(), and insertBranch().
AVRCC::CondCodes llvm::AVRInstrInfo::getCondFromBranchOpc | ( | unsigned | Opc | ) | const |
Definition at line 218 of file AVRInstrInfo.cpp.
References llvm::AVRCC::COND_EQ, llvm::AVRCC::COND_GE, llvm::AVRCC::COND_INVALID, llvm::AVRCC::COND_LO, llvm::AVRCC::COND_LT, llvm::AVRCC::COND_MI, llvm::AVRCC::COND_NE, llvm::AVRCC::COND_PL, and llvm::AVRCC::COND_SH.
Referenced by analyzeBranch(), and removeBranch().
|
override |
Definition at line 477 of file AVRInstrInfo.cpp.
References llvm::ISD::EH_LABEL, llvm::AVRSubtarget::getInstrInfo(), llvm::TargetMachine::getMCAsmInfo(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::MCInstrDesc::getSize(), llvm::MachineFunction::getSubtarget(), llvm::MachineOperand::getSymbolName(), llvm::MachineFunction::getTarget(), llvm::ISD::INLINEASM, llvm::AMDGPUISD::KILL, TII, and llvm::SystemZISD::TM.
Referenced by insertBranch(), insertIndirectBranch(), and removeBranch().
AVRCC::CondCodes llvm::AVRInstrInfo::getOppositeCondition | ( | AVRCC::CondCodes | CC | ) | const |
Definition at line 241 of file AVRInstrInfo.cpp.
References llvm::AVRCC::COND_EQ, llvm::AVRCC::COND_GE, llvm::AVRCC::COND_LO, llvm::AVRCC::COND_LT, llvm::AVRCC::COND_MI, llvm::AVRCC::COND_NE, llvm::AVRCC::COND_PL, llvm::AVRCC::COND_SH, and llvm_unreachable.
Referenced by analyzeBranch(), and reverseBranchCondition().
|
inline |
Definition at line 69 of file AVRInstrInfo.h.
References llvm::ISD::FrameIndex, llvm::X86::getCondFromBranchOpc(), getOppositeCondition(), MI, and TRI.
Referenced by llvm::AVRSubtarget::getRegisterInfo().
|
override |
Definition at line 399 of file AVRInstrInfo.cpp.
References llvm::MachineInstrBuilder::addMBB(), assert(), llvm::BuildMI(), llvm::ArrayRef< T >::empty(), getBrCond(), getInstSizeInBytes(), MI, and llvm::ArrayRef< T >::size().
|
override |
Definition at line 558 of file AVRInstrInfo.cpp.
References llvm::MachineInstrBuilder::addMBB(), llvm::BuildMI(), getInstSizeInBytes(), and MI.
|
override |
Definition at line 532 of file AVRInstrInfo.cpp.
References llvm::isIntN(), and llvm_unreachable.
|
override |
Definition at line 83 of file AVRInstrInfo.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isFI(), and llvm::MachineOperand::isImm().
|
override |
Definition at line 102 of file AVRInstrInfo.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineOperand::isFI(), and llvm::MachineOperand::isImm().
|
override |
Definition at line 160 of file AVRInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), llvm::MVT::i16, llvm::MVT::i8, llvm::TargetRegisterInfo::isTypeLegalForClass(), llvm_unreachable, and llvm::MachineMemOperand::MOLoad.
|
override |
Definition at line 438 of file AVRInstrInfo.cpp.
References llvm::MachineBasicBlock::begin(), llvm::AVRCC::COND_INVALID, llvm::MachineBasicBlock::end(), getCondFromBranchOpc(), getInstSizeInBytes(), and I.
|
override |
Definition at line 467 of file AVRInstrInfo.cpp.
References assert(), getOppositeCondition(), and llvm::SmallVectorBase::size().
|
override |
Definition at line 121 of file AVRInstrInfo.cpp.
References llvm::MachineInstrBuilder::addFrameIndex(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addMemOperand(), llvm::MachineInstrBuilder::addReg(), llvm::BuildMI(), llvm::MachineBasicBlock::end(), llvm::MachinePointerInfo::getFixedStack(), llvm::MachineFunction::getFrameInfo(), llvm::MachineFunction::getInfo(), llvm::getKillRegState(), llvm::MachineFunction::getMachineMemOperand(), llvm::MachineFrameInfo::getObjectAlignment(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineBasicBlock::getParent(), llvm::MVT::i16, llvm::MVT::i8, llvm::TargetRegisterInfo::isTypeLegalForClass(), llvm_unreachable, llvm::MachineMemOperand::MOStore, and llvm::AVRMachineFunctionInfo::setHasSpills().