similar to: [LLVMdev] findNearestCommonDominator

Displaying 20 results from an estimated 600 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
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 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
2010 Mar 23
1
[LLVMdev] findNearestCommonDominator
Hi! Is it possible to get findNearestCommonDominator working for post dominator trees by changing llvm/include/llvm/Analysis/Dominators.h starting at line 432: NodeT *findNearestCommonDominator(NodeT *A, NodeT *B) { /*assert (!this->isPostDominator() && "This is not implemented for post dominators");*/ assert (A->getParent() == B->getParent() &&
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 Aug 05
1
[LLVMdev] a problem when using postDominatorTree
Wenbin Zhang wrote: > I'll try the trunk, as well as check my code again. If indeed it's not > fixed, I'll try to post a triggering case here. > Thanks for the advice~ > Did you run the -mergereturn pass (it might also be called UnifyExitNodes in the source code)? This is the pass that ensures that each function has exactly one basic block that returns control to the
2010 Aug 05
0
[LLVMdev] a problem when using postDominatorTree
I'll try the trunk, as well as check my code again. If indeed it's not fixed, I'll try to post a triggering case here. Thanks for the advice~ Best, --Wenbin ----- Original Message ----- From: "Tobias Grosser" <grosser at fim.uni-passau.de> To: "Wenbin Zhang" <zhangwen at cse.ohio-state.edu> Cc: <llvmdev at cs.uiuc.edu> Sent: Thursday, August
2010 Aug 05
3
[LLVMdev] a problem when using postDominatorTree
On 08/05/2010 06:46 AM, Wenbin Zhang wrote: > Hi all, > I'm using postDominatorTree to do some program analysis. My code works > well for small tests, but when I run it on real applications, the > following error occurs: > /Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries. > [1] <<exit node>> {0,21} > [2] %bb1 {1,2} > [2] %bb {3,4} > [2]
2010 Aug 05
0
[LLVMdev] a problem when using postDominatorTree
Hi all, I'm using postDominatorTree to do some program analysis. My code works well for small tests, but when I run it on real applications, the following error occurs: Inorder PostDominator Tree: DFSNumbers invalid: 0 slow queries. [1] <<exit node>> {0,21} [2] %bb1 {1,2} [2] %bb {3,4} [2] %entry {5,6} [2] %bb8 {7,20} [3] %bb7 {8,9} [3] %bb2 {10,11}
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 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
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
2012 Aug 20
5
[LLVMdev] DomTreeNode
Hi Guys, I am using the Postdom pass and I would like to get the root of the tree. However, everytime I try to get the root, I get a segfault. I don't know why the environment can't find DominatorTreeBase. Below is the code that generates the Segfault. In my .h file I include Dominators.h PDT.getRootNode(); //PDT is a reference to a PostDominatorTree dyld: lazy symbol binding
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 >
2010 Aug 05
0
[LLVMdev] a problem when using postDominatorTree
On 08/05/2010 06:00 PM, John Criswell wrote: > Wenbin Zhang wrote: >> I'll try the trunk, as well as check my code again. If indeed it's not >> fixed, I'll try to post a triggering case here. >> Thanks for the advice~ >> > > Did you run the -mergereturn pass (it might also be called > UnifyExitNodes in the source code)? This is the pass that ensures
2012 Mar 21
0
[LLVMdev] Issues with flag namespace
Hello Dmitry, First of all, thank you for your reply. Because of it, I focused in create the lib that helped me. Second, I realize that actually there was one thing different between the machines: due to a more frequent use of the iMac, I have a group of environment variables that are set to my developer folder; and the $PATH is one of those. Furthermore, it seems that my default compiler for
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
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
2009 Jul 14
2
[LLVMdev] [patch] Dotty printer for dependency trees
Hi, I started to work with llvm and liked the CFG dotty printer a lot. However there was none for the dominance trees. I implemented dotty printing for dominance trees and introduced these new flags: -dot-dom : Print dominance tree of function to 'dot' file -dot-dom-only : Print dominance tree of function to 'dot' file (with no function
2018 Apr 14
0
Error: Verify if there is a pass dependency cycle
Hi, You need to initialize your pass with: INITIALIZE_PASS_BEGIN(YourPass, "your-pass", "Your Pass", /*cfgonly=*/false, /*analysis=*/false) INITIALIZE_PASS_DEPENDENCY(PostDominatorTreeWrapperPass) INITIALIZE_PASS_END(YourPass, "your-pass", "Your Pass", /*cfgonly=*/false, /*analysis=*/false) So as to both register your pass, and have