diff options
| author | Tyler Nowicki <tyler.nowicki@amd.com> | 2024-10-10 10:08:45 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-10 10:08:45 -0400 |
| commit | 3737a5321901574b3f4b2cf0d798faea5c4a2302 (patch) | |
| tree | 7684bab5efdf2b85ca39eb1fac3ce0afa06cf5f9 /lldb/packages/Python/lldbsuite/test/gdbclientutils.py | |
| parent | dabb0ddbd7a7229855156c61df1d35ad845361ac (diff) | |
| download | llvm-3737a5321901574b3f4b2cf0d798faea5c4a2302.zip llvm-3737a5321901574b3f4b2cf0d798faea5c4a2302.tar.gz llvm-3737a5321901574b3f4b2cf0d798faea5c4a2302.tar.bz2 | |
[Coroutines] Support for Custom ABIs (#111755)
This change extends the current method for creating ABI object to allow
users (plugin libraries) to create custom ABI objects for their needs.
This is accomplished by inheriting one of the common ABIs and overriding
one or more of the methods to create a custom ABI. To use a custom ABI
for a given coroutine the coro.begin.custom.abi intrinsic is used in
place of the coro.begin intrinsic. This takes an additional i32 arg that
specifies the index of an ABI generator for the custom ABI object in a
SmallVector passed to the CoroSplitPass ctor.
The detailed changes include:
* Add the llvm.coro.begin.custom intrinsic used to specify the index of
the custom ABI to use for the given coroutine.
* Add constructors to CoroSplit that take a list of generators that
create the custom ABI object.
* Extend the CreateNewABI function used by CoroSplit to return a
unique_ptr to an ABI object.
* Add has/getCustomABI methods to CoroBeginInst class.
* Add a unittest for a custom ABI.
See doc update here: https://github.com/llvm/llvm-project/pull/111781
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/gdbclientutils.py')
0 files changed, 0 insertions, 0 deletions
