summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/COM.cpp
diff options
context:
space:
mode:
authorRoman Lebedev <lebedev.ri@gmail.com>2019-05-17 15:52:58 +0000
committerRoman Lebedev <lebedev.ri@gmail.com>2019-05-17 15:52:58 +0000
commit64c756b9917c0c34a7b222c5f16c9b704a7d2bdc (patch)
tree0e34eb6bcf8b4b89b7314282459a99dcb809e845 /llvm/lib/Support/COM.cpp
parent3275060fe83841f7a4e22d3690738fe1677cf12e (diff)
downloadbcm5719-llvm-64c756b9917c0c34a7b222c5f16c9b704a7d2bdc.tar.gz
bcm5719-llvm-64c756b9917c0c34a7b222c5f16c9b704a7d2bdc.zip
[DAGCombiner] visitShiftByConstant(): drop bogus signbit check
Summary: That check claims that the transform is illegal otherwise. That isn't true: 1. For `ISD::ADD`, we only process `ISD::SHL` outer shift => sign bit does not matter https://rise4fun.com/Alive/K4A 2. For `ISD::AND`, there is no restriction on constants: https://rise4fun.com/Alive/Wy3 3. For `ISD::OR`, there is no restriction on constants: https://rise4fun.com/Alive/GOH 3. For `ISD::XOR`, there is no restriction on constants: https://rise4fun.com/Alive/ml6 So, why is it there then? This changes the testcase that was touched by @spatel in rL347478, but i'm not sure that test tests anything particular? Reviewers: RKSimon, spatel, craig.topper, jojo, rengolin Reviewed By: spatel Subscribers: javed.absar, llvm-commits, spatel Tags: #llvm Differential Revision: https://reviews.llvm.org/D61918 llvm-svn: 361044
Diffstat (limited to 'llvm/lib/Support/COM.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud