Skip to content

Create general PoolingOp and decompose to MaxPool2d #1487

Create general PoolingOp and decompose to MaxPool2d

Create general PoolingOp and decompose to MaxPool2d #1487

GitHub Actions / MLIR Tests failed Nov 4, 2024 in 0s

219 tests run, 206 passed, 7 skipped, 6 failed.

Annotations

Check failure on line 1 in ttmlir/Conversion/StableHLOToTTIR

See this annotation in the file changed.

@github-actions github-actions / MLIR Tests

ttmlir/Conversion/StableHLOToTTIR.maxpool2d_op.mlir

Exit Code: 2
Raw output
Exit Code: 2

Command Output (stderr):
--
RUN: at line 2: /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --stablehlo-to-ttir-pipeline /__w/tt-mlir/tt-mlir/test/ttmlir/Conversion/StableHLOToTTIR/maxpool2d_op.mlir | /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Conversion/StableHLOToTTIR/maxpool2d_op.mlir
+ /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Conversion/StableHLOToTTIR/maxpool2d_op.mlir
+ /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --stablehlo-to-ttir-pipeline /__w/tt-mlir/tt-mlir/test/ttmlir/Conversion/StableHLOToTTIR/maxpool2d_op.mlir
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.	Program arguments: /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --stablehlo-to-ttir-pipeline /__w/tt-mlir/tt-mlir/test/ttmlir/Conversion/StableHLOToTTIR/maxpool2d_op.mlir
 #0 0x00007f1c1335b95c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/ttmlir-toolchain/lib/libLLVM.so.20.0git+0xe5495c)
 #1 0x00007f1c1335bd86 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f1c11fe4520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x000055e1e3660a8c mlir::detail::OperandStorage::OperandStorage(mlir::Operation*, mlir::OpOperand*, mlir::ValueRange) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1dbba8c)
 #4 0x000055e1e365a2ae mlir::Operation::create(mlir::Location, mlir::OperationName, mlir::TypeRange, mlir::ValueRange, mlir::DictionaryAttr, mlir::OpaqueProperties, mlir::BlockRange, unsigned int) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1db52ae)
 #5 0x000055e1e3659ee0 mlir::Operation::create(mlir::Location, mlir::OperationName, mlir::TypeRange, mlir::ValueRange, mlir::NamedAttrList&&, mlir::OpaqueProperties, mlir::BlockRange, unsigned int) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1db4ee0)
 #6 0x000055e1e3659d82 mlir::Operation::create(mlir::Location, mlir::OperationName, mlir::TypeRange, mlir::ValueRange, mlir::NamedAttrList&&, mlir::OpaqueProperties, mlir::BlockRange, mlir::RegionRange) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1db4d82)
 #7 0x000055e1e3659cbf mlir::Operation::create(mlir::OperationState const&) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1db4cbf)
 #8 0x000055e1e35fa8c8 mlir::OpBuilder::create(mlir::OperationState const&) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1d558c8)
 #9 0x000055e1e2dc6250 mlir::tt::ttir::PoolingOp mlir::OpBuilder::create<mlir::tt::ttir::PoolingOp, mlir::RankedTensorType&, mlir::ValueRange&, mlir::ValueRange&, mlir::tt::ttir::PoolingMethod&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::ArrayAttr&>(mlir::Location, mlir::RankedTensorType&, mlir::ValueRange&, mlir::ValueRange&, mlir::tt::ttir::PoolingMethod&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::detail::DenseArrayAttrImpl<long>&, mlir::ArrayAttr&) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1521250)
#10 0x000055e1e2dc568e (anonymous namespace)::StableHLOToTTIRReduceWindowOpConversionPattern::matchAndRewrite(mlir::stablehlo::ReduceWindowOp, mlir::stablehlo::ReduceWindowOpAdaptor, mlir::ConversionPatternRewriter&) const StableHLOToTTIRPatterns.cpp:0:0
#11 0x000055e1e2dc40fa mlir::OpConversionPattern<mlir::stablehlo::ReduceWindowOp>::matchAndRewrite(mlir::Operation*, llvm::ArrayRef<mlir::Value>, mlir::ConversionPatternRewriter&) const (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x151f0fa)
#12 0x000055e1e347bbe5 mlir::ConversionPattern::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&) const (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1bd6be5)
#13 0x000055e1e34a6d96 void llvm::function_ref<void ()>::callback_fn<mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>)::$_0>(long) PatternApplicator.cpp:0:0
#14 0x000055e1e34a4898 mlir::PatternApplicator::matchAndRewrite(mlir::Operation*, mlir::PatternRewriter&, llvm::function_ref<bool (mlir::Pattern const&)>, llvm::function_ref<void (mlir::Pattern const&)>, llvm::function_ref<llvm::LogicalResult (mlir::Pattern const&)>) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1bff898)
#15 0x000055e1e347c4b4 (anonymous namespace)::OperationLegalizer::legalize(mlir::Operation*, mlir::ConversionPatternRewriter&) DialectConversion.cpp:0:0
#16 0x000055e1e347bc6a mlir::OperationConverter::convert(mlir::ConversionPatternRewriter&, mlir::Operation*) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1bd6c6a)
#17 0x000055e1e347c8fe mlir::OperationConverter::convertOperations(llvm::ArrayRef<mlir::Operation*>) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1bd78fe)
#18 0x000055e1e347ff73 mlir::applyFullConversion(llvm::ArrayRef<mlir::Operation*>, mlir::ConversionTarget const&, mlir::FrozenRewritePatternSet const&, mlir::ConversionConfig) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1bdaf73)
#19 0x000055e1e347ffdf mlir::applyFullConversion(mlir::Operation*, mlir::ConversionTarget const&, mlir::FrozenRewritePatternSet const&, mlir::ConversionConfig) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1bdafdf)
#20 0x000055e1e2da487f (anonymous namespace)::ConvertStableHLOToTTIRPass::runOnOperation() StableHLOToTTIRPass.cpp:0:0
#21 0x000055e1e356b864 void llvm::function_ref<void ()>::callback_fn<mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int)::$_1>(long) Pass.cpp:0:0
#22 0x000055e1e3567e66 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1cc2e66)
#23 0x000055e1e356826b mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1cc326b)
#24 0x000055e1e3569b7c mlir::PassManager::run(mlir::Operation*) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1cc4b7c)
#25 0x000055e1e27ce098 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#26 0x000055e1e27cdd66 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
#27 0x000055e1e367a075 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) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x1dd5075)
#28 0x000055e1e27ca471 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0xf25471)
#29 0x000055e1e27ca6a6 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0xf256a6)
#30 0x000055e1e27ca84c mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0xf2584c)
#31 0x000055e1e1b001cf main (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x25b1cf)
#32 0x00007f1c11fcbd90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#33 0x00007f1c11fcbe40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#34 0x000055e1e1b000b5 _start (/__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt+0x25b0b5)
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Conversion/StableHLOToTTIR/maxpool2d_op.mlir

--

Check failure on line 32 in ttmlir/Dialect/TTNN/convolution

See this annotation in the file changed.

@github-actions github-actions / MLIR Tests

ttmlir/Dialect/TTNN/convolution.complex_conv_channel_first.mlir

Exit Code: 2
Raw output
Exit Code: 2

Command Output (stderr):
--
RUN: at line 1: /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir | /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir
+ /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir
+ /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir
/__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir:9:10: error: failed to legalize unresolved materialization from ('tensor<1x100x7x100xbf16>') to 'tensor<1x7x100x100xbf16>' that remained live after conversion
    %1 = "ttir.convolution"(%arg0, %arg1, %0) <{
         ^
/__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir:9:10: note: see current operation: %11 = "builtin.unrealized_conversion_cast"(%10) : (tensor<1x100x7x100xbf16>) -> tensor<1x7x100x100xbf16>
/__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir:32:5: note: see existing live user here: func.return %11 : tensor<1x7x100x100xbf16>
    return %1 : tensor<1x7x100x100xbf16>
    ^
FileCheck error: '<stdin>' is empty.
FileCheck command line:  /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/convolution/complex_conv_channel_first.mlir

--

Check failure on line 24 in ttmlir/Dialect/TTNN

See this annotation in the file changed.

@github-actions github-actions / MLIR Tests

ttmlir/Dialect/TTNN.simple_constant.mlir

Exit Code: 1
Raw output
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir | /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir
+ /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir
+ /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir
/__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir:24:12: error: CHECK: expected string not found in input
 // CHECK: %[[C:.*]] = "ttnn.full"[[C:.*]]
           ^
<stdin>:19:112: note: scanning from here
 %1 = "ttnn.full"(%0) <{fillValue = 1.000000e+00 : f32}> : (!tt.device<#device>) -> tensor<64x128xi32, #layout>
                                                                                                               ^
<stdin>:24:2: note: possible intended match here
 %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1>
 ^

Input file: <stdin>
Check file: /__w/tt-mlir/tt-mlir/test/ttmlir/Dialect/TTNN/simple_constant.mlir

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            .
            .
            .
           14:  %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1> 
           15:  return %1 : tensor<64x128xf32, #layout1> 
           16:  } 
           17:  func.func @test_full_int() -> tensor<64x128xi32, #layout> { 
           18:  %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device> 
           19:  %1 = "ttnn.full"(%0) <{fillValue = 1.000000e+00 : f32}> : (!tt.device<#device>) -> tensor<64x128xi32, #layout> 
check:24'0                                                                                                                    X error: no match found
           20:  return %1 : tensor<64x128xi32, #layout> 
check:24'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           21:  } 
check:24'0     ~~~
           22:  func.func @test_full_float() -> tensor<64x128xf32, #layout1> { 
check:24'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           23:  %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device> 
check:24'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           24:  %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1> 
check:24'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:24'1      ?                                                                                                                                                                possible intended match
           25:  return %1 : tensor<64x128xf32, #layout1> 
check:24'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           26:  } 
check:24'0     ~~~
           27: } 
check:24'0     ~~
           28:  
check:24'0     ~
>>>>>>

--

Check failure on line 34 in ttmlir/Silicon/TTNN

See this annotation in the file changed.

@github-actions github-actions / MLIR Tests

ttmlir/Silicon/TTNN.complex_conv_channel_first.mlir

Exit Code: 1
Raw output
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline="system-desc-path=" /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir > /__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/complex_conv_channel_first.mlir.tmp.mlir
+ /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline=system-desc-path= /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir
/__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir:11:10: error: failed to legalize unresolved materialization from ('tensor<1x100x7x100xbf16>') to 'tensor<1x7x100x100xbf16>' that remained live after conversion
    %1 = "ttir.convolution"(%arg0, %arg1, %0) <{
         ^
/__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir:11:10: note: see current operation: %11 = "builtin.unrealized_conversion_cast"(%10) : (tensor<1x100x7x100xbf16>) -> tensor<1x7x100x100xbf16>
/__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/complex_conv_channel_first.mlir:34:5: note: see existing live user here: func.return %11 : tensor<1x7x100x100xbf16>
    return %1 : tensor<1x7x100x100xbf16>
    ^

--

Check failure on line 1 in ttmlir/Silicon/TTNN/pooling

See this annotation in the file changed.

@github-actions github-actions / MLIR Tests

ttmlir/Silicon/TTNN/pooling.simple_pooling.mlir

Exit Code: 2
Raw output
Exit Code: 2

Command Output (stderr):
--
RUN: at line 1: /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline="system-desc-path=" /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/pooling/simple_pooling.mlir > /__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/pooling/Output/simple_pooling.mlir.tmp.mlir
+ /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline=system-desc-path= /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/pooling/simple_pooling.mlir
RUN: at line 2: /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/pooling/simple_pooling.mlir --input-file=/__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/pooling/Output/simple_pooling.mlir.tmp.mlir
+ /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/pooling/simple_pooling.mlir --input-file=/__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/pooling/Output/simple_pooling.mlir.tmp.mlir
error: no check strings found with prefix 'CHECK:'

--

Check failure on line 30 in ttmlir/Silicon/TTNN

See this annotation in the file changed.

@github-actions github-actions / MLIR Tests

ttmlir/Silicon/TTNN.simple_constant.mlir

Exit Code: 1
Raw output
Exit Code: 1

Command Output (stderr):
--
RUN: at line 1: /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline="system-desc-path=" /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir > /__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir
+ /__w/tt-mlir/tt-mlir/build/bin/ttmlir-opt --ttir-to-ttnn-backend-pipeline=system-desc-path= /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir
RUN: at line 2: /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir --input-file=/__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir
+ /opt/ttmlir-toolchain/bin/FileCheck /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir --input-file=/__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir
/__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir:32:12: error: CHECK: expected string not found in input
 // CHECK: %[[C:.*]] = "ttnn.full"[[C:.*]]
           ^
/__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir:25:112: note: scanning from here
 %1 = "ttnn.full"(%0) <{fillValue = 1.000000e+00 : f32}> : (!tt.device<#device>) -> tensor<64x128xi32, #layout>
                                                                                                               ^
/__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir:30:2: note: possible intended match here
 %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1>
 ^

Input file: /__w/tt-mlir/tt-mlir/build/test/ttmlir/Silicon/TTNN/Output/simple_constant.mlir.tmp.mlir
Check file: /__w/tt-mlir/tt-mlir/test/ttmlir/Silicon/TTNN/simple_constant.mlir

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            .
            .
            .
           20:  %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<1x1>}> : () -> tensor<1x1xf32, #layout2> 
           21:  return %1 : tensor<1x1xf32, #layout2> 
           22:  } 
           23:  func.func @test_full_int() -> tensor<64x128xi32, #layout> { 
           24:  %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device> 
           25:  %1 = "ttnn.full"(%0) <{fillValue = 1.000000e+00 : f32}> : (!tt.device<#device>) -> tensor<64x128xi32, #layout> 
check:32'0                                                                                                                    X error: no match found
           26:  return %1 : tensor<64x128xi32, #layout> 
check:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           27:  } 
check:32'0     ~~~
           28:  func.func @test_full_float() -> tensor<64x128xf32, #layout1> { 
check:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           29:  %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device> 
check:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           30:  %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<64x128>}> : () -> tensor<64x128xf32, #layout1> 
check:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:32'1      ?                                                                                                                                                                possible intended match
           31:  return %1 : tensor<64x128xf32, #layout1> 
check:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           32:  } 
check:32'0     ~~~
           33:  func.func @test_full_scalar() -> tensor<1x1xf32, #layout2> { 
check:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           34:  %0 = "ttnn.get_device"() <{mesh_shape = #ttnn<mesh_shape 1x1>}> : () -> !tt.device<#device> 
check:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           35:  %1 = "ttnn.empty"() <{dtype = #tt.supportedDataTypes<f32>, layout = #ttnn.layout<row_major>, shape = #ttnn.shape<1x1>}> : () -> tensor<1x1xf32, #layout2> 
check:32'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            .
            .
            .
>>>>>>

--