1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
llvm-mirror/include/llvm/Transforms
Hal Finkel dc0e116444 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.

llvm-svn: 205264
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 Extracted ObjCARC.cpp into its own library libLLVMObjCARCOpts in preparation for refactoring the ARC Optimizer. 2013-01-28 01:35:51 +00:00
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