llvm-6502/include/llvm/Transforms
Hal Finkel 6bbb01bbf8 Move partial/runtime unrolling late in the pipeline
The generic (concatenation) loop unroller is currently placed early in the
standard optimization pipeline. This is a good place to perform full unrolling,
but not the right place to perform partial/runtime unrolling. However, most
targets don't enable partial/runtime unrolling, so this never mattered.

However, even some x86 cores benefit from partial/runtime unrolling of very
small loops, and follow-up commits will enable this. First, we need to move
partial/runtime unrolling late in the optimization pipeline (importantly, this
is after SLP and loop vectorization, as vectorization can drastically change
the size of a loop), while keeping the full unrolling where it is now. This
change does just that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205264 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-31 23:23:51 +00:00
..
IPO [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
Utils Untabify. 2014-03-16 23:58:43 +00:00
Instrumentation.h [msan] Origin tracking with history. 2014-03-18 13:30:56 +00:00
IPO.h Move duplicated code into a helper function (exposed through overload). 2014-03-12 16:12:36 +00:00
ObjCARC.h
Scalar.h Move partial/runtime unrolling late in the pipeline 2014-03-31 23:23:51 +00:00
Vectorize.h Add #pragma vectorize enable/disable to LLVM 2013-12-05 21:20:02 +00:00