llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
27.19k stars 11.13k forks source link

Assertion `I.isArrayAllocation()' failed with SVE-AES #89987

Open same-denik opened 3 months ago

same-denik commented 3 months ago

The following program triggers the compiler crash with the error "fatal error: error in backend: Invalid size request on a scalable vector.":

$ cat test.ii
typedef __SVInt64_t s_t;

void bar(s_t a);

void foo() {
  s_t a;
  bar(a);
}

$ clang -cc1 -triple aarch64-grtev4-linux-gnu -emit-obj -fsanitize=local-bounds -target-feature +sve2-aes test.ii

fatal error: error in backend: Invalid size request on a scalable vector.

Backtrace:

clang: /home/denik/storage/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp:1142: llvm::SizeOffsetValue llvm::ObjectSizeOffsetEvaluator::visitAllocaInst(llvm::AllocaInst&): Assertion `I.isArrayAllocation()' 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/denik/storage/llvm_build/bin/clang -cc1 -triple aarch64-grtev4-linux-gnu -emit-obj -fsanitize=local-bounds -target-feature +sve2-aes test.ii
1.      <eof> parser at end of file
2.      Optimizer
 #0 0x00007fb376068e81 __interceptor_backtrace.part.0 /build/gcc-13-Hz7jz6/gcc-13-13.2.0/build/x86_64-linux-gnu/libsanitizer/asan/../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4434:28
 #1 0x000055ea2bc465c9 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/denik/storage/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22
 #2 0x000055ea2bc46928 PrintStackTraceSignalHandler(void*) /home/denik/storage/llvm-project/llvm/lib/Support/Unix/Signals.inc:798:1
 #3 0x000055ea2bc3ce7c llvm::sys::RunSignalHandlers() /home/denik/storage/llvm-project/llvm/lib/Support/Signals.cpp:105:20
 #4 0x000055ea2bc3f55d SignalHandler(int) /home/denik/storage/llvm-project/llvm/lib/Support/Unix/Signals.inc:403:31
 #5 0x00007fb37597b510 (/lib/x86_64-linux-gnu/libc.so.6+0x3c510)
 #6 0x00007fb3759c916c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #7 0x00007fb37597b472 raise ./signal/../sysdeps/posix/raise.c:27:6
 #8 0x00007fb3759654b2 abort ./stdlib/abort.c:81:7
 #9 0x00007fb3759653d5 _nl_load_domain ./intl/loadmsgcat.c:1177:9
#10 0x00007fb3759743a2 (/lib/x86_64-linux-gnu/libc.so.6+0x353a2)
#11 0x000055ea27ed6b61 llvm::ObjectSizeOffsetEvaluator::visitAllocaInst(llvm::AllocaInst&) /home/denik/storage/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp:1148:7
#12 0x000055ea27ef6f0c llvm::InstVisitor<llvm::ObjectSizeOffsetEvaluator, llvm::SizeOffsetValue>::visitAlloca(llvm::AllocaInst&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/Instruction.def:171:1
#13 0x000055ea27ef6f0c llvm::InstVisitor<llvm::ObjectSizeOffsetEvaluator, llvm::SizeOffsetValue>::visit(llvm::Instruction&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/Instruction.def:171:1
#14 0x000055ea27ee615f llvm::ObjectSizeOffsetEvaluator::compute_(llvm::Value*) /home/denik/storage/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp:1117:19
#15 0x000055ea27eeac75 llvm::ObjectSizeOffsetEvaluator::compute(llvm::Value*) /home/denik/storage/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp:1061:36
#16 0x000055ea3176b19a getBoundsCheckCond(llvm::Value*, llvm::Value*, llvm::DataLayout const&, llvm::TargetLibraryInfo&, llvm::ObjectSizeOffsetEvaluator&, llvm::IRBuilder<llvm::TargetFolder, llvm::IRBuilderDefau
ltInserter>&, llvm::ScalarEvolution&) /home/denik/storage/llvm-project/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp:64:51
#17 0x000055ea31772ae4 addBoundsChecking(llvm::Function&, llvm::TargetLibraryInfo&, llvm::ScalarEvolution&) /home/denik/storage/llvm-project/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp:161:32
#18 0x000055ea317756e5 llvm::BoundsCheckingPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /home/denik/storage/llvm-project/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp:229:3
#19 0x000055ea2c6578c7 llvm::detail::PassModel<llvm::Function, llvm::BoundsCheckingPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /hom
e/denik/storage/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3
#20 0x000055ea2a4ba20c llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/PassManager.h:228:20
#21 0x000055ea21ad9651 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:0
#22 0x000055ea2a49b0ba llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/denik/storage/llvm-project/llvm/lib/IR/PassManager.cpp:128:19
#23 0x000055ea21adafcb llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:0
#24 0x000055ea2a4b6bae llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/PassManager.h:228:20
#25 0x000055ea2c647c14 llvm::SmallPtrSetImplBase::isSmall() const /home/denik/storage/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:196:33
#26 0x000055ea2c647c14 llvm::SmallPtrSetImplBase::~SmallPtrSetImplBase() /home/denik/storage/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:84:17
#27 0x000055ea2c647c14 llvm::SmallPtrSetImpl<llvm::AnalysisKey*>::~SmallPtrSetImpl() /home/denik/storage/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:321:7
#28 0x000055ea2c647c14 llvm::SmallPtrSet<llvm::AnalysisKey*, 2u>::~SmallPtrSet() /home/denik/storage/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:427:7
#29 0x000055ea2c647c14 llvm::PreservedAnalyses::~PreservedAnalyses() /home/denik/storage/llvm-project/llvm/include/llvm/IR/Analysis.h:109:7
#30 0x000055ea2c647c14 (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) /home/denik/storage/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1133:12
#31 0x000055ea2c64ce37 RunCodegenPipeline /home/denik/storage/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1143:23
#32 0x000055ea2c64ce37 EmitAssembly /home/denik/storage/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1199:21
#33 0x000055ea2c64ce37 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /home/denik/storage/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1360:25
#34 0x000055ea2de8ff90 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /home/denik/storage/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:391:20
#35 0x000055ea353a5c7a void clang::finalize<std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>>(std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>&, clang::Sema const&) /home/denik/storage/llvm-project/clang/include/clang/Sema/TemplateInstCallback.h:54:3
#36 0x000055ea353a5c7a clang::ParseAST(clang::Sema&, bool, bool) /home/denik/storage/llvm-project/clang/lib/Parse/ParseAST.cpp:183:11
#37 0x000055ea2e974b13 clang::ASTFrontendAction::ExecuteAction() /home/denik/storage/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1191:1
#38 0x000055ea2de8ad4c clang::CodeGenAction::ExecuteAction() /home/denik/storage/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1180:37
#39 0x000055ea2e97d4e7 clang::FrontendAction::Execute() /home/denik/storage/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1075:21
#40 0x000055ea2e70ddce llvm::Error::getPtr() const /home/denik/storage/llvm-project/llvm/include/llvm/Support/Error.h:276:42
#41 0x000055ea2e70ddce llvm::Error::operator bool() /home/denik/storage/llvm-project/llvm/include/llvm/Support/Error.h:239:22
#42 0x000055ea2e70ddce clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/denik/storage/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1062:42
#43 0x000055ea2ed3804f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/denik/storage/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:278:38
#44 0x000055ea20af7188 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/denik/storage/llvm-project/clang/tools/driver/cc1_main.cpp:232:40
#45 0x000055ea20ad7620 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /home/denik/storage/llvm-project/clang/tools/driver/driver.cpp:215:20
#46 0x000055ea20aded50 clang_main(int, char**, llvm::ToolContext const&) /home/denik/storage/llvm-project/clang/tools/driver/driver.cpp:256:26
#47 0x000055ea20b32e0b main /home/denik/storage/llvm_build/tools/clang/tools/driver/clang-driver.cpp:17:20
#48 0x00007fb3759666ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#49 0x00007fb375966785 call_init ./csu/../csu/libc-start.c:128:20
#50 0x00007fb375966785 __libc_start_main ./csu/../csu/libc-start.c:347:5
#51 0x000055ea20ad65a1 _start (/home/denik/storage/llvm_build/bin/clang+++0x3fc95a1)
llvmbot commented 1 month ago

@llvm/issue-subscribers-backend-aarch64

Author: Denis Nikitin (same-denik)

The following program triggers the compiler crash with the error "fatal error: error in backend: Invalid size request on a scalable vector.": ``` $ cat test.ii typedef __SVInt64_t s_t; void bar(s_t a); void foo() { s_t a; bar(a); } $ clang -cc1 -triple aarch64-grtev4-linux-gnu -emit-obj -fsanitize=local-bounds -target-feature +sve2-aes test.ii fatal error: error in backend: Invalid size request on a scalable vector. ``` Backtrace: ``` clang: /home/denik/storage/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp:1142: llvm::SizeOffsetValue llvm::ObjectSizeOffsetEvaluator::visitAllocaInst(llvm::AllocaInst&): Assertion `I.isArrayAllocation()' 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/denik/storage/llvm_build/bin/clang -cc1 -triple aarch64-grtev4-linux-gnu -emit-obj -fsanitize=local-bounds -target-feature +sve2-aes test.ii 1. <eof> parser at end of file 2. Optimizer #0 0x00007fb376068e81 __interceptor_backtrace.part.0 /build/gcc-13-Hz7jz6/gcc-13-13.2.0/build/x86_64-linux-gnu/libsanitizer/asan/../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4434:28 #1 0x000055ea2bc465c9 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/denik/storage/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22 #2 0x000055ea2bc46928 PrintStackTraceSignalHandler(void*) /home/denik/storage/llvm-project/llvm/lib/Support/Unix/Signals.inc:798:1 #3 0x000055ea2bc3ce7c llvm::sys::RunSignalHandlers() /home/denik/storage/llvm-project/llvm/lib/Support/Signals.cpp:105:20 #4 0x000055ea2bc3f55d SignalHandler(int) /home/denik/storage/llvm-project/llvm/lib/Support/Unix/Signals.inc:403:31 #5 0x00007fb37597b510 (/lib/x86_64-linux-gnu/libc.so.6+0x3c510) #6 0x00007fb3759c916c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76 #7 0x00007fb37597b472 raise ./signal/../sysdeps/posix/raise.c:27:6 #8 0x00007fb3759654b2 abort ./stdlib/abort.c:81:7 #9 0x00007fb3759653d5 _nl_load_domain ./intl/loadmsgcat.c:1177:9 #10 0x00007fb3759743a2 (/lib/x86_64-linux-gnu/libc.so.6+0x353a2) #11 0x000055ea27ed6b61 llvm::ObjectSizeOffsetEvaluator::visitAllocaInst(llvm::AllocaInst&) /home/denik/storage/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp:1148:7 #12 0x000055ea27ef6f0c llvm::InstVisitor<llvm::ObjectSizeOffsetEvaluator, llvm::SizeOffsetValue>::visitAlloca(llvm::AllocaInst&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/Instruction.def:171:1 #13 0x000055ea27ef6f0c llvm::InstVisitor<llvm::ObjectSizeOffsetEvaluator, llvm::SizeOffsetValue>::visit(llvm::Instruction&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/Instruction.def:171:1 #14 0x000055ea27ee615f llvm::ObjectSizeOffsetEvaluator::compute_(llvm::Value*) /home/denik/storage/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp:1117:19 #15 0x000055ea27eeac75 llvm::ObjectSizeOffsetEvaluator::compute(llvm::Value*) /home/denik/storage/llvm-project/llvm/lib/Analysis/MemoryBuiltins.cpp:1061:36 #16 0x000055ea3176b19a getBoundsCheckCond(llvm::Value*, llvm::Value*, llvm::DataLayout const&, llvm::TargetLibraryInfo&, llvm::ObjectSizeOffsetEvaluator&, llvm::IRBuilder<llvm::TargetFolder, llvm::IRBuilderDefau ltInserter>&, llvm::ScalarEvolution&) /home/denik/storage/llvm-project/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp:64:51 #17 0x000055ea31772ae4 addBoundsChecking(llvm::Function&, llvm::TargetLibraryInfo&, llvm::ScalarEvolution&) /home/denik/storage/llvm-project/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp:161:32 #18 0x000055ea317756e5 llvm::BoundsCheckingPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /home/denik/storage/llvm-project/llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp:229:3 #19 0x000055ea2c6578c7 llvm::detail::PassModel<llvm::Function, llvm::BoundsCheckingPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /hom e/denik/storage/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:3 #20 0x000055ea2a4ba20c llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/PassManager.h:228:20 #21 0x000055ea21ad9651 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:0 #22 0x000055ea2a49b0ba llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/denik/storage/llvm-project/llvm/lib/IR/PassManager.cpp:128:19 #23 0x000055ea21adafcb llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/PassManagerInternal.h:91:0 #24 0x000055ea2a4b6bae llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) /home/denik/storage/llvm-project/llvm/include/llvm/IR/PassManager.h:228:20 #25 0x000055ea2c647c14 llvm::SmallPtrSetImplBase::isSmall() const /home/denik/storage/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:196:33 #26 0x000055ea2c647c14 llvm::SmallPtrSetImplBase::~SmallPtrSetImplBase() /home/denik/storage/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:84:17 #27 0x000055ea2c647c14 llvm::SmallPtrSetImpl<llvm::AnalysisKey*>::~SmallPtrSetImpl() /home/denik/storage/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:321:7 #28 0x000055ea2c647c14 llvm::SmallPtrSet<llvm::AnalysisKey*, 2u>::~SmallPtrSet() /home/denik/storage/llvm-project/llvm/include/llvm/ADT/SmallPtrSet.h:427:7 #29 0x000055ea2c647c14 llvm::PreservedAnalyses::~PreservedAnalyses() /home/denik/storage/llvm-project/llvm/include/llvm/IR/Analysis.h:109:7 #30 0x000055ea2c647c14 (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>&, std::unique_ptr<llvm::ToolOutputFile, std::default_delete<llvm::ToolOutputFile>>&, clang::BackendConsumer*) /home/denik/storage/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1133:12 #31 0x000055ea2c64ce37 RunCodegenPipeline /home/denik/storage/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1143:23 #32 0x000055ea2c64ce37 EmitAssembly /home/denik/storage/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1199:21 #33 0x000055ea2c64ce37 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) /home/denik/storage/llvm-project/clang/lib/CodeGen/BackendUtil.cpp:1360:25 #34 0x000055ea2de8ff90 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) /home/denik/storage/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:391:20 #35 0x000055ea353a5c7a void clang::finalize<std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>>(std::vector<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>, std::allocator<std::unique_ptr<clang::TemplateInstantiationCallback, std::default_delete<clang::TemplateInstantiationCallback>>>>&, clang::Sema const&) /home/denik/storage/llvm-project/clang/include/clang/Sema/TemplateInstCallback.h:54:3 #36 0x000055ea353a5c7a clang::ParseAST(clang::Sema&, bool, bool) /home/denik/storage/llvm-project/clang/lib/Parse/ParseAST.cpp:183:11 #37 0x000055ea2e974b13 clang::ASTFrontendAction::ExecuteAction() /home/denik/storage/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1191:1 #38 0x000055ea2de8ad4c clang::CodeGenAction::ExecuteAction() /home/denik/storage/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp:1180:37 #39 0x000055ea2e97d4e7 clang::FrontendAction::Execute() /home/denik/storage/llvm-project/clang/lib/Frontend/FrontendAction.cpp:1075:21 #40 0x000055ea2e70ddce llvm::Error::getPtr() const /home/denik/storage/llvm-project/llvm/include/llvm/Support/Error.h:276:42 #41 0x000055ea2e70ddce llvm::Error::operator bool() /home/denik/storage/llvm-project/llvm/include/llvm/Support/Error.h:239:22 #42 0x000055ea2e70ddce clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /home/denik/storage/llvm-project/clang/lib/Frontend/CompilerInstance.cpp:1062:42 #43 0x000055ea2ed3804f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /home/denik/storage/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:278:38 #44 0x000055ea20af7188 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /home/denik/storage/llvm-project/clang/tools/driver/cc1_main.cpp:232:40 #45 0x000055ea20ad7620 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /home/denik/storage/llvm-project/clang/tools/driver/driver.cpp:215:20 #46 0x000055ea20aded50 clang_main(int, char**, llvm::ToolContext const&) /home/denik/storage/llvm-project/clang/tools/driver/driver.cpp:256:26 #47 0x000055ea20b32e0b main /home/denik/storage/llvm_build/tools/clang/tools/driver/clang-driver.cpp:17:20 #48 0x00007fb3759666ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3 #49 0x00007fb375966785 call_init ./csu/../csu/libc-start.c:128:20 #50 0x00007fb375966785 __libc_start_main ./csu/../csu/libc-start.c:347:5 #51 0x000055ea20ad65a1 _start (/home/denik/storage/llvm_build/bin/clang+++0x3fc95a1) ```