Displaying 20 results from an estimated 20000 matches similar to: "[LLVMdev] Post-dominator data."
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
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 Aug 24
2
[LLVMdev] Post-dominance analysis for multiple-exit functions
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 post-dominator trees, with one
rooted at each exit node. The problem this can cause is
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
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:
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,
2013 Apr 12
0
[LLVMdev] Control Dependence Graph builder
On 4/12/13 3:19 PM, Arsen wrote:
> Thank you John.
> Actually the opt tool (from LLVM 3.2 version) can generate the needed graphs
> (with pass "-domfrontier").
> But I just want to surely know is there some pass or builder which can be
> integrated somehow so it will be possible directly to generate CDG?
Yes and no. There's isn't a control dependence pass in LLVM
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
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
2019 Mar 26
2
On-the-fly passes
I'm seeing some very unexpected behavior in a ModulePass I've created.
To support both the legacy and new pass managers, I've abstracted away
the code to get the passes it depends on:
bool MyPass::runOnModule(Module &M) override {
auto DominatorGetter = [this] (Function &F) -> DominatorTree & {
return
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 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 Dec 31
3
[LLVMdev] CodeExtractor.cpp potential bug?
There might be a misuse of DominatorTree::splitBasicBlock in
CodeExtractor.cpp, line 145.
Header is splited into two (OldPred->NewBB).
Line 145 updates the dominator tree by calling DT->splitBasicBlock(NewBB).
I think it should be DT->splitBasicBlock(OldPred).
When I tried to extract a code region whose header has 2 successors, my pass
crashed.
It was because header (or OldPred) is the
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 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
2013 Apr 12
2
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
Thanks for your reply, John.
I am using opt to run my pass. Should opt by default link in the library?
Would you please give me some idea on fixing it? Thanks!
opt -load ../../../Debug+Asserts/lib/LLVMHello.dylib -hello < hello.bc >
/dev/null
My pass is just:
#include "llvm/IR/Function.h"
#include "llvm/Pass.h"
#include "llvm/Support/raw_ostream.h"
#include
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
2013 Apr 12
2
[LLVMdev] Runtime exception in DominatorTree.getRootNode()
Hi all,
I am trying to traverse a dominator tree and have encountered a weird
runtime exception:
Here's my simple code:
virtual bool runOnFunction(Function &F) {
DominatorTree& DT = getAnalysis<DominatorTree>();
* DomTreeNode* rootNode = DT.getRootNode();*
return false.
}
Here's the documentation page: