"On SPU, variables in the .bss section that are allocated with the .lcomm directive...
authorChris Lattner <sabre@nondot.org>
Fri, 9 Apr 2010 18:27:03 +0000 (18:27 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 9 Apr 2010 18:27:03 +0000 (18:27 +0000)
this patch disables .lcomm in favour of '.local .comm'

Patch by Kalle Raisklia!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100875 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/CellSPU/SPUMCAsmInfo.cpp
test/CodeGen/CellSPU/bss.ll

index 3e17a51b505f5781209404c2c364bc1abf8f65ac..68445cf6bf9d7f22d92ca8f3963206c7b8fcfa0c 100644 (file)
@@ -18,7 +18,6 @@ SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, const StringRef &TT) {
   ZeroDirective = "\t.space\t";
   Data64bitsDirective = "\t.quad\t";
   AlignmentIsInBytes = false;
-  HasLCOMMDirective = true;
       
   PCSymbol = ".";
   CommentString = "#";
index 05a0f5003931a89904e6f7c7d71d7faec29c7e72..2a5f786baea77cf6284ac798b62afa0bbd941d35 100644 (file)
@@ -1,5 +1,7 @@
 ; RUN: llc < %s -march=cellspu > %t1.s
 ; RUN: grep "\.section" %t1.s | grep "\.bss" | count 1
+; CHECK-NOT: .lcomm
 
 @bssVar = global i32 zeroinitializer
+@localVar= internal global i32 zeroinitializer