Loops LLVM无法展开循环[不能展开未由条件分支终止的循环]

Loops LLVM无法展开循环[不能展开未由条件分支终止的循环],loops,llvm,Loops,Llvm,我收到一个错误无法展开;循环未被以下代码的条件分支终止: for(i=0;j使用此命令,它应该可以工作(我已经在LLVM 3.6和3.7上测试过) 首先需要mem2reg将您的位码从转换为SSA(如果尚未转换)另一方面,循环有两个条件退出分支和一个无条件后缘,因此将其转换为一个条件后缘形式似乎很有帮助,该形式可以通过展开过程来处理我们可能还希望使用-展开阈值来展开更大的循环 opt -mem2reg -simplifycfg -loops -lcssa -loop-simplify


我收到一个错误
无法展开;循环未被以下代码的条件分支终止:

for(i=0;j使用此命令,它应该可以工作(我已经在LLVM 3.6和3.7上测试过)


首先需要mem2reg将您的位码从转换为SSA(如果尚未转换)另一方面,循环有两个条件退出分支和一个无条件后缘,因此将其转换为一个条件后缘形式似乎很有帮助,该形式可以通过展开过程来处理

我们可能还希望使用
-展开阈值
来展开更大的循环
    opt -mem2reg  -simplifycfg  -loops  -lcssa -loop-simplify -loop-rotate   
-loop-unroll -unroll-count=3 -unroll-allow-partial -debug a.bc -o a.loop.bc