search for: coverageinstr

Displaying 6 results from an estimated 6 matches for "coverageinstr".

2016 Mar 11
8
RFC: Pass to prune redundant profiling instrumentation
...a())); std::sort(V.begin(), V.end()); return V[0]; } I get the following results on my desktop (10^8 elements, 5 runs each): O3: 0.262s O3 + PGOInstr: 0.663s O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, 672 aliases) O3 + CoverageInstr: 0.690s O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, 688 aliases) Next Steps? =========== Is the performance of instrumented code something we think we need to fix? What's an acceptable compile-time overhead for running this pruning pass? Is the general approach a...
2016 Mar 11
5
RFC: Pass to prune redundant profiling instrumentation
...se cases. Clarifications ============== 1. In my original email, two of my numbers were incorrect. I listed the sizes of the __llvm_prf_alias sections, not the number of actual aliases. The corrected lines are: O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, _42_ aliases) O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, _44_ aliases) 2. >> Determine which profile counters are essential. > > What is an "essential counter"? The pass I proposed works like this: for (PC : ProfileCounters) { if (Update-Sites-Of(PC) == Update-Sites-Of(Other-PC)...
2016 Mar 11
3
RFC: Pass to prune redundant profiling instrumentation
...} >> >> I get the following results on my desktop (10^8 elements, 5 runs each): >> >> O3: 0.262s >> O3 + PGOInstr: 0.663s >> O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, 672 aliases) >> O3 + CoverageInstr: 0.690s >> O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, 688 >> aliases) >> >> >> Next Steps? >> =========== >> >> Is the performance of instrumented code something we think we need to fix? >> > > With frontend i...
2016 Mar 11
2
RFC: Pass to prune redundant profiling instrumentation
...desktop (10^8 elements, 5 runs each): >>>> >>>> O3: 0.262s >>>> O3 + PGOInstr: 0.663s >>>> O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, 672 >>>> aliases) >>>> O3 + CoverageInstr: 0.690s >>>> O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, 688 >>>> aliases) >>>> >>>> >>>> Next Steps? >>>> =========== >>>> >>>> Is the performance of instrumented code somet...
2016 Mar 12
2
RFC: Pass to prune redundant profiling instrumentation
...====== > > 1. In my original email, two of my numbers were incorrect. I listed the > sizes of the __llvm_prf_alias sections, not the number of actual aliases. > The corrected lines are: > > O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, _42_ aliases) > O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, _44_ aliases) > > 2. > > >> Determine which profile counters are essential. > > > > What is an "essential counter"? > > The pass I proposed works like this: > > for (PC : ProfileCounters) { >...
2016 Mar 12
2
RFC: Pass to prune redundant profiling instrumentation
...ere incorrect. I listed the >> > sizes of the __llvm_prf_alias sections, not the number of actual >> aliases. >> > The corrected lines are: >> > >> > O3 + PGOInstr + Pruning: 0.606s (8.6% performance win, _42_ >> aliases) >> > O3 + CoverageInstr + Pruning: 0.610s (11.6% performance win, _44_ >> aliases) >> > >> > 2. >> > >> > >> Determine which profile counters are essential. >> > > >> > > What is an "essential counter"? >> > >> > The pass...