]> granicus.if.org Git - llvm/commit
[WinEH] Fix catch block parent frame pointer offset
authorReid Kleckner <rnk@google.com>
Mon, 12 Aug 2019 23:02:00 +0000 (23:02 +0000)
committerReid Kleckner <rnk@google.com>
Mon, 12 Aug 2019 23:02:00 +0000 (23:02 +0000)
commitbf3672857eab1e9dc38ed20f78129e691de646ff
tree502be63cca5341df92c24cdc218c7ff8b205908e
parent95e7e916d4ac7faac060236e297d2c7bdad32dc3
[WinEH] Fix catch block parent frame pointer offset

r367088 made it so that funclets store XMM registers into their local
frame instead of storing them to the parent frame. However, that change
forgot to update the parent frame pointer offset for catch blocks. This
change does that.

Fixes crashes when an exception is rethrown in a catch block that saves
XMMs, as described in https://crbug.com/992860.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@368631 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86FrameLowering.cpp
test/CodeGen/X86/win64-funclet-savexmm.ll