[PATCH] D50625: DAG: Try to custom lower when promoting float operands

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 13 02:59:30 PDT 2018


arsenm created this revision.
arsenm added a reviewer: bogner.
Herald added a subscriber: wdng.

For some reason this wasn't done for floats like integers.


https://reviews.llvm.org/D50625

Files:
  lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp


Index: lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
===================================================================
--- lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
+++ lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
@@ -1750,6 +1750,11 @@
 bool DAGTypeLegalizer::PromoteFloatOperand(SDNode *N, unsigned OpNo) {
   SDValue R = SDValue();
 
+  if (CustomLowerNode(N, N->getOperand(OpNo).getValueType(), false)) {
+    LLVM_DEBUG(dbgs() << "Node has been custom lowered, done\n");
+    return false;
+  }
+
   // Nodes that use a promotion-requiring floating point operand, but doesn't
   // produce a promotion-requiring floating point result, need to be legalized
   // to use the promoted float operand.  Nodes that produce at least one


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D50625.160314.patch
Type: text/x-patch
Size: 748 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180813/b0da8b97/attachment.bin>


More information about the llvm-commits mailing list