llvm-6502/lib
David Majnemer 3bbb4b15ae InstCombine: Fix a potential bug in 0 - (X sdiv C) -> (X sdiv -C)
While *most* (X sdiv 1) operations will get caught by InstSimplify, it
is still possible for a sdiv to appear in the worklist which hasn't been
simplified yet.

This means that it is possible for 0 - (X sdiv 1) to get transformed
into (X sdiv -1); dividing by -1 can make the transform produce undef
values instead of the proper result.

Sorry for the lack of testcase, it's a bit problematic because it relies
on the exact order of operations in the worklist.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215818 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-16 09:23:42 +00:00
..
Analysis
AsmParser
Bitcode
CodeGen
DebugInfo
ExecutionEngine
IR InstCombine: Fix a potential bug in 0 - (X sdiv C) -> (X sdiv -C) 2014-08-16 09:23:42 +00:00
IRReader
LineEditor
Linker
LTO
MC
Object
Option
ProfileData
Support
TableGen
Target
Transforms InstCombine: Fix a potential bug in 0 - (X sdiv C) -> (X sdiv -C) 2014-08-16 09:23:42 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile