diff options
author | Sayan Saha <sayans@mathworks.com> | 2025-08-13 19:45:06 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-13 19:45:06 -0400 |
commit | 8432f24831b21c34eb8c03b7cdc75c6f59326395 (patch) | |
tree | faded06b36cf0b5ccf42201908ce37787a077713 /llvm/lib/ObjCopy/wasm/WasmReader.cpp | |
parent | 32f1fe3770412981c3ede189417d2b9d4dc2d522 (diff) | |
download | llvm-main.zip llvm-main.tar.gz llvm-main.tar.bz2 |
Canonicalizing the following IR:
```
func.func @mul_zero_dynamic_nofold(%arg0: tensor<?x17xf32>) -> tensor<?x17xf32> {
%0 = "tosa.const"() <{values = dense<0.000000e+00> : tensor<1x1xf32>}> : () -> tensor<1x1xf32>
%1 = "tosa.const"() <{values = dense<0> : tensor<1xi8>}> : () -> tensor<1xi8>
%2 = tosa.mul %arg0, %0, %1 : (tensor<?x17xf32>, tensor<1x1xf32>, tensor<1xi8>) -> tensor<?x17xf32>
return %2 : tensor<?x17xf32>
}
```
resulted in a crash
```
#0 0x000056513187e8db backtrace (./build-release/bin/mlir-opt+0x9d698db)
#1 0x0000565131b17737 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /local-ssd/sayans/Softwares/llvm-repo/llvm-project-latest/llvm/lib/Support/Unix/Signals.inc:838:8
#2 0x0000565131b187f3 PrintStackTraceSignalHandler(void*) /local-ssd/sayans/Softwares/llvm-repo/llvm-project-latest/llvm/lib/Support/Unix/Signals.inc:918:1
#3 0x0000565131b18c30 llvm::sys::RunSignalHandlers() /local-ssd/sayans/Softwares/llvm-repo/llvm-project-latest/llvm/lib/Support/Signals.cpp:105:18
#4 0x0000565131b18c30 SignalHandler(int, siginfo_t*, void*) /local-ssd/sayans/Softwares/llvm-repo/llvm-project-latest/llvm/lib/Support/Unix/Signals.inc:409:3
#5 0x00007f2e4165b050 (/lib/x86_64-linux-gnu/libc.so.6+0x3c050)
#6 0x00007f2e416a9eec __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#7 0x00007f2e4165afb2 raise ./signal/../sysdeps/posix/raise.c:27:6
#8 0x00007f2e41645472 abort ./stdlib/abort.c:81:7
#9 0x00007f2e41645395 _nl_load_domain ./intl/loadmsgcat.c:1177:9
#10 0x00007f2e41653ec2 (/lib/x86_64-linux-gnu/libc.so.6+0x34ec2)
#11 0x00005651443ec4ba mlir::DenseIntOrFPElementsAttr::getRaw(mlir::ShapedType, llvm::ArrayRef<char>) /local-ssd/sayans/Softwares/llvm-repo/llvm-project-latest/mlir/lib/IR/BuiltinAttributes.cpp:1361:3
#12 0x00005651443f1209 mlir::DenseElementsAttr::resizeSplat(mlir::ShapedType) /local-ssd/sayans/Softwares/llvm-repo/llvm-project-latest/mlir/lib/IR/BuiltinAttributes.cpp:0:10
#13 0x000056513f76f2b6 mlir::tosa::MulOp::fold(mlir::tosa::MulOpGenericAdaptor<llvm::ArrayRef<mlir::Attribute>>) /local-ssd/sayans/Softwares/llvm-repo/llvm-project-latest/mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp:0:0
```
from the folder for `tosa::mul` since the zero value was being reshaped
to `?x17` size which isn't supported. AFAIK, `tosa.const` requires all
dimensions to be static. So in this case, the fix is to not to fold the
op.
Diffstat (limited to 'llvm/lib/ObjCopy/wasm/WasmReader.cpp')
0 files changed, 0 insertions, 0 deletions