File tree Expand file tree Collapse file tree 7 files changed +22
-17
lines changed Expand file tree Collapse file tree 7 files changed +22
-17
lines changed Original file line number Diff line number Diff line change @@ -474,7 +474,13 @@ bool RISCVPassConfig::addPreISel() {
474
474
addPass (createBarrierNoopPass ());
475
475
}
476
476
477
- if (EnableGlobalMerge == cl::BOU_TRUE) {
477
+ if ((TM->getOptLevel () != CodeGenOptLevel::None &&
478
+ EnableGlobalMerge == cl::BOU_UNSET) ||
479
+ EnableGlobalMerge == cl::BOU_TRUE) {
480
+ // FIXME: Like AArch64, we disable extern global merging by default due to
481
+ // concerns it might regress some workloads. Unlike AArch64, we don't
482
+ // currently support enabling the pass in an "OnlyOptimizeForSize" mode.
483
+ // Investigating and addressing both items are TODO.
478
484
addPass (createGlobalMergePass (TM, /* MaxOffset */ 2047 ,
479
485
/* OnlyOptimizeForSize */ false ,
480
486
/* MergeExternalByDefault */
Original file line number Diff line number Diff line change 74
74
; CHECK-NEXT: Exception handling preparation
75
75
; CHECK-NEXT: A No-Op Barrier Pass
76
76
; CHECK-NEXT: FunctionPass Manager
77
+ ; CHECK-NEXT: Merge internal globals
77
78
; CHECK-NEXT: Dominator Tree Construction
78
79
; CHECK-NEXT: Basic Alias Analysis (stateless AA impl)
79
80
; CHECK-NEXT: Function Alias Analysis Results
Original file line number Diff line number Diff line change 1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2
- ; RUN: llc -mtriple=riscv64 -riscv-enable-global-merge -riscv- force-enable-global-merge-external-globals \
2
+ ; RUN: llc -mtriple=riscv64 -riscv-force-enable-global-merge-external-globals \
3
3
; RUN: -verify-machineinstrs < %s | FileCheck %s -check-prefix=SMALL-DATA
4
- ; RUN: llc -mtriple=riscv64 -riscv-enable-global-merge - global-merge-min-data-size=0 \
4
+ ; RUN: llc -mtriple=riscv64 -global-merge-min-data-size=0 \
5
5
; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s \
6
6
; RUN: | FileCheck %s -check-prefix=MINSIZE
7
7
Original file line number Diff line number Diff line change 1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2
- ; RUN: llc -mtriple=riscv32 -riscv-enable-global-merge -riscv- force-enable-global-merge-external-globals \
2
+ ; RUN: llc -mtriple=riscv32 -riscv-force-enable-global-merge-external-globals \
3
3
; RUN: -verify-machineinstrs < %s | FileCheck %s -check-prefix=SMALL-DATA
4
- ; RUN: llc -mtriple=riscv64 -riscv-enable-global-merge - global-merge-min-data-size=5 \
4
+ ; RUN: llc -mtriple=riscv64 -global-merge-min-data-size=5 \
5
5
; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s \
6
6
; RUN: | FileCheck %s -check-prefix=MINSIZE
7
7
Original file line number Diff line number Diff line change 1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2
- ; RUN: llc -mtriple=riscv32 -riscv-enable-global-merge -riscv- force-enable-global-merge-external-globals \
2
+ ; RUN: llc -mtriple=riscv32 -riscv-force-enable-global-merge-external-globals \
3
3
; RUN: -verify-machineinstrs < %s | FileCheck %s -check-prefix=RV32
4
- ; RUN: llc -mtriple=riscv32 -riscv-enable-global-merge - global-merge-min-data-size=5 \
4
+ ; RUN: llc -mtriple=riscv32 -global-merge-min-data-size=5 \
5
5
; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s | FileCheck %s -check-prefix=RV32-MINSIZE
6
6
7
7
@ig1 = internal global i32 0 , align 4
Original file line number Diff line number Diff line change 1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2
- ; RUN: sed 's/ArrSize/100/g' %s | llc -mtriple=riscv32 -riscv-enable-global-merge \
2
+ ; RUN: sed 's/ArrSize/100/g' %s | llc -mtriple=riscv32 \
3
3
; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs | FileCheck %s
4
- ; RUN: sed 's/ArrSize/100/g' %s | llc -mtriple=riscv64 -riscv-enable-global-merge \
4
+ ; RUN: sed 's/ArrSize/100/g' %s | llc -mtriple=riscv64 \
5
5
; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs | FileCheck %s
6
- ; RUN: sed 's/ArrSize/101/g' %s | llc -mtriple=riscv32 -riscv-enable-global-merge \
6
+ ; RUN: sed 's/ArrSize/101/g' %s | llc -mtriple=riscv32 \
7
7
; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-TOOBIG
8
- ; RUN: sed 's/ArrSize/101/g' %s | llc -mtriple=riscv64 -riscv-enable-global-merge \
8
+ ; RUN: sed 's/ArrSize/101/g' %s | llc -mtriple=riscv64 \
9
9
; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-TOOBIG
10
10
11
11
; This test demonstrates that the MaxOffset is set correctly for RISC-V by
Original file line number Diff line number Diff line change 1
1
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2
- ; RUN: llc -mtriple=riscv32 -riscv-enable-global-merge -verify-machineinstrs < %s \
3
- ; RUN: | FileCheck %s
4
- ; RUN: llc -mtriple=riscv64 -riscv-enable-global-merge -verify-machineinstrs < %s \
5
- ; RUN: | FileCheck %s
6
- ; RUN: llc -mtriple=riscv32 -riscv-enable-global-merge \
2
+ ; RUN: llc -mtriple=riscv32 -verify-machineinstrs < %s | FileCheck %s
3
+ ; RUN: llc -mtriple=riscv64 -verify-machineinstrs < %s | FileCheck %s
4
+ ; RUN: llc -mtriple=riscv32 \
7
5
; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s \
8
6
; RUN: | FileCheck -check-prefix=CHECK-WEXTERN %s
9
- ; RUN: llc -mtriple=riscv64 -riscv-enable-global-merge \
7
+ ; RUN: llc -mtriple=riscv64 \
10
8
; RUN: -riscv-force-enable-global-merge-external-globals -verify-machineinstrs < %s \
11
9
; RUN: | FileCheck -check-prefix=CHECK-WEXTERN %s
12
10
You can’t perform that action at this time.
0 commit comments