zahiraam added inline comments.

================
Comment at: clang/lib/Frontend/CompilerInvocation.cpp:3957
 
-  if (Arg *A = Args.getLastArg(OPT_ffp_contract)) {
-    StringRef Val = A->getValue();
-    if (Val == "fast")
+  if (auto *A = Args.getLastArg(OPT_ffp_contract, OPT_cl_fast_relaxed_math,
+                                OPT_cl_unsafe_math_optimizations)) {
----------------
michele.scandale wrote:
> If I look only at the CC1 behavior then I think this is probably the desired 
> behavior.
> 
> However from the compiler driver perspective it seems that `-ffp-contract` 
> and `-cl-*` math options don't really play well together -- in 
> `RenderFloatingPointOptions` the OpenCL related options are not considered, 
> and similarly in `RenderOpenCLOptions` the other floating point options are 
> not considered.
> 
> It's not clear to me if it is expected to mix OpenCL specific options with 
> other floating point related options -- given todays code it seems that is 
> not expected.
> For the time being it is probably better to simply keep the `ffp_contract` 
> handling as is today, and modify the code around line 3803 as follow
> ```
>   if (Opts.FastRelaxedMath || Opts.CLUnsafeMath)
>     Opts.setDefaultFPContractMode(LangOptions::FPM_Fast);
> ```
> to handle `-cl-unsafe-math-optimizations` similarly to 
> `-cl-fast-relaxed-math` w.r.t. contraction behavior.
>>
It's not clear to me if it is expected to mix OpenCL specific options with 
other floating point related options -- given todays code it seems that is not 
expected.
>>
Yes, it looks like the FP options and CL options are orthogonal. Even so not 
sure how OpenCL people will react to the LIT test behavioral change 
(relaxed-fpmath.cl). Thanks.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D137578

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

Reply via email to