Optionally enable more-aggressive FMA formation in DAGCombine
[oota-llvm.git] / include / llvm / Target / TargetLowering.h
index 54d8b99ad45f72f778f69b5d537d81765c39d35f..e6c4634079cc26548552dc9b84409f0f67220b32 100644 (file)
@@ -268,6 +268,13 @@ public:
     return HasFloatingPointExceptions;
   }
 
+  /// Return true if target always beneficiates from combining into FMA for a
+  /// given value type. This must typically return false on targets where FMA
+  /// takes more cycles to execute than FADD.
+  virtual bool enableAggressiveFMAFusion(EVT VT) const {
+    return false;
+  }
+
   /// Return the ValueType of the result of SETCC operations.  Also used to
   /// obtain the target's preferred type for the condition operand of SELECT and
   /// BRCOND nodes.  In the case of BRCOND the argument passed is MVT::Other