[PATCH] D57970: [WinEH] Allocate unique stack slots for xmm CSRs in funclets

Andy Kaylor via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 8 12:26:00 PST 2019


andrew.w.kaylor created this revision.
andrew.w.kaylor added a reviewer: rnk.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Currently funclets reuse the same stack slots that are used in the parent function for saving callee-saved xmm registers. If the parent function modifies a callee-saved xmm register before an excpetion is thrown, the catch handler will overwrite the original saved value.

This patch allocates a second stack slot to be used in the EH funclets for saving these same registers. Long term, it would be better to determine actual CSR use by the funclets and only allocate the extra space when needed.


Repository:
  rL LLVM

https://reviews.llvm.org/D57970

Files:
  include/llvm/CodeGen/MachineFrameInfo.h
  lib/Target/X86/X86FrameLowering.cpp
  test/CodeGen/X86/catchpad-realign-savexmm.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57970.186026.patch
Type: text/x-patch
Size: 5995 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190208/a29c8a29/attachment.bin>


More information about the llvm-commits mailing list