Go to the documentation of this file.
64 globalSymbolSuffix_(globalSymbolSuffix) {
104 return string(ctime(&rawTime));
121 symbolName.reserve(40);
125 if (
dynamic_cast<const ControlUnit*
>(unit) != NULL) {
126 symbolName +=
"GCU_";
128 }
else if (
dynamic_cast<const RegisterFile*
>(unit) != NULL) {
134 symbolName +=
"unknown_";
137 symbolName += unit->
name();
139 symbolName += port.
name();
232 if (terminal.
isGPR()) {
238 const Bus& bus = move.
bus();
272 return prefix_ +
"FU_" + fu.
name() +
"_conflict_detector";
296 return prefix_ + fu.
name() +
"_direct_access_memory";
306 static int guardNumber = 0;
334 const std::string& operationName,
336 return prefix_ +
"op_" + fu.
name() +
"_" + operationName;
357 static int counter = 0;
int immediateWidth() const
std::string immediateRegisterSymbol(const TTAProgram::Terminal &terminal) const
TCEString prefix_
Prefix used for generated variable symbols.
UInt32 InstructionAddress
virtual TCEString name() const
virtual int index() const
virtual const TTAMachine::RegisterFile & registerFile() const
std::string portSymbol(const TTAMachine::Port &port) const
std::string operationSymbol(const std::string &operationName, const TTAMachine::FunctionUnit &fu) const
std::string busSymbol(const TTAMachine::Bus &bus) const
std::string DAMemorySymbol(const TTAMachine::FunctionUnit &fu) const
const TTAMachine::Bus & bus() const
std::string returnAddressSymbol(const TTAMachine::ControlUnit &gcu) const
std::string operationContextSymbol(const TTAMachine::FunctionUnit &fu) const
TCEString globalSymbolSuffix_
Suffix used for the generated global function symbols.
CompiledSimSymbolGenerator(const TCEString &globalSymbolSuffix)
std::string jumpTargetSetterSymbol(InstructionAddress address) const
static std::string toString(const T &source)
std::string guardBoolSymbol() const
virtual bool isImmediateRegister() const
std::string basicBlockSymbol(InstructionAddress startAddress) const
std::string registerSymbol(const TTAProgram::Terminal &terminal) const
virtual bool isGPR() const
virtual SimValue value() const
virtual const TTAMachine::ImmediateUnit & immediateUnit() const
void enablePrefix(const std::string &prefix)
std::string FUResultSymbol(const TTAMachine::Port &port) const
unsigned int unsignedValue() const
std::string generateTempVariable() const
std::string targetMemorySymbol(const TTAMachine::FunctionUnit &fu) const
virtual std::string name() const
virtual const TTAMachine::Port & port() const
static TCEString registerName(const TTAMachine::RegisterFile &rf, int index, char delim='.')
SpecialRegisterPort * returnAddressPort() const
virtual bool isImmediate() const
std::string moveOperandSymbol(const TTAProgram::Terminal &terminal, const TTAProgram::Move &move) const
std::string conflictDetectorSymbol(const TTAMachine::FunctionUnit &fu) const
std::string timeStamp() const
virtual ~CompiledSimSymbolGenerator()
Unit * parentUnit() const