summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/support/optional_with.py
diff options
context:
space:
mode:
authorGor Nishanov <GorNishanov@gmail.com>2017-05-17 03:09:22 +0000
committerGor Nishanov <GorNishanov@gmail.com>2017-05-17 03:09:22 +0000
commitdb38485588fdba5b02225c7973c4cc1c74edf544 (patch)
treeb60de95f96d7209cae2840d4daf352c60985a9b1 /lldb/packages/Python/lldbsuite/support/optional_with.py
parent58bb7bd18acc63b90e6a98d4c1a337e76412e0a6 (diff)
downloadbcm5719-llvm-db38485588fdba5b02225c7973c4cc1c74edf544.tar.gz
bcm5719-llvm-db38485588fdba5b02225c7973c4cc1c74edf544.zip
[coroutines] Handle spills before catchswitch
If we need to spill the result of the PHI instruction, we insert the spill after all of the PHIs and EHPads, however, in a catchswitch block there is no room to insert the spill. Make room by splitting away catchswitch into a separate block. Before the fix: catch.dispatch: %val = phi i32 [ 1, %if.then ], [ 2, %if.else ] %switch = catchswitch within none [label %catch] unwind label %cleanuppad After: catch.dispatch: %val = phi i32 [ 1, %if.then ], [ 2, %if.else ] %tok = cleanuppad within none [] ; spill goes here cleanupret from %tok unwind label %catch.dispatch.switch catch.dispatch.switch: %switch = catchswitch within none [label %catch] unwind label %cleanuppad https://reviews.llvm.org/D31846 llvm-svn: 303232
Diffstat (limited to 'lldb/packages/Python/lldbsuite/support/optional_with.py')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud