Displaying 20 results from an estimated 700 matches similar to: "[LLVMdev] Make LoopBase inherit from "RegionBase"?"
2010 Jan 12
0
[LLVMdev] Make LoopBase inherit from "RegionBase"?
Why not use the "standard" algorithm for detecting SESE-regions and building a program structure tree?
It should handle everything you want. It also becomes much simpler to specify a connected SESE-region
by entry/exit edges, while a disconnected region is specified by entry/exit blocks. Only defining regions on
blocks is not enough to be able to quickly determine how to replace/move a
2010 Jan 08
1
[LLVMdev] integrate LLVM Poly into existing LLVM infrastructure
hi all,
On 2010-1-7 0:11, John Mosby wrote:
> In LLVM we could add support for generalized CFG regions and
> RegionPasses. A region is a part of the CFG. The only information we
> have is, that it has one entry and one exit, this it can be optimized
> separately.
> I think this is the best way to add region analysis. I must admit
> this approach
> helps me on another,
2010 Jan 12
8
[LLVMdev] Make LoopBase inherit from "RegionBase"?
On 01/08/10 14:20, ether wrote:
> sorry that i forgot to change the subjuect
>
>
> hi all,
Hi ether,
now a kind of more complete answer.
> On 2010-1-7 0:11, John Mosby wrote:
>> In LLVM we could add support for generalized CFG regions and
>> RegionPasses. A region is a part of the CFG. The only information we
>> have is, that it has one entry and one exit, this
2010 Jan 21
0
[LLVMdev] Make LoopBase inherit from "RegionBase"?
On 01/20/10 18:16, Jan Sjodin wrote:
>> I think this should be implemented as a RegionFilter, that checks if a
>
>> region contains a loop, and that can be asked for further information.
>> In general I do not think this kind of analysis belongs to a region, but
>> as you proposed some kind of filter could be applied. In the short term
>> the passes who need this
2010 Jan 15
0
[LLVMdev] Make LoopBase inherit from "RegionBase"?
On 01/15/10 03:03, ether wrote:
> hi,
Hi,
> about region class, i think provide some method to extract the top level
> loop from a given region is useful in polly(our polyhedral optimization
> framework), because the we are only doing optimization on the region
> with loop.
Hi ether,
I think this should be implemented as a RegionFilter, that checks if a
region contains a loop,
2010 Jan 22
0
[LLVMdev] Make LoopBase inherit from "RegionBase"?
On 01/21/10 20:42, Jan Sjodin wrote:
>>> Imo, a loop is simply a special kind of region, so a "filter" is perhaps the way to
>>> go if you are interested in loops. Regions containing loops will have to be inspected
>>> using the PST.
>>
>> Except loops that have multiple exits. they are not necessarily (single
>> entry single exit) region, if
2010 Jan 13
1
[LLVMdev] Make LoopBase inherit from "RegionBase"?
On 01/13/10 00:56, Jan Sjodin wrote:
> Why not use the "standard" algorithm for detecting SESE-regions and building a program structure tree?
> It should handle everything you want. It also becomes much simpler to specify a connected SESE-region
> by entry/exit edges, while a disconnected region is specified by entry/exit blocks. Only defining regions on
> blocks is not
2010 Jan 20
1
[LLVMdev] Make LoopBase inherit from "RegionBase"?
On 01/20/10 18:05, Jan Sjodin wrote:
>>>> bbs, to generate these edges. As we do not have to modify the CFG other
>>>> passes like dominance information are still valid, and we do not have to
>>>> create a lot of auxiliary bbs, to be able to detect all regions. This
>>>> saves memory and runtime. In general it is probably not too easy to
2012 Apr 20
2
[LLVMdev] Should repetitive basic blocks be removed in the results of LoopBase::getExitBlocks()?
Hi, all. I'm using void LoopBase::getExitBlocks (SmallVectorImpl< BlockT *
> &ExitBlocks) const to get all
exit blocks for a loop. The problem I find with this API is that it returns
repetitive basic blocks in certain
situations. Should repetitive basic blocks be removed?
I have an example to show the problem. Following is the source code and the
CFG is enclosed.
int main()
{
int
2010 Jan 13
1
[LLVMdev] Make LoopBase inherit from "RegionBase"?
On 01/13/10 05:09, Jan Sjodin wrote:
> Hi Tobias
>
>> In general this approach saves a preliminary pass that has to insert new
>
>> bbs, to generate these edges. As we do not have to modify the CFG other
>> passes like dominance information are still valid, and we do not have to
>> create a lot of auxiliary bbs, to be able to detect all regions. This
>>
2012 Apr 24
0
[LLVMdev] Should repetitive basic blocks be removed in the results of LoopBase::getExitBlocks()?
On Apr 19, 2012, at 10:43 PM, xiaoming gu <xiaoming.gu at gmail.com> wrote:
> Hi, all. I'm using void LoopBase::getExitBlocks (SmallVectorImpl< BlockT * > &ExitBlocks) const to get all
> exit blocks for a loop. The problem I find with this API is that it returns repetitive basic blocks in certain
> situations. Should repetitive basic blocks be removed?
Users
2013 May 09
2
[LLVMdev] LoopPass symbol error
Thanks,
Also, every method inherited by LoopBase causes the same error, while Loop
methods go smooth.
On 9 May 2013 01:05, Andrew Trick <atrick at apple.com> wrote:
>
> On May 8, 2013, at 7:43 PM, Giacomo Tagliabue <giacomo.tag at gmail.com>
> wrote:
>
> Hello,
> I am building a loop pass following these instructions:
>
2013 May 09
0
[LLVMdev] LoopPass symbol error
Wow, commenting those two lines worked out fine for me, thanks!
On 9 May 2013 09:34, Giacomo Tagliabue <giacomo.tag at gmail.com> wrote:
> Thanks,
> Also, every method inherited by LoopBase causes the same error, while Loop
> methods go smooth.
>
>
> On 9 May 2013 01:05, Andrew Trick <atrick at apple.com> wrote:
>
>>
>> On May 8, 2013, at 7:43 PM,
2013 May 09
0
[LLVMdev] LoopPass symbol error
On May 8, 2013, at 7:43 PM, Giacomo Tagliabue <giacomo.tag at gmail.com> wrote:
> Hello,
> I am building a loop pass following these instructions: http://llvm.org/docs/WritingAnLLVMPass.html
> Everything works fine, I did it many times for Function Passes, but in the runOnLoopmethod, whenever I call a method of the loop L passed as argument, for example L->begin(), I get the
2007 Nov 29
2
[LLVMdev] LLVM on MinGW
Antony Blakey wrote:
> SVN head LLVM and Clang built out of the box for me a week ago on
> MSYS/MINGW, using the following files:
Ok, I tried to do the same. The compilations stops with the following
error message (actually, I got to the same point in my attempt to build
LLVM with the MinGW compiler shipped with Cygwin):
llvm[1]: Compiling MachineLoopInfo.cpp for Debug build
2012 Apr 24
2
[LLVMdev] Should repetitive basic blocks be removed in the results of LoopBase::getExitBlocks()?
On Apr 23, 2012, at 10:31 PM, Andrew Trick <atrick at apple.com> wrote:
>
> On Apr 19, 2012, at 10:43 PM, xiaoming gu <xiaoming.gu at gmail.com> wrote:
>
>> Hi, all. I'm using void LoopBase::getExitBlocks (SmallVectorImpl< BlockT * > &ExitBlocks) const to get all
>> exit blocks for a loop. The problem I find with this API is that it returns
2013 May 09
2
[LLVMdev] LoopPass symbol error
Hello,
I am building a loop pass following these instructions:
http://llvm.org/docs/WritingAnLLVMPass.html
Everything works fine, I did it many times for Function Passes, but in the
runOnLoopmethod, whenever I call a method of the loop L passed as argument,
for example L->begin(), I get the following error:
opt: symbol lookup error: /home/giacomo/llvmcsfv/Debug+Asserts/lib/Acsl.so:
>
2009 Nov 20
1
[LLVMdev] getExitBlocks returns duplicates in result vector
Hi,
LoopBase::getExitBlocks in LoopInfo.h returns all exit basic blocks by
iterating over all blocks of a loop and storing all branch targets
that are outside the loop. This method allows for duplicates in the
result vector, e.g.:
Loop at depth 2 containing: %bb2<header><exit>,%bb1<latch>,%bb3<exit>
where both bb2 and bb3 have bb4 as their exit block.
This loop
2012 Apr 24
0
[LLVMdev] Should repetitive basic blocks be removed in the results of LoopBase::getExitBlocks()?
hi,
> Users generally expect a unique set of exit blocks, but don't make any
> strong assumption. The worst that can happen is missed optimization or
> redundant analysis. In most cases, the loop is in LoopSimplifyForm, so it's
> probably not a problem in practice.
>
>
> Another thing I should mention. The iteration order of ExitBlocks is
> important. In llvm,
2015 Jul 23
1
[LLVMdev] Is loop header required to have at least one predecessor outside the loop?
Hi,
I was reading some loop related code and I don’t quite understand an assertion in LoopBase<BlockT, LoopT>::getLoopPredecessor().
/// getLoopPredecessor - If the given loop's header has exactly one unique
/// predecessor outside the loop, return it. Otherwise return null.
/// This is less strict that the loop "preheader" concept, which requires
/// the predecessor to have