[all-commits] [llvm/llvm-project] 2e43ac: [coroutine] should disable inline before calling c...

Axis via All-commits all-commits at lists.llvm.org
Mon Aug 24 07:24:11 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2e43acfed89b1903de473f682c65878bdebc395a
      https://github.com/llvm/llvm-project/commit/2e43acfed89b1903de473f682c65878bdebc395a
  Author: dongAxis <dongaxis at linux.alibaba.com>
  Date:   2020-08-24 (Mon, 24 Aug 2020)

  Changed paths:
    M llvm/include/llvm/Transforms/Coroutines.h
    M llvm/lib/Transforms/Coroutines/CoroInternal.h
    M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
    M llvm/lib/Transforms/IPO/SampleProfile.cpp
    A llvm/test/Transforms/Coroutines/Inputs/sample.text.prof
    A llvm/test/Transforms/Coroutines/coro-inline.ll

  Log Message:
  -----------
  [coroutine] should disable inline before calling coro split
summary:
When callee coroutine function is inlined into caller coroutine
function before coro-split pass, llvm will emits "coroutine should
have exactly one defining @llvm.coro.begin". It seems that coro-early
pass can not handle this quiet well.
So we believe that unsplited coroutine function should not be inlined.
This patch fix such issue by not inlining function if it has attribute
"coroutine.presplit" (it means the function has not been splited) to
fix this issue

TestPlan: check-llvm

Reviewed By: wenlei

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




More information about the All-commits mailing list