mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-22 20:43:44 +02:00
c222d94c24
This implements PGO-driven loop peeling. The basic idea is that when the average dynamic trip-count of a loop is known, based on PGO, to be low, we can expect a performance win by peeling off the first several iterations of that loop. Unlike unrolling based on a known trip count, or a trip count multiple, this doesn't save us the conditional check and branch on each iteration. However, it does allow us to simplify the straight-line code we get (constant-folding, etc.). This is important given that we know that we will usually only hit this code, and not the actual loop. This is currently disabled by default. Differential Revision: https://reviews.llvm.org/D25963 llvm-svn: 288274 |
||
---|---|---|
.. | ||
InstCombine | ||
IPO | ||
Scalar | ||
Utils | ||
Vectorize | ||
Coroutines.h | ||
GCOVProfiler.h | ||
InstrProfiling.h | ||
Instrumentation.h | ||
IPO.h | ||
ObjCARC.h | ||
PGOInstrumentation.h | ||
SampleProfile.h | ||
Scalar.h | ||
Vectorize.h |