|
OpenASIP 2.2
|
#include <LLVMPOMBuilder.hh>


Public Member Functions | |
| LLVMPOMBuilder (char &ID) | |
| bool | doFinalization (Module &m) |
| LLVMPOMBuilder (TCETargetMachine &tm, TTAMachine::Machine *mach) | |
| virtual | ~LLVMPOMBuilder () |
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 |
Protected Member Functions | |
| 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 |
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) |
| virtual TTAProgram::Instruction * | emitMove (const MachineInstr *mi, TTAProgram::CodeSnippet *proc, bool conditional=false, bool trueGuard=true) |
| 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 () |
Additional Inherited Members | |
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 unscheduled TCE POM from RISC-style sequential input from LLVM codegen.
The resulting POM has the registers allocated but the FUs and the buses unassigned.
Definition at line 62 of file LLVMPOMBuilder.hh.
| llvm::LLVMPOMBuilder::LLVMPOMBuilder | ( | char & | ID | ) |
Definition at line 45 of file LLVMPOMBuilder.cc.
| llvm::LLVMPOMBuilder::LLVMPOMBuilder | ( | TCETargetMachine & | tm, |
| TTAMachine::Machine * | mach | ||
| ) |
Definition at line 39 of file LLVMPOMBuilder.cc.
|
inlinevirtual |
Definition at line 74 of file LLVMPOMBuilder.hh.
|
inlineprotectedvirtual |
Reimplemented from llvm::LLVMTCEBuilder.
Definition at line 107 of file LLVMPOMBuilder.hh.
| bool llvm::LLVMPOMBuilder::doFinalization | ( | Module & | m | ) |
Definition at line 49 of file LLVMPOMBuilder.cc.
References llvm::LLVMTCEBuilder::doFinalization().

|
inlineprotectedvirtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 102 of file LLVMPOMBuilder.hh.
References operationName(), and llvm::LLVMTCEBuilder::targetMachine().
Referenced by operationName().

|
inlineprotectedvirtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 84 of file LLVMPOMBuilder.hh.
References raPortDRegNum(), and llvm::LLVMTCEBuilder::targetMachine().
Referenced by raPortDRegNum().

|
inlineprotectedvirtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 90 of file LLVMPOMBuilder.hh.
References llvm::LLVMTCEBuilder::targetMachine().

|
inlineprotectedvirtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 96 of file LLVMPOMBuilder.hh.
References registerIndex(), and llvm::LLVMTCEBuilder::targetMachine().
Referenced by registerIndex().

|
inlineprotectedvirtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 78 of file LLVMPOMBuilder.hh.
References spDRegNum(), and llvm::LLVMTCEBuilder::targetMachine().
Referenced by spDRegNum().

|
static |
Definition at line 64 of file LLVMPOMBuilder.hh.