[llvm] 6b14814 - [AsmPrinter] Omit unique ID for .stack_sizes

Fangrui Song via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 14 21:26:31 PST 2020


Author: Fangrui Song
Date: 2020-02-14T21:25:06-08:00
New Revision: 6b14814e10cf2a42d954d5adb9657cb083997827

URL: https://github.com/llvm/llvm-project/commit/6b14814e10cf2a42d954d5adb9657cb083997827
DIFF: https://github.com/llvm/llvm-project/commit/6b14814e10cf2a42d954d5adb9657cb083997827.diff

LOG: [AsmPrinter] Omit unique ID for .stack_sizes

Follow-up for D74006.

Added: 
    

Modified: 
    llvm/include/llvm/MC/MCObjectFileInfo.h
    llvm/lib/MC/MCObjectFileInfo.cpp
    llvm/test/CodeGen/ARM/stack-size-section.ll
    llvm/test/CodeGen/SystemZ/stack-size-section.ll
    llvm/test/CodeGen/X86/stack-size-section-function-sections.ll
    llvm/test/CodeGen/X86/stack-size-section.ll

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/MC/MCObjectFileInfo.h b/llvm/include/llvm/MC/MCObjectFileInfo.h
index 18e77c4b3aff..b40facc8c0c8 100644
--- a/llvm/include/llvm/MC/MCObjectFileInfo.h
+++ b/llvm/include/llvm/MC/MCObjectFileInfo.h
@@ -171,7 +171,6 @@ class MCObjectFileInfo {
 
   /// Section containing metadata on function stack sizes.
   MCSection *StackSizesSection = nullptr;
-  mutable DenseMap<const MCSymbol *, unsigned> StackSizesUniquing;
 
   // ELF specific sections.
   MCSection *DataRelROSection = nullptr;

diff  --git a/llvm/lib/MC/MCObjectFileInfo.cpp b/llvm/lib/MC/MCObjectFileInfo.cpp
index 1ea02388cb1a..fb9a32e1070b 100644
--- a/llvm/lib/MC/MCObjectFileInfo.cpp
+++ b/llvm/lib/MC/MCObjectFileInfo.cpp
@@ -911,10 +911,7 @@ MCObjectFileInfo::getStackSizesSection(const MCSection &TextSec) const {
     Flags |= ELF::SHF_GROUP;
   }
 
-  const MCSymbol *Link = TextSec.getBeginSymbol();
-  auto It = StackSizesUniquing.insert({Link, StackSizesUniquing.size()});
-  unsigned UniqueID = It.first->second;
-
   return Ctx->getELFSection(".stack_sizes", ELF::SHT_PROGBITS, Flags, 0,
-                            GroupName, UniqueID, cast<MCSymbolELF>(Link));
+                            GroupName, MCSection::NonUniqueID,
+                            cast<MCSymbolELF>(TextSec.getBeginSymbol()));
 }

diff  --git a/llvm/test/CodeGen/ARM/stack-size-section.ll b/llvm/test/CodeGen/ARM/stack-size-section.ll
index 7f687bba901c..fb23e358d856 100644
--- a/llvm/test/CodeGen/ARM/stack-size-section.ll
+++ b/llvm/test/CodeGen/ARM/stack-size-section.ll
@@ -2,7 +2,7 @@
 
 ; CHECK-LABEL: func1:
 ; CHECK-NEXT: .Lfunc_begin0:
-; CHECK: .section .stack_sizes,"o",%progbits,.text,unique,0
+; CHECK: .section .stack_sizes,"o",%progbits,.text{{$}}
 ; CHECK-NEXT: .long .Lfunc_begin0
 ; CHECK-NEXT: .byte 8
 define void @func1(i32, i32) #0 {
@@ -13,7 +13,7 @@ define void @func1(i32, i32) #0 {
 
 ; CHECK-LABEL: func2:
 ; CHECK-NEXT: .Lfunc_begin1:
-; CHECK: .section .stack_sizes,"o",%progbits,.text,unique,0
+; CHECK: .section .stack_sizes,"o",%progbits,.text{{$}}
 ; CHECK-NEXT: .long .Lfunc_begin1
 ; CHECK-NEXT: .byte 16
 define void @func2() #0 {

diff  --git a/llvm/test/CodeGen/SystemZ/stack-size-section.ll b/llvm/test/CodeGen/SystemZ/stack-size-section.ll
index d1d79531cf0e..024f20bfc2dc 100644
--- a/llvm/test/CodeGen/SystemZ/stack-size-section.ll
+++ b/llvm/test/CodeGen/SystemZ/stack-size-section.ll
@@ -2,7 +2,7 @@
 
 ; CHECK-LABEL: func1:
 ; CHECK-NEXT: .Lfunc_begin0:
-; CHECK: .section .stack_sizes,"o", at progbits,.text,unique,0
+; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
 ; CHECK-NEXT: .quad .Lfunc_begin0
 ; CHECK-NEXT: .byte 0
 define void @func1(i32, i32) #0 {
@@ -11,7 +11,7 @@ define void @func1(i32, i32) #0 {
 
 ; CHECK-LABEL: func2:
 ; CHECK-NEXT: .Lfunc_begin1:
-; CHECK: .section .stack_sizes,"o", at progbits,.text,unique,0
+; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
 ; CHECK-NEXT: .quad .Lfunc_begin1
 ; CHECK-NEXT: .ascii  "\250\001"
 define void @func2(i32, i32) #0 {
@@ -22,7 +22,7 @@ define void @func2(i32, i32) #0 {
 
 ; CHECK-LABEL: func3:
 ; CHECK-NEXT: .Lfunc_begin2:
-; CHECK: .section .stack_sizes,"o", at progbits,.text,unique,0
+; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
 ; CHECK-NEXT: .quad .Lfunc_begin2
 ; CHECK-NEXT: .ascii  "\250\001"
 define void @func3() #0 {

diff  --git a/llvm/test/CodeGen/X86/stack-size-section-function-sections.ll b/llvm/test/CodeGen/X86/stack-size-section-function-sections.ll
index c352bfe032cd..3fb2fa97e775 100644
--- a/llvm/test/CodeGen/X86/stack-size-section-function-sections.ll
+++ b/llvm/test/CodeGen/X86/stack-size-section-function-sections.ll
@@ -2,13 +2,13 @@
 
 ; Check we add SHF_LINK_ORDER for .stack_sizes and link it with the corresponding .text sections.
 ; CHECK: .section        .text._Z3barv,"ax", at progbits
-; CHECK: .section        .stack_sizes,"o", at progbits,.text._Z3barv,unique,0
+; CHECK: .section        .stack_sizes,"o", at progbits,.text._Z3barv{{$}}
 ; CHECK: .section        .text._Z3foov,"ax", at progbits
-; CHECK: .section        .stack_sizes,"o", at progbits,.text._Z3foov,unique,1
+; CHECK: .section        .stack_sizes,"o", at progbits,.text._Z3foov{{$}}
 
 ; Check we add .stack_size section to a COMDAT group with the corresponding .text section if such a COMDAT exists.
 ; CHECK: .section        .text._Z4fooTIiET_v,"axG", at progbits,_Z4fooTIiET_v,comdat
-; CHECK: .section        .stack_sizes,"Go", at progbits,_Z4fooTIiET_v,comdat,.text._Z4fooTIiET_v,unique,2
+; CHECK: .section        .stack_sizes,"Go", at progbits,_Z4fooTIiET_v,comdat,.text._Z4fooTIiET_v{{$}}
 
 $_Z4fooTIiET_v = comdat any
 

diff  --git a/llvm/test/CodeGen/X86/stack-size-section.ll b/llvm/test/CodeGen/X86/stack-size-section.ll
index e8296259611b..42c6ed14179e 100644
--- a/llvm/test/CodeGen/X86/stack-size-section.ll
+++ b/llvm/test/CodeGen/X86/stack-size-section.ll
@@ -2,7 +2,7 @@
 
 ; CHECK-LABEL: func1:
 ; CHECK-NEXT: .Lfunc_begin0:
-; CHECK: .section .stack_sizes,"o", at progbits
+; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
 ; CHECK-NEXT: .quad .Lfunc_begin0
 ; CHECK-NEXT: .byte 8
 define void @func1(i32, i32) #0 {
@@ -13,7 +13,7 @@ define void @func1(i32, i32) #0 {
 
 ; CHECK-LABEL: func2:
 ; CHECK-NEXT: .Lfunc_begin1:
-; CHECK: .section .stack_sizes,"o", at progbits
+; CHECK: .section .stack_sizes,"o", at progbits,.text{{$}}
 ; CHECK-NEXT: .quad .Lfunc_begin1
 ; CHECK-NEXT: .byte 24
 define void @func2() #0 {
@@ -24,15 +24,14 @@ define void @func2() #0 {
 
 ; Check that we still put .stack_sizes into the corresponding COMDAT group if any.
 ; CHECK: .section .text._Z4fooTIiET_v,"axG", at progbits,_Z4fooTIiET_v,comdat
-; CHECK: .section .stack_sizes,"Go", at progbits,_Z4fooTIiET_v,comdat,.text._Z4fooTIiET_v,unique,1
+; CHECK: .section .stack_sizes,"Go", at progbits,_Z4fooTIiET_v,comdat,.text._Z4fooTIiET_v{{$}}
 $_Z4fooTIiET_v = comdat any
 define linkonce_odr dso_local i32 @_Z4fooTIiET_v() comdat {
   ret i32 0
 }
 
-; Check that we assign a unique ID to .stack_sizes if it is linked with a unique .text section.
 ; CHECK: .section .text.func3,"ax", at progbits
-; CHECK: .section .stack_sizes,"o", at progbits,.text.func3,unique,2
+; CHECK: .section .stack_sizes,"o", at progbits,.text.func3{{$}}
 define dso_local i32 @func3() section ".text.func3" {
   %1 = alloca i32, align 4
   store i32 0, i32* %1, align 4


        


More information about the llvm-commits mailing list