Home
last modified time | relevance | path

Searched refs:suspend (Results 1 – 25 of 126) sorted by relevance

123456

/llvm-project-15.0.7/llvm/test/Transforms/Coroutines/
H A Dcoro-save-nomerge.ll5 declare i8 @llvm.coro.suspend(token, i1)
12 ; CHECK: await.suspend:
16 ; CHECK: final.suspend:
25 br i1 %cmp, label %await.suspend, label %final.suspend
27 await.suspend:
32 final.suspend:
46 ; CHECK: await.suspend:
50 ; CHECK: final.suspend:
59 br i1 %cmp, label %await.suspend, label %final.suspend
61 await.suspend:
[all …]
H A Dcoro-debug-O2.ll36 br i1 %ready, label %init.ready, label %init.suspend
41 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
42 switch i8 %suspend, label %coro.ret [
53 br i1 %ready.again, label %await.ready, label %await.suspend
59 %suspend.again = call i8 @llvm.coro.suspend(token %save.again, i1 false)
60 switch i8 %suspend.again, label %coro.ret [
79 %final.suspend.coro.save = call token @llvm.coro.save(i8* null)
82 … %final.suspend.coro.suspend = call i8 @llvm.coro.suspend(token %final.suspend.coro.save, i1 true)
83 switch i8 %final.suspend.coro.suspend, label %coro.ret [
114 … ; preds = %cleanup.cont, %after.coro.free, %final.suspend, %await.suspend, %init.suspend
[all …]
H A Dcoro-debug-dbg.values-not_used_in_frame.ll33 br i1 %ready, label %init.ready, label %init.suspend
38 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
39 switch i8 %suspend, label %coro.ret [
57 br i1 %ready.again, label %await.ready, label %await.suspend
63 %suspend.again = call i8 @llvm.coro.suspend(token %save.again, i1 false)
64 switch i8 %suspend.again, label %coro.ret [
92 %final.suspend.coro.save = call token @llvm.coro.save(i8* null)
95 %final.suspend.coro.suspend = call i8 @llvm.coro.suspend(token %final.suspend.coro.save, i1 true)
96 switch i8 %final.suspend.coro.suspend, label %coro.ret [
127 … ; preds = %cleanup.cont, %after.coro.free, %final.suspend, %await.suspend, %init.suspend
[all …]
H A Dcoro-debug-coro-frame.ll125 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
126 switch i8 %suspend, label %coro.ret [
143 %suspend.again = call i8 @llvm.coro.suspend(token %save.again, i1 false)
181 … %final.suspend.coro.suspend = call i8 @llvm.coro.suspend(token %final.suspend.coro.save, i1 true)
182 switch i8 %final.suspend.coro.suspend, label %coro.ret [
213 … ; preds = %cleanup.cont, %after.coro.free, %final.suspend, %await.suspend, %init.suspend
259 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
277 %suspend.again = call i8 @llvm.coro.suspend(token %save.again, i1 false)
312 … %final.suspend.coro.suspend = call i8 @llvm.coro.suspend(token %final.suspend.coro.save, i1 true)
313 switch i8 %final.suspend.coro.suspend, label %coro.ret [
[all …]
H A Dcoro-debug-dbg.values.ll40 br i1 %ready, label %init.ready, label %init.suspend
45 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
46 switch i8 %suspend, label %coro.ret [
64 br i1 %ready.again, label %await.ready, label %await.suspend
70 %suspend.again = call i8 @llvm.coro.suspend(token %save.again, i1 false)
71 switch i8 %suspend.again, label %coro.ret [
103 %final.suspend.coro.save = call token @llvm.coro.save(i8* null)
106 %final.suspend.coro.suspend = call i8 @llvm.coro.suspend(token %final.suspend.coro.save, i1 true)
107 switch i8 %final.suspend.coro.suspend, label %coro.ret [
138 … ; preds = %cleanup.cont, %after.coro.free, %final.suspend, %await.suspend, %init.suspend
[all …]
H A Dno-suspend.ll1 ; Test no suspend coroutines
35 br label %suspend
36 suspend:
87 br label %suspend
88 suspend:
139 suspend:
203 suspend:
258 suspend:
306 suspend:
359 suspend:
[all …]
H A Dcoro-debug-dbg.addr.ll64 br i1 %ready, label %init.ready, label %init.suspend
69 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
70 switch i8 %suspend, label %coro.ret [
87 br i1 %ready.again, label %await.ready, label %await.suspend
93 %suspend.again = call i8 @llvm.coro.suspend(token %save.again, i1 false)
94 switch i8 %suspend.again, label %coro.ret [
124 %final.suspend.coro.save = call token @llvm.coro.save(i8* null)
127 %final.suspend.coro.suspend = call i8 @llvm.coro.suspend(token %final.suspend.coro.save, i1 true)
128 switch i8 %final.suspend.coro.suspend, label %coro.ret [
159 … ; preds = %cleanup.cont, %after.coro.free, %final.suspend, %await.suspend, %init.suspend
[all …]
H A Dcoro-debug-frame-variable.ll82 br i1 %ready, label %init.ready, label %init.suspend
87 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
88 switch i8 %suspend, label %coro.ret [
109 br i1 %ready.again, label %await.ready, label %await.suspend
115 %suspend.again = call i8 @llvm.coro.suspend(token %save.again, i1 false)
116 switch i8 %suspend.again, label %coro.ret [
151 %final.suspend.coro.save = call token @llvm.coro.save(i8* null)
154 %final.suspend.coro.suspend = call i8 @llvm.coro.suspend(token %final.suspend.coro.save, i1 true)
155 switch i8 %final.suspend.coro.suspend, label %coro.ret [
186 … ; preds = %cleanup.cont, %after.coro.free, %final.suspend, %await.suspend, %init.suspend
[all …]
H A Dcoro-materialize.ll1 ; Verifies that we materialize instruction across suspend points
12 %sp1 = call i8 @llvm.coro.suspend(token none, i1 false)
13 switch i8 %sp1, label %suspend [i8 0, label %resume1
17 %sp2 = call i8 @llvm.coro.suspend(token none, i1 false)
18 switch i8 %sp1, label %suspend [i8 0, label %resume2
29 br label %suspend
30 suspend:
41 declare i8 @llvm.coro.suspend(token, i1)
H A Dcoro-split-musttail7.ll20 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
22 switch i8 %suspend, label %exit [
23 i8 0, label %await.suspend
26 await.suspend:
29 %suspend2 = call i8 @llvm.coro.suspend(token %save2, i1 false)
60 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
62 switch i8 %suspend, label %exit [
63 i8 0, label %await.suspend
66 await.suspend:
69 %suspend2 = call i8 @llvm.coro.suspend(token %save2, i1 false)
[all …]
H A Dcoro-split-musttail6.ll20 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
22 switch i8 %suspend, label %exit [
23 i8 0, label %await.suspend
26 await.suspend:
29 %suspend2 = call i8 @llvm.coro.suspend(token %save2, i1 false)
59 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
61 switch i8 %suspend, label %exit [
62 i8 0, label %await.suspend
65 await.suspend:
68 %suspend2 = call i8 @llvm.coro.suspend(token %save2, i1 false)
[all …]
H A Dcoro-split-musttail1.ll1 ; Tests that coro-split will convert coro.resume followed by a suspend to a
16 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
17 switch i8 %suspend, label %exit [
18 i8 0, label %await.suspend
21 await.suspend:
34 br label %final.suspend
40 br label %final.suspend
45 br label %final.suspend
46 final.suspend:
47 %suspend2 = call i8 @llvm.coro.suspend(token %save2, i1 false)
[all …]
H A Dcoro-split-musttail3.ll1 ; Tests that coro-split will convert coro.resume followed by a suspend to a
16 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
17 %cmp = icmp eq i8 %suspend, 0
18 br i1 %cmp, label %await.suspend, label %exit
19 await.suspend:
32 br label %final.suspend
38 br label %final.suspend
43 br label %final.suspend
44 final.suspend:
45 %suspend2 = call i8 @llvm.coro.suspend(token %save2, i1 false)
[all …]
H A Dcoro-split-recursive.ll10 declare i8 @llvm.coro.suspend(token, i1)
23 br i1 undef, label %if.then154, label %init.suspend
25 init.suspend: ; preds = %entry
27 %3 = call i8 @llvm.coro.suspend(token %save, i1 false)
31 if.then154: ; preds = %init.suspend, %entry
35 invoke.cont163: ; preds = %if.then154, %init.suspend
H A Dex5.ll1 ; Fifth example from Doc/Coroutines.rst (final suspend)
19 %s = call i8 @llvm.coro.suspend(token none, i1 false)
20 switch i8 %s, label %suspend [i8 0, label %while.cond
23 %s.final = call i8 @llvm.coro.suspend(token none, i1 true)
24 switch i8 %s.final, label %suspend [i8 0, label %trap
32 br label %suspend
33 suspend:
47 declare i8 @llvm.coro.suspend(token, i1)
H A Dex3.ll1 ; Third example from Doc/Coroutines.rst (two suspend points)
20 %0 = call i8 @llvm.coro.suspend(token none, i1 false)
21 switch i8 %0, label %suspend [i8 0, label %loop.resume
27 %1 = call i8 @llvm.coro.suspend(token none, i1 false)
28 switch i8 %1, label %suspend [i8 0, label %loop
33 br label %suspend
34 suspend:
68 declare i8 @llvm.coro.suspend(token, i1)
H A Dcoro-frame-unreachable.ll15 %0 = call i8 @llvm.coro.suspend(token none, i1 false)
16 switch i8 %0, label %suspend [i8 0, label %resume
24 br label %suspend
26 suspend:
33 br label %suspend
39 declare i8 @llvm.coro.suspend(token, i1)
H A Dphi-coro-end.ll1 ; Verify that we correctly handle suspend when the coro.end block contains phi
10 %0 = call i8 @llvm.coro.suspend(token none, i1 false)
11 switch i8 %0, label %suspend [i8 0, label %cleanup i8 1, label %cleanup]
16 br label %suspend
18 suspend:
38 declare i8 @llvm.coro.suspend(token, i1)
H A Dcoro-split-musttail4.ll1 ; Tests that coro-split will convert a call before coro.suspend to a musttail call
2 ; while the user of the coro.suspend is a icmpinst.
18 %init_suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
27 %suspend = call i8 @llvm.coro.suspend(token %save2, i1 true)
28 %switch = icmp ult i8 %suspend, 2
55 declare i8 @llvm.coro.suspend(token, i1) #2
H A Dcoro-split-musttail5.ll16 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
18 switch i8 %suspend, label %exit [
19 i8 0, label %await.suspend
22 await.suspend:
25 %suspend2 = call i8 @llvm.coro.suspend(token %save2, i1 false)
50 declare i8 @llvm.coro.suspend(token, i1) #2
H A Dcoro-alloca-08.ll12 ; The lifetime of testval starts and ends before coro.suspend. Even though consume.i8.array
27 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
28 switch i8 %suspend, label %exit [
40 ; The lifetime of testval starts after coro.suspend. So it will never live across suspension
50 %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
51 switch i8 %suspend, label %exit [
78 declare i8 @llvm.coro.suspend(token, i1) #3
/llvm-project-15.0.7/mlir/test/Dialect/Async/
H A Dasync-runtime-ref-counting.mlir89 async.coro.suspend %saved, ^suspend, ^resume, ^cleanup
94 cf.br ^suspend
95 ^suspend:
110 async.coro.suspend %saved, ^suspend, ^resume, ^cleanup
115 cf.br ^suspend
116 ^suspend:
132 async.coro.suspend %saved, ^suspend, ^resume, ^cleanup
144 ^suspend:
158 async.coro.suspend %3, ^suspend, ^resume, ^cleanup
165 async.coro.suspend %4, ^suspend, ^resume_1, ^cleanup
[all …]
H A Dcoro.mlir43 // CHECK: async.coro.suspend %arg0
45 async.coro.suspend %arg0, ^suspend, ^resume, ^cleanup
54 ^suspend:
56 // CHECK: return {coro.suspend}
57 return { coro.suspend }
/llvm-project-15.0.7/llvm/docs/
H A DCoroutines.rst107 points, suspend points must store the index of the active suspend in
275 <suspend> // returns a coroutine handle on first suspend
306 suspend:
474 <suspend>
476 <suspend>
525 suspend:
563 <suspend>
568 <suspend>
636 suspend:
676 .. _final suspend:
[all …]
/llvm-project-15.0.7/llvm/test/Transforms/LICM/
H A Dsink-with-coroutine.ll1 ; Verifies that LICM is disabled for loops that contains coro.suspend.
14 ; CHECK-NEXT: [[SUSPEND:%.*]] = call i8 @llvm.coro.suspend(token none, i1 false)
36 %suspend = call i8 @llvm.coro.suspend(token none, i1 false)
37 switch i8 %suspend, label %bb2 [
51 declare i8 @llvm.coro.suspend(token, i1)

123456