R600: Use default GlobalDirective
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 21 Oct 2014 21:08:36 +0000 (21:08 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 21 Oct 2014 21:08:36 +0000 (21:08 +0000)
The overridden one wasn't inserting a space,
so you would end up with .globalfoo

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

lib/Target/R600/MCTargetDesc/AMDGPUMCAsmInfo.cpp
test/CodeGen/R600/global-directive.ll [new file with mode: 0644]

index 93b9e90bd53d33aca15d5bb65fdd7acde3300dcb..5393504707c4ad67f92be2c1ee0e9d2ce8f0c89d 100644 (file)
@@ -33,7 +33,6 @@ AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(StringRef &TT) : MCAsmInfoELF() {
   UsesELFSectionDirectiveForBSS = true;
 
   //===--- Global Variable Emission Directives --------------------------===//
-  GlobalDirective = ".global";
   HasAggressiveSymbolFolding = true;
   COMMDirectiveAlignmentIsInBytes = false;
   HasDotTypeDotSizeDirective = false;
diff --git a/test/CodeGen/R600/global-directive.ll b/test/CodeGen/R600/global-directive.ll
new file mode 100644 (file)
index 0000000..d1244b8
--- /dev/null
@@ -0,0 +1,14 @@
+; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs < %s | FileCheck -check-prefix=SI %s
+
+; Make sure the GlobalDirective isn't merged with the function name
+
+; SI:  .globl  foo
+; SI: {{^}}foo:
+define void @foo(i32 addrspace(1)* %out, i32 addrspace(1)* %in) {
+  %b_ptr = getelementptr i32 addrspace(1)* %in, i32 1
+  %a = load i32 addrspace(1)* %in
+  %b = load i32 addrspace(1)* %b_ptr
+  %result = add i32 %a, %b
+  store i32 %result, i32 addrspace(1)* %out
+  ret void
+}