[llvm-branch-commits] [llvm] [DAGCombiner][GlobalISel] Extend allMulUsesCanBeContracted with FNEG pattern (PR #188115)

Matt Arsenault via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Apr 8 04:07:03 PDT 2026


================
@@ -17695,6 +17696,16 @@ static bool allMulUsesCanBeContracted(SDValue Mul) {
     if (Opcode == ISD::FADD || Opcode == ISD::FSUB)
       continue;
 
+    // FNEG use - contractable if all users of the fneg are FSUB.
+    if (Opcode == ISD::FNEG) {
+      for (const auto *FNegUser : User->users()) {
----------------
arsenm wrote:

Can this be reduced to a 1 or 2 user scan? Unrestricted user scan can be bad for compile time in degenerate cases 

https://github.com/llvm/llvm-project/pull/188115


More information about the llvm-branch-commits mailing list