我需要将x86汇编源代码转换为LLVM人类可读的.ll文件(也称为LLVM汇编语言).我怎样才能做到这一点?如果没有直接的解决方案,那么可以尽可能少地在LLVM基础架构中实现一个解决方案吗?
我想,我在寻找的解决方案应该是某种形式的有限责任公司,其将.s文件回到.ll表示的对应.
我对使用LLVM的Clang编译器感兴趣.LLVM声称是跨平台的,但不清楚哪些平台可以作为目标.我已经做了很多关于这个的谷歌搜索,但似乎没有关于LLVM支持的平台的太多信息.我唯一能找到的就是"这个",这有点令人困惑.我不确定这是否意味着我可以使用LLVM为这些平台编译二进制文件,或者它是否只在这些平台(或两者)上运行.有更多关于LLVM/Clang编译器的人能告诉我哪些平台可以使用Clang或任何其他LLVM前端?我想要特定的信息(例如"它支持Windows 32位,Windows 64位,Linux 32位,Linux 64位等).谢谢!
编辑:
好吧,我想我对LLVM究竟是什么感到困惑.从我刚刚想到的结果来看,LLVM只是一个字节码解释器.由于LLVM被解释为与可执行二进制文件相比,LLVM二进制文件的速度有多慢?那么如果性能很重要LLVM不是正确的选择吗? "在这里"我找到了它支持的架构,但没有说明它支持的操作系统.如果我避免使用与平台相关的代码,它是否可以在所有操作系 如果我能找到任何文章,我会更详细地查找解释LLVM的文章.
我是新手LLVM IR,我正在尝试模拟一些x86指令LLVM IR.
这是一个简单的案例:
move %eax, %ebx
Run Code Online (Sandbox Code Playgroud)
但是,mov在查看此处和此处的材料后,我没有找到任何相应的操作码.
所以我的问题是:
如果我想mov使用LLVM IR 模拟操作码?我该怎么办?
我是新手LLVM IR,也许我会花很长时间在这个"模拟"工作上,关于LLVM IR的最佳参考应该是什么?
如果有人能给我一些帮助,我真的很感激.谢谢!