[llvm-bugs] [Bug 44893] New: fatal error with #pragma omp critical

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Feb 13 02:04:02 PST 2020


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

            Bug ID: 44893
           Summary: fatal error with #pragma omp critical
           Product: OpenMP
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Keywords: compile-fail, regression
          Severity: enhancement
          Priority: P
         Component: Clang Compiler Support
          Assignee: unassignedclangbugs at nondot.org
          Reporter: v.reichelt at netcologne.de
                CC: llvm-bugs at lists.llvm.org

The following valid code snippet triggers a fatal error when compiled with
"-fopenmp -O -g".

==========================
void foo()
{
#pragma omp critical
  ;
}

void bar()
{
  foo();
  foo();
}
==========================

This is a recent regression on trunk introduced between commits c29003813ab
(OK) and 6646f315c06 (broken).


Instruction does not dominate all uses!
  %.kmpc_loc.addr.i1 = alloca %struct.ident_t, align 8
  %0 = call i32 @__kmpc_global_thread_num(%struct.ident_t* nonnull
%.kmpc_loc.addr.i1)
in function _Z3barv
fatal error: error in backend: Broken function found, compilation aborted!
Stack dump:
0.      Program arguments: /LLVM-trunk/bin/clang++ -fopenmp -O -g -c bug.cc 
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'bug.cc'.
4.      Running pass 'Module Verifier' on function '@_Z3barv'
 #0 0x00000000027ae8da llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/LLVM-trunk/bin/clang+++0x27ae8da)
 #1 0x00000000027ac444 llvm::sys::RunSignalHandlers()
(/LLVM-trunk/bin/clang+++0x27ac444)
 #2 0x00000000027ac69b llvm::sys::CleanupOnSignal(unsigned long)
(/LLVM-trunk/bin/clang+++0x27ac69b)
 #3 0x000000000272815f llvm::CrashRecoveryContext::HandleExit(int)
(/LLVM-trunk/bin/clang+++0x272815f)
 #4 0x00000000027a5197 llvm::sys::Process::Exit(int)
(/LLVM-trunk/bin/clang+++0x27a5197)
 #5 0x00000000008f2c75 LLVMErrorHandler(void*, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool)
(/LLVM-trunk/bin/clang+++0x8f2c75)
 #6 0x0000000002730342 llvm::report_fatal_error(llvm::Twine const&, bool)
(/LLVM-trunk/bin/clang+++0x2730342)
 #7 0x0000000002730470
llvm::report_fatal_error(std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&, bool)
(/LLVM-trunk/bin/clang+++0x2730470)
 #8 0x000000000215f7e3 (anonymous
namespace)::VerifierLegacyPass::runOnFunction(llvm::Function&)
(/LLVM-trunk/bin/clang+++0x215f7e3)
 #9 0x00000000020ee8b7 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/LLVM-trunk/bin/clang+++0x20ee8b7)
#10 0x00000000020ef379 llvm::FPPassManager::runOnModule(llvm::Module&)
(/LLVM-trunk/bin/clang+++0x20ef379)
#11 0x00000000020ef70e llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/LLVM-trunk/bin/clang+++0x20ef70e)
#12 0x00000000029e796d (anonymous
namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/LLVM-trunk/bin/clang+++0x29e796d)
#13 0x00000000029e9050 clang::EmitBackendOutput(clang::DiagnosticsEngine&,
clang::HeaderSearchOptions const&, clang::CodeGenOptions const&,
clang::TargetOptions const&, clang::LangOptions const&, llvm::DataLayout
const&, llvm::Module*, clang::BackendAction,
std::unique_ptr<llvm::raw_pwrite_stream,
std::default_delete<llvm::raw_pwrite_stream> >)
(/LLVM-trunk/bin/clang+++0x29e9050)
#14 0x0000000003520518
clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&)
(/LLVM-trunk/bin/clang+++0x3520518)
#15 0x0000000003f08119 clang::ParseAST(clang::Sema&, bool, bool)
(/LLVM-trunk/bin/clang+++0x3f08119)
#16 0x000000000351f218 clang::CodeGenAction::ExecuteAction()
(/LLVM-trunk/bin/clang+++0x351f218)
#17 0x0000000002f36659 clang::FrontendAction::Execute()
(/LLVM-trunk/bin/clang+++0x2f36659)
#18 0x0000000002ef9f92
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&)
(/LLVM-trunk/bin/clang+++0x2ef9f92)
#19 0x0000000002ffc820
clang::ExecuteCompilerInvocation(clang::CompilerInstance*)
(/LLVM-trunk/bin/clang+++0x2ffc820)
#20 0x00000000008f3a4b cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/LLVM-trunk/bin/clang+++0x8f3a4b)
#21 0x00000000008efc97 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&)
(/LLVM-trunk/bin/clang+++0x8efc97)
#22 0x0000000002dda305 void llvm::function_ref<void
()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const::'lambda'()>(long)
(/LLVM-trunk/bin/clang+++0x2dda305)
#23 0x0000000002728032
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)
(/LLVM-trunk/bin/clang+++0x2728032)
#24 0x0000000002ddade5
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const (.part.168)
(/LLVM-trunk/bin/clang+++0x2ddade5)
#25 0x0000000002db7947
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&,
clang::driver::Command const*&) const (/LLVM-trunk/bin/clang+++0x2db7947)
#26 0x0000000002db8227
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const
(/LLVM-trunk/bin/clang+++0x2db8227)
#27 0x0000000002dc04e1
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&)
(/LLVM-trunk/bin/clang+++0x2dc04e1)
#28 0x0000000000859ed3 main (/LLVM-trunk/bin/clang+++0x859ed3)
clang-11: error: clang frontend command failed with exit code 70 (use -v to see
invocation)
clang version 11.0.0 (https://github.com/llvm/llvm-project.git
3f3ec9c40b2574929b41b93ac38484081b49837b)
Target: x86_64-unknown-linux-gnu
Thread model: posix

-- 
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/20200213/0dbade00/attachment.html>


More information about the llvm-bugs mailing list