search for: dominatorset

Displaying 14 results from an estimated 14 matches for "dominatorset".

Did you mean: dominators
2006 Sep 25
0
[LLVMdev] llvm passes
...nformation stored during pass Y's execution. > So, I'm wondering why the types of the passes matter. The statement > that there would be "nowhere to store information for all of the > functions in the program," confuses me. Imagine you have a functionpass X, for example DominatorSet. DominatorSet runs on a function at a time and captures information about the current function's dominator information in its instance variables. Now you have ModulePass Y that runs and requires X to be run. Because it is a functionpass, X will be run on every function in the module befor...
2006 Sep 25
1
[LLVMdev] llvm passes
..., before pass X runs. Furthermore, if those passes X and Y are both function passes, then when pass X runs on function F, the last function Y will have run on is function F. Chris Lattner wrote: > On Fri, 22 Sep 2006, Ryan M. Lefever wrote: > Imagine you have a functionpass X, for example DominatorSet. DominatorSet > runs on a function at a time and captures information about the current > function's dominator information in its instance variables. > > Now you have ModulePass Y that runs and requires X to be run. Because it > is a functionpass, X will be run on every fun...
2006 Sep 22
2
[LLVMdev] llvm passes
In the instructions for writing LLVM passes, it says "[c]urrently it is illegal for a ModulePass to require a FunctionPass. This is because there is only one instance of the FunctionPass object ever created, thus nowhere to store information for all of the functions in the program at the same time." I'm a little confused by that. It was my understanding that if pass X required
2003 Aug 13
1
[LLVMdev] Running a pass
Hi, I want to run the Mem2Reg pass on a function without using the the LLVM opt utility. I wrote some code, which I am not sure is correct: TS_ASSERT(!verifyFunction(*function)); // find the dominance frontier of the CFG DominanceFrontier DF; DF.runOnFunction(*function); // try to promote stack allocated variables PromoteMemToReg(function->getRegAllocas(), DF, *tgt_data);
2005 May 16
1
[LLVMdev] Invalidating an analysis pass
Hi, How can I rerun an analysis pass in the middle of a function pass? In particular, my dominator set needs to be recomputed. It looks like I can manually edit the dominator set with getAnalysisToUpdate. If I could rerun the dominator set pass to get this info automatically, it would save me some time. Thanks.
2006 Apr 20
0
[LLVMdev] First draft of release notes done
...ator analysis using the Lengauer and Tarjan algorithm, replacing the old iterative implementation. On one extreme example his implementation is 40x faster than the old one (PR681) and uses far less memory. * Daniel Berlin contributed an ET-Forest implementation, which replaces the old LLVM DominatorSet with a far more efficient data structure (in both space and time). * Andrew wrote a new "reg2mem" which transforms an LLVM function so that there are no SSA values live across basic blocks. * The -reassociate pass knows how to factor expressions in several ways, e.g. turning (A*A+A*...
2006 Apr 19
4
[LLVMdev] First draft of release notes done
Please take a look: http://llvm.org/docs/ReleaseNotes.html -Chris -- http://nondot.org/sabre/ http://llvm.org/
2006 Jul 05
0
[LLVMdev] Critical edges
...e (besides the problem of not inserting branch instructions)? Thanks a lot, Fernando Code --------------------------------------------------------------- void CriticalEdgeRemoval_Fer::getAnalysisUsage (AnalysisUsage & AU) const { AU.addPreserved<ETForest>(); AU.addPreserved<DominatorSet>(); AU.addPreserved<ImmediateDominators>(); AU.addPreserved<DominatorTree>(); AU.addPreserved<DominanceFrontier>(); AU.addPreserved<LoopInfo>(); AU.addPreservedID(LoopSimplifyID); } bool CriticalEdgeRemoval_Fer::runOnMachineFunction (MachineFunction...
2006 Jul 04
2
[LLVMdev] Critical edges
On Tue, 4 Jul 2006, Fernando Magno Quintao Pereira wrote: > However, it does not remove all the critical edges. I am getting a very > weird dataflow graph (even without the Break Critical edges pass). The > dataflow generated by MachineFunction::dump() for the program below is > given here: > http://compilers.cs.ucla.edu/fernando/projects/soc/images/loop_no_crit2.pdf ... > The
2006 Apr 14
2
[LLVMdev] [DRAFT] LLVM 1.7 release announcement notes [DRAFT]
...ysis using the Lengauer and Tarjan algorithm, replacing the old iterative implementation. On one extreme example his implementation is 40x faster than the old one (PR681) and uses far less memory. * Daniel Berlin contributed an ET-Forest implementation, which replaces the old LLVM DominatorSet with a far more efficient data structure (in both space and time). * Andrew wrote a new "reg2mem" which transforms an LLVM function so that there are no SSA values live across basic blocks. * The -scalarrepl pass can now promote simple unions to registers. * The inliner can now...
2006 Apr 20
0
[LLVMdev] [DRAFT] LLVM 1.7 release announcement notes [DRAFT]
...ngauer and > Tarjan algorithm, replacing the old iterative implementation. On one > extreme example his implementation is 40x faster than the old one > (PR681) and uses far less memory. > * Daniel Berlin contributed an ET-Forest implementation, which > replaces the old LLVM DominatorSet with a far more efficient data > structure (in both space and time). > * Andrew wrote a new "reg2mem" which transforms an LLVM function so that > there are no SSA values live across basic blocks. > * The -scalarrepl pass can now promote simple unions to registers. > *...
2007 May 23
0
LLVM 2.0 Release
...where the condition is at the bottom of the loop. 13. Devang added support that allows ModulePasses to use the result of FunctionPasses. This requires holding multiple FunctionPasses (e.g. dominator info) in memory at a time. 14. Owen and Devang both worked to eliminate the [Post]DominatorSet classes from LLVM, switching clients to use the far-more-efficient ETForest class instead. Owen removed the ImmediateDominator class, switching clients to use DominatorTree instead. These changes reduce memory usage and speed up the optimizer. Target-Independent Code Generat...
2007 May 14
3
[LLVMdev] llvm 2.0 release announcement [draft]
...", where the condition is at the bottom of the loop. x. Devang added support that allows ModulePasses to use the result of FunctionPasses. This requires holding multiple FunctionPasses (e.g. dominator info) in memory at a time. x. Owen and Devang both worked to eliminate the [Post]DominatorSet classes from LLVM, switching clients to use the far-more-efficient ETForest class instead. Owen removed the ImmediateDominator class, switching clients to use DominatorTree instead. These changes reduce memory usage and speed up the optimizer. Target-Independent Code Generator Enhanceme...
2006 Apr 20
0
LLVM 1.7 Release!
...using the Lengauer and Tarjan algorithm, replacing the old iterative implementation. On one extreme example (PR681) his implementation is 40x faster than the old one and uses 19x less memory. 15. Daniel Berlin contributed an ET-Forest implementation, which replaces the old LLVM DominatorSet with a far more efficient data structure (in both space and time). 16. Andrew wrote a new "reg2mem" which transforms an LLVM function so that there are no SSA values live across basic blocks (useful when prototyping transformations that don't handle SSA 'phi' no...