search for: loopinfoimpl

Displaying 5 results from an estimated 5 matches for "loopinfoimpl".

2013 May 08
2
[LLVMdev] How to avoid loopverify failures after replacing the backedge with an edge(latchBB to exitBB) in a looppass?
...loop pass to replace the backedge with an edge from latch to exit. Now I just replace the terminator of latch with another BranchInst, and the loop will not be a loop after my pass. However, it turns out a failure of loopverify after executing my pass: opt: ~/llvm/llvm-trunk/include/llvm/Analysis/LoopInfoImpl.h:297: void llvm::LoopBase<N, M>::verifyLoop() const [with BlockT = llvm::BasicBlock, LoopT = llvm::Loop]: Assertion `HasInsideLoopPreds && "Loop block has no in-loop predecessors!"' failed. Does this mean I should keep it still a loop after my pass? If so, how could I...
2013 May 08
0
[LLVMdev] How to avoid loopverify failures after replacing the backedge with an edge(latchBB to exitBB) in a looppass?
...place the backedge with an edge from latch to exit. > Now I just replace the terminator of latch with another BranchInst, and the loop will not be a loop after my pass. However, it turns out a failure of loopverify after executing my pass: > > opt: ~/llvm/llvm-trunk/include/llvm/Analysis/LoopInfoImpl.h:297: void llvm::LoopBase<N, M>::verifyLoop() const [with BlockT = llvm::BasicBlock, LoopT = llvm::Loop]: Assertion `HasInsideLoopPreds && "Loop block has no in-loop predecessors!"' failed. > > Does this mean I should keep it still a loop after my pass? If so, ho...
2013 May 08
1
[LLVMdev] How to avoid loopverify failures after replacing the backedge with an edge(latchBB to exitBB) in a looppass?
...kedge with an edge from latch > to exit. > Now I just replace the terminator of latch with another BranchInst, and > the loop will not be a loop after my pass. However, it turns out a failure > of loopverify after executing my pass: > > opt: ~/llvm/llvm-trunk/include/llvm/Analysis/LoopInfoImpl.h:297: void > llvm::LoopBase<N, M>::verifyLoop() const [with BlockT = llvm::BasicBlock, > LoopT = llvm::Loop]: Assertion `HasInsideLoopPreds && "Loop block has no > in-loop predecessors!"' failed. > > Does this mean I should keep it still a loop after my p...
2017 Jul 30
2
exit block
Hello, I have a question about exit blocks : is it true that every loop's exit block will contain only those comparisons that will lead to exit or to continue execution in loop? I have tried many examples , after optimizations it seems to be true, but does it have to be so? -------------- next part -------------- An HTML attachment was scrubbed... URL:
2017 Jul 31
1
exit block
Yes, that’s right. Some LLVM terminology though: The blocks you mention, are called the “exiting blocks” of the loop, and the blocks outside the loop (that are the targets of these exiting blocks) are called the exit blocks. getExitingBlocks in LoopInfoImpl.h is the code you’re interested in. By definition: one of the successor’s of the exiting block is an exit block, and it should have another successor that’s a block within the loop (since we know that an exiting block is *inside* a loop). Anna > On Jul 30, 2017, at 11:47 AM, Anastasiya Ruzh...