[PATCH] D44098: [ARM] Relax condition for PerformSHLSimplify
Sam Parker via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 7 06:23:15 PST 2018
samparker updated this revision to Diff 137376.
samparker added a comment.
Hi John,
I've changed the function to check the immediate to handle the subtle differences between Thumb and Arm immediate encoding. I also tried exiting early when there's a shifted user and the immediate is already valid, but this produced worse code for almost all my new tests. The problem is that a mov is still required because the bin op is using an immediate and a shifted operand. This is particularly worse for Thumb where code size increase is greater as well.
https://reviews.llvm.org/D44098
Files:
lib/Target/ARM/ARMISelLowering.cpp
test/CodeGen/ARM/load-combine-big-endian.ll
test/CodeGen/ARM/load-combine.ll
test/CodeGen/ARM/unfold-shifts.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44098.137376.patch
Type: text/x-patch
Size: 17108 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180307/6b550a1b/attachment.bin>
More information about the llvm-commits
mailing list