[PATCH] D138651: [CUDA][HIP] Don't diagnose use for __bf16
Artem Belevich via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Nov 28 10:38:50 PST 2022
tra added a comment.
> Builds were failing because "__bf16" wasn't allowed on the target.
For CUDA/NVPTX we've solved the issue by implementing storage-only support for NVPTX: https://reviews.llvm.org/D136311
It's a bit more work, but I think it would be a better fix long-term for AMDGPU, too.
================
Comment at: clang/lib/AST/ASTContext.cpp:2175
+ if (Target->hasBFloat16Type() &&
+ (!getLangOpts().OpenMP || !getLangOpts().OpenMPIsDevice)) {
Width = Target->getBFloat16Width();
----------------
Is there a particular reason we're singling out OpenMP here and not HIP/CUDA?
================
Comment at: clang/lib/AST/ASTContext.cpp:2175
+ if (Target->hasBFloat16Type() &&
+ (!getLangOpts().OpenMP || !getLangOpts().OpenMPIsDevice)) {
Width = Target->getBFloat16Width();
----------------
tra wrote:
> Is there a particular reason we're singling out OpenMP here and not HIP/CUDA?
>
>
Nit: I'd use `if (Target->hasBFloat16Type() && !(getLangOpts().OpenMP && getLangOpts().OpenMPIsDevice))`
================
Comment at: clang/lib/Sema/SemaType.cpp:1521
case DeclSpec::TST_BFloat16:
- if (!S.Context.getTargetInfo().hasBFloat16Type())
+ // Likewise, CUDA host and device may have different __bf16 support.
+ if (!S.Context.getTargetInfo().hasBFloat16Type() && !S.getLangOpts().CUDA &&
----------------
CUDA/NVPTX does have __bf16 support since https://reviews.llvm.org/rG0e8a414ab3d330ebb2996ec95d8141618ee0278b
On the other hand, OpenMP is special-cased, but is not mentioned.
================
Comment at: clang/test/SemaCUDA/amdgpu-bf16.cu:1
+// RUN: %clang_cc1 -fsyntax-only -triple amdgcn-amd-amdhsa -aux-triple x86_64-unknown-linux-gnu -verify %s
+// expected-no-diagnostics
----------------
The changes do affect OpenMP, but there are no OpenMP tests. I think we could use some.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D138651/new/
https://reviews.llvm.org/D138651
More information about the cfe-commits
mailing list