[llvm] r335333 - Revert r335332 "[MC] - Add .stack_size sections into groups and link them with .text"

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 22 03:27:34 PDT 2018


Author: grimar
Date: Fri Jun 22 03:27:33 2018
New Revision: 335333

URL: http://llvm.org/viewvc/llvm-project?rev=335333&view=rev
Log:
Revert r335332 "[MC] - Add .stack_size sections into groups and link them with .text"

It broke bots.

http://lab.llvm.org:8011/builders/clang-ppc64le-linux-lnt/builds/12891
http://lab.llvm.org:8011/builders/clang-cmake-x86_64-sde-avx512-linux/builds/9443
http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-buildserver/builds/25551

Removed:
    llvm/trunk/test/CodeGen/X86/stack-size-section-function-sections.ll
Modified:
    llvm/trunk/include/llvm/MC/MCObjectFileInfo.h
    llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    llvm/trunk/lib/MC/MCObjectFileInfo.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/include/llvm/MC/MCObjectFileInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/MC/MCObjectFileInfo.h?rev=335333&r1=335332&r2=335333&view=diff
==============================================================================
--- llvm/trunk/include/llvm/MC/MCObjectFileInfo.h (original)
+++ llvm/trunk/include/llvm/MC/MCObjectFileInfo.h Fri Jun 22 03:27:33 2018
@@ -14,14 +14,12 @@
 #ifndef LLVM_MC_MCOBJECTFILEINFO_H
 #define LLVM_MC_MCOBJECTFILEINFO_H
 
-#include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/Triple.h"
 #include "llvm/Support/CodeGen.h"
 
 namespace llvm {
 class MCContext;
 class MCSection;
-class MCSymbol;
 
 class MCObjectFileInfo {
 protected:
@@ -160,7 +158,6 @@ protected:
 
   /// Section containing metadata on function stack sizes.
   MCSection *StackSizesSection;
-  mutable DenseMap<const MCSymbol *, unsigned> StackSizesUniquing;
 
   // ELF specific sections.
   MCSection *DataRelROSection;
@@ -302,7 +299,7 @@ public:
   MCSection *getStackMapSection() const { return StackMapSection; }
   MCSection *getFaultMapSection() const { return FaultMapSection; }
 
-  MCSection *getStackSizesSection(const MCSection &TextSec) const;
+  MCSection *getStackSizesSection() const { return StackSizesSection; }
 
   // ELF specific sections.
   MCSection *getDataRelROSection() const { return DataRelROSection; }

Modified: llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp?rev=335333&r1=335332&r2=335333&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp (original)
+++ llvm/trunk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp Fri Jun 22 03:27:33 2018
@@ -989,8 +989,7 @@ void AsmPrinter::emitStackSizeSection(co
   if (!MF.getTarget().Options.EmitStackSizeSection)
     return;
 
-  MCSection *StackSizeSection =
-      getObjFileLowering().getStackSizesSection(*getCurrentSection());
+  MCSection *StackSizeSection = getObjFileLowering().getStackSizesSection();
   if (!StackSizeSection)
     return;
 

Modified: llvm/trunk/lib/MC/MCObjectFileInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCObjectFileInfo.cpp?rev=335333&r1=335332&r2=335333&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCObjectFileInfo.cpp (original)
+++ llvm/trunk/lib/MC/MCObjectFileInfo.cpp Fri Jun 22 03:27:33 2018
@@ -948,24 +948,3 @@ MCSection *MCObjectFileInfo::getDwarfTyp
   return Ctx->getELFSection(".debug_types", ELF::SHT_PROGBITS, ELF::SHF_GROUP,
                             0, utostr(Hash));
 }
-
-MCSection *
-MCObjectFileInfo::getStackSizesSection(const MCSection &TextSec) const {
-  if (Env != IsELF)
-    return StackSizesSection;
-
-  const MCSectionELF &ElfSec = static_cast<const MCSectionELF &>(TextSec);
-  unsigned Flags = ELF::SHF_LINK_ORDER;
-  StringRef GroupName;
-  if (const MCSymbol *Group = ElfSec.getGroup()) {
-    GroupName = Group->getName();
-    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));
-}

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=335333&r1=335332&r2=335333&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/stack-size-section.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/stack-size-section.ll Fri Jun 22 03:27:33 2018
@@ -2,7 +2,7 @@
 
 ; CHECK-LABEL: func1:
 ; CHECK-NEXT: .Lfunc_begin0:
-; CHECK: .section .stack_sizes,"o",%progbits,.text,unique,0
+; CHECK: .section .stack_sizes,"",%progbits
 ; 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,"",%progbits
 ; CHECK-NEXT: .long .Lfunc_begin1
 ; CHECK-NEXT: .byte 16
 define void @func2() #0 {

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=335333&r1=335332&r2=335333&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/SystemZ/stack-size-section.ll (original)
+++ llvm/trunk/test/CodeGen/SystemZ/stack-size-section.ll Fri Jun 22 03:27:33 2018
@@ -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,"", at progbits
 ; 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,"", at progbits
 ; 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,"", at progbits
 ; CHECK-NEXT: .quad .Lfunc_begin2
 ; CHECK-NEXT: .ascii  "\250\001"
 define void @func3() #0 {

Removed: llvm/trunk/test/CodeGen/X86/stack-size-section-function-sections.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/stack-size-section-function-sections.ll?rev=335332&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/stack-size-section-function-sections.ll (original)
+++ llvm/trunk/test/CodeGen/X86/stack-size-section-function-sections.ll (removed)
@@ -1,26 +0,0 @@
-; RUN: llc < %s -mtriple=x86_64-linux -stack-size-section -function-sections | FileCheck %s
-
-; 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        .text._Z3foov,"ax", at progbits
-; CHECK: .section        .stack_sizes,"o", at progbits,.text._Z3foov,unique,1
-
-; 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
-
-$_Z4fooTIiET_v = comdat any
-
-define dso_local i32 @_Z3barv() {
-  ret i32 0
-}
-
-define dso_local i32 @_Z3foov() {
-  %1 = call i32 @_Z4fooTIiET_v()
-  ret i32 %1
-}
-
-define linkonce_odr dso_local i32 @_Z4fooTIiET_v() comdat {
-  ret i32 0
-}

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=335333&r1=335332&r2=335333&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/stack-size-section.ll (original)
+++ llvm/trunk/test/CodeGen/X86/stack-size-section.ll Fri Jun 22 03:27:33 2018
@@ -2,7 +2,7 @@
 
 ; CHECK-LABEL: func1:
 ; CHECK-NEXT: .Lfunc_begin0:
-; CHECK: .section .stack_sizes,"o", at progbits
+; CHECK: .section .stack_sizes,"", at progbits
 ; 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,"", at progbits
 ; CHECK-NEXT: .quad .Lfunc_begin1
 ; CHECK-NEXT: .byte 24
 define void @func2() #0 {
@@ -22,23 +22,6 @@ define void @func2() #0 {
   ret void
 }
 
-; 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
-$_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
-define dso_local i32 @func3() section ".text.func3" {
-  %1 = alloca i32, align 4
-  store i32 0, i32* %1, align 4
-  ret i32 0
-}
-
 ; CHECK-LABEL: dynalloc:
 ; CHECK-NOT: .section .stack_sizes
 define void @dynalloc(i32 %N) #0 {




More information about the llvm-commits mailing list