[PATCH] D69878: Consoldiate internal denormal flushing controls

Cameron McInally via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 2 09:49:22 PST 2020


cameron.mcinally added a comment.

This is looking pretty good to me, but I'm ignoring some of the target specific code that I'm not familiar with.

Is `denormal-fp-math` influenced by `-Ofast`? Or are there plans for that? Seems like `-Ofast` should imply DAZ and FTZ (if supported by target).

I think we discussed this before, but it's worth repeating. If `denormal-fp-math` isn't specified, we default to IEEE behavior, right? When this lands in master, there could be an unexpected performance hit for targets that aren't paying attention. E.g. I want to use `denormal-fp-math` to toggle whether a FSUB(-0.0,X) is converted to a FNEG(X) in SelectionDAGBuilder.

Apologies in advance if this has been discussed recently. I've been distracted with another project for the passed few months...



================
Comment at: clang/lib/Driver/ToolChains/Clang.cpp:2311
+  bool TrappingMath = true;
                                     // overriden by ffp-exception-behavior?
   bool RoundingFPMath = false;
----------------
Last line of comment was not removed.

Also, is it safe to remove `TrappingMathPresent`? Is that part of the work-in-progress to support `ffp-exception-behavior`?


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

https://reviews.llvm.org/D69878





More information about the llvm-commits mailing list