[all-commits] [llvm/llvm-project] 333108: Add a llvm.coro.end.async intrinsic

Arnold Schwaighofer via All-commits all-commits at lists.llvm.org
Tue Dec 22 10:55:20 PST 2020


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 333108e8bef8966520defe8602521d0d4e2ef789
      https://github.com/llvm/llvm-project/commit/333108e8bef8966520defe8602521d0d4e2ef789
  Author: Arnold Schwaighofer <aschwaighofer at apple.com>
  Date:   2020-12-22 (Tue, 22 Dec 2020)

  Changed paths:
    M llvm/docs/Coroutines.rst
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Transforms/Coroutines/CoroEarly.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroInstr.h
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp
    M llvm/test/Transforms/Coroutines/coro-async.ll

  Log Message:
  -----------
  Add a llvm.coro.end.async intrinsic

The llvm.coro.end.async intrinsic allows to specify a function that is
to be called as the last action before returning. This function will be
inlined after coroutine splitting.

This function can contain a 'musttail' call to allow for guaranteed tail
calling as the last action.

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




More information about the All-commits mailing list