summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains/Linux.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2019-03-28 18:05:37 +0000
committerCraig Topper <craig.topper@intel.com>2019-03-28 18:05:37 +0000
commitc25c9b4d162695c3537fdd0996c92290bcd30a9e (patch)
tree9bc2b41c22dbc87699575da78f10b17605bf388b /clang/lib/Driver/ToolChains/Linux.cpp
parentfc5ddeeab30fd89fe012719019cd83658d6c11e4 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud