diff options
author | Sjoerd Meijer <sjoerd.meijer@arm.com> | 2019-01-31 08:07:30 +0000 |
---|---|---|
committer | Sjoerd Meijer <sjoerd.meijer@arm.com> | 2019-01-31 08:07:30 +0000 |
commit | f7cc34cae890fdd711173fcb633cd262ee343764 (patch) | |
tree | b5b705cfcf8aebd0e49feaadeadfb0e35370343a /llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp | |
parent | a4938433720b54683f5b5da4ae4d1882c5a99766 (diff) | |
download | bcm5719-llvm-f7cc34cae890fdd711173fcb633cd262ee343764.tar.gz bcm5719-llvm-f7cc34cae890fdd711173fcb633cd262ee343764.zip |
[SelectionDAG] Codesize: don't expand SHIFT to SHIFT_PARTS
And instead just generate a libcall. My motivating example on ARM was a simple:
shl i64 %A, %B
for which the code bloat is quite significant. For other targets that also
accept __int128/i128 such as AArch64 and X86, it is also beneficial for these
cases to generate a libcall when optimising for minsize. On these 64-bit targets,
the 64-bits shifts are of course unaffected because the SHIFT/SHIFT_PARTS
lowering operation action is not set to custom/expand.
Differential Revision: https://reviews.llvm.org/D57386
llvm-svn: 352736
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp')
0 files changed, 0 insertions, 0 deletions