llvm-project/llvm/test
Roman Lebedev b646dd92c2 [InstCombine] foldUnsignedUnderflowCheck(): handle last few cases (PR43251)
Summary:
I don't have a direct motivational case for this,
but it would be good to have this for completeness/symmetry.

This pattern is basically the motivational pattern from
https://bugs.llvm.org/show_bug.cgi?id=43251
but with different predicate that requires that the offset is non-zero.

The completeness bit comes from the fact that a similar pattern (offset != zero)
will be needed for https://bugs.llvm.org/show_bug.cgi?id=43259,
so it'd seem to be good to not overlook very similar patterns..

Proofs: https://rise4fun.com/Alive/21b

Also, there is something odd with `isKnownNonZero()`, if the non-zero
knowledge was specified as an assumption, it didn't pick it up (PR43267)

With this, i see no other missing folds for
https://bugs.llvm.org/show_bug.cgi?id=43251

Reviewers: spatel, nikic, xbolva00

Reviewed By: spatel

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67412

llvm-svn: 372257
2019-09-18 20:10:07 +00:00
..
Analysis Data Dependence Graph Basics 2019-09-18 17:43:45 +00:00
Assembler Debug Info: Support for DW_AT_export_symbols for anonymous structs 2019-08-23 17:19:21 +00:00
Bindings
Bitcode [BitcodeReader] Check if we can create a null constant for type. 2019-08-21 18:20:11 +00:00
BugPoint
CodeGen [AArch64] Don't implicitly enable global isel on Darwin if code-model==large. 2019-09-18 19:56:55 +00:00
DebugInfo Revert "[AArch64][DebugInfo] Do not recompute CalleeSavedStackSize" 2019-09-18 14:42:09 +00:00
Demangle
Examples
ExecutionEngine [JITLink] Don't under-align zero-fill sections. 2019-08-27 15:22:23 +00:00
Feature [FPEnv] Add fptosi and fptoui constrained intrinsics. 2019-08-28 16:33:36 +00:00
FileCheck [FileCheck] Forbid using var defined on same line 2019-09-02 14:04:00 +00:00
Instrumentation [PGO] Don't use comdat groups for counters & data on COFF 2019-09-17 21:10:49 +00:00
Integer
JitListener
LTO [IRMover] Don't map globals if their types are the same 2019-09-11 18:35:49 +00:00
Linker Remove some unnecessary REQUIRES: shell lines 2019-09-10 00:06:52 +00:00
MC [mips] Expand 'lw/sw' instructions for 32-bit GOT 2019-09-18 19:19:47 +00:00
MachineVerifier Remove unnecessary REQUIRES from a test. 2019-08-24 02:39:51 +00:00
Object [llvm-ar] Uncapitalize error messages and delete full stop 2019-09-14 01:18:47 +00:00
ObjectYAML [yaml2obj/ObjectYAML] - Cleanup the error reporting API, add custom errors handlers. 2019-09-13 16:00:16 +00:00
Other [SimplifyLibCalls] Mark known arguments with nonnull 2019-09-17 09:32:52 +00:00
Reduce llvm-reduce: Clean out previous test temp/output dir, since it was a dir and now it's used as just a single file 2019-09-16 23:56:26 +00:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen Fix compile-time regression caused by rL371928 2019-09-18 18:14:42 +00:00
ThinLTO/X86 Reland "clang-misexpect: Profile Guided Validation of Performance Annotations in LLVM" 2019-09-11 16:19:50 +00:00
Transforms [InstCombine] foldUnsignedUnderflowCheck(): handle last few cases (PR43251) 2019-09-18 20:10:07 +00:00
Unit
Verifier [Intrinsic] Add the llvm.umul.fix.sat intrinsic 2019-09-07 12:16:14 +00:00
YAMLParser
tools [llvm-readobj/llvm-objdump] - Improve how tool locate the dynamic table and report warnings about that. 2019-09-17 13:58:46 +00:00
.clang-format
CMakeLists.txt [llvm-ifs][IFS] llvm Interface Stubs merging + object file generation tool. 2019-08-30 18:26:05 +00:00
TestRunner.sh
lit.cfg.py [llvm-ifs][IFS] llvm Interface Stubs merging + object file generation tool. 2019-08-30 18:26:05 +00:00
lit.site.cfg.py.in Follow-up to r372209: Use single quotes for host_ldflags in the lit config 2019-09-18 14:12:59 +00:00