[llvm-bugs] [Bug 42272] New: With new pass manager assertion failure at O2: DominatorTree is different

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jun 13 14:22:30 PDT 2019


https://bugs.llvm.org/show_bug.cgi?id=42272

            Bug ID: 42272
           Summary: With new pass manager assertion failure at O2:
                    DominatorTree is different
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: zhizhouy at google.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

Created a simple reproduce with creduce. Need assertion enabled.

Command: clang -O2 -fexperimental-new-pass-manager -c test.c

test.c:
================
# 7 "" 3
b, f, g;
*a(h) {
  switch (h) {
  case 4:
    c();
  case 3:
    d();
  case 2:
    return e();
  default:
    __builtin_unreachable();
  }
}
static j() {
  for (unsigned i = 0; i < f; i++) {
    assert();
    k();
    l();
    g -= b;
  }
  a(f);
}
m() {
  j();
  j();
}
================

Error msg:

DominatorTree is different than a freshly computed one!
        Current:
=============================--------------------------------
Inorder Dominator Tree: DFSNumbers invalid: 0 slow queries.
  [1] %entry {4294967295,4294967295} [0]
    [2] %sw.default.i {4294967295,4294967295} [1]
    [2] %for.body.i {4294967295,4294967295} [1]
      [3] %j.exit {4294967295,4294967295} [2]
        [4] %sw.bb.i {4294967295,4294967295} [3]
        [4] %sw.bb1.i {4294967295,4294967295} [3]
        [4] %a.exit {4294967295,4294967295} [3]
          [5] %sw.default.i22 {4294967295,4294967295} [4]
          [5] %for.body.i12 {4294967295,4294967295} [4]
            [6] %j.exit13 {4294967295,4294967295} [5]
              [7] %sw.bb.i17 {4294967295,4294967295} [6]
              [7] %sw.bb1.i19 {4294967295,4294967295} [6]
              [7] %a.exit23 {4294967295,4294967295} [6]

        Freshly computed tree:
=============================--------------------------------
Inorder Dominator Tree: DFSNumbers invalid: 0 slow queries.
  [1] %entry {4294967295,4294967295} [0]
    [2] %for.body.i {4294967295,4294967295} [1]
      [3] %j.exit {4294967295,4294967295} [2]
        [4] %sw.default.i {4294967295,4294967295} [3]
        [4] %sw.bb.i {4294967295,4294967295} [3]
        [4] %sw.bb1.i {4294967295,4294967295} [3]
        [4] %a.exit {4294967295,4294967295} [3]
          [5] %for.body.i12 {4294967295,4294967295} [4]
            [6] %j.exit13 {4294967295,4294967295} [5]
              [7] %sw.default.i22 {4294967295,4294967295} [6]
              [7] %sw.bb.i17 {4294967295,4294967295} [6]
              [7] %sw.bb1.i19 {4294967295,4294967295} [6]
              [7] %a.exit23 {4294967295,4294967295} [6]
clang-9:
/usr/local/google/home/zhizhouy/llvm/llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp:531:
bool runImpl(llvm::Function&, const llvm::TargetLibraryInfo&,
llvm::DominatorTree*): Assertion `!DT ||
DT->verify(DominatorTree::VerificationLevel::Fast)' failed.
Stack dump:
0.      Program arguments:
/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9 -cc1 -triple
x86_64-unknown-linux-gnu -emit-obj -disable-free -main-file-name
brw_nir_lower_image_load_store-3921e3.c -mrelocation-model static
-mthread-model posix -fmath-errno -masm-verbose -mconstructor-aliases
-munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info
-debugger-tuning=gdb -momit-leaf-frame-pointer -coverage-notes-file
/usr/local/google/home/zhizhouy/llvm/build/bin/brw_nir_lower_image_load_store-3921e3.gcno
-resource-dir /usr/local/google/home/zhizhouy/llvm/build/lib/clang/9.0.0
-internal-isystem /usr/local/include -internal-isystem
/usr/local/google/home/zhizhouy/llvm/build/lib/clang/9.0.0/include
-internal-externc-isystem /usr/include/x86_64-linux-gnu
-internal-externc-isystem /include -internal-externc-isystem /usr/include -O2
-fdebug-compilation-dir /usr/local/google/home/zhizhouy/llvm/build/bin
-ferror-limit 19 -fmessage-length 211 -fexperimental-new-pass-manager
-fobjc-runtime=gcc -fdiagnostics-show-option -fcolor-diagnostics
-vectorize-loops -vectorize-slp -o brw_nir_lower_image_load_store-3921e3.o -x c
brw_nir_lower_image_load_store-3921e3.c -faddrsig 
1.      <eof> parser at end of file
2.      Optimizer
 #0 0x000055bd7469bfca llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x573ffca)
 #1 0x000055bd74699dc4 llvm::sys::RunSignalHandlers()
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x573ddc4)
 #2 0x000055bd74699ef2 SignalHandler(int)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x573def2)
 #3 0x00007efe91d863a0 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x123a0)
 #4 0x00007efe90877cfb raise (/lib/x86_64-linux-gnu/libc.so.6+0x36cfb)
 #5 0x00007efe908628ad abort (/lib/x86_64-linux-gnu/libc.so.6+0x218ad)
 #6 0x00007efe9086277f (/lib/x86_64-linux-gnu/libc.so.6+0x2177f)
 #7 0x00007efe90870542 (/lib/x86_64-linux-gnu/libc.so.6+0x2f542)
 #8 0x000055bd746fdbff runImpl(llvm::Function&, llvm::TargetLibraryInfo const&,
llvm::DominatorTree*)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x57a1bff)
 #9 0x000055bd746fe758 llvm::LibCallsShrinkWrapPass::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x57a2758)
#10 0x000055bd7541d20d llvm::detail::PassModel<llvm::Function,
llvm::LibCallsShrinkWrapPass, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x64c120d)
#11 0x000055bd74076db4 llvm::PassManager<llvm::Function,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x511adb4)
#12 0x000055bd7547fd59
llvm::CGSCCToFunctionPassAdaptor<llvm::PassManager<llvm::Function,
llvm::AnalysisManager<llvm::Function> > >::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x6523d59)
#13 0x000055bd7548006d llvm::detail::PassModel<llvm::LazyCallGraph::SCC,
llvm::CGSCCToFunctionPassAdaptor<llvm::PassManager<llvm::Function,
llvm::AnalysisManager<llvm::Function> > >, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x652406d)
#14 0x000055bd740c6a24 llvm::PassManager<llvm::LazyCallGraph::SCC,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x516aa24)
#15 0x000055bd75484f3d
llvm::DevirtSCCRepeatedPass<llvm::PassManager<llvm::LazyCallGraph::SCC,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>
>::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&)
(/usr/local/google/home/zhizhouy/llvm/build/bin/clang-9+0x6528f3d)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20190613/1a349a8b/attachment-0001.html>


More information about the llvm-bugs mailing list