[PATCH] D15134: Part 1 to fix x86_64 fp128 calling convention.

Chih-Hung Hsieh via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 3 10:45:37 PST 2015


chh marked an inline comment as done.

================
Comment at: lib/CodeGen/SelectionDAG/DAGCombiner.cpp:8776
@@ -8769,1 +8775,3 @@
+  if ((N1.getOpcode() == ISD::FP_EXTEND || N1.getOpcode() == ISD::FP_ROUND) &&
+      (N1VT == N1Op0VT || N1Op0VT != MVT::f128))
     return DAG.getNode(ISD::FCOPYSIGN, SDLoc(N), VT,
----------------
davidxl wrote:
> The comment of the method should clarify the intention -- I am not worried about naming.
Fine. Please see the new split out function CanCombineFCOPYSIGN_EXTEND_ROUND.



================
Comment at: lib/CodeGen/SelectionDAG/LegalizeTypes.h:400
@@ +399,3 @@
+    if (!SoftenedOp.getNode() &&
+        isSimpleLegalType(Op.getValueType()))
+      return Op;
----------------
davidxl wrote:
> With the original code, this branch should never be taken -- so the new assertion should be safe, right?
Right, but the new assertion will be different from the old assertion at line 403 when it happens. As we are so carefully to avoid change of behavior to non x86_64 f128 type, I would avoid the change to assertion too.



http://reviews.llvm.org/D15134





More information about the llvm-commits mailing list