|
LLVM
4.0.0
|
#include <ARMInstructionSelector.h>
Public Member Functions | |
| ARMInstructionSelector (const ARMSubtarget &STI, const ARMRegisterBankInfo &RBI) | |
| virtual bool | select (MachineInstr &I) const override |
Select the (possibly generic) instruction I to only use target-specific opcodes. More... | |
Public Member Functions inherited from llvm::InstructionSelector | |
| virtual | ~InstructionSelector () |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::InstructionSelector | |
| InstructionSelector () | |
| bool | constrainSelectedInstRegOperands (MachineInstr &I, const TargetInstrInfo &TII, const TargetRegisterInfo &TRI, const RegisterBankInfo &RBI) const |
Mutate the newly-selected instruction I to constrain its (possibly generic) virtual register operands to the instruction's register class. More... | |
Definition at line 25 of file ARMInstructionSelector.h.
| ARMInstructionSelector::ARMInstructionSelector | ( | const ARMSubtarget & | STI, |
| const ARMRegisterBankInfo & | RBI | ||
| ) |
Definition at line 29 of file ARMInstructionSelector.cpp.
|
overridevirtual |
Select the (possibly generic) instruction I to only use target-specific opcodes.
It is OK to insert multiple instructions, but they cannot be generic pre-isel instructions.
Implements llvm::InstructionSelector.
Definition at line 71 of file ARMInstructionSelector.cpp.
References llvm::AddDefaultCC(), llvm::AddDefaultPred(), assert(), llvm::InstructionSelector::constrainSelectedInstRegOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::isCopy(), llvm::isPreISelGenericOpcode(), MBB, MRI, selectCopy(), llvm::MachineInstr::setDesc(), and TII.
1.8.6