aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2017-02-16 18:25:37 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2017-02-16 18:25:37 +0000
commit42f7712e2340e64173d53900cf5b84f956af8cf3 (patch)
tree94ae495f9fcce020ae96e26757fa3349c7d8a15e /llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
parent8e55b685c2969a01a5bd887369d3610d779aa4c8 (diff)
downloadllvm-42f7712e2340e64173d53900cf5b84f956af8cf3.zip
llvm-42f7712e2340e64173d53900cf5b84f956af8cf3.tar.gz
llvm-42f7712e2340e64173d53900cf5b84f956af8cf3.tar.bz2
x86 interrupt calling convention: only save xmm registers if the target supports SSE
The existing code always saves the xmm registers for 64-bit targets even if the target doesn't support SSE (which is common for kernels). Thus, the compiler inserts movaps instructions which lead to CPU exceptions when an interrupt handler is invoked. This commit fixes this bug by returning a register set without xmm registers from getCalleeSavedRegs and getCallPreservedMask for such targets. Patch by Philipp Oppermann. Differential Revision: https://reviews.llvm.org/D29959 llvm-svn: 295347
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp')
0 files changed, 0 insertions, 0 deletions