在编译器优化中,我正在研究Meet over all path(MOP)和最大值不动点(MFP)之间的比较。有人说MFP是MOP的一个子集。但是我找不到一个MFP和MOP不同的例子。有谁能帮我完成MFP和MOP给出不同结果的任何示例程序吗?
发布于 2016-09-12 09:01:26
在Kam和Ullman 请参阅此的“单调数据流分析框架”中有这样一个例子。
一个示例程序是
if(<some codition>) {
A = 2;
B = 3;
}
else {
A = 3;
B = 2;
}
C=A+B;如果我们考虑上述程序的常量传播分析,则变量C在每种情况下都是常数。如果5条件的计算结果为true或false,则该值将为if statement。但是,如果我们对上述程序执行不动点分析,C永远不会被视为常数,而MOP分析将提供C是常数的信息。
https://stackoverflow.com/questions/36687173
复制相似问题