[PATCH] D18671: [CUDA] Add --cuda-flush-denormals-to-zero.

Artem Belevich via cfe-commits cfe-commits at lists.llvm.org
Thu Mar 31 13:34:11 PDT 2016


tra added inline comments.

================
Comment at: include/clang/Driver/Options.td:385
@@ -384,1 +384,3 @@
   HelpText<"CUDA installation path">;
+def cuda_flush_denormals_to_zero : Flag<["--"], "cuda-flush-denormals-to-zero">,
+  HelpText<"Flush denormal floating point values to zero in CUDA device mode.">;
----------------
We need a provide a way to both enable and disable this. We either need a "-no" variant or make it an option with value.

Also, can we shorten it to --cuda-ftz? I would probably mistype current name more often than not.


================
Comment at: include/clang/Driver/Options.td:386
@@ -385,1 +385,3 @@
+def cuda_flush_denormals_to_zero : Flag<["--"], "cuda-flush-denormals-to-zero">,
+  HelpText<"Flush denormal floating point values to zero in CUDA device mode.">;
 def dA : Flag<["-"], "dA">, Group<d_Group>;
----------------
Is there an equivalent for ftz fo host-side FP operations? It would be good to keep identical host and device side calculations as close as we can.

================
Comment at: lib/Driver/ToolChains.cpp:4212
@@ +4211,3 @@
+  if (DriverArgs.hasArg(options::OPT_cuda_flush_denormals_to_zero))
+    CC1Args.push_back("-fcuda-flush-denormals-to-zero");
+
----------------
Perhaps we don't need different flags at driver and CC1 levels. Top-level "-f*" options in OPT_f_group are passed to CC1 automatically.


http://reviews.llvm.org/D18671





More information about the cfe-commits mailing list