[PATCH] D18046: [X86] Providing correct unwind info in function epilogue

Violeta Vukobrat via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 10 07:14:39 PST 2016


violetav created this revision.
violetav added reviewers: rnk, mkuper.
violetav added subscribers: DavidKreitzer, majnemer, petarj, llvm-commits.
violetav set the repository for this revision to rL LLVM.

This patch contains a pass that runs after basic block layout and inserts CFI instructions in epilogue. It assumes that there are CFI instructions inserted in prologue. It then finds the value of the offset/register values that are set and uses them to compute the offset/register values that should be set in epilogue. Also, it handles the case with multiple epilogues or epilogue block in the middle of the function by adding CFI instructions where needed.

Repository:
  rL LLVM

http://reviews.llvm.org/D18046

Files:
  lib/Target/X86/CMakeLists.txt
  lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
  lib/Target/X86/X86.h
  lib/Target/X86/X86CFIInstrInserter.cpp
  lib/Target/X86/X86FrameLowering.cpp
  lib/Target/X86/X86TargetMachine.cpp
  test/CodeGen/X86/epilogue-cfi-fp.ll
  test/CodeGen/X86/epilogue-cfi-no-fp.ll
  test/CodeGen/X86/throws-cfi-fp.ll
  test/CodeGen/X86/throws-cfi-no-fp.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18046.50273.patch
Type: text/x-patch
Size: 46176 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160310/9eb0a669/attachment.bin>


More information about the llvm-commits mailing list