OpenGrok
Home
Sort by:
relevance
|
last modified time
|
path
Full Search
in project(s):
src
xsrc
Definition
Symbol
File Path
History
|
|
Help
Searched
refs:coro
(Results
1 - 7
of
7
) sorted by relevancy
/src/external/apache2/llvm/dist/llvm/lib/Transforms/Coroutines/
CoroInternal.h
29
// CoroEarly pass marks every function that has
coro
.begin with a string
33
// call to an empty function "
coro
.devirt.trigger" which is devirtualized by
44
#define CORO_DEVIRT_TRIGGER_FN "
coro
.devirt.trigger"
46
namespace
coro
{
namespace in namespace:llvm
120
coro
::ABI ABI;
170
assert(ABI ==
coro
::ABI::Switch);
175
assert(ABI ==
coro
::ABI::Retcon ||
176
ABI ==
coro
::ABI::RetconOnce);
181
assert(ABI ==
coro
::ABI::Async);
186
assert(ABI ==
coro
::ABI::Switch)
[
all
...]
CoroSplit.cpp
75
#define DEBUG_TYPE "
coro
-split"
103
coro
::Shape &Shape;
115
CoroCloner(Function &OrigF, const Twine &Suffix,
coro
::Shape &Shape,
119
assert(Shape.ABI ==
coro
::ABI::Switch);
123
CoroCloner(Function &OrigF, const Twine &Suffix,
coro
::Shape &Shape,
126
FKind(Shape.ABI ==
coro
::ABI::Async ? Kind::Async : Kind::Continuation),
128
assert(Shape.ABI ==
coro
::ABI::Retcon ||
129
Shape.ABI ==
coro
::ABI::RetconOnce || Shape.ABI ==
coro
::ABI::Async);
168
const
coro
::Shape &Shape, Value *FramePtr
[
all
...]
Coroutines.cpp
94
coro
::LowererBase::LowererBase(Module &M)
102
// llvm.
coro
.subfn.addr. It generates the following sequence:
104
// call i8* @llvm.
coro
.subfn.addr(i8* %Arg, i8 %index)
107
Value *
coro
::LowererBase::makeSubFnCall(Value *Arg, int Index,
126
"llvm.
coro
.alloc",
127
"llvm.
coro
.async.context.alloc",
128
"llvm.
coro
.async.context.dealloc",
129
"llvm.
coro
.async.size.replace",
130
"llvm.
coro
.async.store_resume",
131
"llvm.
coro
.begin"
[
all
...]
CoroFrame.cpp
41
// The "
coro
-suspend-crossing" flag is very noisy. There is another debug type,
42
// "
coro
-frame", which results in leaner debug spew.
43
#define DEBUG_TYPE "
coro
-suspend-crossing"
88
// End: a boolean indicating whether block 'i' contains a
coro
.end intrinsic.
114
SuspendCrossingInfo(Function &F,
coro
::Shape &Shape);
137
// As a special case, treat uses by an llvm.
coro
.suspend.retcon or an
138
// llvm.
coro
.suspend.async as if they were uses in the suspend's single
142
assert(UseBB && "should have split
coro
.suspend into its own block");
155
// As a special case, treat values produced by an llvm.
coro
.suspend.*
160
assert(DefBB && "should have split
coro
.suspend into its own block")
[
all
...]
CoroCleanup.cpp
19
#define DEBUG_TYPE "
coro
-cleanup"
23
struct Lowerer :
coro
::LowererBase {
115
return
coro
::declaresIntrinsics(
116
M, {"llvm.
coro
.alloc", "llvm.
coro
.begin", "llvm.
coro
.subfn.addr",
117
"llvm.
coro
.free", "llvm.
coro
.id", "llvm.
coro
.id.retcon",
118
"llvm.
coro
.id.retcon.once", "llvm.coro.async.size.replace"})
[
all
...]
CoroEarly.cpp
18
#define DEBUG_TYPE "
coro
-early"
21
// Created on demand if the
coro
-early pass has work to do.
22
class Lowerer : public
coro
::LowererBase {
42
// Replace a direct call to
coro
.resume or
coro
.destroy with an indirect call to
43
// an address returned by
coro
.subfn.addr intrinsic. This is done so that
45
// to
coro
.subfn.addr with an appropriate function address.
54
// the coroutine frame. i8*
coro
.promise(i8*, i1 from) intrinsic adds an offset
83
// The llvm.
coro
.done intrinsic is used to check whether a coroutine is
89
static_assert(
coro
::Shape::SwitchFieldIndex::Resume == 0
[
all
...]
CoroElide.cpp
22
#define DEBUG_TYPE "
coro
-elide"
25
// Created on demand if the
coro
-elide pass has work to do.
26
struct Lowerer :
coro
::LowererBase {
47
// Go through the list of
coro
.subfn.addr intrinsics and replace them with the
55
// being replaced. Note: All
coro
.subfn.addr intrinsics return the same type,
123
// llvm.
coro
.alloc and llvm.
coro
.free instructions.
130
// Replacing llvm.
coro
.alloc with false will suppress dynamic
133
// id =
coro
.id(...)
134
// mem =
coro
.alloc(id) ? malloc(coro.size()) : 0
[
all
...]
Completed in 74 milliseconds
Indexes created Mon Sep 14 00:24:24 UTC 2026