[all-commits] [llvm/llvm-project] 57224f: Don't treat readnone call in presplit coroutine as...
Chuanqi Xu via All-commits
all-commits at lists.llvm.org
Tue Jul 19 19:39:22 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 57224ff4a6833dca1f17568cc9cf77f9579030ae
https://github.com/llvm/llvm-project/commit/57224ff4a6833dca1f17568cc9cf77f9579030ae
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2022-07-20 (Wed, 20 Jul 2022)
Changed paths:
M llvm/docs/Coroutines.rst
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
A llvm/test/Transforms/Coroutines/coro-readnone-01.ll
A llvm/test/Transforms/Coroutines/coro-readnone-02.ll
M llvm/unittests/Analysis/AliasAnalysisTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
Log Message:
-----------
Don't treat readnone call in presplit coroutine as not access memory
To solve the readnone problems in coroutines. See
https://discourse.llvm.org/t/address-thread-identification-problems-with-coroutine/62015
for details.
According to the discussion, we decide to fix the problem by inserting
isPresplitCoroutine() checks in different passes instead of
wrapping/unwrapping readnone attributes in CoroEarly/CoroCleanup passes.
In this direction, we might not be able to cover every case at first.
Let's take a "find and fix" strategy.
Reviewed By: nikic, nhaehnle, jyknight
Differential Revision: https://reviews.llvm.org/D127383
More information about the All-commits
mailing list