Displaying 20 results from an estimated 86 matches for "postdominator".
Did you mean:
postdominators
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::Basi...
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:
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 {3,4}...
2015 Jul 16
2
[LLVMdev] Regions according to LLVM
Hi all,
I'm working with regions, and I was surprised by the region set of this function:
> define void @foo() {
> br i1 false, label %loop, label %end
>
> loop:
> br i1 false, label %loop, label %end
>
> end:
> ret void
> }
.dot file as generated by opt —view-regions attached. Essentially, there are 3 regions: one that has the whole function, one that has
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 Zhang&q...
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 Tre...
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
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 is ak...
2012 Jul 13
0
[LLVMdev] Does the pass -postdomfrontier exist?
...gt; 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 some discussion of this on the mailing list already, so I suggest you
search the archives.
Ciao, Duncan.
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
were removed.
I'll send patch to update the document.
Regards,
chenwj
[1] http://llvm.org/releases/3.0/docs/ReleaseNotes.html
--
Wei-Ren Che...
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 sol...
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
...ominance tree of function
(with no function bodies)
The patch contains these changes:
1. Move DOTGraphTraits<const Function*> to CFGPrinter.h to reuse it
later.
2. Add nodes_iterator to GraphTraits<DomTreeNode *>,
GraphTraits<DominatorTree*>, GraphTraits<PostDominatorTree*> to enable
the GraphWriter on these data structures.
3. The file DomPrinter.cpp containing the actual passes, printers & Co.
It is simple as almost everything already existed.
4. A little bug fix in lib/Analysis/CFGPrinter.cpp.
virtual bool runOnFunction(Function &F) {
-...
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/Writin...
2010 Feb 28
2
[LLVMdev] region pass - new pass for llvm
hi all,
The patch in the attachment add a new pass - region pass to the llvm system.
A region pass is similar to a loop pass, all of them execute on a group of
BasicBlocks at one time, but it operate on a single entry single exit
region, not the nature loop.
The original purpose to add such a pass to llvm system is to allow us find
out the static control part (SCoP) for the polyhedral
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()
> && "...
2012 Jul 13
2
[LLVMdev] Does the pass -postdomfrontier exist?
...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 some discussion of this on the mailing list already, so I suggest you
> search the archives.
>
> Ciao, Duncan.
> _____...
2010 Mar 04
0
[LLVMdev] region pass - new pass for llvm
How is the patch compressed? I don't know how to open the file with .7z suffix.
Evan
On Feb 27, 2010, at 10:12 PM, ether zhhb wrote:
> hi all,
>
> The patch in the attachment add a new pass - region pass to the llvm system. A region pass is similar to a loop pass, all of them execute on a group of BasicBlocks at one time, but it operate on a single entry single exit region, not the
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: note:...