yaxunl added inline comments.

================
Comment at: clang/lib/CodeGen/TargetInfo.cpp:9468
+  // Control constants for math operations.
+  AddGlobal("__oclc_wavefrontsize64", Wavefront64, /*Size=*/8);
+  AddGlobal("__oclc_daz_opt", DenormAreZero, /*Size=*/8);
----------------
jhuber6 wrote:
> arsenm wrote:
> > yaxunl wrote:
> > > we need to disable emitting these variables for HIP -fgpu-rdc mode and 
> > > OpenCL since they will break per-TU control variable. Other cases are OK.
> > wavefrontsize belongs with the system ones
> But the code would still depend on these and they wouldn't be present right
> wavefrontsize belongs with the system ones

You are right. `__oclc_wavefrontsize64` should always be emitted with 
linkonce_odr linkage since they need to be consistent among TU's. Therefore 
they should always be emitted.

`__oclc_daz_opt`, `__oclc_finite_only_opt`, `__oclc_unsafe_math_opt`, and 
`__oclc_correctly_rounded_sqrt32` can be different per TU, therefore they 
should not be emitted for HIP `-fgpu-rdc` and OpenCL.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D130096/new/

https://reviews.llvm.org/D130096

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to