HomePhabricator

[WinEH] Allocate space in funclets stack to save XMM CSRs

Authored by pengfei on Aug 26 2019, 6:53 PM.

Description

[WinEH] Allocate space in funclets stack to save XMM CSRs

Summary:
This is an alternate approach to D63396

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 space in funclets stack for saving callee-saved xmm
registers and uses RSP instead RBP to access memory.

Signed-off-by: Pengfei Wang <pengfei.wang@intel.com>

Reviewers: rnk, RKSimon, craig.topper, annita.zhang, LuoYuanke, andrew.w.kaylor

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66596

Signed-off-by: Pengfei Wang <pengfei.wang@intel.com>
llvm-svn: 370005

Details

Committed
pengfeiAug 26 2019, 6:53 PM
Differential Revision
D66596: [WinEH] Allocate space in funclets stack to save XMM CSRs
Parents
rG6a808d5a8399: Fix clangd's IndexAction for FileSkipped API update
Branches
Unknown
Tags
Unknown