Skip to content

Commit 9d35387

Browse files
[AArch64] Disable by default MachineSink sink-and-fold (#70101)
There is a report about a large compile time regression in V8 when generating debug info.
1 parent c249e27 commit 9d35387

File tree

5 files changed

+8
-8
lines changed

5 files changed

+8
-8
lines changed

llvm/lib/Target/AArch64/AArch64TargetMachine.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ static cl::opt<bool> EnableGISelLoadStoreOptPostLegal(
200200
static cl::opt<bool>
201201
EnableSinkFold("aarch64-enable-sink-fold",
202202
cl::desc("Enable sinking and folding of instruction copies"),
203-
cl::init(true), cl::Hidden);
203+
cl::init(false), cl::Hidden);
204204

205205
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAArch64Target() {
206206
// Register the target.

llvm/test/CodeGen/AArch64/aarch64-mulv.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3
2-
; RUN: llc -mtriple=aarch64 -verify-machineinstrs %s -o - 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-SD
3-
; RUN: llc -mtriple=aarch64 -global-isel -global-isel-abort=2 -verify-machineinstrs %s -o - 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-GI
2+
; RUN: llc -mtriple=aarch64 -aarch64-enable-sink-fold=true -verify-machineinstrs %s -o - 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-SD
3+
; RUN: llc -mtriple=aarch64 -aarch64-enable-sink-fold=true -global-isel -global-isel-abort=2 -verify-machineinstrs %s -o - 2>&1 | FileCheck %s --check-prefixes=CHECK,CHECK-GI
44

55
; CHECK_GI: warning: Instruction selection used fallback path for mulv_v3i64
66

llvm/test/CodeGen/AArch64/arm64-indexed-memory.ll

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s -mtriple=arm64-apple-ios -aarch64-redzone | FileCheck %s --check-prefixes=CHECK,CHECK64
3-
; RUN: llc < %s -mtriple=arm64-apple-ios -aarch64-redzone -global-isel -global-isel-abort=1 | FileCheck %s --check-prefixes=CHECK,GISEL
4-
; RUN: llc < %s -mtriple=arm64_32-apple-ios -aarch64-redzone | FileCheck %s --check-prefixes=CHECK,CHECK32
2+
; RUN: llc < %s -mtriple=arm64-apple-ios -aarch64-enable-sink-fold=true -aarch64-redzone | FileCheck %s --check-prefixes=CHECK,CHECK64
3+
; RUN: llc < %s -mtriple=arm64-apple-ios -aarch64-enable-sink-fold=true -aarch64-redzone -global-isel -global-isel-abort=1 | FileCheck %s --check-prefixes=CHECK,GISEL
4+
; RUN: llc < %s -mtriple=arm64_32-apple-ios -aarch64-enable-sink-fold=true -aarch64-redzone | FileCheck %s --check-prefixes=CHECK,CHECK32
55

66
define ptr @store64(ptr %ptr, i64 %index, i64 %spacing) {
77
; CHECK-LABEL: store64:

llvm/test/CodeGen/AArch64/machine-sink-cache-invalidation.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3
2-
; RUN: llc < %s -mtriple=aarch64 -global-isel | FileCheck %s
2+
; RUN: llc < %s -mtriple=aarch64 -aarch64-enable-sink-fold=true -global-isel | FileCheck %s
33

44
target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"
55
target triple = "arm64-apple-macosx13.5.0"

llvm/test/CodeGen/AArch64/sink-and-fold.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s | FileCheck %s
2+
; RUN: llc -aarch64-enable-sink-fold=true < %s | FileCheck %s
33
target triple = "aarch64-linux"
44

55
declare i32 @use(...)

0 commit comments

Comments
 (0)