]> granicus.if.org Git - llvm/commit
[ARM] Loop Strength Reduction crashes when targeting ARM or Thumb.
authorAlexandros Lamprineas <alexandros.lamprineas@arm.com>
Wed, 9 Nov 2016 08:53:07 +0000 (08:53 +0000)
committerAlexandros Lamprineas <alexandros.lamprineas@arm.com>
Wed, 9 Nov 2016 08:53:07 +0000 (08:53 +0000)
commit32054b584b1111c4935f84f049e7520eb899679c
tree6e6c4780781ef377304104cda8c860093a93d0fa
parent1f641ae1c59ead4b6e600129c9d6af681450d1d3
[ARM] Loop Strength Reduction crashes when targeting ARM or Thumb.

Scalar Evolution asserts when not all the operands of an Add Recurrence
Expression are loop invariants. Loop Strength Reduction should only
create affine Add Recurrences, so that both the start and the step of
the expression are loop invariants.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286347 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopStrengthReduce.cpp
test/Transforms/LoopStrengthReduce/ARM/addrec-is-loop-invariant.ll [new file with mode: 0644]