[PATCH] D74815: [AsmPrinter] Change alignment of .stack_sizes from 1 to PointerSize
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 18 23:37:20 PST 2020
MaskRay created this revision.
MaskRay added reviewers: grimar, respindola.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
Fixes problem 1 of https://bugs.llvm.org/show_bug.cgi?id=36717
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D74815
Files:
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/test/CodeGen/ARM/stack-size-section.ll
llvm/test/CodeGen/SystemZ/stack-size-section.ll
llvm/test/CodeGen/X86/stack-size-section.ll
Index: llvm/test/CodeGen/X86/stack-size-section.ll
===================================================================
--- llvm/test/CodeGen/X86/stack-size-section.ll
+++ llvm/test/CodeGen/X86/stack-size-section.ll
@@ -3,6 +3,7 @@
; CHECK-LABEL: func1:
; CHECK-NEXT: .Lfunc_begin0:
; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
+; CHECK-NEXT: .p2align 3
; CHECK-NEXT: .quad .Lfunc_begin0
; CHECK-NEXT: .byte 8
define void @func1(i32, i32) #0 {
@@ -14,6 +15,7 @@
; CHECK-LABEL: func2:
; CHECK-NEXT: .Lfunc_begin1:
; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
+; CHECK-NEXT: .p2align 3
; CHECK-NEXT: .quad .Lfunc_begin1
; CHECK-NEXT: .byte 24
define void @func2() #0 {
Index: llvm/test/CodeGen/SystemZ/stack-size-section.ll
===================================================================
--- llvm/test/CodeGen/SystemZ/stack-size-section.ll
+++ llvm/test/CodeGen/SystemZ/stack-size-section.ll
@@ -3,6 +3,7 @@
; CHECK-LABEL: func1:
; CHECK-NEXT: .Lfunc_begin0:
; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
+; CHECK-NEXT: .p2align 3
; CHECK-NEXT: .quad .Lfunc_begin0
; CHECK-NEXT: .byte 0
define void @func1(i32, i32) #0 {
@@ -12,6 +13,7 @@
; CHECK-LABEL: func2:
; CHECK-NEXT: .Lfunc_begin1:
; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
+; CHECK-NEXT: .p2align 3
; CHECK-NEXT: .quad .Lfunc_begin1
; CHECK-NEXT: .ascii "\250\001"
define void @func2(i32, i32) #0 {
@@ -23,6 +25,7 @@
; CHECK-LABEL: func3:
; CHECK-NEXT: .Lfunc_begin2:
; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
+; CHECK-NEXT: .p2align 3
; CHECK-NEXT: .quad .Lfunc_begin2
; CHECK-NEXT: .ascii "\250\001"
define void @func3() #0 {
Index: llvm/test/CodeGen/ARM/stack-size-section.ll
===================================================================
--- llvm/test/CodeGen/ARM/stack-size-section.ll
+++ llvm/test/CodeGen/ARM/stack-size-section.ll
@@ -3,6 +3,7 @@
; CHECK-LABEL: func1:
; CHECK-NEXT: .Lfunc_begin0:
; CHECK: .section .stack_sizes,"o",%progbits,.text{{$}}
+; CHECK-NEXT: .p2align 2
; CHECK-NEXT: .long .Lfunc_begin0
; CHECK-NEXT: .byte 8
define void @func1(i32, i32) #0 {
@@ -14,6 +15,7 @@
; CHECK-LABEL: func2:
; CHECK-NEXT: .Lfunc_begin1:
; CHECK: .section .stack_sizes,"o",%progbits,.text{{$}}
+; CHECK-NEXT: .p2align 2
; CHECK-NEXT: .long .Lfunc_begin1
; CHECK-NEXT: .byte 16
define void @func2() #0 {
Index: llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
===================================================================
--- llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -1044,8 +1044,10 @@
OutStreamer->SwitchSection(StackSizeSection);
const MCSymbol *FunctionSymbol = getFunctionBegin();
+ const unsigned PointerSize = getPointerSize();
uint64_t StackSize = FrameInfo.getStackSize();
- OutStreamer->emitSymbolValue(FunctionSymbol, TM.getProgramPointerSize());
+ emitAlignment(Align(PointerSize));
+ OutStreamer->emitSymbolValue(FunctionSymbol, PointerSize);
OutStreamer->emitULEB128IntValue(StackSize);
OutStreamer->PopSection();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74815.245332.patch
Type: text/x-patch
Size: 3079 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200219/4a0d2175/attachment.bin>
More information about the llvm-commits
mailing list