[all-commits] [llvm/llvm-project] 9a9b64: [WinEH] Allocate space in funclets stack to save X...

Pengfei Wang via All-commits all-commits at lists.llvm.org
Tue Nov 5 12:53:53 PST 2019


  Branch: refs/heads/release/9.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 9a9b6492a66c3f83e58f5b4e451797b6baf7f3ea
      https://github.com/llvm/llvm-project/commit/9a9b6492a66c3f83e58f5b4e451797b6baf7f3ea
  Author: Pengfei Wang <pengfei.wang at intel.com>
  Date:   2019-11-05 (Tue, 05 Nov 2019)

  Changed paths:
    M llvm/lib/Target/X86/X86FrameLowering.cpp
    M llvm/lib/Target/X86/X86FrameLowering.h
    M llvm/lib/Target/X86/X86MachineFunctionInfo.h
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/test/CodeGen/X86/avx512-intel-ocl.ll
    M llvm/test/CodeGen/X86/catchpad-realign-savexmm.ll
    A llvm/test/CodeGen/X86/win64-funclet-savexmm.ll
    M llvm/test/CodeGen/X86/x86-interrupt_cc.ll

  Log Message:
  -----------
  [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 at 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 at intel.com>
llvm-svn: 370005
(cherry picked from commit 564fb58a32a808c34d809820d00e2f23c0307a71)




More information about the All-commits mailing list