diff options
author | Yaxun (Sam) Liu <yaxun.liu@amd.com> | 2020-11-16 10:58:48 -0500 |
---|---|---|
committer | Yaxun (Sam) Liu <yaxun.liu@amd.com> | 2020-11-16 21:52:12 -0500 |
commit | 3f4b5893efed620d93015896d79eb276628286f8 (patch) | |
tree | 8a7c662725aa71b40c41e3d058616ca31c3d8362 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 69cd776e1ee79e72ccbdad30749eac04579715ee (diff) | |
download | llvm-3f4b5893efed620d93015896d79eb276628286f8.zip llvm-3f4b5893efed620d93015896d79eb276628286f8.tar.gz llvm-3f4b5893efed620d93015896d79eb276628286f8.tar.bz2 |
[AMDGPU] Add option -munsafe-fp-atomics
Add an option -munsafe-fp-atomics for AMDGPU target.
When enabled, clang adds function attribute "amdgpu-unsafe-fp-atomics"
to any functions for amdgpu target. This allows amdgpu backend to use
unsafe fp atomic instructions in these functions.
Differential Revision: https://reviews.llvm.org/D91546
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r-- | clang/lib/Frontend/CompilerInvocation.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp index c4133ec..5064230 100644 --- a/clang/lib/Frontend/CompilerInvocation.cpp +++ b/clang/lib/Frontend/CompilerInvocation.cpp @@ -3747,6 +3747,9 @@ static void ParseTargetArgs(TargetOptions &Opts, ArgList &Args, Opts.ForceEnableInt128 = Args.hasArg(OPT_fforce_enable_int128); Opts.NVPTXUseShortPointers = Args.hasFlag( options::OPT_fcuda_short_ptr, options::OPT_fno_cuda_short_ptr, false); + Opts.AllowAMDGPUUnsafeFPAtomics = + Args.hasFlag(options::OPT_munsafe_fp_atomics, + options::OPT_mno_unsafe_fp_atomics, false); if (Arg *A = Args.getLastArg(options::OPT_target_sdk_version_EQ)) { llvm::VersionTuple Version; if (Version.tryParse(A->getValue())) |