aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Module.cpp
diff options
context:
space:
mode:
authorRafael Auler <rafaelauler@fb.com>2022-03-09 10:46:15 -0800
committerRafael Auler <rafaelauler@fb.com>2022-07-11 17:29:22 -0700
commit42465efd171727fff0686537def45f32efb67088 (patch)
tree67724831b57937fe59007e114e232b2daf61015a /llvm/lib/IR/Module.cpp
parent77ccc480baf6a341c9301e96cfa2f4e9adf5e7c4 (diff)
downloadllvm-42465efd171727fff0686537def45f32efb67088.zip
llvm-42465efd171727fff0686537def45f32efb67088.tar.gz
llvm-42465efd171727fff0686537def45f32efb67088.tar.bz2
[BOLT] Increase coverage of shrink wrapping [1/5]
Change how function score is calculated and provide more detailed statistics when reporting back frame optimizer and shrink wrapping results. In this new statistics, we provide dynamic coverage numbers. The main metric for shrink wrapping is the number of executed stores that were saved because of shrink wrapping (push instructions that were either entirely moved away from the hot block or converted to a stack adjustment instruction). There is still a number of reduced load instructions (pop) that we are not counting at the moment. Also update alloc combiner to report dynamic numbers, as well as frame optimizer. For debugging purposes, we also include a list of top 10 functions optimized by shrink wrapping. These changes are aimed at better understanding the impact of shrink wrapping in a given binary. We also remove an assertion in dataflow analysis to do not choke on empty functions (which makes no sense). Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D126111
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions