Go to the documentation of this file.
34 #ifndef INLINE_ASM_PARSER_HH
35 #define INLINE_ASM_PARSER_HH
45 class InstructionReferenceManager;
72 const llvm::Mangler& mangler);
75 const llvm::MachineInstr& inlineAsmMI,
76 const std::map<std::string, unsigned>& symbolTable,
81 const llvm::MachineInstr& mi,
82 const std::map<std::string, unsigned>& symbolTable,
83 const llvm::Mangler& mangler);
86 const llvm::MachineInstr& mi,
90 const llvm::MachineInstr& mi,
94 const llvm::MachineInstr& mi,
97 std::string
registerName(
const llvm::MachineOperand& mo)
const;
104 static bool isInlineAsm(
const llvm::MachineInstr& mi);
108 void reportError(
size_t lineNum,
const std::string& errorMsg);
130 #endif // INLINE_ASM_PARSER_HH
void addLiveRangeData(const llvm::MachineInstr &mi, TTAProgram::BasicBlock &bb)
std::string registerName(const llvm::MachineOperand &mo) const
const AssemblyParserDiagnostic & diagnostics() const
AssemblyParserDiagnostic parserDiagnostic_
The diagnostic object to report parse and compile warnings and errors to.
const llvm::Mangler & mangler_
The symbol name mangler for MIs' symbolic references.
static void addDebugInfoToInlineAsmBB(const llvm::MachineInstr &mi, TTAProgram::BasicBlock &bb)
const llvm::TCETargetMachine & tm_
The target machine parsing context.
bool parse(const llvm::MachineInstr &inlineAsmMI, const std::map< std::string, unsigned > &symbolTable, TTAProgram::BasicBlock &bb, TTAProgram::InstructionReferenceManager &irm)
static bool isInlineAsm(const llvm::MachineInstr &mi)
unsigned asmId_
The unique id for "%=" template strings. Each parse() call increases the count.
static void copyInstructions(TTAProgram::Program &prog, TTAProgram::BasicBlock &targetBB, TTAProgram::InstructionReferenceManager &irm)
bool sanityChecks(const llvm::MachineInstr &mi, TTAProgram::BasicBlock &bb) const
InlineAsmParser & operator=(const InlineAsmParser &)=delete
std::string substituteAsmString(const llvm::MachineInstr &mi, const std::map< std::string, unsigned > &symbolTable, const llvm::Mangler &mangler)
void reportError(size_t lineNum, const std::string &errorMsg)