blob: d6b0c262f843139d058b397ce268d485ebb02ca3 [file] [edit]
// REQUIRES: x86-registered-target, amdgpu-registered-target
// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx90a -nogpulib %s -O0 2>&1 \
// RUN: | FileCheck -check-prefixes=DefaultTFast,DefaultTState,DefaultNoNestParallel,DefaultTeamsOver,DefaultThreadsOver %s
// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx90a -nogpulib -O0 -fopenmp-target-fast %s 2>&1 \
// RUN: | FileCheck -check-prefixes=TState,NestParallel,TeamsOver,ThreadsOver %s
// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx90a -nogpulib -O3 %s 2>&1 \
// RUN: | FileCheck -check-prefixes=O3,DefaultTFast,DefaultTState,DefaultNoNestParallel,DefaultTeamsOver,DefaultThreadsOver %s
// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx90a -nogpulib -O3 -fno-openmp-target-fast %s 2>&1 \
// RUN: | FileCheck -check-prefixes=O3,DefaultTState,DefaultNoNestParallel,DefaultTeamsOver,DefaultThreadsOver %s
// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx90a -nogpulib -Ofast %s 2>&1 \
// RUN: | FileCheck -check-prefixes=OFast,TState,NestParallel,TeamsOver,ThreadsOver %s
// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx90a -nogpulib -Ofast -fno-openmp-target-fast %s 2>&1 \
// RUN: | FileCheck -check-prefixes=OFast,DefaultTState,DefaultNoNestParallel,DefaultTeamsOver,DefaultThreadsOver %s
// RUN: %clang -### -fopenmp=libomp -fopenmp-targets=amdgcn-amd-amdhsa -Xopenmp-target=amdgcn-amd-amdhsa -march=gfx90a -nogpulib -O0 -fno-openmp-target-fast -fopenmp-target-fast %s 2>&1 \
// RUN: | FileCheck -check-prefixes=TState,NestParallel,TeamsOver,ThreadsOver %s
// O3: -O3
// OFast: -Ofast
// DefaultTFast-NOT: {{"-f(no-)?openmp-target-fast"}}
// TState: "-fopenmp-assume-no-thread-state"
// TState-NOT: "-fno-openmp-assume-no-thread-state"
// DefaultTState-NOT: {{"-f(no-)?openmp-assume-no-thread-state"}}
// NestParallel: "-fopenmp-assume-no-nested-parallelism"
// NestParallel-NOT: "-fno-openmp-assume-no-nested-parallelism"
// DefaultNoNestParallel-NOT: {{"-f(-no-)?openmp-assume-no-nested-parallelism"}}
// TeamsOver: "-fopenmp-assume-teams-oversubscription"
// TeamsOver-NOT: "-fno-openmp-assume-teams-oversubscription"
// DefaultTeamsOver-NOT: {{"-f(no-)?openmp-assume-teams-oversubscription"}}
// ThreadsOver: "-fopenmp-assume-threads-oversubscription"
// ThreadsOver-NOT: "-fno-openmp-assume-threads-oversubscription"
// DefaultThreadsOver-NOT: {{"-f(no-)?openmp-assume-threads-oversubscription"}}