diff options
author | Craig Topper <craig.topper@intel.com> | 2019-03-28 18:05:37 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2019-03-28 18:05:37 +0000 |
commit | c25c9b4d162695c3537fdd0996c92290bcd30a9e (patch) | |
tree | 9bc2b41c22dbc87699575da78f10b17605bf388b /clang/lib/Driver/ToolChains/Linux.cpp | |
parent | fc5ddeeab30fd89fe012719019cd83658d6c11e4 (diff) | |
download | bcm5719-llvm-c25c9b4d162695c3537fdd0996c92290bcd30a9e.tar.gz bcm5719-llvm-c25c9b4d162695c3537fdd0996c92290bcd30a9e.zip |
[X86] Teach the isel optimization for (x << C1) op C2 to (x op (C2>>C1)) << C1 to consider cases where C2>>C1 can fit an unsigned 32-bit immediate
For 64-bit operations we should consider if the immediate can be made to fit
in an unsigned 32-bits immedate. For OR/XOR this allows us to load the immediate
with MOV32ri instead of movabsq. For AND this allows us to fold the immediate.
Differential Revision: https://reviews.llvm.org/D59867
llvm-svn: 357196
Diffstat (limited to 'clang/lib/Driver/ToolChains/Linux.cpp')
0 files changed, 0 insertions, 0 deletions