diff --git a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp index dcd3598f658f6..4bcb0edc4b093 100644 --- a/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp +++ b/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp @@ -51,13 +51,6 @@ static cl::opt EnableGlobalMerge("riscv-enable-global-merge", cl::Hidden, cl::desc("Enable the global merge pass")); -static cl::opt ForceEnableGlobalMergeExternalGlobals( - "riscv-force-enable-global-merge-external-globals", cl::Hidden, - cl::init(false), - cl::desc( - "If the global merge pass is enabled, force enable global merging of " - "external globals (overriding any logic that might disable it)")); - static cl::opt EnableMachineCombiner("riscv-enable-machine-combiner", cl::desc("Enable the machine combiner pass"), @@ -494,8 +487,7 @@ bool RISCVPassConfig::addPreISel() { // Investigating and addressing both items are TODO. addPass(createGlobalMergePass(TM, /* MaxOffset */ 2047, /* OnlyOptimizeForSize */ false, - /* MergeExternalByDefault */ - ForceEnableGlobalMergeExternalGlobals)); + /* MergeExternalByDefault */ true)); } return false; diff --git a/llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-nonzero.ll b/llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-nonzero.ll index 156a34db82745..77fe1783bb5d5 100644 --- a/llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-nonzero.ll +++ b/llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-nonzero.ll @@ -1,8 +1,7 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc -mtriple=riscv64 -riscv-force-enable-global-merge-external-globals \ -; RUN: -verify-machineinstrs < %s | FileCheck %s -check-prefix=SMALL-DATA -; RUN: llc -mtriple=riscv64 -global-merge-min-data-size=0 \ -; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s \ +; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s \ +; RUN: | FileCheck %s -check-prefix=SMALL-DATA +; RUN: llc -mtriple=riscv64 -global-merge-min-data-size=0 -verify-machineinstrs < %s \ ; RUN: | FileCheck %s -check-prefix=MINSIZE @ig1 = internal global i32 0, align 4 diff --git a/llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-zero.ll b/llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-zero.ll index e41f14d394b7c..c29749c17a5b5 100644 --- a/llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-zero.ll +++ b/llvm/test/CodeGen/RISCV/global-merge-minsize-smalldata-zero.ll @@ -1,8 +1,7 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc -mtriple=riscv32 -riscv-force-enable-global-merge-external-globals \ -; RUN: -verify-machineinstrs < %s | FileCheck %s -check-prefix=SMALL-DATA -; RUN: llc -mtriple=riscv64 -global-merge-min-data-size=5 \ -; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s \ +; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \ +; RUN: | FileCheck %s -check-prefix=SMALL-DATA +; RUN: llc -mtriple=riscv64 -global-merge-min-data-size=5 -verify-machineinstrs < %s \ ; RUN: | FileCheck %s -check-prefix=MINSIZE @ig1 = internal global i32 0, align 4 diff --git a/llvm/test/CodeGen/RISCV/global-merge-minsize.ll b/llvm/test/CodeGen/RISCV/global-merge-minsize.ll index 1d65d9d1732ba..915dde388cffd 100644 --- a/llvm/test/CodeGen/RISCV/global-merge-minsize.ll +++ b/llvm/test/CodeGen/RISCV/global-merge-minsize.ll @@ -1,8 +1,8 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc -mtriple=riscv32 -riscv-force-enable-global-merge-external-globals \ +; RUN: llc -mtriple=riscv32 \ ; RUN: -verify-machineinstrs < %s | FileCheck %s -check-prefix=RV32 ; RUN: llc -mtriple=riscv32 -global-merge-min-data-size=5 \ -; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s | FileCheck %s -check-prefix=RV32-MINSIZE +; RUN: -verify-machineinstrs < %s | FileCheck %s -check-prefix=RV32-MINSIZE @ig1 = internal global i32 0, align 4 @ig2 = internal global i32 0, align 4 diff --git a/llvm/test/CodeGen/RISCV/global-merge-offset.ll b/llvm/test/CodeGen/RISCV/global-merge-offset.ll index bb8264ee43854..c1074bc8ca97e 100644 --- a/llvm/test/CodeGen/RISCV/global-merge-offset.ll +++ b/llvm/test/CodeGen/RISCV/global-merge-offset.ll @@ -1,12 +1,12 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: sed 's/ArrSize/100/g' %s | llc -mtriple=riscv32 \ -; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs | FileCheck %s +; RUN: -verify-machineinstrs | FileCheck %s ; RUN: sed 's/ArrSize/100/g' %s | llc -mtriple=riscv64 \ -; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs | FileCheck %s +; RUN: -verify-machineinstrs | FileCheck %s ; RUN: sed 's/ArrSize/101/g' %s | llc -mtriple=riscv32 \ -; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-TOOBIG +; RUN: -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-TOOBIG ; RUN: sed 's/ArrSize/101/g' %s | llc -mtriple=riscv64 \ -; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-TOOBIG +; RUN: -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-TOOBIG ; This test demonstrates that the MaxOffset is set correctly for RISC-V by ; constructing an input that is at the limit and comparing. diff --git a/llvm/test/CodeGen/RISCV/global-merge.ll b/llvm/test/CodeGen/RISCV/global-merge.ll index 327a6b54f4be2..31b3aa81b58dd 100644 --- a/llvm/test/CodeGen/RISCV/global-merge.ll +++ b/llvm/test/CodeGen/RISCV/global-merge.ll @@ -1,11 +1,11 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s | FileCheck %s -; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s | FileCheck %s -; RUN: llc -mtriple=riscv32 \ -; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s \ +; RUN: llc -mtriple=riscv32 -global-merge-on-external=false \ +; RUN: -verify-machineinstrs < %s | FileCheck %s +; RUN: llc -mtriple=riscv64 -global-merge-on-external=false \ +; RUN: -verify-machineinstrs < %s | FileCheck %s +; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s \ ; RUN: | FileCheck -check-prefix=CHECK-WEXTERN %s -; RUN: llc -mtriple=riscv64 \ -; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s \ +; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s \ ; RUN: | FileCheck -check-prefix=CHECK-WEXTERN %s @ig1 = internal global i32 0, align 4