aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineBasicBlock.cpp
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-05-31 19:59:41 +0000
committerReid Kleckner <rnk@google.com>2017-05-31 19:59:41 +0000
commit0449316ea0637b33d12b9e5379bb7528a7c5498a (patch)
treec1a494ff7ec799dabe524b30d0989d2ea40c6063 /llvm/lib/CodeGen/MachineBasicBlock.cpp
parentd54c566510036ea478c6012658d2b582560ea98e (diff)
downloadllvm-0449316ea0637b33d12b9e5379bb7528a7c5498a.zip
llvm-0449316ea0637b33d12b9e5379bb7528a7c5498a.tar.gz
llvm-0449316ea0637b33d12b9e5379bb7528a7c5498a.tar.bz2
Don't try to spill static allocas when emitting expr cleanups with branches
Credit goes to Gor Nishanov for putting together the fix in https://reviews.llvm.org/D33733! This patch is essentially me patching it locally and writing some test cases to convince myself that it was necessary for GNU statement expressions with branches as well as coroutines. I'll ask Gor to land his patch with just the coroutines test. During LValue expression evaluation, references can be bound to anything, really: call results, aggregate temporaries, local variables, global variables, or indirect arguments. We really only want to spill instructions that were emitted as part of expression evaluation, and static allocas are not that. llvm-svn: 304335
Diffstat (limited to 'llvm/lib/CodeGen/MachineBasicBlock.cpp')
0 files changed, 0 insertions, 0 deletions