diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2018-03-30 21:36:54 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2018-03-30 21:36:54 +0000 |
commit | 5ea6d50af113043da8a82215bb23f98c620e0112 (patch) | |
tree | 42a27442303220e8762b5d28ad733b0ff158596c /llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | |
parent | 0b01dfbba69d634c0fde133b5098d73a6f92ffea (diff) | |
download | bcm5719-llvm-5ea6d50af113043da8a82215bb23f98c620e0112.tar.gz bcm5719-llvm-5ea6d50af113043da8a82215bb23f98c620e0112.zip |
ELF: Place ordered sections in the middle of the unordered section list on targets with limited-range branches.
It generally does not matter much where we place sections ordered
by --symbol-ordering-file relative to other sections. But if the
ordered sections are hot (which is the case already for some users
of --symbol-ordering-file, and is increasingly more likely to be
the case once profile-guided section layout lands) and the target
has limited-range branches, it is beneficial to place the ordered
sections in the middle of the output section in order to decrease
the likelihood that a range extension thunk will be required to call
a hot function from a cold function or vice versa.
That is what this patch does. After D44966 it reduces the size of
Chromium for Android's .text section by 60KB.
Differential Revision: https://reviews.llvm.org/D44969
llvm-svn: 328905
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp')
0 files changed, 0 insertions, 0 deletions