[LoopInterchange] Enable interchange with multiple outer loop indvars
authorCongzhe Cao <congzhe.cao@huawei.com>
Thu, 13 Jan 2022 21:25:58 +0000 (16:25 -0500)
committerCongzheUalberta <congzhecao@gmail.com>
Thu, 13 Jan 2022 21:51:32 +0000 (16:51 -0500)
commit37e34b74e906dab7422ec6e72edf698335b19eca
tree17a4cd184fc8660809f681cc101204fb4b5baeaa
parent213193c184d5c7aa80748c7e4e5e2c282ba20486
[LoopInterchange] Enable interchange with multiple outer loop indvars

This patch enables loop interchange with multiple outer loop
induction variables, and hence removes the limitation that only
a single outer loop induction variable is supported. In fact, it
turns out that the current pass already trivially supports multiple
outer indvars, which is the result of a previous patch
`https://reviews.llvm.org/D102743`. Therefore, this patch removed that
limitation and provides test cases for multiple outer indvars.

Reviewed By: bmahjour

Differential Revision: https://reviews.llvm.org/D114916
llvm/lib/Transforms/Scalar/LoopInterchange.cpp
llvm/test/Transforms/LoopInterchange/interchangeable-outerloop-multiple-indvars.ll [new file with mode: 0644]