[PATCH] Flag to enable IEEE-754 friendly FP optimizations

Mehdi Amini via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 4 18:28:20 PST 2016


Hi Sergey,

Where are we standing with respect to this work? 

I think that: 

- http://reviews.llvm.org/D14073 needs a small update (and a question does not have an answer)
- http://reviews.llvm.org/D14077 can be abandoned?
- http://reviews.llvm.org/D14079 I am currently reviewing this

I have some recollection that you said last months that you may stop working on this, do you know when? I’d really like that we get this through :)

Also, I guess we need to expose some command line options to clang, right? Do you already have a patch for the clang side? (I don’t remember seeing it)

Thanks,

Mehdi

> On Oct 1, 2015, at 6:14 AM, Sergey Dmitrouk <sdmitrouk at accesssoftek.com> wrote:
> 
> Hello Hal,
> 
> On Tue, Sep 29, 2015 at 03:18:46PM -0700, Hal Finkel wrote:
>>>> Did this stuff ever land?
>>> 
>>> No, it was relatively close, but an issue with reordering became
>>> visible and changed the disposition.
>> 
>> Is there a reason that we should not land the constant-folding patches
>> first, and then move on to the problems of preventing reordering?
> 
> Not really, I'll be happy to land the constant-folding part.  Attached
> rebased and updated version, assuming we don't need Phabricator for
> this round.  Main changes are use of FastMathFlags in arguments, comment and
> IRBuilder updates, also removed accidental changes for Mul (not FMul).
> 
>>> That reordering issue is quite hard to address, the latest update I
>>> sent is here:
>>> 
>>> http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20150914/299491.html
>> 
>> Looks like you're waiting for a reply from me on this; I'll do that...
> 
> Thanks, I actually do have new instructions now (FADD_W_CHAIN, etc.),
> had to add them to work around conflicts.  TableGen definitions use node
> types for selection and using the same node more than once (to provide
> versions with and without side effects) causes conflicts.
> 
> Regards,
> Sergey
> <0001-Add-flags-and-command-line-switches-for-FPEnv.patch><0002-Add-FPEnv-access-flags-to-fast-math-flags.patch><0003-Consider-FPEnv-access-in-SelectionDAG.patch><0004-Skip-constant-folding-to-preserve-FPEnv.patch><0005-Teach-IR-builder-and-folders-about-new-flags.patch><0006-Do-not-fold-constants-on-reading-in-IR-asm-bitcode.patch><0007-Prevent-undesired-folding-by-InstSimplify.patch><0008-Do-not-simplify-expressions-with-FPEnv-access.patch><0009-Make-Strict-flag-available-for-more-clients.patch><0010-Use-Strict-in-IRBuilder.patch><0011-Don-t-convert-fpops-to-constexprs-in-SCCP.patch><0012-Prevent-InstCombine-from-hanging.patch><0013-Don-t-hoist-FP-ops-with-side-effects-in-LICM.patch>



More information about the llvm-commits mailing list