[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