|
8 | 8 |
|
9 | 9 | ! Test regular -fopenmp with no offload
|
10 | 10 | ! RUN: %flang -### -fopenmp %s 2>&1 | FileCheck --check-prefixes=CHECK-OPENMP %s
|
11 |
| -! CHECK-OPENMP: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}}.f90" |
12 |
| -! CHECK-OPENMP-NOT: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" {{.*}}.f90" |
| 11 | +! CHECK-OPENMP: "-fc1" {{.*}} "-fopenmp" {{.*}}.f90" |
| 12 | +! CHECK-OPENMP-NOT: "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" {{.*}}.f90" |
13 | 13 |
|
14 | 14 | ! Test regular -fopenmp with offload, and invocation filtering options
|
15 | 15 | ! RUN: %flang -S -### %s -o %t 2>&1 \
|
|
22 | 22 | ! RUN: --target=aarch64-unknown-linux-gnu \
|
23 | 23 | ! RUN: | FileCheck %s --check-prefix=OFFLOAD-HOST-AND-DEVICE
|
24 | 24 |
|
25 |
| -! OFFLOAD-HOST-AND-DEVICE: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
26 |
| -! OFFLOAD-HOST-AND-DEVICE-NEXT: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "amdgcn-amd-amdhsa" |
27 |
| -! OFFLOAD-HOST-AND-DEVICE-NEXT: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "nvptx64-nvidia-cuda" |
28 |
| -! OFFLOAD-HOST-AND-DEVICE: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
| 25 | +! OFFLOAD-HOST-AND-DEVICE: "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
| 26 | +! OFFLOAD-HOST-AND-DEVICE-NEXT: "-fc1" "-triple" "amdgcn-amd-amdhsa" |
| 27 | +! OFFLOAD-HOST-AND-DEVICE-NEXT: "-fc1" "-triple" "nvptx64-nvidia-cuda" |
| 28 | +! OFFLOAD-HOST-AND-DEVICE: "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
29 | 29 |
|
30 | 30 | ! RUN: %flang -S -### %s -o %t 2>&1 \
|
31 | 31 | ! RUN: -fopenmp --offload-arch=gfx90a --offload-arch=sm_70 --offload-host-only \
|
32 | 32 | ! RUN: --target=aarch64-unknown-linux-gnu \
|
33 | 33 | ! RUN: | FileCheck %s --check-prefix=OFFLOAD-HOST
|
34 | 34 |
|
35 |
| -! OFFLOAD-HOST: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
| 35 | +! OFFLOAD-HOST: "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
36 | 36 | ! OFFLOAD-HOST-NOT: "-triple" "amdgcn-amd-amdhsa"
|
37 | 37 | ! OFFLOAD-HOST-NOT: "-triple" "nvptx64-nvidia-cuda"
|
38 |
| -! OFFLOAD-HOST-NOT: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
| 38 | +! OFFLOAD-HOST-NOT: "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
39 | 39 |
|
40 | 40 | ! RUN: %flang -S -### %s 2>&1 \
|
41 | 41 | ! RUN: -fopenmp --offload-arch=gfx90a --offload-arch=sm_70 --offload-device-only \
|
42 | 42 | ! RUN: --target=aarch64-unknown-linux-gnu \
|
43 | 43 | ! RUN: | FileCheck %s --check-prefix=OFFLOAD-DEVICE
|
44 | 44 |
|
45 |
| -! OFFLOAD-DEVICE: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
46 |
| -! OFFLOAD-DEVICE-NEXT: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "amdgcn-amd-amdhsa" |
47 |
| -! OFFLOAD-DEVICE-NEXT: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "nvptx64-nvidia-cuda" |
48 |
| -! OFFLOAD-DEVICE-NOT: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
| 45 | +! OFFLOAD-DEVICE: "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
| 46 | +! OFFLOAD-DEVICE-NEXT: "-fc1" "-triple" "amdgcn-amd-amdhsa" |
| 47 | +! OFFLOAD-DEVICE-NEXT: "-fc1" "-triple" "nvptx64-nvidia-cuda" |
| 48 | +! OFFLOAD-DEVICE-NOT: "-fc1" "-triple" "aarch64-unknown-linux-gnu" |
49 | 49 |
|
50 | 50 | ! Test regular -fopenmp with offload for basic fopenmp-is-target-device flag addition and correct fopenmp
|
51 | 51 | ! RUN: %flang -### -fopenmp --offload-arch=gfx90a -fopenmp-targets=amdgcn-amd-amdhsa %s 2>&1 | FileCheck --check-prefixes=CHECK-OPENMP-IS-TARGET-DEVICE %s
|
52 |
| -! CHECK-OPENMP-IS-TARGET-DEVICE: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" {{.*}}.f90" |
| 52 | +! CHECK-OPENMP-IS-TARGET-DEVICE: "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" {{.*}}.f90" |
53 | 53 |
|
54 | 54 | ! Testing appropriate flags are gnerated and appropriately assigned by the driver when offloading
|
55 | 55 | ! RUN: %flang -S -### %s -o %t 2>&1 \
|
56 | 56 | ! RUN: -fopenmp --offload-arch=gfx90a \
|
57 | 57 | ! RUN: --target=aarch64-unknown-linux-gnu \
|
58 | 58 | ! RUN: | FileCheck %s --check-prefix=OPENMP-OFFLOAD-ARGS
|
59 |
| -! OPENMP-OFFLOAD-ARGS: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "aarch64-unknown-linux-gnu" {{.*}} "-fopenmp" {{.*}}.f90" |
60 |
| -! OPENMP-OFFLOAD-ARGS-NEXT: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "amdgcn-amd-amdhsa" {{.*}} "-fopenmp" {{.*}} "-fopenmp-host-ir-file-path" "{{.*}}.bc" "-fopenmp-is-target-device" {{.*}}.f90" |
| 59 | +! OPENMP-OFFLOAD-ARGS: "-fc1" "-triple" "aarch64-unknown-linux-gnu" {{.*}} "-fopenmp" {{.*}}.f90" |
| 60 | +! OPENMP-OFFLOAD-ARGS-NEXT: "-fc1" "-triple" "amdgcn-amd-amdhsa" {{.*}} "-fopenmp" {{.*}} "-fopenmp-host-ir-file-path" "{{.*}}.bc" "-fopenmp-is-target-device" {{.*}}.f90" |
61 | 61 | ! OPENMP-OFFLOAD-ARGS: "{{[^"]*}}clang-offload-packager{{.*}}" {{.*}} "--image=file={{.*}}.bc,triple=amdgcn-amd-amdhsa,arch=gfx90a,kind=openmp"
|
62 |
| -! OPENMP-OFFLOAD-ARGS-NEXT: "{{[^"]*}}flang{{.*}}" "-fc1" "-triple" "aarch64-unknown-linux-gnu" {{.*}} "-fopenmp" {{.*}} "-fembed-offload-object={{.*}}.out" {{.*}}.bc" |
| 62 | +! OPENMP-OFFLOAD-ARGS-NEXT: "-fc1" "-triple" "aarch64-unknown-linux-gnu" {{.*}} "-fopenmp" {{.*}} "-fembed-offload-object={{.*}}.out" {{.*}}.bc" |
63 | 63 |
|
64 | 64 | ! Test -fopenmp with offload for RTL Flag Options
|
65 | 65 | ! RUN: %flang -### %s -o %t 2>&1 \
|
|
72 | 72 | ! RUN: -fopenmp-targets=nvptx64-nvidia-cuda \
|
73 | 73 | ! RUN: -fopenmp-assume-threads-oversubscription \
|
74 | 74 | ! RUN: | FileCheck %s --check-prefixes=CHECK-THREADS-OVS
|
75 |
| -! CHECK-THREADS-OVS: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-assume-threads-oversubscription" {{.*}}.f90" |
| 75 | +! CHECK-THREADS-OVS: "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-assume-threads-oversubscription" {{.*}}.f90" |
76 | 76 |
|
77 | 77 | ! RUN: %flang -### %s -o %t 2>&1 \
|
78 | 78 | ! RUN: -fopenmp --offload-arch=gfx90a \
|
|
84 | 84 | ! RUN: -fopenmp-targets=nvptx64-nvidia-cuda \
|
85 | 85 | ! RUN: -fopenmp-assume-teams-oversubscription \
|
86 | 86 | ! RUN: | FileCheck %s --check-prefixes=CHECK-TEAMS-OVS
|
87 |
| -! CHECK-TEAMS-OVS: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-assume-teams-oversubscription" {{.*}}.f90" |
| 87 | +! CHECK-TEAMS-OVS: "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-assume-teams-oversubscription" {{.*}}.f90" |
88 | 88 |
|
89 | 89 | ! RUN: %flang -### %s -o %t 2>&1 \
|
90 | 90 | ! RUN: -fopenmp --offload-arch=gfx90a \
|
|
96 | 96 | ! RUN: -fopenmp-targets=nvptx64-nvidia-cuda \
|
97 | 97 | ! RUN: -fopenmp-assume-no-nested-parallelism \
|
98 | 98 | ! RUN: | FileCheck %s --check-prefixes=CHECK-NEST-PAR
|
99 |
| -! CHECK-NEST-PAR: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-assume-no-nested-parallelism" {{.*}}.f90" |
| 99 | +! CHECK-NEST-PAR: "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-assume-no-nested-parallelism" {{.*}}.f90" |
100 | 100 |
|
101 | 101 | ! RUN: %flang -### %s -o %t 2>&1 \
|
102 | 102 | ! RUN: -fopenmp --offload-arch=gfx90a \
|
|
108 | 108 | ! RUN: -fopenmp-targets=nvptx64-nvidia-cuda \
|
109 | 109 | ! RUN: -fopenmp-assume-no-thread-state \
|
110 | 110 | ! RUN: | FileCheck %s --check-prefixes=CHECK-THREAD-STATE
|
111 |
| -! CHECK-THREAD-STATE: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-assume-no-thread-state" {{.*}}.f90" |
| 111 | +! CHECK-THREAD-STATE: "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-assume-no-thread-state" {{.*}}.f90" |
112 | 112 |
|
113 | 113 | ! RUN: %flang -### %s -o %t 2>&1 \
|
114 | 114 | ! RUN: -fopenmp --offload-arch=gfx90a \
|
|
120 | 120 | ! RUN: -fopenmp-targets=nvptx64-nvidia-cuda \
|
121 | 121 | ! RUN: -fopenmp-target-debug \
|
122 | 122 | ! RUN: | FileCheck %s --check-prefixes=CHECK-TARGET-DEBUG
|
123 |
| -! CHECK-TARGET-DEBUG: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-target-debug" {{.*}}.f90" |
| 123 | +! CHECK-TARGET-DEBUG: "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-target-debug" {{.*}}.f90" |
124 | 124 |
|
125 | 125 | ! RUN: %flang -### %s -o %t 2>&1 \
|
126 | 126 | ! RUN: -fopenmp --offload-arch=gfx90a \
|
|
132 | 132 | ! RUN: -fopenmp-targets=nvptx64-nvidia-cuda \
|
133 | 133 | ! RUN: -fopenmp-target-debug \
|
134 | 134 | ! RUN: | FileCheck %s --check-prefixes=CHECK-TARGET-DEBUG
|
135 |
| -! CHECK-TARGET-DEBUG-EQ: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-target-debug=111" {{.*}}.f90" |
| 135 | +! CHECK-TARGET-DEBUG-EQ: "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-target-debug=111" {{.*}}.f90" |
136 | 136 |
|
137 | 137 | ! RUN: %flang -S -### %s -o %t 2>&1 \
|
138 | 138 | ! RUN: -fopenmp --offload-arch=gfx90a \
|
|
148 | 148 | ! RUN: -fopenmp-assume-teams-oversubscription -fopenmp-assume-no-nested-parallelism \
|
149 | 149 | ! RUN: -fopenmp-assume-no-thread-state \
|
150 | 150 | ! RUN: | FileCheck %s --check-prefixes=CHECK-RTL-ALL
|
151 |
| -! CHECK-RTL-ALL: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-target-debug" "-fopenmp-assume-teams-oversubscription" |
| 151 | +! CHECK-RTL-ALL: "-fc1" {{.*}} "-fopenmp" {{.*}} "-fopenmp-is-target-device" "-fopenmp-target-debug" "-fopenmp-assume-teams-oversubscription" |
152 | 152 | ! CHECK-RTL-ALL: "-fopenmp-assume-threads-oversubscription" "-fopenmp-assume-no-thread-state" "-fopenmp-assume-no-nested-parallelism"
|
153 | 153 | ! CHECK-RTL-ALL: {{.*}}.f90"
|
154 | 154 |
|
|
162 | 162 | ! RUN: -fopenmp-targets=nvptx64-nvidia-cuda \
|
163 | 163 | ! RUN: -fopenmp-version=45 \
|
164 | 164 | ! RUN: | FileCheck %s --check-prefixes=CHECK-OPENMP-VERSION
|
165 |
| -! CHECK-OPENMP-VERSION: "{{[^"]*}}flang{{.*}}" "-fc1" {{.*}} "-fopenmp" "-fopenmp-version=45" {{.*}}.f90" |
| 165 | +! CHECK-OPENMP-VERSION: "-fc1" {{.*}} "-fopenmp" "-fopenmp-version=45" {{.*}}.f90" |
166 | 166 |
|
167 | 167 | ! Test diagnostic error when host IR file is non-existent
|
168 | 168 | ! RUN: not %flang_fc1 %s -o %t 2>&1 -fopenmp -fopenmp-is-target-device \
|
|
0 commit comments