diff options
author | Yaxun (Sam) Liu <yaxun.liu@amd.com> | 2023-03-05 21:08:05 -0500 |
---|---|---|
committer | Yaxun (Sam) Liu <yaxun.liu@amd.com> | 2023-08-01 11:29:19 -0400 |
commit | 7f12dcac79f3d2653ae77cd1be0768e64ff7a518 (patch) | |
tree | c8f89900eb7fdda94506badea3e5fd145e70a846 /clang/lib/Basic/Targets/AMDGPU.cpp | |
parent | 0fb3ebb2fcd79cdc566a71bf1a5201b34dcedd9f (diff) | |
download | llvm-7f12dcac79f3d2653ae77cd1be0768e64ff7a518.zip llvm-7f12dcac79f3d2653ae77cd1be0768e64ff7a518.tar.gz llvm-7f12dcac79f3d2653ae77cd1be0768e64ff7a518.tar.bz2 |
[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
Diffstat (limited to 'clang/lib/Basic/Targets/AMDGPU.cpp')
-rw-r--r-- | clang/lib/Basic/Targets/AMDGPU.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets/AMDGPU.cpp b/clang/lib/Basic/Targets/AMDGPU.cpp index f15216a..0567fcd 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) { |