1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
Go to file
Pengfei Wang 1a3fec4437 [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
2019-08-27 01:53:24 +00:00
benchmarks
bindings Bump llvm-go to C++14 2019-08-15 10:55:25 +00:00
cmake [CMake] Update C4324 MSVC warning comment to explain its still broken at VS2019 2019-08-20 11:20:05 +00:00
docs Debug Info: Support for DW_AT_export_symbols for anonymous structs 2019-08-23 17:19:21 +00:00
examples [ORC] Make sure we linker-mangle symbol names in the SpeculationLayer. 2019-08-18 21:29:57 +00:00
include [Analysis] In EmitGEPOffset, use Constant::getUniqueInteger to handle struct indices in vector GEPs. 2019-08-27 01:07:37 +00:00
lib [WinEH] Allocate space in funclets stack to save XMM CSRs 2019-08-27 01:53:24 +00:00
projects [libc++] Take 2: Integrate the PSTL into libc++ 2019-08-05 18:29:14 +00:00
resources
runtimes
test [WinEH] Allocate space in funclets stack to save XMM CSRs 2019-08-27 01:53:24 +00:00
tools [NFC][cmake] Build fix in tools/llvm-config/CMakeLists.txt 2019-08-26 09:42:30 +00:00
unittests [ORC] Make sure that queries on emitted-but-not-ready symbols fail correctly. 2019-08-26 21:42:51 +00:00
utils [GlobalISel] Import patterns containing INSERT_SUBREG 2019-08-26 21:38:57 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt Autogenerate the shebang lines for tools/opt-viewer 2019-08-21 01:48:28 +00:00
CODE_OWNERS.TXT
configure
CREDITS.TXT Update email address. 2019-07-17 07:02:02 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.