Displaying 2 results from an estimated 2 matches for "unswitchnontrivialcondition".
2011 Jun 15
0
[LLVMdev] get LPPassManager to use it in llvm::CloneLoop
...oop function
> to clone a loop nest?
I would like to point you to a code example, but then I realized
nothing in the LLVM codebase actually uses CloneLoop. So I'm not
surprised it's broken... sorry about that.
For an actually working piece of code that clones a loop, try
LoopUnswitch::UnswitchNontrivialCondition in
lib/Transforms/Scalar/LoopUnswitch.cpp.
-Eli
2011 Jun 15
2
[LLVMdev] get LPPassManager to use it in llvm::CloneLoop
Thanks , your suggestion was welcome and CloneLoop works without passing the
LPPassManager.
However, I reached another problem. When the loop to be cloned has some
subloops, the subloops are not properly cloned. Some clones of the clones are
created and the CFG between the cloned basic blocks of the subloops is not
correctly built. There are clones like for.body.clone,