[llvm] [MachineSink][AArch64] Enable sink-and-fold by default (PR #72132)

Momchil Velikov via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 14 07:31:43 PST 2023


https://github.com/momchil-velikov updated https://github.com/llvm/llvm-project/pull/72132

>From 3bd0d1648e597083d4a52a2e56fc6a65c6fa1c79 Mon Sep 17 00:00:00 2001
From: Momchil Velikov <momchil.velikov at arm.com>
Date: Mon, 13 Nov 2023 16:19:28 +0000
Subject: [PATCH 1/2] [MachineSink][AArch64] Enable sink-and-fold by default

Enable the optimisation by default for AArch64 after a
compile time regressoin fix in e8209b2486d8
---
 llvm/lib/Target/AArch64/AArch64TargetMachine.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
index 3d818c76bd4b7d7..fcc30a7cfceaf47 100644
--- a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+++ b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
@@ -200,7 +200,7 @@ static cl::opt<bool> EnableGISelLoadStoreOptPostLegal(
 static cl::opt<bool>
     EnableSinkFold("aarch64-enable-sink-fold",
                    cl::desc("Enable sinking and folding of instruction copies"),
-                   cl::init(false), cl::Hidden);
+                   cl::init(true), cl::Hidden);
 
 extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeAArch64Target() {
   // Register the target.

>From ad6420a2849c04e352e64b6b44f0edc53516d5e6 Mon Sep 17 00:00:00 2001
From: Momchil Velikov <momchil.velikov at arm.com>
Date: Tue, 14 Nov 2023 15:30:39 +0000
Subject: [PATCH 2/2] Remove enable option from sink-and-fold test

---
 llvm/test/CodeGen/AArch64/sink-and-fold.ll | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/llvm/test/CodeGen/AArch64/sink-and-fold.ll b/llvm/test/CodeGen/AArch64/sink-and-fold.ll
index 632fdb391053121..52007221e12a7b5 100644
--- a/llvm/test/CodeGen/AArch64/sink-and-fold.ll
+++ b/llvm/test/CodeGen/AArch64/sink-and-fold.ll
@@ -1,5 +1,5 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc -aarch64-enable-sink-fold=true < %s | FileCheck %s
+; RUN: llc < %s | FileCheck %s
 target triple = "aarch64-linux"
 
 declare i32 @use(...)



More information about the llvm-commits mailing list