Displaying 20 results from an estimated 2542 matches for "domin".
Did you mean:
domain
2017 Jun 13
2
RFC: Dynamic dominators
Hi Tobias,
1) Daniel and Chandler have for a long time been talking about computing
> dominance and post-dominance in one shot to reduce the cost of
> post-dominance and make it (freely) available everywhere. Is this
> covered by your current (or planned) work?
I'm not sure what you exactly mean by one shot; I'll ask around tomorrow.
I wanted to play a little bit with y...
2015 Feb 25
4
[LLVMdev] Jump Theading/GVN bug - moving discussion to llvm-dev
>> all the zero paths from entry to %a pass by %b.
>
>
> That is a graph-wise definition, sure.
> So, this is an interesting definition, and maybe this is part of the source
> of the problem.
>
> For SSA, at least GCC requires that both "definition block dominates use
> block" (which would be true here), *and*
> that "definition appears before use in block" (IE definition locally
> dominates use).
>
> IE it has to pass both DT->dominates(block(%b), block(%a)) and
> DT->dominates(%b, %a).
>
> LLVM special cases...
2013 Nov 15
2
[LLVMdev] dominator, post-dominator and memory leak
Hi Henrique,
I have tried using -mergereturn and inserting a free into the predecessors
of dominance frontier of malloc block and it caused double free. It is
possible for multiple free's to be inserted on the path from malloc to an
exit. For example, in the following CFG:
BB10 (malloc)
/ \
BB11 BB12
... / \ / \...
2013 Nov 15
0
[LLVMdev] dominator, post-dominator and memory leak
Try breaking the critical edges (-break-crit-edges).
This way, a new block will be created between BB13 and BB11 (call this
BB11.break) and BB15 and BB12 (call this BB12.break).
The predecessors of the dominance frontier will, thus, be BB11.break,
BB12.break, and BB14.
When we enter through a block with a call to malloc(), we will end up in
one of the blocks in the dominance frontier (kind of). These blocks must
have multiple predecessors, else it would not be in the dominance frontier.
If a predecess...
2017 Aug 26
2
building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase
...VMAnalysis.a ../../lib/libLLVMObject.a
../../lib/libLLVMMCParser.a ../../lib/libLLVMMC.a
../../lib/libLLVMBitReader.a ../../lib/libLLVMProfileData.a
../../lib/libLLVMCore.a ../../lib/libLLVMBinaryFormat.a
../../lib/libLLVMSupport.a -lcurses -lz -lm ../../lib/libLLVMDemangle.a
duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock,
true>::releaseMemory() in:
../../lib/libLLVMAnalysis.a(PostDominators.cpp.o)
../../lib/libLLVMCore.a(Dominators.cpp.o)
duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock, true>::verify()
const in:
../../lib/libLLVMAnalysis.a(PostDomina...
2017 Apr 26
1
Collectively dominance
Like I said, i'm nearly positive there is a much faster way, as the sets
are mostly shared except in the cyclic case, and in all reducible cyclic
cases, removal of back-arcs does not affect dominance
(because in any reducible flowgraph, v dominates u whenever u,v is a
back-arc)
On Tue, Apr 25, 2017 at 7:38 PM, Hongbin Zheng <etherzhhb at gmail.com> wrote:
> Hi Daniel,
>
> Thanks a lot for all these explanation, I will try it out.
>
> Hongbin
>
> On Tue, Apr 25...
2017 Apr 26
2
Collectively dominance
...<dberlin at dberlin.org>
>> wrote:
>>
>>>
>>>
>>> On Tue, Apr 25, 2017 at 6:17 PM, Hongbin Zheng <etherzhhb at gmail.com>
>>> wrote:
>>>
>>>> Hi Daniel,
>>>>
>>>> I mean "*As a set*, B + C dominate D".
>>>>
>>>> On Tue, Apr 25, 2017 at 5:42 PM, Daniel Berlin <dberlin at dberlin.org>
>>>> wrote:
>>>>
>>>>> When you say collectively, you mean "would dominate it if considered a
>>>>> single block tog...
2009 Aug 24
2
[LLVMdev] Post-dominance analysis for multiple-exit functions
Many published analyses which build on post-dominance assume a
canonical single-dominator-tree form induced by unifying all exits
(and often adding a virtual edge from START to END). In contrast, it
seems that the current LLVM post-dominator analysis only operates in a
mode in which it generates a forest of post-dominator trees, with one
rooted at...
2015 Sep 21
4
When can the dominator tree not contain a node for a basic block?
When looking into https://llvm.org/bugs/show_bug.cgi?id=24866, I
discovered that the root cause of the crash is that I was expecting
every basic block to have a corresponding Node in the dominator tree.
Apparently, the "while.end" basic block in the example does not have a
Node in the Dominator Tree. Can anyone tell me if this is expected?
If so, under what circumstances?
Interestingly, the crash in question appears to be fairly recently
introduced. A checkout from we...
2009 Jun 02
3
[LLVMdev] Is there a control dependence graph builder?
Hi,
In browsing through the LLVM source, I don't currently see an implementation
for a control dependence graph builder. Am I overlooking something?
It doesn't look like LLVM currently provides a way to build the
post-dominance frontier of the reverse CFG, either. Dominators.h mentions
forward dominators, but I believe all this is referring to is dominators as
opposed to post-dominators, not dominators on the CFG versus dominators on
the reverse-CFG.
I just wanted to make certain I'm not overlooking anything befo...
2015 Feb 25
2
[LLVMdev] Jump Theading/GVN bug - moving discussion to llvm-dev
...la at gmail.com> wrote:
>>
>> > Maybe.
>> > My view is the ideal is either no-unreachable code, or unreachable
>> > blocks
>> > only contain terminators.
>>
>> I am definitely happy with both. What worries me is introducing a
>> special dominance rule for unreachable blocks.
>>
>> >> I don't think that rejecting
>> >>
>> >> %a = getelementptr inbounds i8* %a, i64 1
>> >>
>> >> but accepting
>> >>
>> >> %a = getelementptr inbounds i8* %b, i6...
2017 Jun 13
2
RFC: Dynamic dominators
Btw, here is another interesting paper about post-dominators and control
dependence:
https://pdfs.semanticscholar.org/cbb2/9a0e4895025bd9df24f9263217df12f1ed1e.pdf
I think a great outcome of your internship would be some precise
documentation regarding the guarantees the LLVM dominators give --
possibly also considering classic and weak control depend...
2015 May 14
4
[LLVMdev] getnode(BB) = 0; block already in dominator tree
Hi
I run into an issue as part of splitting a critical edge during LICM.
When a new basic block is created and needs to be added into the dominator
tree, the block is already in the dominator tree. I print the dominator
tree and I see it is added into the tree as child of node it is supposed to
dominate.
How do I debug to find out why/when its getting added into the tree. ?
Tips/suggestions on how to debug to find out how the densemap inv...
2015 Jul 09
5
[LLVMdev] Strong post-dominance in LLVM?
There is PostDominatorTree for determining post-dominance. Even if A
post-dominates B and B is executed, that doesn't guarantee that A will be
executed. For example, there could be an infinite loop in-between. Strong
post-dominance makes the stronger guarantee that there will be no infinite
loop from B to A. Do w...
2017 Apr 26
2
Collectively dominance
On Tue, Apr 25, 2017 at 6:32 PM, Daniel Berlin <dberlin at dberlin.org> wrote:
>
>
> On Tue, Apr 25, 2017 at 6:17 PM, Hongbin Zheng <etherzhhb at gmail.com>
> wrote:
>
>> Hi Daniel,
>>
>> I mean "*As a set*, B + C dominate D".
>>
>> On Tue, Apr 25, 2017 at 5:42 PM, Daniel Berlin <dberlin at dberlin.org>
>> wrote:
>>
>>> When you say collectively, you mean "would dominate it if considered a
>>> single block together?
>>>
>>> IE
>>>...
2013 Nov 13
3
[LLVMdev] dominator, post-dominator and memory leak
...013 at 9:13 PM, Henrique Santos <
henrique.nazare.santos at gmail.com> wrote:
> PRE normally uses a latest placement algorithm to do something of the sort.
> I don't know about GVN/PRE, but older version of PRE might have it.
> Just placing the calls to free at the predecessors (dominated by BB12) of
> the dominance frontier of BB12 seems to work, however. Is there anything
> wrong with this?
>
It seems that placing the calls to free at the predecessors of dominance
frontier is inadequate. It is possible that there are exit blocks that are
dominated by BB12 (calls to ma...
2013 Nov 13
0
[LLVMdev] dominator, post-dominator and memory leak
>
> It seems that placing the calls to free at the predecessors of dominance
> frontier is inadequate. It is possible that there are exit blocks that are
> dominated by BB12 (calls to malloc). I guess we can also insert calls to
> free at these exit blocks too.
That crossed my mind a few minutes later. : )
If you're interested, PRE.cpp existed last at r25...
2017 Apr 26
2
Collectively dominance
Hi,
Is there any way to quickly test if a set of basic block collectively
dominate another basic block?
Thanks
Hongbin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170425/b9336a6d/attachment.html>
2017 Jun 13
9
RFC: Dynamic dominators
Hi folks,
This summer I'm working on improving dominators during my internship at
Google. Below is an RFC on switching to dynamic dominators, which you can
also read as a Google Doc
<https://docs.google.com/document/d/1wPYeWykeO51YDPLYQEg4KNTlDIGIdyF65OTfhSMaNHQ/edit?usp=sharing>
if you prefer so. Please let us know what you think.
~Kuba
====...
2009 Aug 25
0
[LLVMdev] Post-dominance analysis for multiple-exit functions
On Aug 24, 2009, at 4:58 PM, Jonathan Ragan-Kelley wrote:
> Many published analyses which build on post-dominance assume a
> canonical single-dominator-tree form induced by unifying all exits
> (and often adding a virtual edge from START to END). In contrast, it
> seems that the current LLVM post-dominator analysis only operates in a
> mode in which it generates a forest of post-dominator trees...