| /* Ensure that IPA-ICF is disabled on OpenACC routines. */ |
| |
| /* { dg-additional-options "-fopenacc -O2 -fdump-ipa-icf" } */ |
| |
| /* { dg-additional-options "-Wopenacc-parallelism" } for testing/documenting |
| aspects of that functionality. */ |
| |
| #pragma acc routine gang |
| /* { dg-bogus "warning: region is worker partitioned but does not contain worker partitioned code" "TODO default 'gang' 'vector'" { xfail *-*-* } .+3 } |
| TODO It's the compiler's own decision to not use 'worker' parallelism here, so it doesn't make sense to bother the user about it. */ |
| int |
| routine1 (int n) |
| { |
| int i; |
| |
| #pragma acc loop |
| for (i = 0; i < n; i++) |
| ; |
| |
| return n + 1; |
| } |
| |
| #pragma acc routine gang |
| /* { dg-bogus "warning: region is worker partitioned but does not contain worker partitioned code" "TODO default 'gang' 'vector'" { xfail *-*-* } .+3 } |
| TODO It's the compiler's own decision to not use 'worker' parallelism here, so it doesn't make sense to bother the user about it. */ |
| int |
| routine2 (int n) |
| { |
| int i; |
| |
| #pragma acc loop |
| for (i = 0; i < n; i++) |
| ; |
| |
| return n + 1; |
| } |
| |
| int |
| main () |
| { |
| int i; |
| |
| #pragma acc parallel loop |
| for (i = 0; i < 8; i++) |
| ; |
| |
| #pragma acc parallel loop |
| for (i = 0; i < 8; i++) |
| ; |
| |
| return 0; |
| } |
| |
| /* { dg-final { scan-ipa-dump-times "with total: 1 items" 5 "icf" } } */ |