Go to the documentation of this file.
37 #include "llvm/Support/CommandLine.h"
62 cl::desc(
"Parallelize the TTA moves as efficiently as possible."),
63 cl::init(
false), cl::Hidden);
84 if (llvmRegNum == 1000000)
92 if (llvmRegNum == 1000000)
102 mi->getParent()->getParent()->getFunction())->
103 getInstrInfo()->getName(mi->getOpcode()).str());
105 if (opName ==
"MOVE")
134 mo.getParent()->getParent()->getParent()->getFunction())->
135 getRegisterInfo()->getName(mo.getReg()));
138 std::vector<TCEString> pieces = regName.
split(
"_");
139 if (pieces.size() == 2) {
148 assert(pieces.size() > 0);
153 if (pieces.size() == 3) {
void addMove(std::shared_ptr< Move > move)
bool doFinalization(Module &M)
TTAProgram::Program * prog_
Current program being built.
static cl::opt< bool > ParallelizeMoves("parallelize-moves", cl::desc("Parallelize the TTA moves as efficiently as possible."), cl::init(false), cl::Hidden)
std::vector< TCEString > split(const std::string &delim) const
TTAProgram::Program * result()
virtual TTAProgram::Instruction * emitMove(const MachineInstr *mi, TTAProgram::CodeSnippet *proc, bool conditional=false, bool trueGuard=true)
TTAMachine::Bus & universalBus() const
virtual BaseFUPort * port(const std::string &name) const
TTAMachine::Machine * mach_
Machine for building the program.
virtual bool isTriggering() const
TTAProgram::Terminal * createTerminal(const MachineOperand &mo, int bitLimit=0)
virtual unsigned spDRegNum() const
bool doInitialization(Module &M)
#define assert(condition)
int io(const FUPort &port) const
#define abortWithError(message)
MachineFunctionPass * createLLVMTCEPOMBuilderPass()
virtual void add(Instruction *ins)
virtual FunctionUnitNavigator functionUnitNavigator() const
UniversalMachine & universalMachine() const
virtual TCEString registerFileName(unsigned llvmRegNum) const
bool doInitialization(Module &M)
virtual TTAProgram::Terminal * createFUTerminal(const MachineOperand &) const
virtual TCEString operationName(const MachineInstr &mi) const
virtual int registerIndex(unsigned llvmRegNum) const
ComponentType * item(int index) const
virtual HWOperation * operation(const std::string &name) const
static int toInt(const T &source)
const TargetMachine & targetMachine() const
void convertSymbolRefsToInsRefs(bool ignoreUnfoundSymbols=false)
virtual unsigned raPortDRegNum() const
bool doFinalization(Module &m)
TTAProgram::Instruction * emitMove(const MachineInstr *mi, TTAProgram::CodeSnippet *proc, bool conditional=false, bool trueGuard=true)
std::shared_ptr< TTAProgram::Move > createMove(const MachineOperand &src, const MachineOperand &dst, TTAProgram::MoveGuard *guard)
static Machine * loadFromADF(const std::string &adfFileName)