Revert "[arm][darwin] Don't generate libcalls for wide shifts on Darwin"
authorEli Friedman <efriedma@quicinc.com>
Mon, 8 Jun 2020 23:35:10 +0000 (16:35 -0700)
committerEli Friedman <efriedma@quicinc.com>
Mon, 8 Jun 2020 23:37:29 +0000 (16:37 -0700)
This reverts commit 2ba016cd5ce50a3683d3e6c2c62f00e1cccfd8b5.

This is causing a failure on the clang-cmake-armv7-full bot, and there
are outstanding review comments.

llvm/lib/Target/ARM/ARMISelLowering.cpp
llvm/test/CodeGen/ARM/shift_minsize.ll

index 680b3a4..f163bd6 100644 (file)
@@ -17956,8 +17956,7 @@ bool ARMTargetLowering::isCheapToSpeculateCtlz() const {
 }
 
 bool ARMTargetLowering::shouldExpandShift(SelectionDAG &DAG, SDNode *N) const {
-  return !Subtarget->hasMinSize() || Subtarget->isTargetWindows() ||
-         Subtarget->isTargetDarwin();
+  return !Subtarget->hasMinSize() || Subtarget->isTargetWindows();
 }
 
 Value *ARMTargetLowering::emitLoadLinked(IRBuilder<> &Builder, Value *Addr,
index 36434a2..de7327e 100644 (file)
@@ -1,16 +1,11 @@
 ; RUN: llc -mtriple=arm-eabi        %s -o - | FileCheck %s
 ; RUN: llc -mtriple=thumbv7-windows %s -o - | FileCheck %s -check-prefix=CHECK-WIN
-; RUN: llc < %s -mtriple=aarch64-apple-darwin    | FileCheck %s -check-prefix=CHECK-DARWIN
 
 ; The Windows runtime doesn't have these.
 ; CHECK-WIN-NOT: __ashldi3
 ; CHECK-WIN-NOT: __ashrdi3
 ; CHECK-WIN-NOT: __lshrdi3
 
-; Darwin compiler-rt excludes these.
-; CHECK-DARWIN-NOT: __ashlti3
-; CHECK-DARWIN-NOT: __ashrti3
-
 define i64 @f0(i64 %val, i64 %amt) minsize optsize {
 ; CHECK-LABEL:   f0:
 ; CHECK:         bl  __aeabi_llsl