User`s guide

Compiler Directives and Assertions [C]
The output from canal shows that they are both placed into parallel
region 1:
| for (int i = 0; i < size_foobar; i++) {
3 P | bar[i] = size_foobar - i;
|}
|
| for (int i = 0; i < size_foobar; i++) {
5 P | foo[i] += bar[i+c]/2;
|}
...
Parallel region 1 in main
...
Loop 2 in main in region 1
...
Loop 3 in main at line 4 in loop 2
...
Loop 4 in main in region 1
...
Loop 5 in main at line 8 in loop 4
If you add a max streams pragma to one of the loops, they are no
longer placed in the same region:
| for (int i = 0; i < size_foobar; i++) {
3 P | bar[i] = size_foobar - i;
|}
|
| #pragma mta max 50 streams per processor
| for (int i = 0; i < size_foobar; i++) {
6 P | foo[i] += bar[i+c]/2;
|}
...
Parallel region 1 in main
...
Loop 2 in main in region 1
...
Loop 3 in main at line 4 in loop 2
...
Parallel region 4 in main
Using max 50 streams per processor
...
Loop 5 in main in region 4
...
Loop 6 in main at line 9 in loop 5
Notice that canal also tells us that the requested maximum was
applied to region 4, which is the region that contains the loop with
the max streams pragma.
S247920 117