[LLVMdev] Make LoopBase inherit from "RegionBase"?
Tobias Grosser
grosser at fim.uni-passau.de
Fri Jan 8 11:27:58 PST 2010
On 01/08/10 14:20, ether wrote:
> sorry that i forgot to change the subjuect
Hi ether,
sounds interesting. Actually is/may be some kind of region. If you want
you can have a look at the analysis, that I wrote. It is not yet
finished, not completely documented and work in progress. However the
first big comment might be interesting for you. Or seeing the results of
opt -regions -analyze
The git repo to see it is here:
http://repo.or.cz/w/llvm-complete/tobias-sandbox.git/shortlog/refs/heads/region
I will think about this and maybe reply again.
Tobi
> 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, similar project I'm working on in parallel (no
>> pun intended).
>> Tobias, is this how you are architecting your region analysis already?
>>
>> John
>>
>
> i just implementing the skeleton of Region/RegionInfo like LoopBase and
> LoopInfoBase[1] in the llvm existing codes, and found that theres lots
> of common between "Region" and "Loop":
>
> 1. both of them are consist of several BasicBlocks
> 2. both of them have some kind of nested structures, so both a loop and
> a region could have parent or childrens
> 3. both of them have a BasicBlocks(header of a loop and "entry" of a
> region) that dominates all others
>
> and the Region class will have the most stuffs very similar in LoopBase,
> like: ParentRegion, SubRegions, Blocks, getRegionDepth(),
> getExitBlock(), getExitingBlock() ......
>
> so, could us just treat "Loop" as some kind of general "Region" of
> BasicBlocks, and make Loop and Region inherit from "RegionBase"?
>
>
> [1] http://llvm.org/doxygen/LoopInfo_8h-source.html
>
> best regards
> --ether
More information about the llvm-dev
mailing list