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

Qiu Chaofan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 15 19:26:59 PDT 2021


qiucf added a comment.

Thanks for the patch. It looks reasonable since we've split effect of `contract` from `reassoc` (like D89527 <https://reviews.llvm.org/D89527>), and this one does the missing reverse.



================
Comment at: llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:13125
       return false;
-    return AllowFusionGlobally || isContractable(N.getNode());
+    return AllowFusionGlobally || N.getNode()->getFlags().hasAllowContract();
   };
----------------
`SDValue` overloaded [[ https://llvm.org/doxygen/classllvm_1_1SDValue.html#aacdba91ff608ca3a06a79cdb8fa2f9a2 | '->' operator ]].


================
Comment at: llvm/test/CodeGen/PowerPC/fma-aggr-FMF.ll:26
+; CHECK-NEXT:    xsmulsp 0, 3, 4
+; CHECK-NEXT:    xsmulsp 3, 1, 2 
+; CHECK-NEXT:    xsmaddasp 0, 1, 2
----------------
extra space


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