Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

clang memory hog with "LLVM ERROR: out of memory " #49321

Open Quuxplusone opened 3 years ago

Quuxplusone commented 3 years ago
Bugzilla Link PR50352
Status NEW
Importance P normal
Reported by Haoxin Tu (haoxintu@gmail.com)
Reported on 2021-05-15 08:17:40 -0700
Last modified on 2021-05-17 10:37:45 -0700
Version trunk
Hardware PC Linux
CC dblaikie@gmail.com, llvm-bugs@lists.llvm.org
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also
Hi all.

The following simple valid C program makes clang eat too much memory at compile-
time. This issue exists on Clang-12 onwards versions.

$cat small.c
#include <stdint.h>
int a, b, c;
void d() {
  int16_t e = 2;
  int16_t *f = e;
  for (*f = 20; *f; *f += 1)
    for (a = 5; a <= 51; a++)
      for (c = 3; c <= 83; c++)
        for (b = 8; b <= 85; b++) {
          static g = 2;
          int64_t *i = g;
          *i *= 3;
        }
}
void l() {
  uint16_t j;
  for (j = 27; j <= 33; j++)
    d();
}
void k() { l(); }

$ulimit -v 4096000 ; time clang -w -g -O3 small.c
LLVM ERROR: out of memory
Allocation failed
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0.  Program arguments: /media/haoxin/SeagateData/haoxin-data/dut-
research/compilers/llvm-project/build/bin/clang-13 -cc1 -triple x86_64-unknown-
linux-gnu -emit-obj --mrelax-relocations -disable-free -main-file-name small.c -
mrelocation-model static -mframe-pointer=none -fmath-errno -fno-rounding-math -
mconstructor-aliases -munwind-tables -target-cpu x86-64 -tune-cpu generic -
debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -fcoverage-
compilation-dir=/home/haoxin/haoxin-data/dut-research/covsmith-test/test-0505 -
resource-dir /media/haoxin/SeagateData/haoxin-data/dut-research/compilers/llvm-
project/build/lib/clang/13.0.0 -c-isystem /usr/local/include/csmith-2.3.0/ -
internal-isystem /media/haoxin/SeagateData/haoxin-data/dut-
research/compilers/llvm-project/build/lib/clang/13.0.0/include -internal-
isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-
gnu/8/../../../../x86_64-linux-gnu/include -internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-
externc-isystem /usr/include -O3 -w -fdebug-compilation-dir=/home/haoxin/haoxin-
data/dut-research/covsmith-test/test-0505 -ferror-limit 19 -fgnuc-version=4.2.1
-fcolor-diagnostics -vectorize-loops -vectorize-slp -faddrsig -
D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/small-9a7482.o -x c small.c
1.  <eof> parser at end of file
2.  Optimizer
LLVM ERROR: out of memory
Allocation failed
clang-13: error: unable to execute command: Aborted (core dumped)
clang-13: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 13.0.0 (https://github.com/llvm/llvm-project
ed339111bff690c6ba87d5e25c50bcad6793a309)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/haoxin/haoxin-data/dut-research/compilers/llvm-
project/build/bin
clang-13: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-13: note: diagnostic msg: /tmp/small-d7840e.c
clang-13: note: diagnostic msg: /tmp/small-d7840e.sh
clang-13: note: diagnostic msg:

********************

real    0m28.562s
user    0m26.230s
sys 0m2.224s

Reproduced in Godbolt: https://godbolt.org/z/Ke5Wx4PTe

Thanks,
Haoxin
Quuxplusone commented 3 years ago
Adding a simpler test case, I guess they are caused by the same issue. The
stack information may be helpful for locating the root cause of this bug.

$cat small.c
#include <stdint.h>
void a(uint64_t, int b, int c) {
  uint16_t d;
  int32_t e;
  uint8_t f;
  uint16_t *g = &d;
  uint8_t *m = &f;
  int32_t *i = &e;
  for (; *g <= 58; *g += 1) {
    static n;
    for (*m = 9; *m <= 79; *m += 1)
      for (*i = 9; *i <= 69; *i += 1)
        n ^= c;
  }
}
void j() {
  uint64_t k;
  uint64_t *l = &k;
  for (*l = 6; *l <= 85; *l += 1)
    a(0, 0, 7);
}

$ ulimit -v 4096000; time clang -w -g -O3 small.c
LLVM ERROR: out of memory
Allocation failed
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0.  Program arguments: /home/tuhaoxin/compilers/llvm-project/build/bin/clang-13 -
cc1 -triple x86_64-unknown-linux-gnu -emit-obj --mrelax-relocations -disable-
free -main-file-name small.c -mrelocation-model static -mframe-pointer=none -
fmath-errno -fno-rounding-math -mconstructor-aliases -munwind-tables -target-
cpu x86-64 -tune-cpu generic -debug-info-kind=limited -dwarf-version=4 -
debugger-tuning=gdb -fcoverage-compilation-dir=/home/tuhaoxin/dut-
research/covsmith-test/20210502 -resource-dir /home/tuhaoxin/compilers/llvm-
project/build/lib/clang/13.0.0 -c-isystem /usr/local/include/csmith-2.4.0 -cxx-
isystem /usr/local/include/csmith-2.4.0 -internal-isystem
/home/tuhaoxin/compilers/llvm-project/build/lib/clang/13.0.0/include -internal-
isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-
gnu/9/../../../../x86_64-linux-gnu/include -internal-externc-isystem
/usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-
externc-isystem /usr/include -O3 -w -fdebug-compilation-dir=/home/tuhaoxin/dut-
research/covsmith-test/20210502 -ferror-limit 19 -fgnuc-version=4.2.1 -fcolor-
diagnostics -vectorize-loops -vectorize-slp -faddrsig -
D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/small-22486d.o -x c small.c
1.  <eof> parser at end of file
2.  Optimizer
 #0 0x0000000002a98d33 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x2a98d33)
 #1 0x0000000002a96a7e llvm::sys::RunSignalHandlers() (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x2a96a7e)
 #2 0x0000000002a990bf SignalHandler(int) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x2a990bf)
 #3 0x00007fabf30e93c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
 #4 0x00007fabf2b7e18b raise /build/glibc-eX1tMB/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #5 0x00007fabf2b5d859 abort /build/glibc-eX1tMB/glibc-2.31/stdlib/abort.c:81:7
 #6 0x0000000002a1aad2 llvm::report_bad_alloc_error(char const*, bool) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x2a1aad2)
 #7 0x0000000002a1ad42 (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x2a1ad42)
 #8 0x00007fabf2defc40 operator new(unsigned long) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0xaac40)
 #9 0x0000000000c9a72c llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > > >, llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >::grow(unsigned int) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0xc9a72c)
#10 0x0000000000c9a536
llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH>*
llvm::DenseMapBase<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH,
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > > >,
llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >,
llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH,
llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >,
llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value
const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > > >,
llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH>
>::InsertIntoBucketImpl<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > > >(llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > > const&, llvm::ValueMapCallbackVH<llvm::Value
const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > > const&,
llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH>*)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0xc9a536)
#11 0x0000000000c9ab56
llvm::DenseMapBase<llvm::DenseMap<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH,
llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > > >,
llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH> >,
llvm::ValueMapCallbackVH<llvm::Value const*, llvm::WeakTrackingVH,
llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >,
llvm::WeakTrackingVH, llvm::DenseMapInfo<llvm::ValueMapCallbackVH<llvm::Value
const*, llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > > >,
llvm::detail::DenseMapPair<llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > >, llvm::WeakTrackingVH>
>::FindAndConstruct(llvm::ValueMapCallbackVH<llvm::Value const*,
llvm::WeakTrackingVH, llvm::ValueMapConfig<llvm::Value const*,
llvm::sys::SmartMutex<false> > >&&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0xc9ab56)
#12 0x0000000002ad0292 llvm::CloneBasicBlock(llvm::BasicBlock const*,
llvm::ValueMap<llvm::Value const*, llvm::WeakTrackingVH,
llvm::ValueMapConfig<llvm::Value const*, llvm::sys::SmartMutex<false> > >&,
llvm::Twine const&, llvm::Function*, llvm::ClonedCodeInfo*,
llvm::DebugInfoFinder*) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-
13+0x2ad0292)
#13 0x0000000002b486be llvm::UnrollLoop(llvm::Loop*, llvm::UnrollLoopOptions,
llvm::LoopInfo*, llvm::ScalarEvolution*, llvm::DominatorTree*,
llvm::AssumptionCache*, llvm::TargetTransformInfo const*,
llvm::OptimizationRemarkEmitter*, bool, llvm::Loop**)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x2b486be)
#14 0x00000000028c6f4b tryToUnrollLoop(llvm::Loop*, llvm::DominatorTree&,
llvm::LoopInfo*, llvm::ScalarEvolution&, llvm::TargetTransformInfo const&,
llvm::AssumptionCache&, llvm::OptimizationRemarkEmitter&,
llvm::BlockFrequencyInfo*, llvm::ProfileSummaryInfo*, bool, int, bool, bool,
llvm::Optional<unsigned int>, llvm::Optional<unsigned int>,
llvm::Optional<bool>, llvm::Optional<bool>, llvm::Optional<bool>,
llvm::Optional<bool>, llvm::Optional<bool>, llvm::Optional<unsigned int>)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x28c6f4b)
#15 0x00000000028c58b8 llvm::LoopFullUnrollPass::run(llvm::Loop&,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x28c58b8)
#16 0x0000000003a8b73d llvm::detail::PassModel<llvm::Loop,
llvm::LoopFullUnrollPass, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x3a8b73d)
#17 0x0000000003b681df llvm::Optional<llvm::PreservedAnalyses>
llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop,
llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&,
llvm::LPMUpdater&>::runSinglePass<llvm::Loop,
std::unique_ptr<llvm::detail::PassConcept<llvm::Loop,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>,
std::default_delete<llvm::detail::PassConcept<llvm::Loop,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&> > > >(llvm::Loop&,
std::unique_ptr<llvm::detail::PassConcept<llvm::Loop,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>,
std::default_delete<llvm::detail::PassConcept<llvm::Loop,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&> > >&,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&,
llvm::PassInstrumentation&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x3b681df)
#18 0x0000000003b67f46 llvm::PassManager<llvm::Loop,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>,
llvm::LoopStandardAnalysisResults&,
llvm::LPMUpdater&>::runWithoutLoopNestPasses(llvm::Loop&,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x3b67f46)
#19 0x0000000003b67638 llvm::PassManager<llvm::Loop,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&>::run(llvm::Loop&,
llvm::AnalysisManager<llvm::Loop, llvm::LoopStandardAnalysisResults&>&,
llvm::LoopStandardAnalysisResults&, llvm::LPMUpdater&)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x3b67638)
#20 0x0000000003a800ad llvm::detail::PassModel<llvm::Loop,
llvm::PassManager<llvm::Loop, llvm::AnalysisManager<llvm::Loop,
llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&,
llvm::LPMUpdater&>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Loop,
llvm::LoopStandardAnalysisResults&>, llvm::LoopStandardAnalysisResults&,
llvm::LPMUpdater&>::run(llvm::Loop&, llvm::AnalysisManager<llvm::Loop,
llvm::LoopStandardAnalysisResults&>&, llvm::LoopStandardAnalysisResults&,
llvm::LPMUpdater&) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-
13+0x3a800ad)
#21 0x0000000003b6936b llvm::FunctionToLoopPassAdaptor::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x3b6936b)
#22 0x0000000003a8be1d llvm::detail::PassModel<llvm::Function,
llvm::FunctionToLoopPassAdaptor, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x3a8be1d)
#23 0x000000000231e5c1 llvm::PassManager<llvm::Function,
llvm::AnalysisManager<llvm::Function> >::run(llvm::Function&,
llvm::AnalysisManager<llvm::Function>&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x231e5c1)
#24 0x0000000000c315cd llvm::detail::PassModel<llvm::Function,
llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function> >,
llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>
>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0xc315cd)
#25 0x0000000001b364f0
llvm::CGSCCToFunctionPassAdaptor::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x1b364f0)
#26 0x0000000000c3322d llvm::detail::PassModel<llvm::LazyCallGraph::SCC,
llvm::CGSCCToFunctionPassAdaptor, 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&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0xc3322d)
#27 0x0000000001b30d21 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&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x1b30d21)
#28 0x000000000242105d llvm::detail::PassModel<llvm::LazyCallGraph::SCC,
llvm::PassManager<llvm::LazyCallGraph::SCC,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&>, 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&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x242105d)
#29 0x0000000001b34abc
llvm::DevirtSCCRepeatedPass::run(llvm::LazyCallGraph::SCC&,
llvm::AnalysisManager<llvm::LazyCallGraph::SCC, llvm::LazyCallGraph&>&,
llvm::LazyCallGraph&, llvm::CGSCCUpdateResult&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x1b34abc)
#30 0x000000000242153d llvm::detail::PassModel<llvm::LazyCallGraph::SCC,
llvm::DevirtSCCRepeatedPass, 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&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x242153d)
#31 0x0000000001b331c3
llvm::ModuleToPostOrderCGSCCPassAdaptor::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x1b331c3)
#32 0x000000000242138d llvm::detail::PassModel<llvm::Module,
llvm::ModuleToPostOrderCGSCCPassAdaptor, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x242138d)
#33 0x000000000231d7e4 llvm::PassManager<llvm::Module,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x231d7e4)
#34 0x000000000241ecdb llvm::ModuleInlinerWrapperPass::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x241ecdb)
#35 0x0000000003a8fd4d llvm::detail::PassModel<llvm::Module,
llvm::ModuleInlinerWrapperPass, llvm::PreservedAnalyses,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x3a8fd4d)
#36 0x000000000231d7e4 llvm::PassManager<llvm::Module,
llvm::AnalysisManager<llvm::Module> >::run(llvm::Module&,
llvm::AnalysisManager<llvm::Module>&) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x231d7e4)
#37 0x0000000002d1da7e (anonymous
namespace)::EmitAssemblyHelper::EmitAssemblyWithNewPassManager(clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x2d1da7e)
#38 0x0000000002d171dd clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef,
llvm::Module*, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >) (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x2d171dd)
#39 0x00000000039cf178
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x39cf178)
#40 0x0000000004389003 clang::ParseAST(clang::Sema&, bool, bool)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x4389003)
#41 0x000000000334f443 clang::FrontendAction::Execute()
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x334f443)
#42 0x00000000032bf578
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x32bf578)
#43 0x00000000033ff4e2
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x33ff4e2)
#44 0x00000000009dc4bb cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x9dc4bb)
#45 0x00000000009da2dd ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&)
(/home/tuhaoxin/compilers/llvm-project/build/bin/clang-13+0x9da2dd)
#46 0x00000000009d9fc4 main (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x9d9fc4)
#47 0x00007fabf2b5f0b3 __libc_start_main /build/glibc-eX1tMB/glibc-
2.31/csu/../csu/libc-start.c:342:3
#48 0x00000000009d6f7e _start (/home/tuhaoxin/compilers/llvm-
project/build/bin/clang-13+0x9d6f7e)
clang-13: error: unable to execute command: Aborted (core dumped)
clang-13: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 13.0.0 (https://github.com/llvm/llvm-project.git
06a9b0c6f445585393cdac3d488b7e9b28c7c5d5)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/tuhaoxin/compilers/llvm-project/build/bin
clang-13: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-13: note: diagnostic msg: /tmp/small-7b3fd9.c
clang-13: note: diagnostic msg: /tmp/small-7b3fd9.sh
clang-13: note: diagnostic msg:

********************

real    0m41.196s
user    0m30.645s
sys 0m3.298s

Thanks,
Haoxin