llvm-capstone/mlir
Anton Korobeynikov 51d5d7bbae
Extend retcon.once coroutines lowering to optionally produce a normal result (#66333)
One of the main user of these kind of coroutines is swift. There yield-once (`retcon.once`) coroutines are used to temporary "expose" pointers to internal fields of various objects creating borrow scopes.

However, in some cases it might be useful also to allow these coroutines to produce a normal result, but there is no convenient way to represent this (as compared to switched-resume kind of coroutines where C++ `co_return`
is transformed to a member / callback call on promise object).

The extension is simple: we allow continuation function to have a non-void result and accept optional extra arguments via a special `llvm.coro.end.result` intrinsic that would essentially forward them as normal results.
2023-09-15 09:54:38 -07:00
..
benchmark/python [NFC][Py Reformat] Reformat python files in mlir subdir 2023-05-26 08:05:40 +02:00
cmake/modules [mlir][python bindings] generate all the enums 2023-08-23 15:03:55 -05:00
docs [mlir][bufferization] Add an ownership based buffer deallocation pass (#66337) 2023-09-14 12:13:37 +02:00
examples [mlir] Move FunctionInterfaces to Interfaces directory and inherit from CallableOpInterface 2023-08-31 11:28:23 +00:00
include Extend retcon.once coroutines lowering to optionally produce a normal result (#66333) 2023-09-15 09:54:38 -07:00
lib Extend retcon.once coroutines lowering to optionally produce a normal result (#66333) 2023-09-15 09:54:38 -07:00
python [mlir][transform][lingalg][python] Replace pdl.operation => transform.any_op. (#66392) 2023-09-15 09:06:07 +02:00
test Extend retcon.once coroutines lowering to optionally produce a normal result (#66333) 2023-09-15 09:54:38 -07:00
tools [mlir] Split up VectorToLLVM pass 2023-09-13 16:09:56 +00:00
unittests [mlir][vector] Cleanup VectorUnroll and create a generic tile iteration utility 2023-09-14 20:34:44 -06:00
utils [mlir][arith] Rename operations: maxfmaximumf, minfminimumf (#65800) 2023-09-11 22:02:19 -07:00
.clang-format
.clang-tidy
CMakeLists.txt [mlir][gpu] Deprecate gpu::Serialization* passes. (#65857) 2023-09-11 16:32:15 -04:00
LICENSE.TXT
README.md

Multi-Level Intermediate Representation

See https://mlir.llvm.org/ for more information.