Developer Guide and Reference

Contents

block_loop/noblock_loop

Enables or disables loop blocking for the immediately following nested loops. BLOCK_LOOP enables loop blocking for the nested loops. NOBLOCK_LOOP disables loop blocking for the nested loops.

Syntax

#pragma block_loop
[
clause
[
,
clause
]
...
]
#pragma noblock_loop
Arguments
clause
Can be any of the following:
factor
(
expr
)
expr
is a positive scalar constant integer expression representing the blocking factor for the specified loops. This clause is optional. If the
factor
clause is not present, the blocking factor will be determined based on processor type and memory access patterns and will be applied to the specified levels in the nested loop following the pragma.
At most only one
factor
clause can appear in a
block_loop
pragma.
level
(
level_expr
[,
level_expr
]... )
level_expr
is specified in the form
const1
or
const1:const2
where
const1
is a positive integer constant
m
<= 8 representing the loop at level
m
, where the immediate following loop is level 1. The
const2
is a positive integer constant
n
<= 8 representing the loop at level
n
, where
n
>
m
.
const1:const2
represents the nested loops from level
const1
through
const2
.
The clauses can be specified in any order. If you do not specify any clause, the compiler chooses the best blocking factor to apply to all levels of the immediately following nested loop.