[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