[PATCH] D13110: New StackMap format

Kyungwoo Lee via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 23 10:57:10 PDT 2015


kyulee1 created this revision.
kyulee1 added reviewers: ributzka, swaroop.sridhar.
kyulee1 added a subscriber: llvm-commits.
Herald added a subscriber: sanjoy.

The current stackmap format exposed limitations. This new is based on the discussed proposal (http://lists.llvm.org/pipermail/llvm-dev/2015-July/087826.html).
In particular, there were missing correlation between functions and stackmap records, which required clients to keep track of the correlations. The new format fixes this issue.
The new format has additional information like function size and call size for the client's needs.
The format is now flat. Every contents are at a fixed offsets from the header, which makes parsing easier.
FrameRegister content has not been implemented yet, which will be reconciled after further clarification.
Note the plan is to keep two versions of stackmap in the current release allowing clients to update their use and then replace the existing version by the new one in the next release.


http://reviews.llvm.org/D13110

Files:
  docs/StackMaps.rst
  include/llvm/CodeGen/AsmPrinter.h
  include/llvm/CodeGen/StackMaps.h
  include/llvm/Object/StackMapParser.h
  lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  lib/CodeGen/StackMaps.cpp
  lib/Target/AArch64/AArch64AsmPrinter.cpp
  lib/Target/PowerPC/PPCAsmPrinter.cpp
  lib/Target/X86/X86AsmPrinter.h
  lib/Target/X86/X86MCInstLower.cpp
  test/CodeGen/X86/stackmap-fast-isel.ll
  test/CodeGen/X86/stackmap-frame-setup.ll
  test/CodeGen/X86/stackmap-large-constants.ll
  test/CodeGen/X86/stackmap-liveness.ll
  test/CodeGen/X86/stackmap-nops.ll
  test/CodeGen/X86/stackmap-shadow-optimization.ll
  test/CodeGen/X86/stackmap.ll
  test/CodeGen/X86/statepoint-allocas.ll
  test/CodeGen/X86/statepoint-call-lowering.ll
  test/CodeGen/X86/statepoint-stackmap-format.ll
  tools/llvm-readobj/COFFDumper.cpp
  tools/llvm-readobj/ELFDumper.cpp
  tools/llvm-readobj/MachODumper.cpp
  tools/llvm-readobj/ObjDumper.h
  tools/llvm-readobj/StackMapPrinter.h
  tools/llvm-readobj/llvm-readobj.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13110.35528.patch
Type: text/x-patch
Size: 120806 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150923/edf029f6/attachment.bin>


More information about the llvm-commits mailing list