aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/COFFObjectFile.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2021-01-16 16:39:54 -0800
committerFangrui Song <i@maskray.me>2021-01-16 16:39:54 -0800
commita048ce13e32daa255d26533c00da8abd0b67e819 (patch)
treecd90b865a516e958426c97886bdd5ab83e9680fa /llvm/lib/Object/COFFObjectFile.cpp
parent5238e7b302ffc40707677960da9d64e872745dac (diff)
downloadllvm-a048ce13e32daa255d26533c00da8abd0b67e819.zip
llvm-a048ce13e32daa255d26533c00da8abd0b67e819.tar.gz
llvm-a048ce13e32daa255d26533c00da8abd0b67e819.tar.bz2
[X86] Default to -x86-pad-for-align=false to drop assembler difference with or w/o -g
Fix PR48742: the D75203 assembler optimization locates MCRelaxableFragment's within two MCSymbol's and relaxes some MCRelaxableFragment's to reduce the size of a MCAlignFragment. A -g build has more MCSymbol's and therefore may have different assembler output (e.g. a MCRelaxableFragment (jmp) may have 5 bytes with -O1 while 2 bytes with -O1 -g). `.p2align 4, 0x90` is common due to loops. For a larger program, with a lot of temporary labels, the assembly output difference is somewhat destined. The cost seems to overweigh the benefits so we default to -x86-pad-for-align=false until the heuristic is improved. Reviewed By: skan Differential Revision: https://reviews.llvm.org/D94542
Diffstat (limited to 'llvm/lib/Object/COFFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions