[PATCH] D30400: For Thumb1, lower ADDC/ADDE/SUBC/SUBE via the glueless ARMISD nodes, same as already done for ARM and Thumb2.

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 3 12:44:55 PST 2017


efriedma added inline comments.


================
Comment at: lib/Target/ARM/ARMISelDAGToDAG.cpp:3299
+              Replacement[] = {Res, GlueOut};
+      Select(RHS.getNode());
+      CurDAG->ReplaceAllUsesWith(N, Replacement);
----------------
tyomitch wrote:
> efriedma wrote:
> > Do you actually need to call Select() explicitly here?  Instruction selection should pick it up automatically, I think.
> No, it doesn't re-lower nodes created by `ARMDAGToDAGISel::Select()`: it is assumed to only output lowered nodes.
Okay.

The lowering for ISD::AND has some code which deals with a similar situation, but in a different way.  Could you refactor to share the same code?


https://reviews.llvm.org/D30400





More information about the llvm-commits mailing list