1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-24 13:33:37 +02:00
llvm-mirror/test
Gor Nishanov ef81a105e5 [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
2017-05-17 03:09:22 +00:00
..
Analysis [SCEV] Fix sorting order for AddRecExprs 2017-05-16 07:27:06 +00:00
Assembler
Bindings
Bitcode Add "REQUIRES:" to the last few tests that use target specific intrinsics 2017-05-15 22:15:22 +00:00
BugPoint
CodeGen Re-commit r302678, fixing PR33053. 2017-05-16 21:29:22 +00:00
DebugInfo [llvm-pdbdump] Add the option to sort functions and data. 2017-05-14 01:13:40 +00:00
Examples
ExecutionEngine
Feature Test for r303197 2017-05-16 20:53:27 +00:00
FileCheck
Instrumentation MSan: Mark MemorySanitizer tests that use x86 intrinsics as REQUIRES: x86 2017-05-13 16:24:38 +00:00
Integer
JitListener
LibDriver
Linker
LTO Add support for handling ifuncs to GlobalValue::getBaseObject 2017-05-15 18:28:29 +00:00
MC AArch64: diagnose unrecognized features in .cpu directive. 2017-05-15 19:42:15 +00:00
Object Add support for handling ifuncs to GlobalValue::getBaseObject 2017-05-15 18:28:29 +00:00
ObjectYAML
Other
SymbolRewriter
TableGen [TableGen] Add EncoderMethod to RegisterOperand 2017-05-15 10:13:07 +00:00
ThinLTO/X86
tools [llvm-pdbdump] Add the option to sort functions and data. 2017-05-14 01:13:40 +00:00
Transforms [coroutines] Handle spills before catchswitch 2017-05-17 03:09:22 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg
lit.site.cfg.in
TestRunner.sh