[PATCH] D17795: [X86] Don't give catch objects a displacement of zero

David Majnemer via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 1 22:48:46 PST 2016


majnemer created this revision.
majnemer added a reviewer: rnk.
majnemer added a subscriber: llvm-commits.

We need to make sure that catch objects don't get assigned a
displacement of zero by sorting other objects after them.

Otherwise, we will confuse the runtime into thinking there is no catch
object to initialize.

N.B. This doesn't work if there are no other non-catch objects!  It was
believed that we could use the UnwindHelp object but it is a fixed
object, not a normal stack object. :/

http://reviews.llvm.org/D17795

Files:
  lib/CodeGen/PrologEpilogInserter.cpp
  lib/Target/X86/X86FrameLowering.cpp
  lib/Target/X86/X86FrameLowering.h
  test/CodeGen/X86/catchpad-dynamic-alloca.ll
  test/CodeGen/X86/cleanuppad-inalloca.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17795.49583.patch
Type: text/x-patch
Size: 8894 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160302/29ea59a6/attachment.bin>


More information about the llvm-commits mailing list