|
OpenASIP 2.2
|
#include <LLVMTCEPOMBuilder.hh>


Public Member Functions | |
| LLVMTCEPOMBuilder () | |
| virtual | ~LLVMTCEPOMBuilder () |
| virtual unsigned | spDRegNum () const |
| virtual unsigned | raPortDRegNum () const |
| virtual TCEString | registerFileName (unsigned llvmRegNum) const |
| virtual int | registerIndex (unsigned llvmRegNum) const |
| virtual TCEString | operationName (const MachineInstr &mi) const |
| virtual TTAProgram::Terminal * | createFUTerminal (const MachineOperand &) const |
| bool | doFinalization (Module &m) |
| bool | doInitialization (Module &M) |
| TTAProgram::Instruction * | emitMove (const MachineInstr *mi, TTAProgram::CodeSnippet *proc, bool conditional=false, bool trueGuard=true) |
Public Member Functions inherited from llvm::LLVMTCEBuilder | |
| LLVMTCEBuilder (char &ID) | |
| LLVMTCEBuilder (const TargetMachine &tm, TTAMachine::Machine *mach, char &ID, bool functionAtATime=false) | |
| virtual | ~LLVMTCEBuilder () |
| TTAProgram::Program * | result () |
| TTAProgram::Instruction * | firstInstructionOfBasicBlock (const llvm::BasicBlock *bb) |
| bool | isProgramUsingRestrictedPointers () const |
| virtual void | getAnalysisUsage (AnalysisUsage &AU) const |
| virtual bool | isTTATarget () const |
| void | deleteDeadProcedures () |
| void | setInitialStackPointerValue (unsigned value) |
Static Public Attributes | |
| static char | ID = 0 |
Static Public Attributes inherited from llvm::LLVMTCEBuilder | |
| static char | ID = 0 |
Additional Inherited Members | |
Protected Member Functions inherited from llvm::LLVMTCEBuilder | |
| bool | doInitialization (Module &M) |
| bool | runOnMachineFunction (MachineFunction &MF) |
| bool | doFinalization (Module &M) |
| bool | hasAmbiguousASpaceRefs (const TTAProgram::Instruction &instr) const |
| virtual bool | writeMachineFunction (MachineFunction &MF) |
| void | initDataSections () |
| std::shared_ptr< TTAProgram::Move > | createMove (const MachineOperand &src, const MachineOperand &dst, TTAProgram::MoveGuard *guard) |
| const TargetMachine & | targetMachine () const |
| TCEString | registerName (unsigned llvmRegNum) const |
| std::string | mbbName (const MachineBasicBlock &mbb) |
| const TTAMachine::HWOperation & | getHWOperation (std::string opName) |
| TTAProgram::TerminalRegister * | createTerminalRegister (const std::string &rfName, int index) |
| TTAProgram::Terminal * | createTerminal (const MachineOperand &mo, int bitLimit=0) |
| std::shared_ptr< TTAProgram::Move > | createMove (TTAProgram::Terminal *src, TTAProgram::Terminal *dst, const TTAMachine::Bus &bus, TTAProgram::MoveGuard *guard=NULL) |
| void | emitConstantPool (const llvm::MachineConstantPool &cp) |
| virtual TTAProgram::Terminal * | createMBBReference (const MachineOperand &mo) |
| virtual TTAProgram::Terminal * | createSymbolReference (const MachineOperand &mo) |
| virtual TTAProgram::Terminal * | createProgramOperationReference (const MachineOperand &mo) |
| virtual TTAProgram::Terminal * | createSymbolReference (const TCEString &symbolName) |
| TTAProgram::Instruction * | emitInstruction (const MachineInstr *mi, TTAProgram::CodeSnippet *proc) |
| TTAProgram::Instruction * | emitInlineAsm (const MachineFunction &mf, const MachineInstr *mi, TTAProgram::BasicBlock *bb, TTAProgram::InstructionReferenceManager &irm) |
| void | fixProgramOperationReferences () |
| void | addLabelForProgramOperation (TCEString label, ProgramOperationPtr po) |
| virtual void | emitSPInitialization () |
| void | emitSPInitialization (TTAProgram::CodeSnippet &target) |
| void | clearFunctionBookkeeping () |
Static Protected Member Functions inherited from llvm::LLVMTCEBuilder | |
| static bool | isInlineAsm (const MachineInstr &instr) |
Protected Attributes inherited from llvm::LLVMTCEBuilder | |
| std::map< std::string, TTAProgram::Instruction * > | codeLabels_ |
| Code labels. | |
| TTAMachine::Machine * | mach_ |
| Machine for building the program. | |
| const llvm::TargetMachine * | tm_ |
| Target machine description. | |
| llvm::Mangler * | mang_ |
| Mangler for mangling label strings. | |
| TTAProgram::Program * | prog_ |
| Current program being built. | |
| std::set< std::string > | opset_ |
| The operations supported by the current target machine. | |
| bool | functionAtATime_ |
| PRegionMarkerAnalyzer * | pregions_ |
| int | spillMoveCount_ |
| unsigned | initialStackPointerValue_ |
| MachineFrameInfo * | curFrameInfo_ |
| LLVMTCECmdLineOptions * | options_ = nullptr |
| The compiler options. | |
Implements building TCE POM from TTA-style (MOVE) sequential input from LLVM codegen.
Definition at line 81 of file LLVMTCEPOMBuilder.hh.
| llvm::LLVMTCEPOMBuilder::LLVMTCEPOMBuilder | ( | ) |
Definition at line 67 of file LLVMTCEPOMBuilder.cc.
|
inlinevirtual |
Definition at line 85 of file LLVMTCEPOMBuilder.hh.
|
virtual |
Reimplemented from llvm::LLVMTCEBuilder.
Definition at line 131 of file LLVMTCEPOMBuilder.cc.
References assert, TTAMachine::Machine::functionUnitNavigator(), TTAMachine::HWOperation::io(), TTAMachine::FUPort::isTriggering(), TTAMachine::Machine::Navigator< ComponentType >::item(), llvm::LLVMTCEBuilder::mach_, TTAMachine::FunctionUnit::operation(), operationName(), TTAMachine::FunctionUnit::port(), TCEString::split(), llvm::LLVMTCEBuilder::targetMachine(), and Conversion::toInt().

| bool llvm::LLVMTCEPOMBuilder::doFinalization | ( | Module & | m | ) |
Definition at line 190 of file LLVMTCEPOMBuilder.cc.
References TTAProgram::Program::convertSymbolRefsToInsRefs(), llvm::LLVMTCEBuilder::doFinalization(), and llvm::LLVMTCEBuilder::prog_.

| bool llvm::LLVMTCEPOMBuilder::doInitialization | ( | Module & | M | ) |
Definition at line 184 of file LLVMTCEPOMBuilder.cc.
References llvm::LLVMTCEBuilder::doInitialization(), TTAMachine::Machine::loadFromADF(), and llvm::LLVMTCEBuilder::mach_.

|
virtual |
Creates POM instruction for a move.
| mi | Move machine instruction. |
| proc | POM procedure to add the move to. |
Reimplemented from llvm::LLVMTCEBuilder.
Definition at line 98 of file LLVMTCEPOMBuilder.cc.
References TTAProgram::CodeSnippet::add(), TTAProgram::Instruction::addMove(), llvm::LLVMTCEBuilder::createMove(), llvm::LLVMTCEBuilder::createTerminal(), llvm::LLVMTCEBuilder::emitMove(), llvm::LLVMTCEBuilder::result(), llvm::LLVMTCEBuilder::targetMachine(), UniversalMachine::universalBus(), and TTAProgram::Program::universalMachine().

|
virtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 126 of file LLVMTCEPOMBuilder.cc.
Referenced by createFUTerminal().
|
virtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 77 of file LLVMTCEPOMBuilder.cc.
|
virtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 82 of file LLVMTCEPOMBuilder.cc.
References abortWithError.
|
virtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 90 of file LLVMTCEPOMBuilder.cc.
References abortWithError.
|
virtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 72 of file LLVMTCEPOMBuilder.cc.
|
static |
Definition at line 83 of file LLVMTCEPOMBuilder.hh.