aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/Targets/AMDGPU.cpp
diff options
context:
space:
mode:
authorYaxun (Sam) Liu <yaxun.liu@amd.com>2023-03-05 21:08:05 -0500
committerYaxun (Sam) Liu <yaxun.liu@amd.com>2023-08-01 11:29:19 -0400
commit7f12dcac79f3d2653ae77cd1be0768e64ff7a518 (patch)
treec8f89900eb7fdda94506badea3e5fd145e70a846 /clang/lib/Basic/Targets/AMDGPU.cpp
parent0fb3ebb2fcd79cdc566a71bf1a5201b34dcedd9f (diff)
downloadllvm-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.cpp1
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) {