similar to: [LLVMdev] Replacing root node of dominator tree

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Replacing root node of dominator tree"

2011 Jul 29
0
[LLVMdev] Accessing Dominator Tree
On 7/29/11 10:00 AM, david.dewey at comcast.net wrote: > > John, > > Thanks for the quick reply. Using a PassManager object should work > fine. As you said, my only objection is to exec'ing opt. > > I had actually tried instantiating a PassManager object before, but I > was definitely not doing it right. I will take a look at how clang > and SAFECode use it,
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
2011 Jul 29
2
[LLVMdev] Accessing Dominator Tree
Hello, I am working on a project that requires me to perform some analysis on a bitcode file outside the existing LLVM analysis frameworks (opt, etc.).  In what I am doing, I need to be able to access the dominator tree for a given function.  Is there a way I can instantiate a DominatorTree object outside the existing analysis frameworks? I have tried several things all along the lines of:
2011 Jul 29
0
[LLVMdev] Accessing Dominator Tree
On 7/29/11 9:43 AM, david.dewey at comcast.net wrote: > > Hello, > > I am working on a project that requires me to perform some analysis on > a bitcode file outside the existing LLVM analysis frameworks (opt, > etc.). In what I am doing, I need to be able to access the dominator > tree for a given function. Is there a way I can instantiate a > DominatorTree object
2011 Jul 29
2
[LLVMdev] Accessing Dominator Tree
John, Thanks for the quick reply.  Using a PassManager object should work fine.  As you said, my only objection is to exec'ing opt.  I had actually tried instantiating a PassManager object before, but I was definitely not doing it right.  I will take a look at how clang and SAFECode use it, and see if I can get it working. Thanks, David ----- Original Message ----- From:
2010 Jul 19
0
[LLVMdev] How to traverse Dominator Tree in pre-order manner
Chayan Sarkar wrote: > Hi, > > Can anyone tell me how to traverse Dominator tree in pre-order manner? > In previous versions of LLVM, I believe you could get some sort of Node object from DominatorTree and then use a method to get the children of the Node (and then use a method of the Node to get the BasicBlock held in that Node). However, I don't see such a method in the
2010 Jul 19
1
[LLVMdev] How to traverse Dominator Tree in pre-order manner
On Mon, Jul 19, 2010 at 7:49 AM, John Criswell <criswell at uiuc.edu> wrote: > Chayan Sarkar wrote: >> Hi, >> >> Can anyone tell me how to traverse Dominator tree in pre-order manner? >> > > In previous versions of LLVM, I believe you could get some sort of Node > object from DominatorTree and then use a method to get the children of > the Node There
2017 Oct 27
3
Dominator tree side effect or intentional
Hello, I was wondering whether or not some behaviour that I am seeing is expected behaviour and that it has been designed like this, or not. A dominator relation is given by "if A dominates B", then all paths to B go through A. For example, take the CFG below (which is a directed graph (couldn’t make the arrow heads but ok.): A / \ B C \ / D | E We can construct
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 Jul 18
2
[LLVMdev] How to traverse Dominator Tree in pre-order manner
Hi, Can anyone tell me how to traverse Dominator tree in pre-order manner? Regards, Chayan
2017 Jul 17
2
An update on the DominatorTree and incremental dominators
Hi folks, For the past month I’ve been working on improving the DominatorTree and PostDominatorTree in LLVM. The RFC that explains the motivations and plans can be found here: http://lists.llvm.org/pipermail/llvm-dev/2017-June/114045.html . Here’s a short summary of what changed upstream since posting it: - We switched from the Simple Lengauer-Tarjan algorithm for computing dominators
2009 May 30
2
[LLVMdev] Post-dominator data.
This is surely a simple question, but it appears that PostDominatorTree does not provide an interface to get at post dominator data. Also, it is not a concrete subclass of DominatorTree, as is presented in the doxygen page and the commented source. Any way to get post-dom data without hacking it into PostDominatorTree?
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
2009 May 30
0
[LLVMdev] Post-dominator data.
Is our post-dom pass solid? I thought it's fair expensive so we avoid using it. Evan Sent from my iPhone On May 29, 2009, at 6:14 PM, mgill404 at ucla.edu wrote: > This is surely a simple question, but it appears that > PostDominatorTree does not provide an interface to get at post > dominator data. Also, it is not a concrete subclass of DominatorTree, > as is presented in
2009 Aug 13
0
[LLVMdev] CallGraph - Dominators and Loop Information
Hello everyone, Can LLVM calculate DominatorTree and LoopInfo for call graphs? For example, I need to know if an edge (function1->function2) is a backedge. If there was a DominatorTree for call graphs that would be easy. Since I haven't found, I've copied the algorithm FindFunctionBackedges in BasicBlockUtils.cpp and modified it to use call graphs. Unfortunately, since the call
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
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
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
2010 Oct 11
0
[LLVMdev] Specify dominator for BasicBlock to avoid "Instruction does not dominate all uses!"
On Oct 11, 2010, at 9:05 AM, Xinfinity wrote: > > Hi, > > I am working on a pass aimed to unify multiple exits of a loop into a unique > basic block. The approach is straight forward: > I create a unique BasicBlock BB_unique that has as predecessors all the exit > blocks of the loop, it contains a phi instruction and a switch to redirect > the flow correctly.
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).