Issue |
140995
|
Summary |
Assertion in OMPIRBuilder.cpp
|
Labels |
flang:openmp
|
Assignees |
|
Reporter |
eugeneepshteyn
|
While this example doesn't make much sense, it shouldn't assert :)
```
implicit none
integer a(5)
!$omp parallel private(a)
!$omp cancel parallel if (size(a) .eq. 5)
!$omp barrier
!$omp end parallel
end
```
Assert:
```
$ flang -c -fopenmp test.f90
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
flang: /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:1749: OpenMPIRBuilder::InsertPointOrErrorTy llvm::OpenMPIRBuilder::createParallel(const LocationDescription &, InsertPointTy, BodyGenCallbackTy, PrivatizeCallbackTy, FinalizeCallbackTy, Value *, Value *, omp::ProcBindKind, bool): Assertion `Outputs.empty() && "OpenMP outlining should not produce live-out values!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/eepshteyn/compilers/flang-upstream/bin/flang -fc1 -triple x86_64-unknown-linux-gnu -emit-obj -fcolor-diagnostics -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -fopenmp -resource-dir /home/eepshteyn/compilers/flang-upstream/lib/clang/21 -mframe-pointer=all -o test.o -x f95 test.f90
#0 0x00005a9c0178fc69 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Unix/Signals.inc:804:11
#1 0x00005a9c017900fb PrintStackTraceSignalHandler(void*) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Unix/Signals.inc:888:1
#2 0x00005a9c0178e57f llvm::sys::RunSignalHandlers() /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Signals.cpp:105:5
#3 0x00005a9c01790689 SignalHandler(int, siginfo_t*, void*) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Support/Unix/Signals.inc:418:7
#4 0x000070d41d045330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
#5 0x000070d41d09eb2c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#6 0x000070d41d09eb2c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#7 0x000070d41d09eb2c pthread_kill ./nptl/pthread_kill.c:89:10
#8 0x000070d41d04527e raise ./signal/../sysdeps/posix/raise.c:27:6
#9 0x000070d41d0288ff abort ./stdlib/abort.c:81:7
#10 0x000070d41d02881b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#11 0x000070d41d03b517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
#12 0x00005a9c0a6fdb8c llvm::OpenMPIRBuilder::createParallel(llvm::OpenMPIRBuilder::LocationDescription const&, llvm::IRBuilderBase::InsertPoint, llvm::function_ref<llvm::Error (llvm::IRBuilderBase::InsertPoint, llvm::IRBuilderBase::InsertPoint)>, llvm::function_ref<llvm::Expected<llvm::IRBuilderBase::InsertPoint> (llvm::IRBuilderBase::InsertPoint, llvm::IRBuilderBase::InsertPoint, llvm::Value&, llvm::Value&, llvm::Value*&)>, std::__1::function<llvm::Error (llvm::IRBuilderBase::InsertPoint)>, llvm::Value*, llvm::Value*, llvm::omp::ProcBindKind, bool) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:1751:3
#13 0x00005a9c06292153 convertOmpParallel(mlir::omp::ParallelOp, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:2803:7
#14 0x00005a9c06291cbc convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3::operator()(mlir::omp::ParallelOp) const /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:5752:20
#15 0x00005a9c06291c6e llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>& llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>::Case<mlir::omp::ParallelOp, convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3>(convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3&&) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:102:22
#16 0x00005a9c06290e25 llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>& llvm::detail::TypeSwitchBase<llvm::TypeSwitch<mlir::Operation*, llvm::LogicalResult>, mlir::Operation*>::Case<convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3>(convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&)::$_3&&) /home/eepshteyn/src/flang-upstream/llvm-project/llvm/include/llvm/ADT/TypeSwitch.h:60:5
#17 0x00005a9c0627a30c convertHostOrTargetOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:5751:12
#18 0x00005a9c06279bb7 (anonymous namespace)::OpenMPDialectLLVMIRTranslationInterface::convertOperation(mlir::Operation*, llvm::IRBuilderBase&, mlir::LLVM::ModuleTranslation&) const /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp:6089:10
#19 0x00005a9c08eb6309 mlir::LLVM::ModuleTranslation::convertOperation(mlir::Operation&, llvm::IRBuilderBase&, bool) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:987:23
#20 0x00005a9c08eb6aef mlir::LLVM::ModuleTranslation::convertBlockImpl(mlir::Block&, bool, llvm::IRBuilderBase&, bool) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1037:16
#21 0x00005a9c08eba313 mlir::LLVM::ModuleTranslation::convertOneFunction(mlir::LLVM::LLVMFuncOp) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1584:16
#22 0x00005a9c08ebc19b mlir::LLVM::ModuleTranslation::convertFunctions() /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:1849:16
#23 0x00005a9c08ebe254 mlir::translateModuleToLLVMIR(mlir::Operation*, llvm::LLVMContext&, llvm::StringRef, bool) /home/eepshteyn/src/flang-upstream/llvm-project/mlir/lib/Target/LLVMIR/ModuleTranslation.cpp:2298:25
#24 0x00005a9c0180367e Fortran::frontend::CodeGenAction::generateLLVMIR() /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/FrontendActions.cpp:780:16
#25 0x00005a9c01804fad Fortran::frontend::CodeGenAction::executeAction() /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/FrontendActions.cpp:1268:44
#26 0x00005a9c017f2124 Fortran::frontend::FrontendAction::execute() /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/FrontendAction.cpp:124:10
#27 0x00005a9c017ba102 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/Frontend/CompilerInstance.cpp:190:23
#28 0x00005a9c017f90ac Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) /home/eepshteyn/src/flang-upstream/llvm-project/flang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:222:8
#29 0x00005a9c00e0e6ca fc1_main(llvm::ArrayRef<char const*>, char const*) /home/eepshteyn/src/flang-upstream/llvm-project/flang/tools/flang-driver/fc1_main.cpp:91:11
#30 0x00005a9c00e08ec1 executeFC1Tool(llvm::SmallVectorImpl<char const*>&) /home/eepshteyn/src/flang-upstream/llvm-project/flang/tools/flang-driver/driver.cpp:66:5
#31 0x00005a9c00e08756 main /home/eepshteyn/src/flang-upstream/llvm-project/flang/tools/flang-driver/driver.cpp:110:7
#32 0x000070d41d02a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#33 0x000070d41d02a28b call_init ./csu/../csu/libc-start.c:128:20
#34 0x000070d41d02a28b __libc_start_main ./csu/../csu/libc-start.c:347:5
#35 0x00005a9c00e08425 _start (/home/eepshteyn/compilers/flang-upstream/bin/flang+0x9356425)
flang-21: error: unable to execute command: Aborted (core dumped)
flang-21: error: flang frontend command failed due to signal (use -v to see invocation)
flang version 21.0.0git (https://github.com/eugeneepshteyn/llvm-project.git 0a42db682aa01a66eb99d08063fbc6e6124792f7)
Target: x86_64-unknown-linux-gnu
Thread model: posix
...
Build config: +unoptimized, +assertions
flang-21: warning: OpenMP support in flang is still experimental [-Wexperimental-option]
```
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs