The local register allocator has to spill dirty callee saved registers before a
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 30 Apr 2010 21:19:29 +0000 (21:19 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Fri, 30 Apr 2010 21:19:29 +0000 (21:19 +0000)
commit8387d7db193c2ab1961593487d77cefb550a82c7
tree42533fe159279c3e22d410e080cff549cbc586f7
parent3f5e91565273e3f4639d37ee5a5b856699e8c9e5
The local register allocator has to spill dirty callee saved registers before a
call that might throw. The landing pad assumes that all registers are in stack
slots.

We used to spill those dirty CSRs after the call, and the stack slots would be
wrong when arriving at the landing pad.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102770 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/RegAllocLocal.cpp
test/CodeGen/X86/2010-04-30-LocalAlloc-LandingPad.ll [new file with mode: 0644]