KLEE(LLVM)是否执行编译器步骤?

时间:2015-02-19 03:35:38

标签: compiler-construction llvm interpreter klee

KLEE实际上是否生成代码?它是否执行编译器/解释器的任何其他Benchmark步骤? (词法分析,语法分析,语义分析,代码优化,中间代码生成,代码生成,符号表链接)

1 个答案:

答案 0 :(得分:2)

它主要依赖于LLVM常规优化,但也提供了一些自定义转换;有关详细信息,请参阅lib/Module

对于libc运行时,它链接选项-libc指定的其他IR( none klee uclibc );如果启用了posix运行时(-posix-runtime),则输入bitcode文件中的原始 main 函数将替换为可以符号化argv的函数。 KLEE执行/解释的最终IR在测试用例的 klee-last 目录中为assembly.ll。在其余部分,KLEE是assembly.ll的翻译。