diff options
author | George Rimar <grimar@accesssoftek.com> | 2018-06-22 10:53:47 +0000 |
---|---|---|
committer | George Rimar <grimar@accesssoftek.com> | 2018-06-22 10:53:47 +0000 |
commit | dcf59c548009b983fd78d2625eed79f319d42e31 (patch) | |
tree | a9bc21a99cb668cd06e06bdac2a7d7a4633acd50 /llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | |
parent | e0a6eb1f4f3459a162d23377b421dba545f8fd43 (diff) | |
download | bcm5719-llvm-dcf59c548009b983fd78d2625eed79f319d42e31.tar.gz bcm5719-llvm-dcf59c548009b983fd78d2625eed79f319d42e31.zip |
Recommit r335333 "[MC] - Add .stack_size sections into groups and link them with .text"
With compilation fix.
Original commit message:
D39788 added a '.stack-size' section containing metadata on function stack sizes
to output ELF files behind the new -stack-size-section flag.
This change does following two things on top:
1) Imagine the case when there are -ffunction-sections flag given and there are text sections in COMDATs.
The patch adds a '.stack-size' section into corresponding COMDAT group, so that linker will be able to
eliminate them fast during resolving the COMDATs.
2) Patch sets a SHF_LINK_ORDER flag and links '.stack-size' with the corresponding .text.
With that linker will be able to do -gc-sections on dead stack sizes sections.
Differential revision: https://reviews.llvm.org/D46874
llvm-svn: 335336
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 9a74917b05e..1b1edfbd154 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -989,7 +989,8 @@ void AsmPrinter::emitStackSizeSection(const MachineFunction &MF) { if (!MF.getTarget().Options.EmitStackSizeSection) return; - MCSection *StackSizeSection = getObjFileLowering().getStackSizesSection(); + MCSection *StackSizeSection = + getObjFileLowering().getStackSizesSection(*getCurrentSection()); if (!StackSizeSection) return; |