search for: samplepgo

Displaying 20 results from an estimated 34 matches for "samplepgo".

2015 Jul 31
1
[LLVMdev] RFC - Making SamplePGO a module pass
Dehao and I have been discussing changes we need to make to SamplePGO to make it more effective. Currently, SamplePGO is a scalar pass that limits itself to add branch weight annotations. It runs pretty early in the pipeline, so this is fine for other scalar passes that want to use profile data (block layout and regalloc). However, it does nothing to help module p...
2016 Nov 01
2
(RFC) Encoding code duplication factor in discriminator
If Hal's proposal is for SamplePGO purpose, let me clarify some design principles of SamplePGO. The profile for sample pgo uses source location as the key to map the execution count back to IR. This design is based on the principle that we do not want the profile to be tightly couple with compiler IR. Instead, profile is simple an...
2016 Nov 01
2
(RFC) Encoding code duplication factor in discriminator
...can make it more readable... On Tue, Nov 1, 2016 at 2:07 PM, Dehao Chen <dehao at google.com> wrote: > Oops... pressed the wrong button and sent out early... > > On Tue, Nov 1, 2016 at 2:01 PM, Dehao Chen <dehao at google.com> wrote: > >> If Hal's proposal is for SamplePGO purpose, let me clarify some design >> principles of SamplePGO. >> >> The profile for sample pgo uses source location as the key to map the >> execution count back to IR. This design is based on the principle that we >> do not want the profile to be tightly couple with...
2014 Oct 24
2
[LLVMdev] Recent changes in -gmlt break sample profiling
...now on? The >> latter would be a problem for us. >> > > Open to negotiation, but this change is intentional ( for details, see the > commit: http://llvm.org/viewvc/llvm-project?rev=218129&view=rev ). > Well, this breaks us. Very hard. It absolutely blocks us from using SamplePGO with LLVM. The alternative would be to make the compiler use absolute line numbers, but in the experience we've collected with GCC, this makes the profiles very brittle wrt source changes. I don't have a better idea atm. Would there be any other way to generate relative line numbers? Per...
2016 Oct 27
8
(RFC) Encoding code duplication factor in discriminator
Motivation: Many optimizations duplicate code. E.g. loop unroller duplicates the loop body, GVN duplicates computation, etc. The duplicated code will share the same debug info with the original code. For SamplePGO, the debug info is used to present the profile. Code duplication will affect profile accuracy. Taking loop unrolling for example: #1 foo(); #2 for (i = 0; i < N; i++) { #3 bar(); #4 } If N is 8 during runtime, a reasonable profile will look like: #1: 10 #3: 80 But if the compiler unrolls t...
2016 Oct 27
2
(RFC) Encoding code duplication factor in discriminator
...1:39 AM, Dehao Chen <dehao at google.com> wrote: > >> Motivation: >> Many optimizations duplicate code. E.g. loop unroller duplicates the loop >> body, GVN duplicates computation, etc. The duplicated code will share the >> same debug info with the original code. For SamplePGO, the debug info is >> used to present the profile. Code duplication will affect profile accuracy. >> Taking loop unrolling for example: >> >> #1 foo(); >> #2 for (i = 0; i < N; i++) { >> #3 bar(); >> #4 } >> >> If N is 8 during runtime, a r...
2015 Feb 24
9
[LLVMdev] RFC - Improvements to PGO profile support
...t that approach because we will end up discussing everything at once and it may not lead to concrete progress. Another approach would be to present each issue individually either as patches or RFCs or bugs. I will be taking on the implementation of several of these issues. Some of them involve the SamplePGO harness that I added last year. I would also like to know what other bugs or problems people have in mind that I could also roll into this work. Thanks. Diego. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/...
2014 Oct 24
9
[LLVMdev] Recent changes in -gmlt break sample profiling
...t;> >>> >>> Open to negotiation, but this change is intentional ( for details, see >>> the commit: http://llvm.org/viewvc/llvm-project?rev=218129&view=rev ). >>> >> >> Well, this breaks us. Very hard. It absolutely blocks us from using >> SamplePGO with LLVM. >> > > Sorry about that - I knew ASan needed gmlt data of a certain form and > worked carefully to ensure llvm-symbolizer could still symbolize with these > changes, but wasn't aware of this particular dependence from PGO (just > assumed it used the line table di...
2016 Oct 27
0
(RFC) Encoding code duplication factor in discriminator
...u, Oct 27, 2016 at 11:39 AM, Dehao Chen <dehao at google.com> wrote: > Motivation: > Many optimizations duplicate code. E.g. loop unroller duplicates the loop > body, GVN duplicates computation, etc. The duplicated code will share the > same debug info with the original code. For SamplePGO, the debug info is > used to present the profile. Code duplication will affect profile accuracy. > Taking loop unrolling for example: > > #1 foo(); > #2 for (i = 0; i < N; i++) { > #3 bar(); > #4 } > > If N is 8 during runtime, a reasonable profile will look like: &g...
2016 Oct 27
0
(RFC) Encoding code duplication factor in discriminator
...hu, Oct 27, 2016 at 11:39 AM Dehao Chen <dehao at google.com> wrote: > Motivation: > Many optimizations duplicate code. E.g. loop unroller duplicates the loop > body, GVN duplicates computation, etc. The duplicated code will share the > same debug info with the original code. For SamplePGO, the debug info is > used to present the profile. Code duplication will affect profile accuracy. > Taking loop unrolling for example: > > #1 foo(); > #2 for (i = 0; i < N; i++) { > #3 bar(); > #4 } > > If N is 8 during runtime, a reasonable profile will look like: &g...
2014 Oct 27
2
[LLVMdev] Recent changes in -gmlt break sample profiling
...iation, but this change is intentional ( for details, see > >>>> the commit: http://llvm.org/viewvc/llvm-project?rev=218129&view=rev > ). > >>> > >>> > >>> Well, this breaks us. Very hard. It absolutely blocks us from using > >>> SamplePGO with LLVM. > >> > >> > >> Sorry about that - I knew ASan needed gmlt data of a certain form and > >> worked carefully to ensure llvm-symbolizer could still symbolize with > these > >> changes, but wasn't aware of this particular dependence from PG...
2016 Nov 01
2
(RFC) Encoding code duplication factor in discriminator
...e.com > > > wrote: > > > > Oops... pressed the wrong button and sent out early... > > > > > > On Tue, Nov 1, 2016 at 2:01 PM, Dehao Chen < dehao at google.com > > > > wrote: > > > > > > > If Hal's proposal is for SamplePGO purpose, let me clarify some > > > > design principles of SamplePGO. > > > > > > > > > > The profile for sample pgo uses source location as the key to > > > > map > > > > the > > > > execution count back to IR. This d...
2017 Jul 14
3
Next steps for optimization remarks?
...DebugLoc > attached to instructions. Things get a little hairy at -O3 (or with > -flto) because there are optimizations bugs so transformations don't > preserve debuginfo. This is not entirely orthogonal but something can > be worked on in parallel (bonus point, this would also help SamplePGO > & debuginfo experience). With `-flto` the problem gets amplified more, > as expected. > > 5) I found a couple of issue when trying the support, but I'm actively > working on them. > https://bugs.llvm.org/show_bug.cgi?id=33773 <https://bugs.llvm.org/show_bug.cgi?id=33...
2016 Oct 27
0
(RFC) Encoding code duplication factor in discriminator
...<dehao at google.com> wrote: >> >>> Motivation: >>> Many optimizations duplicate code. E.g. loop unroller duplicates the >>> loop body, GVN duplicates computation, etc. The duplicated code will share >>> the same debug info with the original code. For SamplePGO, the debug info >>> is used to present the profile. Code duplication will affect profile >>> accuracy. Taking loop unrolling for example: >>> >>> #1 foo(); >>> #2 for (i = 0; i < N; i++) { >>> #3 bar(); >>> #4 } >>> >&g...
2014 Oct 26
2
[LLVMdev] Recent changes in -gmlt break sample profiling
...n to negotiation, but this change is intentional ( for details, see >>>>> the commit: http://llvm.org/viewvc/llvm-project?rev=218129&view=rev ). >>>> >>>> >>>> Well, this breaks us. Very hard. It absolutely blocks us from using >>>> SamplePGO with LLVM. >>> >>> >>> Sorry about that - I knew ASan needed gmlt data of a certain form and >>> worked carefully to ensure llvm-symbolizer could still symbolize with these >>> changes, but wasn't aware of this particular dependence from PGO (just &g...
2015 Feb 26
0
[LLVMdev] RFC - Improvements to PGO profile support
...roach because we will end up discussing everything at once and it may not lead to concrete progress. Another approach would be to present each issue individually either as patches or RFCs or bugs. > > I will be taking on the implementation of several of these issues. Some of them involve the SamplePGO harness that I added last year. I would also like to know what other bugs or problems people have in mind that I could also roll into this work. > > > Thanks. Diego. > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu...
2016 Nov 02
3
(RFC) Encoding code duplication factor in discriminator
...; > > > > > > > > > > On Tue, Nov 1, 2016 at 2:01 PM, Dehao Chen < dehao at google.com > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > If Hal's proposal is for SamplePGO purpose, let me clarify > > > > > > some > > > > > > design principles of SamplePGO. > > > > > > > > > > > > > > > > > > > > > The profile for sample pgo uses source location as the key > &gt...
2019 Mar 30
2
Minimal PGO for ORC JIT
Hi David, Thanks for your reply. I find that I need to add some new types of profile data that are specific to JIT environment like Function Ordering. Function Ordering is similar to dynamic call graph which records the execution of functions at runtime along with the order in which they are called. Eg: Suppose they are 5 functions (F1..F5). F1 calls other functions in the order described
2017 Jun 19
8
Next steps for optimization remarks?
Hello all, In https://www.youtube.com/watch?v=qq0q1hfzidg, Adam Nemet (cc'ed) describes optimization remarks and some future plans for the project. I had a few follow-up questions: 1. As an example of future work to be done, the talk mentions expanding the set of optimization passes that emit remarks. However, the Clang User Manual mentions that "optimization remarks do not really make
2017 Jul 14
2
Next steps for optimization remarks?
...; attached to instructions. Things get a little hairy at -O3 (or with >> -flto) because there are optimizations bugs so transformations don't >> preserve debuginfo. This is not entirely orthogonal but something can >> be worked on in parallel (bonus point, this would also help SamplePGO >> & debuginfo experience). With `-flto` the problem gets amplified more, >> as expected. >> >> 5) I found a couple of issue when trying the support, but I'm actively >> working on them. >> https://bugs.llvm.org/show_bug.cgi?id=33773 >> https://bug...