[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
Thu Mar 9 15:30:15 PST 2017
efriedma accepted this revision.
efriedma added a comment.
This revision is now accepted and ready to land.
LGTM, with a few minor tweaks.
================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:9075
+ // On Thumb1, move all input operands to the end, then add the predicate
+ if (MCID->getSize() == 2) {
+ for (unsigned c = MCID->getNumOperands() - 4; c--;) {
----------------
Check isThumb1Only() rather than MCID->getSize()?
================
Comment at: lib/Target/ARM/ARMISelLowering.cpp:9129
+ // Thumb1 instructions must have the S bit even if the CPSR is dead.
+ if (MCID->getSize() == 4)
+ return;
----------------
Check isThumb1Only() rather than MCID->getSize()?
================
Comment at: test/CodeGen/Thumb/long.ll:3
; RUN: llc -mtriple=thumb-apple-darwin %s -o - | \
; RUN: FileCheck %s -check-prefix CHECK -check-prefix CHECK-DARWIN
----------------
Add -verify-machineinstrs to the RUN lines.
https://reviews.llvm.org/D30400
More information about the llvm-commits
mailing list