search for: dominatortreebase

Displaying 20 results from an estimated 24 matches for "dominatortreebase".

2017 Aug 26
2
building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase
...VMAnalysis.a ../../lib/libLLVMObject.a ../../lib/libLLVMMCParser.a ../../lib/libLLVMMC.a ../../lib/libLLVMBitReader.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)...
2012 Apr 26
2
[LLVMdev] Detect if a basicblock is part of a loop
...ot;, remembering to add "AU.addRequired<LoopInfo>();" to your getAnalysisUsage method. If the function you are interested to is not located in the module being compiled (if you created it as an auxiliary function, for example), you could create this information by simply creating a DominatorTreeBase of your function and using it to calculate the LoopInfo, as below: DominatorTreeBase<BasicBlock> *DTB; DTB = new DominatorTreeBase<BasicBlock>(false); DTB->recalculate(*AuxFunction); LoopInfoBase<BasicBlock, Loop> LIB; LIB.Calculate(*DTB); Cheers, -- Cr...
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 co...
2012 Oct 29
0
[LLVMdev] Undefined symbol when calling recalculate method on DominatorTreeBase
Hi, I'm working on moving a llvm pass from llvm 2.8 to llvm 3.1, and I'm getting this runtime error: opt: symbol lookup error: /......./llvm/Release+Asserts/lib/InstrLLVM_VM_multi.so: undefined symbol: _ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE5resetEv The error happens when calling the next function: void rebuildDT(DominatorTree* DT, Function *parFunc) { DT->getBase().recalculate(*parFunc); } All the code executes normally until the first call to this function, when the *recalculate* method calls t...
2012 Apr 26
0
[LLVMdev] Detect if a basicblock is part of a loop
...ot;, remembering to add "AU.addRequired<LoopInfo>();" to your getAnalysisUsage method. If the function you are interested to is not located in the module being compiled (if you created it as an auxiliary function, for example), you could create this information by simply creating a DominatorTreeBase of your function and using it to calculate the LoopInfo, as below: DominatorTreeBase<BasicBlock> *DTB; DTB = new DominatorTreeBase<BasicBlock>(false); DTB->recalculate(*AuxFunction); LoopInfoBase<BasicBlock, Loop> LIB; LIB.Calculate(*DTB); Cheers, -- Cris...
2013 Jun 05
0
[LLVMdev] CallGraph, GraphTraits and DominatorTree
...s? If not, could be possible to adapt at least the CallGraph to it? Oh, and btw, my module pass has only this in its body (I just assumed I'm using it right, but maybe the problem is here): virtual bool runOnModule(Module &M) { CallGraph& cg = getAnalysis<CallGraph>(); DominatorTreeBase<CallGraphNode> *DTB; DTB = new DominatorTreeBase<CallGraphNode>(false); DTB->recalculate(cg); errs() << "DomTreeBase:"; DTB->print(errs()); return false; } virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequi...
2009 May 01
1
[LLVMdev] DominatorTrees, DominanceFrontiers, interfaces and cloning
...way to clone a DominatorTree or DominanceFrontier object, so that I can modify the cloned copy? It looks like Pass makes the copy constructor private... (2) Is there any reason why functions (such as PromoteMemToReg) accept parameters of types DominatorTree and DominanceFrontier instead of types DominatorTreeBase and DominanceFrontierBase? It seems to me that they should accept the abstract interface instead of the implementation (and avoid the extra baggage of a pass). Having said that, I'm willing to hack llvm and submit a patch; I just wanted to see if its been done already... Thank you, -- Nick...
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 > implement my GraphTraits also for Inverse. > > Th...
2008 Feb 12
2
[LLVMdev] 2.2 build failure
...icBlock' /home/i00171/Work/llvm-work/src/llvm-2.2/include/llvm/Analysis/DominatorInternals.h:150: ` VInfo' undeclared (first use this function) /home/i00171/Work/llvm-work/src/llvm-2.2/include/llvm/Analysis/DominatorInternals.h:152: no matching function for call to `Compress( llvm::DominatorTreeBase<llvm::BasicBlock>&, llvm::BasicBlock*&)' TIA, Sanjiv -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20080212/02347f4c/attachment.html>
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 getParent ca...
2012 Apr 26
0
[LLVMdev] Detect if a basicblock is part of a loop
Rinaldini, What exactly did you run? Specifically, you may be missing some analysis passes that are necessary for LoopInfo to have the loop information you desire. -Hal On Thu, 26 Apr 2012 14:02:04 +0000 Rinaldini Julien <julien.rinaldini at heig-vd.ch> wrote: > Hi, > > I'm trying to detect if a basicblock is part of a loop or not. > > I tried the llvm::LoopInfo
2012 Apr 26
2
[LLVMdev] Detect if a basicblock is part of a loop
Hi, I'm trying to detect if a basicblock is part of a loop or not. I tried the llvm::LoopInfo like that (http://llvm.org/docs/doxygen/html/classllvm_1_1LoopInfo.html#a4abca289c73cd09487e05d11d9f7d877): LoopInfo *loop = new LoopInfo(); bool isLoop = loop->getLoopFor(myBB); // getLoopFor - Return the inner most loop that BB lives in. If a basic block is in no loop (for example the entry
2012 Apr 27
4
[LLVMdev] RE : Detect if a basicblock is part of a loop
...mbering to add "AU.addRequired<LoopInfo>();" to your getAnalysisUsage method. > > If the function you are interested to is not located in the module being compiled (if you created it as an auxiliary function, for example), you could create this information by simply creating a DominatorTreeBase of your function and using it to calculate the LoopInfo, as below: > DominatorTreeBase<BasicBlock> *DTB; > DTB = new DominatorTreeBase<BasicBlock>(false); > DTB->recalculate(*AuxFunction); > > LoopInfoBase<BasicBlock, Loop> LIB; > LIB.Calcu...
2011 Jan 24
0
[LLVMdev] CodeExtractor.cpp potential bug?
I forgot to cc llvmdev. Here is my original message. I'm a bit confused on DominatorTreeBase::Split() ( http://llvm.org/docs/doxygen/html/Dominators_8h_source.html#l00229) If a basic block A splits into A->B, when I call Split(), which is NewBB? A or B? The semantics shows that NewBB is the newly split basic block B. But the assertion at line 229 doesn't seem right. 00229 asse...
2008 Feb 12
0
[LLVMdev] 2.2 build failure
...ork/llvm-work/src/llvm-2.2/include/llvm/Analysis/DominatorInternals.h:150: > ` > VInfo' undeclared (first use this function) > /home/i00171/Work/llvm-work/src/llvm-2.2/include/llvm/Analysis/DominatorInternals.h:152: > no > matching function for call to `Compress( > llvm::DominatorTreeBase<llvm::BasicBlock>&, llvm::BasicBlock*&)' That is a very strange error: I think the code is fine, but your GCC is confused. I notice that GCC 3.2.2 is listed as a "known bad" version of GCC. It could be that 3.2.3 is also broken as well. Is there any local source ch...
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
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 failed: Symbol not found: __ZN4llvm17DominatorTreeBaseINS_10BasicBlockEE11getRootNodeEv Referenced from: /Users/georg...
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 dominators"); assert (A->getParent() == B->getParent() &&...
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() > && "This is not implemented for post dominators"); > assert (A->getParent() == B->getPare...
2008 Feb 13
1
[LLVMdev] 2.2 build failure
...lvm/Analysis/DominatorInternals.h:150: > > ` > > VInfo' undeclared (first use this function) > > /home/i00171/Work/llvm-work/src/llvm-2.2 > /include/llvm/Analysis/DominatorInternals.h:152: > > no > > matching function for call to `Compress( > > llvm::DominatorTreeBase<llvm::BasicBlock>&, llvm::BasicBlock*&)' > > That is a very strange error: I think the code is fine, but your GCC is > confused. I notice that GCC 3.2.2 is listed as a "known bad" version of > GCC. It could be that 3.2.3 is also broken as well. Is there any...