[llvm] r328581 - Use local symbols for creating .stack-size.
Rafael Espindola via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 26 13:40:22 PDT 2018
Author: rafael
Date: Mon Mar 26 13:40:22 2018
New Revision: 328581
URL: http://llvm.org/viewvc/llvm-project?rev=328581&view=rev
Log:
Use local symbols for creating .stack-size.
Modified:
llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/trunk/test/CodeGen/ARM/stack-size-section.ll
llvm/trunk/test/CodeGen/SystemZ/stack-size-section.ll
llvm/trunk/test/CodeGen/X86/stack-size-section.ll
Modified: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp?rev=328581&r1=328580&r2=328581&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp Mon Mar 26 13:40:22 2018
@@ -978,7 +978,7 @@ void AsmPrinter::emitStackSizeSection(co
OutStreamer->PushSection();
OutStreamer->SwitchSection(StackSizeSection);
- const MCSymbol *FunctionSymbol = getSymbol(&MF.getFunction());
+ const MCSymbol *FunctionSymbol = getFunctionBegin();
uint64_t StackSize = FrameInfo.getStackSize();
OutStreamer->EmitSymbolValue(FunctionSymbol, TM.getProgramPointerSize());
OutStreamer->EmitULEB128IntValue(StackSize);
@@ -1506,7 +1506,8 @@ void AsmPrinter::SetupMachineFunction(Ma
CurrentFnBegin = nullptr;
CurExceptionSym = nullptr;
bool NeedsLocalForSize = MAI->needsLocalForSize();
- if (needFuncLabelsForEHOrDebugInfo(MF, MMI) || NeedsLocalForSize) {
+ if (needFuncLabelsForEHOrDebugInfo(MF, MMI) || NeedsLocalForSize ||
+ MF.getTarget().Options.EmitStackSizeSection) {
CurrentFnBegin = createTempSymbol("func_begin");
if (NeedsLocalForSize)
CurrentFnSymForSize = CurrentFnBegin;
Modified: llvm/trunk/test/CodeGen/ARM/stack-size-section.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/stack-size-section.ll?rev=328581&r1=328580&r2=328581&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/stack-size-section.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/stack-size-section.ll Mon Mar 26 13:40:22 2018
@@ -1,8 +1,9 @@
; RUN: llc < %s -mtriple=armv7-linux -stack-size-section | FileCheck %s
; CHECK-LABEL: func1:
+; CHECK-NEXT: .Lfunc_begin0:
; CHECK: .section .stack_sizes,"",%progbits
-; CHECK-NEXT: .long func1
+; CHECK-NEXT: .long .Lfunc_begin0
; CHECK-NEXT: .byte 8
define void @func1(i32, i32) #0 {
alloca i32, align 4
@@ -11,8 +12,9 @@ define void @func1(i32, i32) #0 {
}
; CHECK-LABEL: func2:
+; CHECK-NEXT: .Lfunc_begin1:
; CHECK: .section .stack_sizes,"",%progbits
-; CHECK-NEXT: .long func2
+; CHECK-NEXT: .long .Lfunc_begin1
; CHECK-NEXT: .byte 16
define void @func2() #0 {
alloca i32, align 4
Modified: llvm/trunk/test/CodeGen/SystemZ/stack-size-section.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/SystemZ/stack-size-section.ll?rev=328581&r1=328580&r2=328581&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/SystemZ/stack-size-section.ll (original)
+++ llvm/trunk/test/CodeGen/SystemZ/stack-size-section.ll Mon Mar 26 13:40:22 2018
@@ -1,16 +1,18 @@
; RUN: llc < %s -mtriple=s390x-linux-gnu -stack-size-section | FileCheck %s
; CHECK-LABEL: func1:
+; CHECK-NEXT: .Lfunc_begin0:
; CHECK: .section .stack_sizes,"", at progbits
-; CHECK-NEXT: .quad func1
+; CHECK-NEXT: .quad .Lfunc_begin0
; CHECK-NEXT: .byte 0
define void @func1(i32, i32) #0 {
ret void
}
; CHECK-LABEL: func2:
+; CHECK-NEXT: .Lfunc_begin1:
; CHECK: .section .stack_sizes,"", at progbits
-; CHECK-NEXT: .quad func2
+; CHECK-NEXT: .quad .Lfunc_begin1
; CHECK-NEXT: .ascii "\250\001"
define void @func2(i32, i32) #0 {
alloca i32, align 4
@@ -19,8 +21,9 @@ define void @func2(i32, i32) #0 {
}
; CHECK-LABEL: func3:
+; CHECK-NEXT: .Lfunc_begin2:
; CHECK: .section .stack_sizes,"", at progbits
-; CHECK-NEXT: .quad func3
+; CHECK-NEXT: .quad .Lfunc_begin2
; CHECK-NEXT: .ascii "\250\001"
define void @func3() #0 {
alloca i32, align 4
Modified: llvm/trunk/test/CodeGen/X86/stack-size-section.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/stack-size-section.ll?rev=328581&r1=328580&r2=328581&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/stack-size-section.ll (original)
+++ llvm/trunk/test/CodeGen/X86/stack-size-section.ll Mon Mar 26 13:40:22 2018
@@ -1,8 +1,9 @@
; RUN: llc < %s -mtriple=x86_64-linux -stack-size-section | FileCheck %s
; CHECK-LABEL: func1:
+; CHECK-NEXT: .Lfunc_begin0:
; CHECK: .section .stack_sizes,"", at progbits
-; CHECK-NEXT: .quad func1
+; CHECK-NEXT: .quad .Lfunc_begin0
; CHECK-NEXT: .byte 8
define void @func1(i32, i32) #0 {
alloca i32, align 4
@@ -11,8 +12,9 @@ define void @func1(i32, i32) #0 {
}
; CHECK-LABEL: func2:
+; CHECK-NEXT: .Lfunc_begin1:
; CHECK: .section .stack_sizes,"", at progbits
-; CHECK-NEXT: .quad func2
+; CHECK-NEXT: .quad .Lfunc_begin1
; CHECK-NEXT: .byte 24
define void @func2() #0 {
alloca i32, align 4
More information about the llvm-commits
mailing list