forked from OSchip/llvm-project
1183d65b4d
When checking to see if we can apply IR flags to a SCEV, we need to identify a bound on the defining scope of the SCEV to be produced. We'd previously added support for a couple SCEVExpr types which trivially imply bounds, but hadn't handled types such as umax where the bounds come from the bounds of the operands. This does the obvious thing, and recurses through operands searching for a tighter bound on the defining scope. I'm honestly surprised by how little this seems to mater on existing tests, but it's worth doing for completeness sake alone. Differential Revision: https://reviews.llvm.org/D111191 |
||
---|---|---|
.. | ||
backward-dep-different-types.ll | ||
forward-loop-carried.ll | ||
forward-loop-independent.ll | ||
gep-induction-operand-typesize-warning.ll | ||
independent-interleaved.ll | ||
interleave-innermost.ll | ||
memcheck-for-loop-invariant.ll | ||
memcheck-ni.ll | ||
memcheck-off-by-one-error.ll | ||
memcheck-store-vs-alloc-size.ll | ||
memcheck-wrapping-pointers.ll | ||
multiple-strides-rt-memory-checks.ll | ||
non-wrapping-pointer.ll | ||
nullptr.ll | ||
number-of-memchecks.ll | ||
pointer-phis.ll | ||
pointer-with-unknown-bounds.ll | ||
pr31098.ll | ||
resort-to-memchecks-only.ll | ||
reverse-memcheck-bounds.ll | ||
runtime-pointer-checking-insert-typesize.ll | ||
safe-no-checks.ll | ||
safe-with-dep-distance.ll | ||
store-to-invariant-check1.ll | ||
store-to-invariant-check2.ll | ||
store-to-invariant-check3.ll | ||
stride-access-dependence.ll | ||
uncomputable-backedge-taken-count.ll | ||
underlying-objects-1.ll | ||
underlying-objects-2.ll | ||
unsafe-and-rt-checks-convergent.ll | ||
unsafe-and-rt-checks.ll | ||
wrapping-pointer-ni.ll | ||
wrapping-pointer-versioning.ll |