After unrolling a loop with llvm.loop.unroll.count metadata (unroll factor
authorMark Heffernan <meheff@google.com>
Thu, 24 Jul 2014 22:36:40 +0000 (22:36 +0000)
committerMark Heffernan <meheff@google.com>
Thu, 24 Jul 2014 22:36:40 +0000 (22:36 +0000)
commit8ec1474f7f5f1673f6ea0bc47bdbded62fefde0e
tree4afcba3419d03de694751037c1005908d2130fbd
parentb5459e6e22e7daac8a303a7ccba00328cec97453
After unrolling a loop with llvm.loop.unroll.count metadata (unroll factor
hint) the loop unroller replaces the llvm.loop.unroll.count metadata with
llvm.loop.unroll.disable metadata to prevent any subsequent unrolling
passes from unrolling more than the hint indicates.  This patch fixes
an issue where loop unrolling could be disabled for other loops as well which
share the same llvm.loop metadata.

llvm-svn: 213900
llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
llvm/test/Transforms/LoopUnroll/unroll-pragmas-disabled.ll