Introduce runtime unrolling disable matadata and use it to mark the scalar loop from...
authorKevin Qin <Kevin.Qin@arm.com>
Mon, 9 Mar 2015 06:14:18 +0000 (06:14 +0000)
committerKevin Qin <Kevin.Qin@arm.com>
Mon, 9 Mar 2015 06:14:18 +0000 (06:14 +0000)
commit715b01e979aad41b1138fb21ed08601cc328159e
treee94181ffb54384be103433ccd339e37f2d4c5b93
parenta998735def5f04459fa6cbeaaffbb42f1a1dec5c
Introduce runtime unrolling disable matadata and use it to mark the scalar loop from vectorization.

Runtime unrolling is an expensive optimization which can bring benefit
only if the loop is hot and iteration number is relatively large enough.
For some loops, we know they are not worth to be runtime unrolled.
The scalar loop from vectorization is one of the cases.

llvm-svn: 231631
llvm/docs/LangRef.rst
llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopUnroll/runtime-loop.ll
llvm/test/Transforms/LoopVectorize/X86/already-vectorized.ll
llvm/test/Transforms/LoopVectorize/vectorize-once.ll