search for: algo2

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

Did you mean: algo
2011 Mar 23
0
[LLVMdev] GSOC Project Proposal: Profile-guided optimizations
...r, the performance of the application can be up to 57% better than with inlining done without any profile info. The second optimization is intended to replace the current BasicBlockPlacement pass, which uses a naive algorithm, with an algorithm that performs better in practice. It will be based on Algo2 from Pettis&Hansen, while the current one is Algo1. I think this is more useful than forming superblocks, because they may actually degrade the performance if new optimization opportunities are not discovered (the size of the code increases). If you think that superblocks are more useful, I cou...
2017 Sep 19
0
RFC: Trace-based layout.
...lem is more sophisticated than the existing method of laying out the loop and praying that one of the n rotations will be a good one. > Even the tail-duplication support I added is kind of a hack. It would be better to do block cloning to handle cases where tail-duplication currently fails The “Algo2” that you referred to is the least sophisticated layout algorithm I can imagine. I’ve always found it to be extremely unsatisfying when it comes to partial profile, unbiased branches, or general debugging sanity. When I say the existing algorithm is more sophisticated, I mean that it is designed t...
2017 Sep 19
2
RFC: Trace-based layout.
On Mon, Sep 18, 2017 at 1:16 PM, Andrew Trick <atrick at apple.com> wrote: > > On Sep 14, 2017, at 6:53 PM, Kyle Butt via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > > I plan on rewriting the block placement algorithm to proceed by traces. > > A trace is a chain of blocks where each block in the chain may fall > through to > the successor in the chain.
2011 Mar 30
0
[LLVMdev] GSoC: Profile-guided inlining and block positioning
...lso, functions with an extremely high cost should not be inlined, even if they are called frequently. This will be fine-tuned in the later stages of the project. The second optimization I will implement is a better basic block placement algorithm compared to the current one. The algorithm will be *Algo2*from [4], with better results than *Algo1*, the one implemented now in the* BasicBlockPlacement *pass, according to the paper. Basic block placement using profile information is very helpful especially for control-intensive functions, and functions where many blocks are executed infrequently or not...