llvm-project/llvm/test
Roman Lebedev 64c756b991 [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
2019-05-17 15:52:58 +00:00
..
Analysis [CodeMetrics] Don't let extends of i1 be free. 2019-05-17 01:26:35 +00:00
Assembler [ThinLTO] Auto-hide prevailing linkonce_odr only when all copies eligible 2019-05-10 20:08:24 +00:00
Bindings Replace 'REQUIRES: not_?san' with 'UNSUPPORTED: ?san' as that better 2019-05-10 18:08:02 +00:00
Bitcode [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
BugPoint [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00
CodeGen [DAGCombiner] visitShiftByConstant(): drop bogus signbit check 2019-05-17 15:52:58 +00:00
DebugInfo Emit global variables as S_CONSTANT records for codeview debug info. 2019-05-16 22:28:52 +00:00
Demangle llvm-undname: Fix assert-on->4GiB-string-literal, found by oss-fuzz 2019-04-24 16:09:38 +00:00
Examples
ExecutionEngine Fix 2-field llvm.global_ctors `REQUIRES: asserts` tests after rL360742 2019-05-15 03:08:21 +00:00
Feature [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00
FileCheck Reinstate "FileCheck [5/12]: Introduce regular numeric variables" 2019-05-14 11:58:30 +00:00
Instrumentation HWASan exception support. 2019-05-16 23:54:41 +00:00
Integer
JitListener
LTO [ELF] Implement Dependent Libraries Feature 2019-05-17 03:44:15 +00:00
Linker [IRMover] Improve diagnostic messages for conflicting metadata 2019-05-16 05:23:13 +00:00
MC [AMDGPU][MC] Enabled labels with s_call_b64 and s_cbranch_i_fork 2019-05-17 14:57:04 +00:00
MachineVerifier [X86] Merge the different Jcc instructions for each condition code into single instructions that store the condition code as an operand. 2019-04-05 19:28:09 +00:00
Object [ELF] Implement Dependent Libraries Feature 2019-05-17 03:44:15 +00:00
ObjectYAML [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
Other [AliasAnalysis/NewPassManager] Invalidate AAManager less often. 2019-04-30 22:15:47 +00:00
SafepointIRVerifier
Support [CommandLine] Change help output to prefix long options with `--` instead of `-`. NFC . Part 3 of 5 2019-05-03 17:47:29 +00:00
SymbolRewriter
TableGen TableGen: support #ifndef in addition to #ifdef. 2019-05-14 13:04:25 +00:00
ThinLTO/X86 Fix 2-field llvm.global_ctors `REQUIRES: asserts` tests after rL360742 2019-05-15 03:08:21 +00:00
Transforms [InstCombine] canShiftBinOpWithConstantRHS(): drop bogus signbit check 2019-05-17 15:52:49 +00:00
Unit
Verifier [IR] Disallow llvm.global_ctors and llvm.global_dtors of the 2-field form in textual format 2019-05-15 02:35:32 +00:00
YAMLParser
tools [llvm-objdump]Move test code missed in r360904 2019-05-16 15:20:08 +00:00
.clang-format
CMakeLists.txt [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00
TestRunner.sh
lit.cfg.py [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00
lit.site.cfg.py.in [Bugpoint] Only run plugins tests if plugins are enabled 2019-05-17 06:41:04 +00:00