[PATCH] D71127: [ARM] Add custom strict fp conversion lowering when non-strict is custom

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Dec 8 12:07:36 PST 2019


dmgreen added a comment.

Looks sensible.

Is it worth un-xfailing the test, now that it no-longer crashes? Even if it's check the poor codegen (maybe with some FIXME's), we can show it improving over time. I would use that update script, but I'm not sure how verbose that test will be with it.



================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:5398
+    if (IsStrict)
+      return DAG.getMergeValues({ Tmp.first, Tmp.second }, Loc);
+    return Tmp.first;
----------------
Maybe just `if (IsStrict) return Tmp; else return Tmp.first;` (or something like it), if that works.


================
Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:16222
              "Unexpected type for custom-lowering FP_EXTEND");
-      SrcVal =
-        makeLibCall(DAG, LC, MVT::f32, SrcVal, CallOptions, Loc).first;
+      auto Tmp = makeLibCall(DAG, LC, DstVT, SrcVal, CallOptions, Loc, Chain);
+      SrcVal = Tmp.first;
----------------
Can we use std::tie(SrcVal, Chain) = makeLibCall(..) ?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D71127/new/

https://reviews.llvm.org/D71127





More information about the llvm-commits mailing list