摘要: 官方的IR是由Instruction类产生的。IR有三种存在形式: 生成bitcode文件: 生成汇编表示: 二者之间可以相互转化: 从bitcode文件中提取某个函数: IR的内存中表示 内存中表示的相关头文件在include/llvm/IR目录下,下面是几个最为重要的类: 可以用IRBuilde 阅读全文
posted @ 2017-09-05 17:22 glob 阅读(373) 评论(0) 推荐(0) 编辑
摘要: Clang将源码转换为LLVM IR 比特码(bitcode)的流程如下: 词法分析(Lexical analysis): 词法分析将代码分解成单词和记号,删除注释,空格,和制表符,根据include/clang/Basic/TokenKinds.def将保留字转化为编译器的内部表示。 此外,词法分 阅读全文
posted @ 2017-09-05 14:10 glob 阅读(805) 评论(0) 推荐(0) 编辑