On Thu, 21 Jun 2012 00:27:15 -0700 Chandler Carruth <[email protected]> wrote:
> On Wed, Jun 20, 2012 at 11:43 PM, Lang Hames <[email protected]> wrote: > > > Hi All, > > > > This patch adds support for gcc's -fexcess-precision flag to clang. > > I'm new to clang's option handling. Could somebody please sanity > > check it for me? > > > > A high level point: > > The flag semantics '-fexcess-precision' (as spec'ed for GCC) don't > seem to map clearly onto this use case, especially as John argued so > effectively in the previous email thread. I feel like this flag > should remain very specifically attached to FP operations with more > bits, but none of the asymmetrical properties of FMAs, so that there > is no confusion between Clang's semantics and GCC's. > > I'd suggest a new flag without any baggage, and one that perhaps ties > more closely into the idea of contracted expressions, or some other > concept intrinsic to fusing operations. Maybe > '-fcontract-expressions={fast,standard,strict}'? Dunno. Naming things > is hard. As things currently stand in LLVM, I agree and disagree with Lang's approach: 1. Both LLVM and gcc have backend options to enable use of excess precision. For this purpose we should use the same flag. 2. Except perhaps via a warning, the excess precision flag should not get mixed up with the FP_CONTRACT implementation. While that does relate to excess precision, is is restricted to a very specific form with other rules governing use. The FP_CONTRACT pragma uses ON/OFF, so I suggest -ffp-contract=off to change the default. -Hal > > > Anyways, details about the patch: > > - You should integrate the forwarding of this with the -ffast-math > section more fully -- -ffast-math and maybe some other flags should > synthesize the 'fast' variation. > > - You need to handle serializing this flag in the frontend. > > - Maybe add a help section to the flag? -- Hal Finkel Postdoctoral Appointee Leadership Computing Facility Argonne National Laboratory _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
