1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 11:33:24 +02:00
llvm-mirror/lib
Sanjoy Das c16a88d64c [SCEV] Fix a latent bug in getPreStartForExtend
I could not come up a way to test this -- I think this bug is latent
today, and will not actually result in a miscompile.

In `getPreStartForExtend`, SCEV constructs `PreStart` as a sum of all of
`SA`'s operands except `Op`.  It also uses `SA`'s no-wrap flags, and
this is problematic because removing an element from an add expression
can make it signed-wrap.  E.g. if `SA` was `(127 + 1 + -1)`, then it
could safely be `<nsw>` (since `sext(127) + sext(1) + sext(-1)` ==
`sext(127 + 1 + -1)`), but `(127 + 1)` (== `PreStart` if `Op` is `-1`)
is not `<nsw>`.

Transferring `<nuw>` from `SA` to `PreStart` is safe, as far as I can
tell.

llvm-svn: 251097
2015-10-23 06:33:47 +00:00
..
Analysis [SCEV] Fix a latent bug in getPreStartForExtend 2015-10-23 06:33:47 +00:00
AsmParser AsmParser: Remove implicit ilist iterator conversions, NFC 2015-10-20 01:12:49 +00:00
Bitcode Silence Visual C++ warning in function summary parsing code (NFC) 2015-10-21 19:25:14 +00:00
CodeGen [CodeGen] Remove usage of NDEBUG in header. 2015-10-23 00:17:40 +00:00
DebugInfo Use numeric_limits instead of LLONG_MAX 2015-10-21 21:10:12 +00:00
ExecutionEngine [ExecutionEngine] Garbage collect some dead (and unsafe) code. 2015-10-22 18:46:27 +00:00
Fuzzer [libFuzzer] use the indirect caller-callee counter as an independent search heuristic 2015-10-22 23:55:39 +00:00
IR [SCEV] Opportunistically interpret unsigned constraints as signed 2015-10-22 19:57:34 +00:00
IRReader
LibDriver [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
LineEditor
Linker Linker: Remove implicit ilist iterator conversion, NFC 2015-10-19 22:23:36 +00:00
LTO Reapply "LTO: Disable extra verify runs in release builds" 2015-09-15 23:05:59 +00:00
MC Avoid storing a second copy of each string in StringTableBuilder. 2015-10-22 18:32:06 +00:00
Object [AVR] Add ELF constants to headers 2015-10-23 06:05:55 +00:00
Option [Option] Use an ArrayRef to store the Option Infos in OptTable. NFC 2015-10-21 16:30:42 +00:00
Passes [PM] Port SROA to the new pass manager. 2015-09-12 09:09:14 +00:00
ProfileData Add helper functions and remove hard coded references to instProf related name/name-prefixes 2015-10-22 20:32:12 +00:00
Support Use range-based for loop in sys::path::append(). NFC. 2015-10-22 08:12:15 +00:00
TableGen
Target AArch64: Disable the latency heuristic 2015-10-22 18:07:38 +00:00
Transforms Add more intrumentation/runtime helper interfaces (NFC) 2015-10-23 04:22:58 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile