search for: postdomin

Displaying 20 results from an estimated 86 matches for "postdomin".

Did you mean: postdomain
2017 Aug 26
2
building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase
...VMBitReader.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(PostDominators.cpp.o) ../../lib/libLLVMCore.a(Dominators.cpp.o) duplicate symbol llvm::DominatorTreeBase<llvm::...
2012 Sep 13
2
[LLVMdev] Dominance frontier & Postdominance frontier
Hi, I found that LLVM 3.1 says Dominance frontier is deprecated. Can anyone please tell me, if there is any replacement for Dominance frontier & Postdominance frontier in LLVM? What are the options if we need to use them? Thanks, Swarup. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120913/e46bb309/attachment.html>
2012 Jul 13
4
[LLVMdev] Does the pass -postdomfrontier exist?
Hi, I found the -postdomfrontier pass in *llvm*.org/docs/Passes.html, but 'opt' does not accept it. I could not find the relevant codes in PostDominance.cpp in SVN trunk, but I found some relevant codes here http://opensource.apple.com/source/clang/clang-137/src/lib/Analysis/PostDominators.cpp. I am wondering why this pass is removed and what should I do if I want the post dominance frontier information? Thanks!
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 {...
2015 Jul 16
2
[LLVMdev] Regions according to LLVM
...t has the whole function, one that has the entry block and the loop, and one that has the loop only. The second one puzzles me. The definition of single-entry single-exit region that I know of uses edges instead of blocks but can rather easily be extended to blocks: edge A dominates edge B, edge B postdominates edge A, and any cycle containing edge A also contains edge B. I'm confused because in the case of the second region, the loop block does not postdominate the entry, and I can't think of a pair of edges around these that work without being equivalent to the last region. Am I missing so...
2010 Aug 05
1
[LLVMdev] a problem when using postDominatorTree
...o 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 caller. It's possible that PostDominator doesn't handle functions with multiple exits (if someone knows whether it does or not, please let me know). -- John T. > Best, > --Wenbin > > > ----- Original Message ----- > From: "Tobias Grosser" <grosser at fim.uni-passau.de> > To: "Wenbin Zha...
2010 Aug 05
0
[LLVMdev] a problem when using postDominatorTree
..., --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 05, 2010 3:07 AM Subject: Re: [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...
2012 Oct 03
0
[LLVMdev] Inter-procedural program flow analysis
Okay thanks for the info. The term program termination was probably a poor choice of words. I'm really just trying to build an inter-procedural BasicBlock graph, and then look for postdominance as Scott suggested. I'll go about making my own since it doesn't sound like there is one out there already. Thanks, -Stephen On Tue, Oct 2, 2012 at 5:06 PM, Scott Moore <sdmoore at fas.harvard.edu> wrote: > I think you're looking for an inter-procedural post dominator a...
2019 Jan 29
2
Finding label of basic block where a conditional branch merges
...en that means that you can say that you are the head of an if statement and the immediate post-dominator is the tail of the same if statement. > > However, when gotos, or goto-like statements (break, continue, return, throw, etc.) are involved, then the tail of an if statement is no longer a postdominator. Note that such statements can be introduced by optimizations such as jump threading. > > if (...) { > return true; > } else { > ... > } > // This node is no longer a postdominator because of the return. > > The question here is what you want to do. If your goal i...
2012 Jul 13
0
[LLVMdev] Does the pass -postdomfrontier exist?
Hi, > I found the -postdomfrontier pass in *llvm*.org/docs/Passes.html, but > 'opt' does not accept it. I could not find the relevant codes in > PostDominance.cpp in SVN trunk, but I found some relevant codes here > http://opensource.apple.com/source/clang/clang-137/src/lib/Analysis/PostDominators.cpp. > > > I am wondering why this pass is removed and what should I do if I want > the post dominance frontier information? there was som...
2012 Jul 13
0
[LLVMdev] Does the pass -postdomfrontier exist?
> I found the -postdomfrontier pass in *llvm*.org/docs/Passes.html, but > 'opt' does not accept it. I could not find the relevant codes in > PostDominance.cpp in SVN trunk, but I found some relevant codes here > http://opensource.apple.com/source/clang/clang-137/src/lib/Analysis/PostDominators.cpp. LLVM 3.0 release note said postdomfrontier had been removed [1]. The unused PostOrder Dominator Frontiers and LowerSetJmp passes wer...
2010 Apr 09
0
[LLVMdev] graph abstraction proposal
...gt; // Initialize roots > this->Roots = graph.getRoots(); > iterate over roots { > this->IDoms[root] = 0; > this->DomTreeNodes[root] = 0; > } > > Calculate(*this, graph); > } > > > Note that the flag IsPostDominators is gone. > Where necessary it can be replaced by checking if > the graph has exactly one root. I am not sure about this. Something not yet implemented are postdominator trees for infinite loops. At the moment these basic blocks are just not part of the postdominator tree. I believe a...
2012 Oct 03
2
[LLVMdev] Inter-procedural program flow analysis
I think you're looking for an inter-procedural post dominator analysis. I don't think there is one in LLVM already, but it should be relatively straightforward. This gives a sound approximation (i.e. no false positives) of something sort-of equivalent to the halting problem: if the program terminates, then block Y was executed. Cheers, Scott On Tue, Oct 2, 2012 at 7:43 PM, Jim Grosbach
2009 Jul 14
2
[LLVMdev] [patch] Dotty printer for dependency trees
...nted 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 bodies) -dot-postdom : Print postdominance tree of function to 'dot' file -dot-postdom-only : Print postdominance tree of function to 'dot' file (with no function bodies) -view-dom : View dominance tree of function -view-dom-only : View dominance tree of function (...
2006 May 01
3
[LLVMdev] ModulePasses requiring FunctionPasses
I am trying to write a ModulePass which requires PostDominator sets for every function in the module. Now finding post dominators is a function pass. The link on the llvm.org website says that : "Currently it is illegal for a ModulePass<http://llvm.org/docs/WritingAnLLVMPass.html#ModulePass>to require a FunctionPass <http://llvm.org/docs/Wr...
2010 Feb 28
2
[LLVMdev] region pass - new pass for llvm
...exists always one exit basic block, where all edges leaving the region end. This basic block is never part of the region. By inserting a merge basic block before the exit basic block, a single exit edge can be created. * Every basic block BB in R: * is dominated by "entry" * is postdominated by "exit" (Not enough to check, if BB is part of R) * "exit" always postdominates "entry" * "entry" may dominate "exit" * An edge (a,b) is part of the region if both a and b are part of the region or if a is part of the region and b i...
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 (!this->isPostDominator() > && &q...
2012 Jul 13
2
[LLVMdev] Does the pass -postdomfrontier exist?
On 07/13/2012 04:30 PM, Duncan Sands wrote: > Hi, > >> I found the -postdomfrontier pass in *llvm*.org/docs/Passes.html, but >> 'opt' does not accept it. I could not find the relevant codes in >> PostDominance.cpp in SVN trunk, but I found some relevant codes here >> http://opensource.apple.com/source/clang/clang-137/src/lib/Analysis/PostDominators.cpp. >> >> >> I am wondering why this pass is removed and what should I do if I want >> the post dominance frontier informa...
2010 Mar 04
0
[LLVMdev] region pass - new pass for llvm
...where all edges leaving the > region end. This basic block is never part of the region. By inserting a > merge basic block before the exit basic block, a single exit edge can be > created. > > * Every basic block BB in R: > * is dominated by "entry" > * is postdominated by "exit" > (Not enough to check, if BB is part of R) > > * "exit" always postdominates "entry" > * "entry" may dominate "exit" > > * An edge (a,b) is part of the region if both a and b are part of the region > or...
2013 Jun 05
0
[LLVMdev] CallGraph, GraphTraits and DominatorTree
...^ In file included from /Developer/llvm/lib/Transforms/ThreadBufferOptimizer/ThreadBufferOptimizer.cpp:16: In file included from /Developer/llvm/lib/Transforms/ThreadBufferOptimizer/ThreadBufferOptimizer.h:20: In file included from /Developer/llvm/include/llvm/Analysis/PostDominators.h:17: /Developer/llvm/include/llvm/Analysis/Dominators.h:670:9: error: no viable overloaded operator[] for type 'DenseMap<llvm::CallGraphNode *, llvm::CallGraphNode *>' this->IDoms[I] = 0; ^~~~~~~~~~~ ~ /Developer/llvm/include/llvm/ADT/DenseMap.h:215:11: no...