Author: Yaxun (Sam) Liu Date: 2023-08-01T11:29:19-04:00 New Revision: 7f12dcac79f3d2653ae77cd1be0768e64ff7a518
URL: https://github.com/llvm/llvm-project/commit/7f12dcac79f3d2653ae77cd1be0768e64ff7a518 DIFF: https://github.com/llvm/llvm-project/commit/7f12dcac79f3d2653ae77cd1be0768e64ff7a518.diff LOG: [HIP] Fix regression about `__fp16` args and return value HIP allows __fp16 as function arguments and return value by passing -fallow-half-arguments-and-returns to clang through hipcc. https://reviews.llvm.org/D133885 removed -fallow-half-arguments-and-returns and add a TargetInfo member to control it. This caused regressions in some HIP apps (https://github.com/ROCm-Developer-Tools/HIP/issues/3178). Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D145345 Fixes: https://github.com/ROCm-Developer-Tools/HIP/issues/3178 Added: clang/test/SemaCUDA/fp16-arg-return.cu Modified: clang/lib/Basic/Targets/AMDGPU.cpp Removed: ################################################################################ diff --git a/clang/lib/Basic/Targets/AMDGPU.cpp b/clang/lib/Basic/Targets/AMDGPU.cpp index f15216ac15a100..0567fcdf080d4f 100644 --- a/clang/lib/Basic/Targets/AMDGPU.cpp +++ b/clang/lib/Basic/Targets/AMDGPU.cpp @@ -245,6 +245,7 @@ AMDGPUTargetInfo::AMDGPUTargetInfo(const llvm::Triple &Triple, MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 64; CUMode = !(GPUFeatures & llvm::AMDGPU::FEATURE_WGP); ReadOnlyFeatures.insert("image-insts"); + HalfArgsAndReturns = true; } void AMDGPUTargetInfo::adjust(DiagnosticsEngine &Diags, LangOptions &Opts) { diff --git a/clang/test/SemaCUDA/fp16-arg-return.cu b/clang/test/SemaCUDA/fp16-arg-return.cu new file mode 100644 index 00000000000000..23a9613b18b284 --- /dev/null +++ b/clang/test/SemaCUDA/fp16-arg-return.cu @@ -0,0 +1,7 @@ +// RUN: %clang_cc1 -emit-llvm -o - -triple amdgcn-amd-amdhsa -fcuda-is-device -fsyntax-only -verify %s + +// expected-no-diagnostics + +__fp16 testFP16AsArgAndReturn(__fp16 x) { + return x; +} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits