search for: isloophead

Displaying 13 results from an estimated 13 matches for "isloophead".

Did you mean: isloopheader
2010 Jun 16
2
[LLVMdev] Loopinfo Analysis
Hello, I have a question regrading the analysis pass that generates loop info from an .ll code. My previous understanding was there will be just one loop header(in the loop info) for a particular loop. But, when i use isLoopHeader() member function from the loop info class I get 'true' return value for two different basic blocks. Note both basic blocks are loop conditional block(break condition of the loop), but only one starts the loop. Is this the right behavior for the isLoopHeader() member function? Thanks for...
2005 Jun 29
1
[LLVMdev] null pointer check missing in LoopInfo
In LLVM 1.5, the function isLoopHeader fails to check for a null pointer after calling getLoopFor. Dunno if this is fixed in CVS, but attaching a patch anyway ... Sameer. -- Research Scholar, KReSIT, IIT Bombay http://www.it.iitb.ac.in/~sameerds/ -------------- next part -------------- --- LoopInfo.h 2005-06-29 17:42:43.000000000 +0...
2010 Jun 17
0
[LLVMdev] Loopinfo Analysis
...010 7:22:00 PM GMT -05:00 US/Canada Eastern Subject: [LLVMdev] Loopinfo Analysis Hello, I have a question regrading the analysis pass that generates loop info from an .ll code. My previous understanding was there will be just one loop header(in the loop info) for a particular loop. But, when i use isLoopHeader() member function from the loop info class I get 'true' return value for two different basic blocks. Note both basic blocks are loop conditional block(break condition of the loop), but only one starts the loop. Is this the right behavior for the isLoopHeader() member function? Thanks for...
2015 Jun 04
2
[LLVMdev] Assert in BlockFrequency pass
Hi, we got the following assert: assert(!Working[0].isLoopHeader() && "entry block is a loop header"); [in BlockFrequencyInfoImpl<BT>::tryToComputeMassInFunction(), BlockFrequencyInfoImpl.h] on a Hexagon target - the entry block is a loop header. Has someone seen this assert on other targets? What would be a preferable way to fix it:...
2013 Feb 20
1
[LLVMdev] Getting all Basic Blocks in a Loop
I am writing an LLVM pass, where in certain cases, I want to know all the basic blocks in a loop. I can get the loop header by using combination of AU.addRequired < LoopInfo >( ); and getAnalysis < LoopInfo > ( *F ).isLoopHeader( BB ) But how do I get to know every basic block in that loop. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130220/d6d2e00b/attachment.html>
2013 Feb 20
1
[LLVMdev] How to get block with a backedge
I can get the loop header block by using getAnalysis < LoopInfo > ( *F ).isLoopHeader( BB ) But is there any way with with you can also check the blocks containing backedge. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130220/198e4421/attachment.html>
2015 Jun 04
2
[LLVMdev] Assert in BlockFrequency pass
> On 2015-Jun-04, at 12:45, Duncan P. N. Exon Smith <dexonsmith at apple.com> wrote: > >> On 2015-Jun-04, at 12:28, Ivan Baev <ibaev at codeaurora.org> wrote: >> >> Hi, we got the following assert: >> >> assert(!Working[0].isLoopHeader() && "entry block is a loop header"); >> >> [in BlockFrequencyInfoImpl<BT>::tryToComputeMassInFunction(), >> BlockFrequencyInfoImpl.h] on a Hexagon target - the entry block is a loop >> header. Has someone seen this assert on other targets? >&gt...
2010 Jun 12
0
[LLVMdev] Bignum development
On 12 June 2010 03:24, Eli Friedman <eli.friedman at gmail.com> wrote: > On Fri, Jun 11, 2010 at 7:09 PM, Bill Hart <goodwillhart at googlemail.com> wrote: >>>> There are obviously numerous ways we might use LLVM to aid development >>>> of "bsdnt". I'll keep exploring those options. It sounds like, for the >>>> time being, analysing
2013 Oct 29
1
[LLVMdev] Non-deterministic behavior when using LoopInfo pass in LLVM
...use LoopInfo. Their statistics aren't the same when I execute the same pass multiple times in the same program. After some investigation, I've found out that LoopInfo is the root of the problem. I wrote a little pass that counts the loop headers (number of basic blocks for which LoopInfo.isLoopHeader(BB) is true). I've picked one of the programs in the LLVM test suite benchmarks and in three consecutive tests the number of loop headers was different. Does anybody know if this behavior is correct? If so, I would like to know the logic behind this pass. Thanks, Raphael Ernani P.S.: Her...
2010 Jun 12
3
[LLVMdev] Bignum development
On Fri, Jun 11, 2010 at 7:09 PM, Bill Hart <goodwillhart at googlemail.com> wrote: >>> There are obviously numerous ways we might use LLVM to aid development >>> of "bsdnt". I'll keep exploring those options. It sounds like, for the >>> time being, analysing existing code output and looking for ways to >>> improve it on certain arches is
2011 May 06
2
[LLVMdev] How to identify loop header
I would like to know how one can identify whether a basic block is a loop header? Regards, Ashutosh Shukla, 10305052 M. Tech 1 Dept of Computer Science and Engg.
2008 Mar 18
2
[LLVMdev] Build problem in TOT llvm
I'm getting a lot of these from TOT make: /Volumes/MacOS9/gcc/llvm/include/llvm/Analysis/LoopInfo.h: In instantiation of 'llvm::LoopInfoBase<llvm::BasicBlock>': /Volumes/MacOS9/gcc/llvm/include/llvm/Analysis/LoopInfo.h:886: instantiated from here /Volumes/MacOS9/gcc/llvm/include/llvm/Analysis/LoopInfo.h:573: warning: 'class
2008 Mar 18
0
[LLVMdev] Build problem in TOT llvm
...ementing an analysis pass. - virtual bool isAnalysis() const { return true; } - void releaseMemory() { for (typename std::vector<LoopBase<BlockT>* >::iterator I = TopLevelLoops.begin(), E = TopLevelLoops.end(); I != E; ++I) @@ -922,6 +919,9 @@ return LI->isLoopHeader(BB); } + /// isAnalysis - Return true if this pass is implementing an analysis pass. + bool isAnalysis() const { return true; } + /// runOnFunction - Calculate the natural loop information. /// virtual bool runOnFunction(Function &F);