MOP和MFP不同的示例程序

时间:2016-04-18 06:50:56

标签: compiler-construction llvm compiler-optimization

我正在研究编译器优化中的Meet over all path(MOP)和Maximum Fixed Point(MFP)之间的比较。据说MFP是MOP的子集。但我无法找到MFP和MOP不同的示例。任何人都可以帮助我解决MFP和MOP提供不同结果的任何示例程序。

1 个答案:

答案 0 :(得分:1)

单调数据流分析框架中有这样一个例子"由Kam和Ullman refer this撰写。

示例程序

if(<some codition>) {
  A = 2;
  B = 3;
}
else {
  A = 3;
  B = 2;
}
C=A+B;

如果我们考虑上述程序的常数传播分析,变量C在每种情况下都是常数。如果5条件的计算结果为true或false,则该值为if statement。但是,如果我们对上述程序进行定点分析,C将永远不会被视为常数,而MOP分析将提供C为常数的信息。