search for: changeimmediatedominator

Displaying 4 results from an estimated 4 matches for "changeimmediatedominator".

2017 Jun 13
9
RFC: Dynamic dominators
...n new functions: insertArc(From, To) and deleteArc(From, To). The algorithm uses SemiNCA under the hood which would replace Lengauer-Tarjan implementation currently used. The second part of the proposal is to gradually deprecate and remove the existing API for manually manipulating dominator tree (changeImmediateDominator, addNewBlock) and replace its use within LLVM with the new incremental API. *3. Proof of concept* The prototype implementation can be found in my LLVM fork [2] <https://github.com/kuhar/llvm-dominators>. It comes with several layers of verification and was tested on clang, llvm test suite a...
2017 Jun 13
2
RFC: Dynamic dominators
...). > > The algorithm uses SemiNCA under the hood which would replace > > Lengauer-Tarjan implementation currently used. > > > > The second part of the proposal is to gradually deprecate and remove the > > existing API for manually manipulating dominator tree > > (changeImmediateDominator, addNewBlock) and replace its use within LLVM > > with the new incremental API. > > > > *3. Proof of concept* > > > > The prototype implementation can be found in my LLVM fork [2] > > <https://github.com/kuhar/llvm-dominators>. It comes with several layers...
2017 Aug 26
2
building release_50 with gcc7.2.0 on MacOS: duplicate symbol llvm::DominatorTreeBase
...wTreeWalk(llvm::DomTreeNodeBase<llvm::BasicBlock> const*, llvm::DomTreeNodeBase<llvm::BasicBlock> const*) const in: ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o) ../../lib/libLLVMCore.a(Dominators.cpp.o) duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock, true>::changeImmediateDominator(llvm::DomTreeNodeBase<llvm::BasicBlock>*, llvm::DomTreeNodeBase<llvm::BasicBlock>*) in: ../../lib/libLLVMAnalysis.a(PostDominators.cpp.o) ../../lib/libLLVMCore.a(Dominators.cpp.o) duplicate symbol llvm::DominatorTreeBase<llvm::BasicBlock, true>::dominates(llvm::BasicBlock...
2012 Nov 07
0
[LLVMdev] Replacing root node of dominator tree
I'm trying to update a postdominator tree, but it seems using the DominatorTree family of classes I can't replace the root node of the tree. When the exit block is merged with one its predecessors I need to update the tree to use the new merged root and remove the old node. The changeImmediateDominator functions reject a null replacement immediate dominator and I don't see any way of replacing the root short of rerunning the analysis on the whole function when I run into this case. Do these need the addition of a setRootNode function to handle this case?