Changes from Git (git http://labmaster3.local/git/llvm-project.git)


  1. [WinEH] Allocate space in funclets stack to save XMM CSRs (details)
Commit 9a9b6492a66c3f83e58f5b4e451797b6baf7f3ea by rnk
[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 <>
Reviewers: rnk, RKSimon, craig.topper, annita.zhang, LuoYuanke,
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision:
Signed-off-by: Pengfei Wang <> llvm-svn: 370005
(cherry picked from commit 564fb58a32a808c34d809820d00e2f23c0307a71)
The file was modifiedllvm/test/CodeGen/X86/catchpad-realign-savexmm.ll
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86MachineFunctionInfo.h
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.h
The file was modifiedllvm/test/CodeGen/X86/avx512-intel-ocl.ll
The file was addedllvm/test/CodeGen/X86/win64-funclet-savexmm.ll
The file was modifiedllvm/test/CodeGen/X86/x86-interrupt_cc.ll