[LoopRerolling] Be more forgiving with instruction order.
authorJames Molloy <james.molloy@arm.com>
Thu, 12 Feb 2015 15:54:14 +0000 (15:54 +0000)
committerJames Molloy <james.molloy@arm.com>
Thu, 12 Feb 2015 15:54:14 +0000 (15:54 +0000)
commit28a123abaf79644cc507c3086d82c86ff1aa8cd8
tree4c6c2f9871f6701c639cf54eaf1f358aedf58466
parentd913d9d2c387de1072858c91feba78284dfd3e79
[LoopRerolling] Be more forgiving with instruction order.

We can't solve the full subgraph isomorphism problem. But we can
allow obvious cases, where for example two instructions of different
types are out of order. Due to them having different types/opcodes,
there is no ambiguity.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228931 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopRerollPass.cpp
test/Transforms/LoopReroll/basic.ll