llvm-project/llvm/lib
David Majnemer a92687d636 InstCombine: Correctly propagate NSW/NUW for x-(-A) -> x+A
We can only propagate the nsw bits if both subtraction instructions are
marked with the appropriate bit.

N.B.  We only propagate the nsw bit in InstCombine because the nuw case
is already handled in InstSimplify.

This fixes PR20189.

llvm-svn: 214385
2014-07-31 04:49:29 +00:00
..
Analysis InstSimplify: Simplify (X - (0 - Y)) if the second sub is NUW 2014-07-31 04:49:18 +00:00
AsmParser Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
Bitcode UseListOrder: Don't give constant IDs to GlobalValues 2014-07-31 00:13:28 +00:00
CodeGen [FastISel] Fix the patchpoint intrinsic lowering in FastISel for large target addresses. 2014-07-31 00:11:16 +00:00
DebugInfo Use std::unique_ptr to make the ownership explicit. 2014-07-31 03:12:45 +00:00
ExecutionEngine Use std::unique_ptr to make the ownership explicit. 2014-07-31 03:12:45 +00:00
IR Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
IRReader Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
LTO Attempt at fixing the windows dll build. 2014-07-30 23:39:30 +00:00
LineEditor [CMake] Use LINK_LIBS instead of target_link_libraries(). 2014-02-26 06:41:29 +00:00
Linker Include <tuple> to make buildbots happy 2014-06-27 18:38:12 +00:00
MC Reapply "DebugInfo: Don't put fission type units in comdat sections." 2014-07-25 17:11:58 +00:00
Object A std::unique_ptr case I missed in the previous patch. 2014-07-31 03:36:00 +00:00
Option Generic: add range-adapter for option parsing. 2014-07-09 13:03:37 +00:00
ProfileData Use std::unique_ptr to make the ownership explicit. 2014-07-31 03:12:45 +00:00
Support Remove dead code. 2014-07-25 19:06:39 +00:00
TableGen Don't fail tablegen immediately after failing to set a value. 2014-07-31 01:44:00 +00:00
Target [FastISel][AArch64] Add MachO large code model support for function calls. 2014-07-31 04:10:40 +00:00
Transforms InstCombine: Correctly propagate NSW/NUW for x-(-A) -> x+A 2014-07-31 04:49:29 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00