[PATCH] D99202: [OpenMP] Add OpenMPOpt as a Module pass

Joseph Huber via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 28 13:15:24 PDT 2021


jhuber6 added a comment.

In D99202#2787617 <https://reviews.llvm.org/D99202#2787617>, @mnadeem wrote:

> The following two tests are causing assertion failures when run with the legacy pass manager (force using -enable-new-pm=0).
>
> - Transforms/OpenMP/hide_mem_transfer_latency.ll
> - Transforms/OpenMP/values_in_offload_arrays.ll
>
> Waiting on the bugzilla account request to make a ticket but here is the trace.
>
>   opt: llvm/lib/Analysis/CallGraphSCCPass.cpp:281: bool (anonymous namespace)::CGPassManager::RefreshCallGraph(const llvm::CallGraphSCC &, llvm::CallGraph &, bool): Assertion `!CheckingMode && "CallGraphSCCPass did not update the CallGraph correctly!"' failed.
>   PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
>   Stack dump:
>   0.      Program arguments: opt -S -openmp-opt-cgscc -aa-pipeline=basic-aa -openmp-hide-memory-transfer-latency -enable-new-pm=0
>   1.      Running pass 'CallGraph Pass Manager' on module '<stdin>'.
>    #0 0x00000000020bdf43 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (opt+0x20bdf43)
>    #1 0x00000000020bbc00 llvm::sys::RunSignalHandlers() (opt+0x20bbc00)
>    #2 0x00000000020be3f6 SignalHandler(int) llvm/lib/Support/Signals.cpp:0:0
>    #3 0x00007f15159bf330 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x10330)
>    #4 0x00007f15143a3c37 raise /build/eglibc-ripdx6/eglibc-2.19/signal/../nptl/sysdeps/unix/sysv/linux/raise.c:56:0
>    #5 0x00007f15143a7028 abort /build/eglibc-ripdx6/eglibc-2.19/stdlib/abort.c:91:0
>    #6 0x00007f151439cbf6 __assert_fail_base /build/eglibc-ripdx6/eglibc-2.19/assert/assert.c:92:0
>    #7 0x00007f151439cca2 (/lib/x86_64-linux-gnu/libc.so.6+0x2fca2)
>    #8 0x000000000100ab4f (anonymous namespace)::CGPassManager::RefreshCallGraph(llvm::CallGraphSCC const&, llvm::CallGraph&, bool) llvm/lib/Analysis/CallGraphSCCPass.cpp:0:0
>    #9 0x00000000010093ac (anonymous namespace)::CGPassManager::runOnModule(llvm::Module&) llvm/lib/Analysis/CallGraphSCCPass.cpp:0:0
>   #10 0x00000000018c6788 llvm::legacy::PassManagerImpl::run(llvm::Module&) (opt+0x18c6788)
>   #11 0x00000000007d06e5 main (opt+0x7d06e5)
>   #12 0x00007f151438ef45 __libc_start_main /build/eglibc-ripdx6/eglibc-2.19/csu/libc-start.c:321:0
>   #13 0x00000000007ba679 _start (opt+0x7ba679)
>   [1]    27229 abort      opt -S -openmp-opt-cgscc -aa-pipeline=basic-aa   -enable-new-pm=0

I'm not sure what the cause of this is, I committed rGb19136e35256c5b21aff93ea5b55b4c142408c40 <https://reviews.llvm.org/rGb19136e35256c5b21aff93ea5b55b4c142408c40> as a quick work-around. I don't think this patch is the cause, I checked the revision prior to this one landing and it had the same issue. I'm not sure how much of an issue it is overall considering that the new pass manager is the default and hiding the memory transfer latency is an optional feature.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D99202/new/

https://reviews.llvm.org/D99202



More information about the llvm-commits mailing list