OpenASIP
2.0
|
#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. More... | |
TTAMachine::Machine * | mach_ |
Machine for building the program. More... | |
const llvm::TargetMachine * | tm_ |
Target machine description. More... | |
llvm::Mangler * | mang_ |
Mangler for mangling label strings. More... | |
TTAProgram::Program * | prog_ |
Current program being built. More... | |
std::set< std::string > | opset_ |
The operations supported by the current target machine. More... | |
bool | functionAtATime_ |
PRegionMarkerAnalyzer * | pregions_ |
int | spillMoveCount_ |
unsigned | initialStackPointerValue_ |
MachineFrameInfo * | curFrameInfo_ |
LLVMTCECmdLineOptions * | options_ = nullptr |
The compiler options. More... | |
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 llvm::LLVMTCEBuilder::targetMachine().
|
inlineprotectedvirtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 84 of file LLVMPOMBuilder.hh.
References llvm::LLVMTCEBuilder::targetMachine().
|
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 llvm::LLVMTCEBuilder::targetMachine().
|
inlineprotectedvirtual |
Implements llvm::LLVMTCEBuilder.
Definition at line 78 of file LLVMPOMBuilder.hh.
References llvm::LLVMTCEBuilder::targetMachine().
|
static |
Definition at line 64 of file LLVMPOMBuilder.hh.