UIUC-ChenLab / scalehls

A scalable High-Level Synthesis framework on MLIR
Other
220 stars 45 forks source link

[Draft] Remove polygeist + Bump to LLVM 17 #59

Open xerpi opened 1 year ago

xerpi commented 1 year ago

On top of @hanchenye's remove-polygeist branch.

xerpi commented 1 year ago

Two tests are failing (ninja check-scalehls):

[xerpi@xps15-linux build_debug]$ ninja check-scalehls
[0/1] Running the scalehls regression tests
FAIL: SCALEHLS :: Transforms/Dataflow/eliminate-multi-producer.mlir (3 of 58)
******************** TEST 'SCALEHLS :: Transforms/Dataflow/eliminate-multi-producer.mlir' FAILED ********************
Script:
--
: 'RUN: at line 1';   /home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt -scalehls-eliminate-multi-producer /home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir | /home/xerpi/Desktop/Research/circt/llvm/build_release/bin/FileCheck /home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir
--
Exit Code: 2

Command Output (stderr):
--
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:488:30: error: 'affine.if' op using value defined outside the region
                        %6 = affine.load %arg20[%arg21, %arg22, %arg23] : memref<16x14x14xi8, 7>
                             ^
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:488:30: note: see current operation: 
"affine.if"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>) ({
  "affine.store"(%1, %arg1, %arg2, %arg3, %arg4) {map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>} : (i8, memref<16x14x14xi8, 7>, index, index, index) -> ()
  "affine.yield"() : () -> ()
}, {
}) {condition = affine_set<(d0, d1, d2) : (d0 == 0, d1 == 0, d2 == 0)>} : (index, index, index) -> ()
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:483:17: note: required by region isolation constraints
                hls.dataflow.node() -> (%5) {inputTaps = []} : () -> memref<16x14x14xi8, 7> {
                ^
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:567:39: error: 'affine.if' op using value defined outside the region
                                %10 = affine.load %arg32[%arg37, %arg38, %arg39] : memref<16x14x14xi8, 7>
                                      ^
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:567:39: note: see current operation: 
"affine.if"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, %arg7) ({
  "affine.store"(%3, %arg3, %arg8, %arg9, %arg10) {map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>} : (i8, memref<16x14x14xi8, 7>, index, index, index) -> ()
  "affine.yield"() : () -> ()
}, {
}) {condition = affine_set<(d0, d1, d2, d3, d4, d5, d6) : (d0 == 0, d1 == 0, d2 == 0, d3 == 0, d4 == 0, d5 == 0, d6 == 0)>} : (index, index, index, index, index, index, index) -> ()
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:559:23: note: required by region isolation constraints
                      hls.dataflow.node(%7, %6) -> (%5) [%arg21, %arg27, %arg24] {inputTaps = [0 : i32, 0 : i32]} : (memref<16x14x14xi8, 7>, memref<16x16xi8, 7>) -> memref<16x14x14xi8, 7>[index, index, index] {
                      ^
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:653:39: error: 'affine.if' op using value defined outside the region
                                %10 = affine.load %arg32[%arg34, %arg35, %arg36] : memref<16x14x14xi8, 7>
                                      ^
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:653:39: note: see current operation: 
"affine.if"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, %arg4, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>) ({
  "affine.store"(%2, %arg3, %arg5, %arg6, %arg7) {map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>} : (i8, memref<16x14x14xi8, 7>, index, index, index) -> ()
  "affine.yield"() : () -> ()
}, {
}) {condition = affine_set<(d0, d1, d2, d3, d4, d5, d6) : (d0 == 0, d1 == 0, d2 == 0, d3 == 0, d4 == 0, d5 == 0, d6 == 0)>} : (index, index, index, index, index, index, index) -> ()
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:645:23: note: required by region isolation constraints
                      hls.dataflow.node(%7, %6) -> (%5) {inputTaps = [0 : i32, 0 : i32]} : (memref<16x14x14xi8, 7>, memref<16x16xi8, 7>) -> memref<16x14x14xi8, 7> {
                      ^
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:746:35: error: 'affine.if' op using value defined outside the region
                            %12 = affine.load %arg34[%arg37, %arg38, %arg39] : memref<16x14x14xi8, 7>
                                  ^
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:746:35: note: see current operation: 
"affine.if"(<<UNKNOWN SSA VALUE>>, %arg7, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>) ({
  "affine.store"(%3, %arg5, %arg8, %arg9, %arg10) {map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>} : (i8, memref<16x14x14xi8, 7>, index, index, index) -> ()
  "affine.yield"() : () -> ()
}, {
}) {condition = affine_set<(d0, d1, d2, d3, d4) : (d0 == 0, d1 == 0, d2 == 0, d3 == 0, d4 == 0)>} : (index, index, index, index, index) -> ()
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:738:19: note: required by region isolation constraints
                  hls.dataflow.node(%6, %9, %8) -> (%5, %7) [%arg26] {inputTaps = [0 : i32, 0 : i32, 0 : i32]} : (memref<16x14x14xi8, 7>, memref<16x14x14xi8, 7>, memref<16x16xi8, 7>) -> (memref<16x14x14xi8, 7>, memref<16x14x14xi8, 7>)[index] {
                  ^
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:861:26: error: 'affine.if' op using value defined outside the region
                    %7 = affine.load %arg24[%arg27] : memref<10xi8, 7>
                         ^
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:861:26: note: see current operation: 
"affine.if"(<<UNKNOWN SSA VALUE>>, <<UNKNOWN SSA VALUE>>, %arg5) ({
  "affine.store"(%1, %arg3, %arg6) {map = affine_map<(d0) -> (d0)>} : (i8, memref<10xi8, 7>, index) -> ()
  "affine.yield"() : () -> ()
}, {
}) {condition = affine_set<(d0, d1, d2) : (d0 == 0, d1 == 0, d2 == 0)>} : (index, index, index) -> ()
/home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir:857:15: note: required by region isolation constraints
              hls.dataflow.node(%arg19, %5) -> (%6) [%arg17] {inputTaps = [0 : i32, 0 : i32]} : (memref<64xi8, 7>, memref<10x16xi8, 7>) -> memref<10xi8, 7>[index] {
              ^
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/xerpi/Desktop/Research/circt/llvm/build_release/bin/FileCheck /home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/eliminate-multi-producer.mlir

--

********************
FAIL: SCALEHLS :: Transforms/Dataflow/create-dataflow-from-linalg.mlir (58 of 58)
******************** TEST 'SCALEHLS :: Transforms/Dataflow/create-dataflow-from-linalg.mlir' FAILED ********************
Script:
--
: 'RUN: at line 1';   /home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt -scalehls-create-dataflow-from-linalg /home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/create-dataflow-from-linalg.mlir | /home/xerpi/Desktop/Research/circt/llvm/build_release/bin/FileCheck /home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/create-dataflow-from-linalg.mlir
--
Exit Code: 2

Command Output (stderr):
--
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.  Program arguments: /home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt -scalehls-create-dataflow-from-linalg /home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/create-dataflow-from-linalg.mlir
 #0 0x000055eff413043e llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x26d443e)
 #1 0x000055eff412dcfb llvm::sys::RunSignalHandlers() (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x26d1cfb)
 #2 0x000055eff412de35 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f084df69f50 (/usr/lib/libc.so.6+0x38f50)
 #4 0x000055eff28bc2b8 mlir::TypeID::operator==(mlir::TypeID const&) const /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/Support/TypeID.h:116:12
 #5 0x000055eff28bc2ed mlir::TypeID::operator!=(mlir::TypeID const&) const /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/Support/TypeID.h:119:28
 #6 0x000055eff28be2a9 mlir::OperationName::Impl::isRegistered() const /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/IR/OperationSupport.h:114:71
 #7 0x000055eff28be33e mlir::OperationName::isRegistered() const /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/IR/OperationSupport.h:167:65
 #8 0x000055eff28be50b mlir::OperationName::getRegisteredInfo() const /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/IR/OperationSupport.h:457:25
 #9 0x000055eff28beec7 mlir::Operation::getRegisteredInfo() /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/IR/Operation.h:108:39
#10 0x000055eff291e82d mlir::Op<mlir::scalehls::hls::TaskOp, mlir::OpTrait::OneRegion, mlir::OpTrait::VariadicResults, mlir::OpTrait::ZeroSuccessors, mlir::OpTrait::ZeroOperands, mlir::OpTrait::SingleBlockImplicitTerminator<mlir::scalehls::hls::YieldOp>::Impl, mlir::OpTrait::HasParent<mlir::scalehls::hls::DispatchOp>::Impl, mlir::OpTrait::OpInvariants, mlir::scalehls::hls::StageLikeInterface::Trait, mlir::OpTrait::HasRecursiveMemoryEffects>::classof(mlir::Operation*) /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/IR/OpDefinition.h:1635:42
#11 0x000055eff29193a8 llvm::CastInfo<mlir::scalehls::hls::TaskOp, mlir::Operation, void>::isPossible(mlir::Operation&) /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/IR/Operation.h:911:77
#12 0x000055eff291128a llvm::ConstStrippingForwardingCast<mlir::scalehls::hls::TaskOp, mlir::Operation const, llvm::CastInfo<mlir::scalehls::hls::TaskOp, mlir::Operation, void>>::isPossible(mlir::Operation const&) /home/xerpi/Desktop/Research/circt/llvm/llvm/include/llvm/Support/Casting.h:398:3
#13 0x000055eff2901987 bool llvm::isa<mlir::scalehls::hls::TaskOp, mlir::Operation>(mlir::Operation const&) /home/xerpi/Desktop/Research/circt/llvm/llvm/include/llvm/Support/Casting.h:551:1
#14 0x000055eff28ef3e0 mlir::detail::op_filter_iterator<mlir::scalehls::hls::TaskOp, mlir::Region::OpIterator>::filter(mlir::Operation&) /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/IR/BlockSupport.h:143:66
#15 0x000055eff28f091d llvm::filter_iterator_base<mlir::Region::OpIterator, bool (*)(mlir::Operation&), std::forward_iterator_tag>::findNextValid() /home/xerpi/Desktop/Research/circt/llvm/llvm/include/llvm/ADT/STLExtras.h:550:31
#16 0x000055eff28dc24c llvm::filter_iterator_base<mlir::Region::OpIterator, bool (*)(mlir::Operation&), std::forward_iterator_tag>::operator++() /home/xerpi/Desktop/Research/circt/llvm/llvm/include/llvm/ADT/STLExtras.h:571:13
#17 0x000055eff295dd98 llvm::iterator_adaptor_base<llvm::mapped_iterator<mlir::detail::op_filter_iterator<mlir::scalehls::hls::TaskOp, mlir::Region::OpIterator>, mlir::scalehls::hls::TaskOp (*)(mlir::Operation&), mlir::scalehls::hls::TaskOp>, mlir::detail::op_filter_iterator<mlir::scalehls::hls::TaskOp, mlir::Region::OpIterator>, std::forward_iterator_tag, mlir::scalehls::hls::TaskOp, long, mlir::scalehls::hls::TaskOp*, mlir::scalehls::hls::TaskOp>::operator++() /home/xerpi/Desktop/Research/circt/llvm/llvm/include/llvm/ADT/iterator.h:282:41
#18 0x000055eff29596f6 llvm::iterator_facade_base<llvm::mapped_iterator<mlir::detail::op_filter_iterator<mlir::scalehls::hls::TaskOp, mlir::Region::OpIterator>, mlir::scalehls::hls::TaskOp (*)(mlir::Operation&), mlir::scalehls::hls::TaskOp>, std::forward_iterator_tag, mlir::scalehls::hls::TaskOp, long, mlir::scalehls::hls::TaskOp*, mlir::scalehls::hls::TaskOp>::operator++(int) /home/xerpi/Desktop/Research/circt/llvm/llvm/include/llvm/ADT/iterator.h:162:12
#19 0x000055eff295476c llvm::early_inc_iterator_impl<mlir::detail::op_iterator<mlir::scalehls::hls::TaskOp, mlir::Region::OpIterator>>::operator*() /home/xerpi/Desktop/Research/circt/llvm/llvm/include/llvm/ADT/STLExtras.h:713:12
#20 0x000055eff2946dbe mlir::scalehls::fuseOpsIntoTask(llvm::ArrayRef<mlir::Operation*>, mlir::PatternRewriter&, bool) /home/xerpi/Desktop/Research/scalehls/lib/Dialect/HLS/Utils.cpp:150:71
#21 0x000055eff2d95061 (anonymous namespace)::ForwardFuseOp<mlir::linalg::FillOp>::matchAndRewrite(mlir::linalg::FillOp, mlir::PatternRewriter&) const /home/xerpi/Desktop/Research/scalehls/lib/Transforms/Dataflow/CreateDataflowFromLinalg.cpp:72:19
#22 0x000055eff2d9e9ac mlir::detail::OpOrInterfaceRewritePatternBase<mlir::linalg::FillOp>::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/IR/PatternMatch.h:331:3
#23 0x000055eff3a0f355 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<mlir::LogicalResult (mlir::Pattern const&)>) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x1fb3355)
#24 0x000055eff39ea157 (anonymous namespace)::GreedyPatternRewriteDriver::processWorklist() GreedyPatternRewriteDriver.cpp:0:0
#25 0x000055eff39edef0 mlir::applyPatternsAndFoldGreedily(mlir::Region&, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x1f91ef0)
#26 0x000055eff2d60075 mlir::applyPatternsAndFoldGreedily(mlir::Operation*, mlir::FrozenRewritePatternSet const&, mlir::GreedyRewriteConfig) /home/xerpi/Desktop/Research/circt/llvm/mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h:115:43
#27 0x000055eff2d86b97 (anonymous namespace)::CreateDataflowFromLinalg::runOnOperation() /home/xerpi/Desktop/Research/scalehls/lib/Transforms/Dataflow/CreateDataflowFromLinalg.cpp:195:39
#28 0x000055eff3ac332e mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x206732e)
#29 0x000055eff3ac3838 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x2067838)
#30 0x000055eff3ac3bf1 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::'lambda'(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&)::operator()(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&) const Pass.cpp:0:0
#31 0x000055eff3ac2815 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x2066815)
#32 0x000055eff3ac304f mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x206704f)
#33 0x000055eff3ac3838 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x2067838)
#34 0x000055eff3ac4bff mlir::PassManager::run(mlir::Operation*) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x2068bff)
#35 0x000055eff2d401bb performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#36 0x000055eff2d40969 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, llvm::ThreadPool*) MlirOptMain.cpp:0:0
#37 0x000055eff2d40ae8 mlir::LogicalResult llvm::function_ref<mlir::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&)::'lambda'(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#38 0x000055eff403d4cb mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x25e14cb)
#39 0x000055eff2d3bb38 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x12dfb38)
#40 0x000055eff2d3e71c mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x12e271c)
#41 0x000055eff1bf51f2 main /home/xerpi/Desktop/Research/scalehls/tools/scalehls-opt/scalehls-opt.cpp:16:22
#42 0x00007f084df54790 (/usr/lib/libc.so.6+0x23790)
#43 0x00007f084df5484a __libc_start_main (/usr/lib/libc.so.6+0x2384a)
#44 0x000055eff1bf50a5 _start (/home/xerpi/Desktop/Research/scalehls/build_debug/bin/scalehls-opt+0x1990a5)
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /home/xerpi/Desktop/Research/circt/llvm/build_release/bin/FileCheck /home/xerpi/Desktop/Research/scalehls/test/Transforms/Dataflow/create-dataflow-from-linalg.mlir

--

********************
********************
Failed Tests (2):
  SCALEHLS :: Transforms/Dataflow/create-dataflow-from-linalg.mlir
  SCALEHLS :: Transforms/Dataflow/eliminate-multi-producer.mlir

Testing Time: 0.43s
  Unsupported      :  2
  Passed           : 40
  Expectedly Failed: 14
  Failed           :  2
FAILED: test/CMakeFiles/check-scalehls /home/xerpi/Desktop/Research/scalehls/build_debug/test/CMakeFiles/check-scalehls 
cd /home/xerpi/Desktop/Research/scalehls/build_debug/test && /home/xerpi/Desktop/Research/circt/llvm/build_release/./bin/llvm-lit -sv /home/xerpi/Desktop/Research/scalehls/build_debug/test
ninja: build stopped: subcommand failed.