[llvm-commits] [llvm] r100875 - in /llvm/trunk: lib/Target/CellSPU/SPUMCAsmInfo.cpp test/CodeGen/CellSPU/bss.ll
Chris Lattner
sabre at nondot.org
Fri Apr 9 11:27:03 PDT 2010
Author: lattner
Date: Fri Apr 9 13:27:03 2010
New Revision: 100875
URL: http://llvm.org/viewvc/llvm-project?rev=100875&view=rev
Log:
"On SPU, variables in the .bss section that are allocated with the .lcomm directive are not aligned on 16 byte boundaries. This causes misaligned loads, as the generated assembly assumes this "default" alignment.
this patch disables .lcomm in favour of '.local .comm'
Patch by Kalle Raisklia!
Modified:
llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp
llvm/trunk/test/CodeGen/CellSPU/bss.ll
Modified: llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp?rev=100875&r1=100874&r2=100875&view=diff
==============================================================================
--- llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp (original)
+++ llvm/trunk/lib/Target/CellSPU/SPUMCAsmInfo.cpp Fri Apr 9 13:27:03 2010
@@ -18,7 +18,6 @@
ZeroDirective = "\t.space\t";
Data64bitsDirective = "\t.quad\t";
AlignmentIsInBytes = false;
- HasLCOMMDirective = true;
PCSymbol = ".";
CommentString = "#";
Modified: llvm/trunk/test/CodeGen/CellSPU/bss.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/CellSPU/bss.ll?rev=100875&r1=100874&r2=100875&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/CellSPU/bss.ll (original)
+++ llvm/trunk/test/CodeGen/CellSPU/bss.ll Fri Apr 9 13:27:03 2010
@@ -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
+ at localVar= internal global i32 zeroinitializer
More information about the llvm-commits
mailing list