[llvm-branch-commits] [llvm] [PowerPC][GlobalMerge] Enable GlobalMerge by default on AIX (PR #101226)

Amy Kwan via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Aug 1 20:14:23 PDT 2024


================
@@ -500,7 +500,10 @@ void PPCPassConfig::addIRPasses() {
 }
 
 bool PPCPassConfig::addPreISel() {
-  if (EnableGlobalMerge)
+  if ((EnableGlobalMerge.getNumOccurrences() > 0)
+          ? EnableGlobalMerge
+          : (TM->getTargetTriple().isOSAIX() &&
+             getOptLevel() != CodeGenOptLevel::None))
----------------
amy-kwan wrote:

Hmm, I thought this could be simplified, too.

However, unless I am misunderstanding or I did something wrong, it seems the original code is still needed or else `xcoff-symbolize-data.ll` fails:
```
llvm-project/llvm/test/DebugInfo/Symbolize/XCOFF/xcoff-symbolize-data.ll:38:10: error: CHECK: expected string not found in input
; CHECK: f()::function_global
         ^
<stdin>:16:1: note: scanning from here

^
<stdin>:17:1: note: possible intended match here
L.._MergedGlobals
^
```
I can see in that test that it seems we're still merging (with this code suggestion) since the `_MergedGlobals` is present:
```
$ llvm-symbolizer --obj=/data/amyk/llvm_trunk/build/test/DebugInfo/Symbolize/XCOFF/Output/xcoff-symbolize-data.ll.tmp 'DATA 0x60' 'DATA 0x61' 'DATA 0x64' 'DATA 0X68'    'DATA 0x90' 'DATA 0x94'
bss_global
96 4
/t.cpp:1

bss_global
96 4
/t.cpp:1

data_global
100 4
/t.cpp:2

str
104 4
/t.cpp:4

L.._MergedGlobals
144 8
/t.cpp:13

L.._MergedGlobals
144 8
/t.cpp:12
```

Any opinions regarding this and/or keeping the original code, @chenzheng1030 @redstar?

https://github.com/llvm/llvm-project/pull/101226


More information about the llvm-branch-commits mailing list