Displaying 20 results from an estimated 4000 matches similar to: "[LLVMdev] findNearestCommonDominator"
2010 Mar 07
0
[LLVMdev] findNearestCommonDominator
Hi!
I have seen that findNearestCommonDominator has been added
to class PostDominatorTree, maybe on my request.
Now there is the following problem:
in class DominatorTreeBase there is an assert in findNearestCommonDominator
that asserts if the tree is not a PostDominator tree:
assert (!this->isPostDominator()
&& "This is not implemented for post
2010 Mar 08
2
[LLVMdev] findNearestCommonDominator
On 03/07/2010 10:33 PM, Jochen Wilhelmy wrote:
> Hi!
Hi Jochen,
> I have seen that findNearestCommonDominator has been added
> to class PostDominatorTree, maybe on my request.
>
> Now there is the following problem:
> in class DominatorTreeBase there is an assert in findNearestCommonDominator
> that asserts if the tree is not a PostDominator tree:
>
> assert
2010 Mar 07
0
[LLVMdev] findNearestCommonDominator for PostDominatorTree
On 03/07/2010 11:09 AM, Jochen Wilhelmy wrote:
> Hi!
Hi Jochen,
> I'd like to find the point where the control flow joins after a branch.
>
> e.g. if I have the following function
>
> if (a< b)
> foo1();
> else
> foo2();
> bar();
>
> Then the control flow splits at the basic block containing a< b with
> a branch as terminator
2017 Aug 26
2
building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase
This is release_50 branch of git,
sha1: f1d5723be3f9456a6b16cdf687847ac2918846de
Using gcc 7.2.0 from homebrew.
$ CC=/usr/local/opt/gcc/bin/x86_64-apple-darwin16.7.0-gcc-7
CXX=/usr/local/opt/gcc/bin/x86_64-apple-darwin16.7.0-g++-7 cmake ..
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/Users/andy/local/llvm5
-DCMAKE_PREFIX_PATH=/Users/andy/local/llvm5
$ make VERBOSE=1
[ 92%] Linking CXX
2010 Mar 06
3
[LLVMdev] constness of APFloat::toString
Hi!
I wonder if llvm::APFloat::toString() can be const since
it should not modify the APFloat.
-Jochen
2010 Apr 09
0
[LLVMdev] graph abstraction proposal
On 04/07/2010 08:10 PM, Jochen Wilhelmy wrote:
> Hi!
>
> while trying to use llvm::DominatorTreeBase on a custom graph that
> has nothing to do with llvm::BasicBlock I ran into some difficulties,
> because llvm::DominatorTreeBase calls e.g. getParent()->front()
> directly on the nodes
Yes this is a problem. However how is it related to your proposal? Do
you want to add a
2010 Apr 07
2
[LLVMdev] graph abstraction proposal
Hi!
while trying to use llvm::DominatorTreeBase on a custom graph that
has nothing to do with llvm::BasicBlock I ran into some difficulties,
because llvm::DominatorTreeBase calls e.g. getParent()->front()
directly on the nodes and uses llvm::Inverse which forced me to
implement my GraphTraits also for Inverse.
This could be solved using a compile time abstraction of Graph
instread of
2010 Mar 06
0
[LLVMdev] constness of APFloat::toString
On Mar 6, 2010, at 3:39 AM, Jochen Wilhelmy wrote:
> Hi!
>
> I wonder if llvm::APFloat::toString() can be const since
> it should not modify the APFloat.
Done in r97883, thanks.
2008 Sep 19
0
[LLVMdev] PassManager Dependence Question
On Friday 19 September 2008 17:50, Devang Patel wrote:
> On Sep 19, 2008, at 3:38 PM, David Greene wrote:
> >>> So I thought about adding a pass that simply numbers Instructions,
> >>> have
> >>> DominatorTrees depend on that pass and then the dominates() question
> >>> can just
> >>> return whether one Instruction number is > the
2010 Apr 08
0
[LLVMdev] graph abstraction proposal
On Thu, Apr 8, 2010 at 2:10 AM, Jochen Wilhelmy <j.wilhelmy at arcor.de> wrote:
> Hi!
>
> while trying to use llvm::DominatorTreeBase on a custom graph that
> has nothing to do with llvm::BasicBlock I ran into some difficulties,
> because llvm::DominatorTreeBase calls e.g. getParent()->front()
> directly on the nodes and uses llvm::Inverse which forced me to
>
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?
2008 Sep 19
2
[LLVMdev] PassManager Dependence Question
On Sep 19, 2008, at 4:03 PM, David Greene wrote:
>> Well, one of the domiantor info interface is
>> bool dominates(Instruction *A, Instruction *B);
>> This will return invalid results. So yes, the info is dirty.
>
> Not right now it isn't. Right now dominators simply iterates through
> instructions.
Aha... OK.
> In my proposed scheme, it would be dirty only
2017 Mar 31
4
Dereferenceable load semantics & LICM
Hi Piotr,
On March 31, 2017 at 1:07:12 PM, Piotr Padlewski
(piotr.padlewski at gmail.com) wrote:
> [snip]
> Do I understand it correctly, that it is legal to do the hoist because all
> of the instructions above %vtable does not throw?
Yes, I think you're right. HeaderMayThrow is a conservative
approximation, and the conservativeness is biting us here.
> Are there any plans to
2008 Sep 19
2
[LLVMdev] PassManager Dependence Question
On Sep 19, 2008, at 3:38 PM, David Greene wrote:
>>> So I thought about adding a pass that simply numbers Instructions,
>>> have
>>> DominatorTrees depend on that pass and then the dominates() question
>>> can just
>>> return whether one Instruction number is > the other.
>>>
>>> The number will get out of date as soon as
2013 Jun 05
0
[LLVMdev] CallGraph, GraphTraits and DominatorTree
Hi there,
I'm currently writing an analysis (for now) pass for LLVM that kind of need
some information from the CallGraph of the program. This info would be
extremely easy to get if I could build the DominatorTree information about
the CallGraph. I even checked out and saw the declarations of GraphTraits
templates for CallGraph and CallGraphNode, which might indicate that all
algorithms that
2018 Mar 14
0
[GSOC 2018] Implement a single updater class for Dominators
Hi Chijun,
Great, seems like you did a lot of progress and understand the issues quite
well!
I have done some early sketch on the API of the new updater class.
> From my current understanding, to solve the fragmentation problem of
> the API, the new class first, need to maintain the DomTree and
> PostDomTree class and deprecate the DefferredDominance class.
>
There are a couple of
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 dependence and the
difference between
2018 Mar 22
0
[GSOC 2018] Implement a single updater class for Dominators
Hi Chijun,
I left you my feedback in the doc (+ some nitpicks). Overall, it looks very
solid and shows you understand the problem well and know what to expect.
Your proposed timeline is reasonable and I don't see any major things to
improve there. Don't hesitate to reach out if you have any questions
related to my comments (either here or in the document).
Thanks,
Kuba
On Wed, Mar 21,
2018 Mar 22
1
[GSOC 2018] Implement a single updater class for Dominators
Hi Kuba,
Thanks for your feedback. I have made some improvements on the
proposal according to your feedback and clarify something on the time
availability. I left comments on the questions you asked in the doc.
Please check it out.
Thanks,
Chijun
2018-03-22 10:37 GMT+08:00 Jakub (Kuba) Kuderski <kubakuderski at gmail.com>:
> Hi Chijun,
>
> I left you my feedback in the doc (+
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 your