1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/test/Transforms/LoopIdiom
Sebastian Pop 9402602249 [SCEVExpand] do not hoist divisions by zero (PR30935)
SCEVExpand computes the insertion point for the components of a SCEV to be code
generated.  When it comes to generating code for a division, SCEVexpand would
not be able to check (at compilation time) all the conditions necessary to avoid
a division by zero.  The patch disables hoisting of expressions containing
divisions by anything other than non-zero constants in order to avoid hoisting
these expressions past conditions that should hold before doing the division.

The patch passes check-all on x86_64-linux.

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

llvm-svn: 289412
2016-12-12 02:52:51 +00:00
..
AMDGPU AMDGPU: Other sizes of popcnt are fast 2016-05-18 16:10:19 +00:00
X86
basic-address-space.ll
basic.ll [LIR] Set attributes on memset_pattern16. 2016-04-27 19:04:50 +00:00
crash.ll
ctpop-multiple-users-crash.ll
debug-line.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
lir-heurs-multi-block-loop.ll Target independent codesize heuristics for Loop Idiom Recognition 2016-08-11 18:28:33 +00:00
memset_noidiom.ll
non-canonical-loop.ll
nontemporal_store.ll [PM] Port LoopIdiomRecognize Pass to new PM 2016-07-12 18:45:51 +00:00
pr28196.ll Reapply "[LoopIdiom] Don't remove dead operands manually" 2016-06-20 16:03:25 +00:00
pr30935.ll [SCEVExpand] do not hoist divisions by zero (PR30935) 2016-12-12 02:52:51 +00:00
scev-invalidation.ll
struct_pattern.ll
struct.ll
unroll.ll
unwind.ll [LIR] Fix mis-compilation with unwinding. 2016-07-06 21:05:40 +00:00