OSDN Git Service

[LoopInterchange] Skip zext instructions when looking for induction var.
authorFlorian Hahn <florian.hahn@arm.com>
Fri, 25 Aug 2017 16:52:29 +0000 (16:52 +0000)
committerFlorian Hahn <florian.hahn@arm.com>
Fri, 25 Aug 2017 16:52:29 +0000 (16:52 +0000)
commitf360477df5dd98e7b2775b0c9bf8ac1f999294ec
tree4001848a8b5f611a007478ffcc35416f31a406b3
parent7cd5c4385447a19aaaec38b24cdb48183ca69570
[LoopInterchange] Skip zext instructions when looking for induction var.

Summary:
SimplifyIndVar may introduce zext instructions to widen arguments of the
loop exit check. They should not prevent us from splitting the loop at
the induction variable, but maybe the check should be more conservative,
e.g. making sure it only extends arguments used by a comparison?

Reviewers: karthikthecool, mcrosier, mzolotukhin

Reviewed By: mcrosier

Subscribers: mzolotukhin, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@311783 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopInterchange.cpp
test/Transforms/LoopInterchange/interchange-insts-between-indvar.ll [new file with mode: 0644]