diff options
author | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2017-06-28 02:37:11 +0000 |
---|---|---|
committer | Stanislav Mekhanoshin <Stanislav.Mekhanoshin@amd.com> | 2017-06-28 02:37:11 +0000 |
commit | eb40733bf07e523ff898cbad942c9dbbc5beaca2 (patch) | |
tree | ec268dd62711903cf58d48cdc997499709c50aae /llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp | |
parent | 8ef03802f12ab99c547abb46fe1ef6ae8aaf505f (diff) | |
download | llvm-eb40733bf07e523ff898cbad942c9dbbc5beaca2.zip llvm-eb40733bf07e523ff898cbad942c9dbbc5beaca2.tar.gz llvm-eb40733bf07e523ff898cbad942c9dbbc5beaca2.tar.bz2 |
Allow to truncate left shift with non-constant shift amount
That is pretty common for clang to produce code like
(shl %x, (and %amt, 31)). In this situation we can still perform
trunc (shl) into shl (trunc) conversion given the known value
range of shift amount.
Differential Revision: https://reviews.llvm.org/D34723
llvm-svn: 306499
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp')
0 files changed, 0 insertions, 0 deletions