ssa相关内容

如何使用LLVM将基于堆栈的虚拟机字节码转换为SSA格式

有许多关于如何将SSA表示转换为堆栈计算机的问题,但我对相反的情况很感兴趣。 问题 考虑具有有条件/无条件跳转的基于堆栈的VM,其中每个操作码都有固定数量的它消耗和生成的堆栈元素。 LLVM框架中是否有工具/方法可以从字节码输出重构SSA表单。这实质上是一种反汇编形式。 llvm 推荐答案本身没有工具,只是sSMoP。我已经做到了。有些是困难的,但任何事情都是困难的。 ..
发布时间:2022-03-21 22:48:48 其他开发

我的SSA构造正确吗? (重命名)

我一直在学习ssa(静态单分配形式),并且获得了以下插入了phi函数的图,但是该图尚未重命名: 我不得不重命名变量,这就是我得到的: 我非常不确定这是正确的。我是否正确重命名了变量?这是最小的ssa吗?我正在此处(Cytron等人的论文)来重命名变量。请帮忙! :) 解决方案 不,您的图形不正确。 x 和 y 的phi函数和重命名是正确的,问题是临时变量 t1 到 t3 。当输 ..

LLVM opt mem2reg无效

我目前正在使用LLVM,并尝试编写一些优化器以熟悉opt和clang.我写了一个test.c文件,如下所示: int foo(int aa, int bb, int cc){ int sum = aa + bb; return sum/cc; } 我编译了源代码并生成了2个.ll文件,其中1个未经优化,而1个具有mem2reg优化程序通过: clang -emit- ..