[all-commits] [llvm/llvm-project] 352e36: [Coroutines] Remove unused coroutine builtin/intri...

Chuanqi Xu via All-commits all-commits at lists.llvm.org
Wed Dec 8 22:40:52 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 352e36e10d2cff310cacfc98aab39d508682e61d
      https://github.com/llvm/llvm-project/commit/352e36e10d2cff310cacfc98aab39d508682e61d
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2021-12-09 (Thu, 09 Dec 2021)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/Builtins.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenCoroutines/coro-builtins.c
    M llvm/docs/Coroutines.rst
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Transforms/Coroutines/Coroutines.cpp

  Log Message:
  -----------
  [Coroutines] Remove unused coroutine builtin/intrinsics llvm.coro.param (NFC-ish)

I found that the coroutine intrinsic llvm.coro.param in documentation
(https://llvm.org/docs/Coroutines.html#id101) didn't get used actually
since there isn't lowering codes in LLVM. I also checked the
implementation of libstdc++ and libc++. Both of them didn't use
llvm.coro.param. So I am pretty sure that the llvm.coro.param intrinsic
is unused. I think it would be better t to remove it to avoid possible
misleading understandings.

Note: according to [class.copy.elision]/p1.3, this optimization is
allowed by the C++ language specification. Let's make it someday.

Reviewed By: rjmccall

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




More information about the All-commits mailing list