[llvm-commits] [llvm] r77974 - /llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp

Sanjiv Gupta sanjiv.gupta at microchip.com
Mon Aug 3 10:35:24 PDT 2009


Author: sgupta
Date: Mon Aug  3 12:35:21 2009
New Revision: 77974

URL: http://llvm.org/viewvc/llvm-project?rev=77974&view=rev
Log:
Allow targets to custom handle softening of results or operands before trying the standard stuff.

Modified:
    llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp?rev=77974&r1=77973&r2=77974&view=diff

==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp Mon Aug  3 12:35:21 2009
@@ -47,6 +47,10 @@
         errs() << "\n");
   SDValue R = SDValue();
 
+  // See if the target wants to custom handle softening this result.
+  if (CustomLowerNode(N, N->getValueType(ResNo), true))
+        return;
+
   switch (N->getOpcode()) {
   default:
 #ifndef NDEBUG
@@ -535,6 +539,10 @@
         errs() << "\n");
   SDValue Res = SDValue();
 
+  // See if target wants to custom handle softening this operand.
+  if (CustomLowerNode(N, N->getOperand(OpNo).getValueType(), false))
+     return false;
+
   switch (N->getOpcode()) {
   default:
 #ifndef NDEBUG





More information about the llvm-commits mailing list