[PATCH] Documentation for loop unrolling pragmas.

Tyler Nowicki tnowicki at apple.com
Wed Jun 18 15:49:01 PDT 2014


Hi Mark,

How about

''Unrolling a loop reduces the loop control overhead and exposes more opportunities for ILP. Loops with a constant trip count are completely unrolled, eliminating all loop control overhead. Each iteration of the loop is enumerated in sequence in the generated code. Loops with variable trip counts are partially unrolled. The number of loop iterations that are partially unrolled is automatically determined and depends on the maximum generated code size of a loop.’'

Is there a setting for the maximum code size of a loop? The text would read better if we just referred to the setting here.

Tyler

On Jun 18, 2014, at 2:32 PM, Eli Bendersky <eliben at google.com> wrote:

> ================
> Comment at: docs/LanguageExtensions.rst:1791
> @@ +1790,3 @@
> +Loop unrolling replicates the body of a loop increasing the loop size
> +and reducing the loop count.  Loop control overhead can be reduced or
> +eliminated, and additional ILP can be exposed.  The unroller selects
> ----------------
> Maybe s/loop count/loop trip count/ for clarify? There's another instance later on
> 
> ================
> Comment at: docs/LanguageExtensions.rst:1793
> @@ +1792,3 @@
> +eliminated, and additional ILP can be exposed.  The unroller selects
> +an unroll count based on a limit on the growth of code size and
> +whether the loop can be unrolled completely.
> ----------------
> I find this sentence a bit confusing in the context of unroll pragmas which tell the unroller exactly how much we want to unroll. OTOH this sentence seems to be describing the unrolling heuristic?
> 
> http://reviews.llvm.org/D4198
> 
> 





More information about the cfe-commits mailing list