[clang] [llvm] [LLVM][Coroutines] Transform "coro_elide_safe" calls to switch ABI coroutines to the `noalloc` variant (PR #99285)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 9 04:12:36 PDT 2024


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `llvm-clang-x86_64-expensive-checks-win` running on `as-worker-93` while building `llvm` at step 7 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/14/builds/1362

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 7 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: Transforms/Coroutines/coro-transform-must-elide.ll' FAILED ********************
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\a\llvm-clang-x86_64-expensive-checks-win\build\bin\opt.exe < C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\test\Transforms\Coroutines\coro-transform-must-elide.ll -S -passes='cgscc(coro-annotation-elide)' | c:\a\llvm-clang-x86_64-expensive-checks-win\build\bin\filecheck.exe C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\test\Transforms\Coroutines\coro-transform-must-elide.ll
# executed command: 'c:\a\llvm-clang-x86_64-expensive-checks-win\build\bin\opt.exe' -S '-passes=cgscc(coro-annotation-elide)'
# .---command stderr------------
# | Assertion failed: (RC == &TargetRC || RC->isAncestorOf(TargetRC)) && "New call edge is not trivial!", file C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\Analysis\CGSCCPassManager.cpp, line 982
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
# | Stack dump:
# | 0.	Program arguments: c:\\a\\llvm-clang-x86_64-expensive-checks-win\\build\\bin\\opt.exe -S -passes=cgscc(coro-annotation-elide)
# | 1.	Running pass "cgscc(coro-annotation-elide)" on module "<stdin>"
# | Exception Code: 0x80000003
# |  #0 0x00007ff71ff0a33c HandleAbort C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\Support\Windows\Signals.inc:429:0
# |  #1 0x00007ffddb8590ed (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xa90ed)
# |  #2 0x00007ffddb85ae49 (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xaae49)
# |  #3 0x00007ffddb860c6f (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xb0c6f)
# |  #4 0x00007ffddb85eba1 (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xaeba1)
# |  #5 0x00007ffddb8618af (C:\WINDOWS\SYSTEM32\ucrtbased.dll+0xb18af)
# |  #6 0x00007ff71da5c2ae updateCGAndAnalysisManagerForPass C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\Analysis\CGSCCPassManager.cpp:981:0
# |  #7 0x00007ff71da586db llvm::updateCGAndAnalysisManagerForCGSCCPass(class llvm::LazyCallGraph &, class llvm::LazyCallGraph::SCC &, class llvm::LazyCallGraph::Node &, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &> &, struct llvm::CGSCCUpdateResult &, class llvm::AnalysisManager<class llvm::Function> &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\Analysis\CGSCCPassManager.cpp:1191:0
# |  #8 0x00007ff721cbc728 llvm::CoroAnnotationElidePass::run(class llvm::LazyCallGraph::SCC &, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &> &, class llvm::LazyCallGraph &, struct llvm::CGSCCUpdateResult &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\Transforms\Coroutines\CoroAnnotationElide.cpp:149:0
# |  #9 0x00007ff72033e264 llvm::detail::PassModel<class llvm::LazyCallGraph::SCC, struct llvm::CoroAnnotationElidePass, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &>, class llvm::LazyCallGraph &, struct llvm::CGSCCUpdateResult &>::run(class llvm::LazyCallGraph::SCC &, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &> &, class llvm::LazyCallGraph &, struct llvm::CGSCCUpdateResult &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\IR\PassManagerInternal.h:90:0
# | #10 0x00007ff71da56d12 llvm::PassManager<class llvm::LazyCallGraph::SCC, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &>, class llvm::LazyCallGraph &, struct llvm::CGSCCUpdateResult &>::run(class llvm::LazyCallGraph::SCC &, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &> &, class llvm::LazyCallGraph &, struct llvm::CGSCCUpdateResult &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\Analysis\CGSCCPassManager.cpp:90:0
# | #11 0x00007ff72033e3e4 llvm::detail::PassModel<class llvm::LazyCallGraph::SCC, class llvm::PassManager<class llvm::LazyCallGraph::SCC, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &>, class llvm::LazyCallGraph &, struct llvm::CGSCCUpdateResult &>, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &>, class llvm::LazyCallGraph &, struct llvm::CGSCCUpdateResult &>::run(class llvm::LazyCallGraph::SCC &, class llvm::AnalysisManager<class llvm::LazyCallGraph::SCC, class llvm::LazyCallGraph &> &, class llvm::LazyCallGraph &, struct llvm::CGSCCUpdateResult &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\IR\PassManagerInternal.h:90:0
# | #12 0x00007ff71da57bf8 llvm::ModuleToPostOrderCGSCCPassAdaptor::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\lib\Analysis\CGSCCPassManager.cpp:277:0
# | #13 0x00007ff72033dc90 llvm::detail::PassModel<class llvm::Module, class llvm::ModuleToPostOrderCGSCCPassAdaptor, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\IR\PassManagerInternal.h:90:0
# | #14 0x00007ff71eeaaf04 llvm::PassManager<class llvm::Module, class llvm::AnalysisManager<class llvm::Module>>::run(class llvm::Module &, class llvm::AnalysisManager<class llvm::Module> &) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\include\llvm\IR\PassManagerImpl.h:85:0
# | #15 0x00007ff719abe28b llvm::runPassPipeline(class llvm::StringRef, class llvm::Module &, class llvm::TargetMachine *, class llvm::TargetLibraryInfoImpl *, class llvm::ToolOutputFile *, class llvm::ToolOutputFile *, class llvm::ToolOutputFile *, class llvm::StringRef, class llvm::ArrayRef<class llvm::PassPlugin>, class llvm::ArrayRef<class std::function<(class llvm::PassBuilder &)>>, enum llvm::opt_tool::OutputKind, enum llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\tools\opt\NewPMDriver.cpp:541:0
# | #16 0x00007ff719a7e06e optMain C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\tools\opt\optdriver.cpp:738:0
# | #17 0x00007ff719a7a146 main C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\tools\opt\opt.cpp:25:0
# | #18 0x00007ff719af5a69 invoke_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:79:0
# | #19 0x00007ff719af5912 __scrt_common_main_seh D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288:0
# | #20 0x00007ff719af57ce __scrt_common_main D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:331:0
# | #21 0x00007ff719af5afe mainCRTStartup D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp:17:0
# | #22 0x00007ffdf2347374 (C:\WINDOWS\System32\KERNEL32.DLL+0x17374)
# | #23 0x00007ffdf275cc91 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x4cc91)
# `-----------------------------
# error: command failed with exit status: 0x80000003
# executed command: 'c:\a\llvm-clang-x86_64-expensive-checks-win\build\bin\filecheck.exe' 'C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\test\Transforms\Coroutines\coro-transform-must-elide.ll'
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\a\llvm-clang-x86_64-expensive-checks-win\build\bin\filecheck.exe C:\a\llvm-clang-x86_64-expensive-checks-win\llvm-project\llvm\test\Transforms\Coroutines\coro-transform-must-elide.ll
# `-----------------------------
# error: command failed with exit status: 2

--

...

```

</details>

https://github.com/llvm/llvm-project/pull/99285


More information about the cfe-commits mailing list