llvm-project/llvm/test
Gor Nishanov df3d71a7a9 [coroutines] Spill the result of the invoke instruction correctly
Summary:
When we decide that the result of the invoke instruction need to be spilled, we need to insert the spill into a block that is on the normal edge coming out of the invoke instruction. (Prior to this change the code would insert the spill immediately after the invoke instruction, which breaks the IR, since invoke is a terminator instruction).

In the following example, we will split the edge going into %cont and insert the spill there.

```
  %r = invoke double @print(double 0.0) to label %cont unwind label %pad

  cont:
    %0 = call i8 @llvm.coro.suspend(token none, i1 false)
    switch i8 %0, label %suspend [i8 0, label %resume
                                  i8 1, label %cleanup]
  resume:
    call double @print(double %r)
```

Reviewers: majnemer

Reviewed By: majnemer

Subscribers: mehdi_amini, llvm-commits, EricWF

Differential Revision: https://reviews.llvm.org/D29102

llvm-svn: 293006
2017-01-25 02:25:54 +00:00
..
Analysis This test apparently requires an x86 target and is failing on numerous 2017-01-23 08:33:29 +00:00
Assembler [NVPTX] Auto-upgrade some NVPTX intrinsics to LLVM target-generic code. 2017-01-21 01:00:32 +00:00
Bindings [cmake] Canonicalize CMake booleans to 0/1 for lit interop 2017-01-06 21:33:48 +00:00
Bitcode [ThinLTO] Subsume all importing checks into a single flag 2017-01-05 14:32:16 +00:00
BugPoint
CodeGen GlobalISel: Use the correct types when translating landingpad instructions 2017-01-25 00:16:53 +00:00
DebugInfo [pdb] Write the Named Stream mapping to Yaml and binary. 2017-01-20 22:42:09 +00:00
Examples
ExecutionEngine RuntimeDyldELF: add LDST128_ABS_LO12_NC reloc 2017-01-23 13:52:08 +00:00
Feature Fix some broken CHECK lines. 2017-01-22 20:28:56 +00:00
FileCheck Commit a test for match-full-lines. 2017-01-09 23:11:25 +00:00
Instrumentation [sanitizer-coverage] emit __sanitizer_cov_trace_pc_guard w/o a preceding 'if' by default. Update the docs, also add deprecation notes around other parts of sanitizer coverage 2017-01-24 00:57:31 +00:00
Integer
JitListener [cmake] Canonicalize CMake booleans to 0/1 for lit interop 2017-01-06 21:33:48 +00:00
LTO IPO, LTO: Plumb the summary from the LTO API into the pass manager. 2017-01-20 22:18:52 +00:00
LibDriver LibDriver: Allow resource files to be archive members. 2016-12-15 19:37:46 +00:00
Linker Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
MC Revert [AMDGPU][mc][tests][NFC] Add coverage/smoke tests for Gfx7 and Gfx8. 2017-01-24 19:58:59 +00:00
Object Add support for the new LC_NOTE load command. 2017-01-19 17:36:31 +00:00
ObjectYAML Attempt to fix the testcase in r292824 2017-01-23 20:42:17 +00:00
Other [PH] Replace uses of AssertingVH from members of analysis results with 2017-01-24 12:55:57 +00:00
SymbolRewriter
TableGen [tablegen] Delete duplicates from a vector without skipping elements 2016-12-01 19:38:50 +00:00
ThinLTO/X86 [LTO] Add test to show up we don't support ThinLTO yet. 2017-01-24 00:59:00 +00:00
Transforms [coroutines] Spill the result of the invoke instruction correctly 2017-01-25 02:25:54 +00:00
Unit
Verifier [TBAAVerifier] Be stricter around verifying scalar nodes 2016-12-29 15:47:05 +00:00
YAMLParser
tools Fix llvm-objdump so it picks a good CPU based for Mach-O files 2017-01-24 23:41:04 +00:00
.clang-format
CMakeLists.txt [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
TestRunner.sh
lit.cfg [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
lit.site.cfg.in [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00