[llvm] 039664d - [LegalizeDAG] Return true from ExpandNode for some nodes that don't have expand support.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 2 23:40:36 PST 2019


Author: Craig Topper
Date: 2019-12-02T23:39:20-08:00
New Revision: 039664db87d255570854ade5241bf53b8ce3b5a9

URL: https://github.com/llvm/llvm-project/commit/039664db87d255570854ade5241bf53b8ce3b5a9
DIFF: https://github.com/llvm/llvm-project/commit/039664db87d255570854ade5241bf53b8ce3b5a9.diff

LOG: [LegalizeDAG] Return true from ExpandNode for some nodes that don't have expand support.

These nodes have a FIXME that they only get here because a Custom
handler returned SDValue() instead of the original Op.

Even though we aren't expanding them, we should return true here to
prevent ConvertNodeToLibcall from also trying to process them until
the FIXME has been addressed.

I'm hoping to add checking to ConvertNodeToLibcall to make sure
we don't give it nodes it doesn't have support for.

Added: 
    

Modified: 
    llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index eab72a22cdfc..70cb20e48d20 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -3720,7 +3720,9 @@ bool SelectionDAGLegalize::ExpandNode(SDNode *Node) {
   case ISD::INTRINSIC_WO_CHAIN:
   case ISD::INTRINSIC_VOID:
     // FIXME: Custom lowering for these operations shouldn't return null!
-    break;
+    // Return true so that we don't call ConvertNodeToLibcall which also won't
+    // do anything.
+    return true;
   }
 
   if (!TLI.isStrictFPEnabled() && Results.empty() && Node->isStrictFPOpcode()) {


        


More information about the llvm-commits mailing list