如何使ScalarEvolution重新计算SCEV值?

时间:2019-10-30 10:38:52

标签: llvm llvm-c++-api

我正在为LLVM编写循环传递。我克隆并重新排列了循环,可以完成多次。 问题是,在我第一次这样做之后,SCEV应该变成SCEVUnknown时变成SCEVAddRecExpr类型。

但是,如果我使用第一个迭代的输出重新运行整个过程,它将正确地将它们标识为SCEVAddRecExpr

我已经尝试过调用Scalar Evolution的ForgetAllLoops函数,但这不起作用。我还尝试从ScalarEvolution传递中调用runOnFuction,但这也没有用。

我的问题是:在通过过程中,是否可以重新运行分析过程?或者如何让ScalarEvolution重新计算未知SCEV的SCEV值。

0 个答案:

没有答案