-
Notifications
You must be signed in to change notification settings - Fork 366
Open
Description
Problem file (reduced with circt-reduce
:
module {
%false = hw.constant false
fsm.machine @mbx_fsm(%arg0: !seq.clock, %arg1: i1, %arg2: i1, %arg3: i1, %arg4: i1, %arg5: i1, %arg6: i1, %arg7: i1, %arg8: i1, %arg9: i1) -> (i1, i1, i1, i1, i1, i1, i1, i1, i1) attributes {initialState = "state_0"} {
fsm.state @state_0 output {
fsm.output %arg2, %false, %false, %false, %false, %false, %false, %false, %false : i1, i1, i1, i1, i1, i1, i1, i1, i1
}
}
}
Result:
ak2518@autobot:/local/scratch/ak2518/RTL-to-FSM-extractor$ circt-opt --sccp weird_2.mlir
circt-opt: /local/scratch/ak2518/RTL-to-FSM-extractor/circt/llvm/mlir/lib/IR/Block.cpp:245: Operation *mlir::Block::getTerminator(): Assertion `mightHaveTerminator()' failed.
PLEASE submit a bug report to https://github.com/llvm/circt and include the crash backtrace.
Stack dump:
0. Program arguments: circt-opt --sccp weird_2.mlir
#0 0x000059b950087338 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x3f54338)
#1 0x000059b950084a65 llvm::sys::RunSignalHandlers() (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x3f51a65)
#2 0x000059b9500880f1 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x000079aba3c45330 (/lib/x86_64-linux-gnu/libc.so.6+0x45330)
#4 0x000079aba3c9eb2c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x000079aba3c9eb2c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#6 0x000079aba3c9eb2c pthread_kill ./nptl/pthread_kill.c:89:10
#7 0x000079aba3c4527e raise ./signal/../sysdeps/posix/raise.c:27:6
#8 0x000079aba3c288ff abort ./stdlib/abort.c:81:7
#9 0x000079aba3c2881b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#10 0x000079aba3c3b517 (/lib/x86_64-linux-gnu/libc.so.6+0x3b517)
#11 0x000059b952ec27ff mlir::Block::getTerminator() (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x6d8f7ff)
#12 0x000059b95406d16d mlir::dataflow::DeadCodeAnalysis::visit(mlir::ProgramPoint*) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7f3a16d)
#13 0x000059b95406b8a5 mlir::dataflow::DeadCodeAnalysis::initializeRecursively(mlir::Operation*) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7f388a5)
#14 0x000059b95406bc8c mlir::dataflow::DeadCodeAnalysis::initializeRecursively(mlir::Operation*) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7f38c8c)
#15 0x000059b95406bc8c mlir::dataflow::DeadCodeAnalysis::initializeRecursively(mlir::Operation*) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7f38c8c)
#16 0x000059b95406b050 mlir::dataflow::DeadCodeAnalysis::initialize(mlir::Operation*) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7f38050)
#17 0x000059b954044f1e mlir::DataFlowSolver::initializeAndRun(mlir::Operation*) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7f11f1e)
#18 0x000059b9535b327b (anonymous namespace)::SCCP::runOnOperation() SCCP.cpp:0:0
#19 0x000059b954021e22 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7eeee22)
#20 0x000059b954022990 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7eef990)
#21 0x000059b95402520c mlir::PassManager::run(mlir::Operation*) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7ef220c)
#22 0x000059b95356ae1b performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#23 0x000059b95356aa80 llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#24 0x000059b95359d5d5 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x746a5d5)
#25 0x000059b953563a35 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7430a35)
#26 0x000059b953563ce8 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7430ce8)
#27 0x000059b953563f02 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x7430f02)
#28 0x000059b94ff5b41d main /local/scratch/ak2518/RTL-to-FSM-extractor/circt/tools/circt-opt/circt-opt.cpp:84:0
#29 0x000079aba3c2a1ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#30 0x000079aba3c2a28b call_init ./csu/../csu/libc-start.c:128:20
#31 0x000079aba3c2a28b __libc_start_main ./csu/../csu/libc-start.c:347:5
#32 0x000059b94ff5af65 _start (/local/scratch/ak2518/RTL-to-FSM-extractor/circt/build/bin/circt-opt+0x3e27f65)
Aborted (core dumped)
Metadata
Metadata
Assignees
Labels
No labels