OpenASIP
2.0
|
#include <TCETargetMachinePlugin.hh>
Public Member Functions | |
TCETargetMachinePlugin () | |
virtual | ~TCETargetMachinePlugin () |
virtual const TargetInstrInfo * | getInstrInfo () const =0 |
virtual const TargetRegisterInfo * | getRegisterInfo () const =0 |
virtual const TargetFrameLowering * | getFrameLowering () const =0 |
virtual TargetLowering * | getTargetLowering () const =0 |
virtual const TargetSubtargetInfo * | getSubtarget () const =0 |
virtual TargetTransformInfo | getTargetTransformInfo (const Function &F) const =0 |
virtual FunctionPass * | createISelPass (TCETargetMachine *tm)=0 |
virtual std::string | rfName (unsigned dwarfRegNum)=0 |
Returns name of the physical register file corresponding to a generated register ID. More... | |
virtual unsigned | registerIndex (unsigned dwarfRegNum)=0 |
Returns name of the physical register index corresponding to a generated register ID. More... | |
virtual unsigned | llvmRegisterId (const TCEString &ttaRegister)=0 |
virtual std::string | operationName (unsigned opc) const =0 |
Returns operation name corresponding to llvm target opcode. More... | |
virtual bool | validStackAccessOperation (const std::string &opName) const =0 |
Returns true if OSAL operation is valid for stack accesses. More... | |
virtual bool | hasOperation (TCEString operationName) const =0 |
Returns true in case the target supports the given osal operation. More... | |
virtual unsigned | opcode (TCEString operationName) const =0 |
Returns the opcode for the given osal operation, undefined if not found. More... | |
virtual unsigned int | extractElementLane (const MachineInstr &mi) const =0 |
virtual int | getTruePredicateOpcode (unsigned opc) const =0 |
virtual int | getFalsePredicateOpcode (unsigned opc) const =0 |
virtual const std::string * | adfXML ()=0 |
Returns pointer to xml string of the target machine .adf. More... | |
virtual std::string | dataASName ()=0 |
Returns name of the data address space. More... | |
virtual unsigned | raPortDRegNum ()=0 |
Returns ID number of the return address register. More... | |
virtual unsigned | spDRegNum ()=0 |
Returns ID number of the stack pointer register. More... | |
virtual unsigned | fpDRegNum ()=0 |
Returns ID number of the frame pointer register. More... | |
virtual unsigned | rvDRegNum ()=0 |
virtual unsigned | rvHighDRegNum ()=0 |
virtual std::vector< unsigned > | getParamDRegNums () const =0 |
virtual std::vector< unsigned > | getVectorRVDRegNums () const =0 |
virtual bool | hasUDIV () const =0 |
virtual bool | hasSDIV () const =0 |
virtual bool | hasUREM () const =0 |
virtual bool | hasSREM () const =0 |
virtual bool | hasMUL () const =0 |
virtual bool | hasROTL () const =0 |
virtual bool | hasROTR () const =0 |
virtual bool | hasSXHW () const =0 |
virtual bool | hasSXQW () const =0 |
virtual bool | hasSQRTF () const =0 |
virtual bool | hasSHR () const =0 |
virtual bool | hasSHL () const =0 |
virtual bool | hasSHRU () const =0 |
virtual bool | has8bitLoads () const =0 |
virtual bool | has16bitLoads () const =0 |
virtual int | maxVectorSize () const =0 |
virtual void | registerTargetMachine (TCETargetMachine &tm)=0 |
Plugin needs target machine for TragetLowering generation. More... | |
virtual int | getMinOpcode (llvm::SDNode *n) const =0 |
virtual int | getMaxOpcode (llvm::SDNode *n) const =0 |
virtual int | getMinuOpcode (llvm::SDNode *n) const =0 |
virtual int | getMaxuOpcode (llvm::SDNode *n) const =0 |
virtual int | getLoad (const TargetRegisterClass *rc) const =0 |
virtual int | getStore (const TargetRegisterClass *rc) const =0 |
virtual int | getLoadOpcode (const llvm::EVT &vt) const =0 |
virtual int | getAddOpcode (const llvm::EVT &vt) const =0 |
virtual int | getShlOpcode (const llvm::EVT &vt) const =0 |
virtual int | getIorOpcode (const llvm::EVT &vt) const =0 |
virtual const llvm::TargetRegisterClass * | extrasRegClass (const llvm::TargetRegisterClass *current) const =0 |
Clustered-TTA-subtemplate related methods. More... | |
virtual const llvm::TargetRegisterClass * | nodeRegClass (unsigned nodeId, const llvm::TargetRegisterClass *current) const =0 |
virtual bool | isLittleEndian () const =0 |
virtual bool | is64bit () const =0 |
virtual const DataLayout * | getDataLayout () const |
virtual DataLayout * | getDataLayout () |
virtual TCETargetMachine * | getCurrentTargetMachine () |
virtual const TCETargetMachine * | getCurrentTargetMachine () const |
virtual bool | analyzeCCBranch (llvm::MachineInstr &i, llvm::SmallVectorImpl< llvm::MachineOperand > &cond) const |
virtual const SelectionDAGTargetInfo * | getSelectionDAGInfo () const |
virtual bool | canMaterializeConstant (const ConstantInt &ci) const =0 |
virtual std::tuple< int, int > | getPointerAdjustment (int offset) const =0 |
virtual MVT::SimpleValueType | getDefaultType () const =0 |
Protected Attributes | |
TCEInstrInfo * | instrInfo_ |
Target machine instruction info for the llvm framework. More... | |
TargetLowering * | lowering_ |
TargetFrameLowering * | frameInfo_ |
TCETargetMachine * | tm_ |
TCESubtarget * | subTarget_ |
DataLayout | dl_ |
SelectionDAGTargetInfo | tsInfo_ |
Definition at line 109 of file TCETargetMachinePlugin.hh.
|
inline |
Definition at line 112 of file TCETargetMachinePlugin.hh.
|
inlinevirtual |
Definition at line 116 of file TCETargetMachinePlugin.hh.
|
pure virtual |
Returns pointer to xml string of the target machine .adf.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::createMachine().
|
inlinevirtual |
Reimplemented in llvm::GeneratedTCEPlugin.
Definition at line 238 of file TCETargetMachinePlugin.hh.
Referenced by llvm::TCEInstrInfo::analyzeBranch().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::canMaterializeConstant().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCEPassConfig::addInstSelector().
|
pure virtual |
Returns name of the data address space.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::dataASName().
|
pure virtual |
|
pure virtual |
Clustered-TTA-subtemplate related methods.
Implemented in llvm::GeneratedTCEPlugin.
|
pure virtual |
Returns ID number of the frame pointer register.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by LLVMBackend::compile().
|
pure virtual |
Referenced by llvm::TCETargetMachine::getAddOpcode().
|
inlinevirtual |
Definition at line 231 of file TCETargetMachinePlugin.hh.
References tm_.
|
inlinevirtual |
Definition at line 234 of file TCETargetMachinePlugin.hh.
References tm_.
|
inlinevirtual |
Definition at line 227 of file TCETargetMachinePlugin.hh.
References dl_.
|
inlinevirtual |
Definition at line 223 of file TCETargetMachinePlugin.hh.
References dl_.
Referenced by llvm::TCETargetMachine::getDataLayout(), and llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCEInstrInfo::getMatchingCondBranchOpcode().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCESubtarget::getFrameLowering(), and llvm::TCETargetMachine::getFrameLowering().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCESubtarget::getInstrInfo(), and llvm::TCETargetMachine::getInstrInfo().
|
pure virtual |
Referenced by llvm::TCETargetMachine::getIorOpcode().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCEInstrInfo::loadRegFromStackSlot().
|
pure virtual |
Referenced by llvm::TCETargetMachine::getLoadOpcode().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::getMaxOpcode().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::getMaxuOpcode().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::getMinOpcode().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::getMinuOpcode().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by LLVMBackend::compile().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCEInstrInfo::getPointerAdjustment().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCESubtarget::getRegisterInfo(), and llvm::TCETargetMachine::getRegisterInfo().
|
inlinevirtual |
Definition at line 244 of file TCETargetMachinePlugin.hh.
References tsInfo_.
Referenced by llvm::TCESubtarget::getSelectionDAGInfo().
|
pure virtual |
Referenced by llvm::TCETargetMachine::getShlOpcode().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCEInstrInfo::storeRegToStackSlot().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::getSubtargetImpl().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCESubtarget::getTargetLowering(), and llvm::TCETargetMachine::getTargetLowering().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::getTargetTransformInfo().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCEInstrInfo::getMatchingCondBranchOpcode().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by LLVMBackend::compile().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::has16bitLoads().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::has8bitLoads().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Returns true in case the target supports the given osal operation.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::hasOperation().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::bitness().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Returns LLVM register ID corresponding to TTA register name.
ttaRegister | The name of the TTA register. For example "RF.5". |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::llvmRegisterId().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
|
pure virtual |
Returns the opcode for the given osal operation, undefined if not found.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::opcode(), and ConstantTransformer::runOnMachineFunction().
|
pure virtual |
Returns operation name corresponding to llvm target opcode.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCEInstrInfo::isPredicated(), and llvm::TCETargetMachine::operationName().
|
pure virtual |
Returns ID number of the return address register.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::raPortDRegNum().
|
pure virtual |
Returns name of the physical register index corresponding to a generated register ID.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by LLVMBackend::compile(), and llvm::TCETargetMachine::registerIndex().
|
pure virtual |
Plugin needs target machine for TragetLowering generation.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::setTargetMachinePlugin().
|
pure virtual |
Returns name of the physical register file corresponding to a generated register ID.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by LLVMBackend::compile(), and llvm::TCETargetMachine::rfName().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by LLVMBackend::compile().
|
pure virtual |
Implemented in llvm::GeneratedTCEPlugin.
Referenced by ConstantTransformer::runOnMachineFunction().
|
pure virtual |
Returns ID number of the stack pointer register.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by LLVMBackend::compile(), and llvm::TCETargetMachine::spDRegNum().
|
pure virtual |
Returns true if OSAL operation is valid for stack accesses.
Implemented in llvm::GeneratedTCEPlugin.
Referenced by llvm::TCETargetMachine::validStackAccessOperation().
|
protected |
Definition at line 262 of file TCETargetMachinePlugin.hh.
Referenced by getDataLayout().
|
protected |
Definition at line 259 of file TCETargetMachinePlugin.hh.
Referenced by llvm::GeneratedTCEPlugin::getFrameLowering(), and llvm::GeneratedTCEPlugin::registerTargetMachine().
|
protected |
Target machine instruction info for the llvm framework.
Definition at line 257 of file TCETargetMachinePlugin.hh.
Referenced by llvm::GeneratedTCEPlugin::getInstrInfo(), llvm::GeneratedTCEPlugin::getRegisterInfo(), llvm::GeneratedTCEPlugin::registerTargetMachine(), and llvm::GeneratedTCEPlugin::~GeneratedTCEPlugin().
|
protected |
Definition at line 258 of file TCETargetMachinePlugin.hh.
Referenced by llvm::GeneratedTCEPlugin::getTargetLowering(), llvm::GeneratedTCEPlugin::registerTargetMachine(), and llvm::GeneratedTCEPlugin::~GeneratedTCEPlugin().
|
protected |
Definition at line 261 of file TCETargetMachinePlugin.hh.
Referenced by llvm::GeneratedTCEPlugin::getSubtarget(), and llvm::GeneratedTCEPlugin::registerTargetMachine().
|
protected |
Definition at line 260 of file TCETargetMachinePlugin.hh.
Referenced by getCurrentTargetMachine(), llvm::GeneratedTCEPlugin::getTargetTransformInfo(), and llvm::GeneratedTCEPlugin::registerTargetMachine().
|
protected |
Definition at line 263 of file TCETargetMachinePlugin.hh.
Referenced by getSelectionDAGInfo().