[PATCH] D104247: [DAGCombine] reassoc flag shouldn't enable contract

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 18 07:53:20 PDT 2021


spatel added a comment.

In code that I've looked at (mostly C compiled with -ffast-math), we always have `contract` when we have `reassoc`, so I don't see much practical difference.
Can you explain more how we could benefit from this change - in the example in the description, we would have 4 instructions rather than 3 if we use FMA - is that better?
We should duplicate (instead of edit) at least a few of the tests, so we can verify that the existing tests do not form FMA now. That could also be used to show an advantage from not forming FMA.



================
Comment at: llvm/test/CodeGen/PowerPC/fmf-propagation.ll:107
 
 ; The fadd is now fully 'fast'. This implies that contraction is allowed.
 
----------------
This comment was not valid even before this patch.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D104247



More information about the llvm-commits mailing list