# | Stack dump:
# | 0. Program arguments: heir-opt --poly-to-standard /home/j2kun/.cache/bazel/_bazel_j2kun/b07a48cf9da8c73a462d3608e5c508dd/sandbox/linux-sandbox/9014/execroot/heir/bazel-out/k8-dbg/bin/tests/poly/lower_mul.mlir.test.runfiles/heir/tests/poly/lower_mul.mlir
# | #0 0x000055c0c1fc4dd8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /proc/self/cwd/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:723:22
# | #1 0x000055c0c1fc51b5 PrintStackTraceSignalHandler(void*) /proc/self/cwd/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:798:1
# | #2 0x000055c0c1fc26b7 llvm::sys::RunSignalHandlers() /proc/self/cwd/external/llvm-project/llvm/lib/Support/Signals.cpp:105:20
# | #3 0x000055c0c1fc46b4 SignalHandler(int) /proc/self/cwd/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:413:1
# | #4 0x00007f2123591520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
# | #5 0x00007f21235e5a7c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
# | #6 0x00007f21235e5a7c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
# | #7 0x00007f21235e5a7c pthread_kill ./nptl/pthread_kill.c:89:10
# | #8 0x00007f2123591476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
# | #9 0x00007f21235777f3 abort ./stdlib/abort.c:81:7
# | #10 0x00007f212357771b _nl_load_domain ./intl/loadmsgcat.c:1177:9
# | #11 0x00007f2123588e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
# | #12 0x000055c0bb2e7d04 llvm::APInt::operator==(llvm::APInt const&) const /proc/self/cwd/external/llvm-project/llvm/include/llvm/ADT/APInt.h:1030:21
# | #13 0x000055c0bb38a9e8 mlir::heir::poly::detail::RingAttrStorage::operator==(std::tuple<llvm::APInt, mlir::heir::poly::Polynomial> const&) const /proc/self/cwd/bazel-out/k8-dbg/bin/include/Dialect/Poly/IR/PolyAttributes.cpp.inc:103:45
# | #14 0x000055c0bb39250c mlir::heir::poly::detail::RingAttrStorage* mlir::StorageUniquer::get<mlir::heir::poly::detail::RingAttrStorage, llvm::APInt&, mlir::heir::poly::Polynomial&>(llvm::function_ref<void (mlir::heir::poly::detail::RingAttrStorage*)>, mlir::TypeID, llvm::APInt&, mlir::heir::poly::Polynomial&)::'lambda'(mlir::StorageUniquer::BaseStorage const*)::operator()(mlir::StorageUniquer::BaseStorage const*) const /proc/self/cwd/external/llvm-project/mlir/include/mlir/Support/StorageUniquer.h:205:20
# | #15 0x000055c0bb39702d bool llvm::function_ref<bool (mlir::StorageUniquer::BaseStorage const*)>::callback_fn<mlir::heir::poly::detail::RingAttrStorage* mlir::StorageUniquer::get<mlir::heir::poly::detail::RingAttrStorage, llvm::APInt&, mlir::heir::poly::Polynomial&>(llvm::function_ref<void (mlir::heir::poly::detail::RingAttrStorage*)>, mlir::TypeID, llvm::APInt&, mlir::heir::poly::Polynomial&)::'lambda'(mlir::StorageUniquer::BaseStorage const*)>(long, mlir::StorageUniquer::BaseStorage const*) /proc/self/cwd/external/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:47:3
# | #16 0x000055c0c1ebf16f llvm::function_ref<bool (mlir::StorageUniquer::BaseStorage const*)>::operator()(mlir::StorageUniquer::BaseStorage const*) const /proc/self/cwd/external/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:69:3
# | #17 0x000055c0c1ebe6c3 (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo::isEqual((anonymous namespace)::ParametricStorageUniquer::LookupKey const&, (anonymous namespace)::ParametricStorageUniquer::HashedStorage const&) /proc/self/cwd/external/llvm-project/mlir/lib/Support/StorageUniquer.cpp:73:37
# | #18 0x000055c0c1ec25dd bool llvm::DenseMapBase<llvm::DenseMap<(anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::detail::DenseSetEmpty, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>>, (anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::detail::DenseSetEmpty, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>>::LookupBucketFor<(anonymous namespace)::ParametricStorageUniquer::LookupKey>((anonymous namespace)::ParametricStorageUniquer::LookupKey const&, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage> const*&) const /proc/self/cwd/external/llvm-project/llvm/include/llvm/ADT/DenseMap.h:658:11
# | #19 0x000055c0c1ec0ce9 bool llvm::DenseMapBase<llvm::DenseMap<(anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::detail::DenseSetEmpty, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>>, (anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::detail::DenseSetEmpty, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>>::LookupBucketFor<(anonymous namespace)::ParametricStorageUniquer::LookupKey>((anonymous namespace)::ParametricStorageUniquer::LookupKey const&, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>*&) /proc/self/cwd/external/llvm-project/llvm/include/llvm/ADT/DenseMap.h:689:24
# | #20 0x000055c0c1ebff31 llvm::DenseMapIterator<(anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::detail::DenseSetEmpty, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>, false> llvm::DenseMapBase<llvm::DenseMap<(anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::detail::DenseSetEmpty, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>>, (anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::detail::DenseSetEmpty, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>>::find_as<(anonymous namespace)::ParametricStorageUniquer::LookupKey>((anonymous namespace)::ParametricStorageUniquer::LookupKey const&) /proc/self/cwd/external/llvm-project/llvm/include/llvm/ADT/DenseMap.h:182:5
# | #21 0x000055c0c1ebf2cd llvm::detail::DenseSetImpl<(anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::DenseMap<(anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::detail::DenseSetEmpty, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>>, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo>::Iterator llvm::detail::DenseSetImpl<(anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::DenseMap<(anonymous namespace)::ParametricStorageUniquer::HashedStorage, llvm::detail::DenseSetEmpty, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo, llvm::detail::DenseSetPair<(anonymous namespace)::ParametricStorageUniquer::HashedStorage>>, (anonymous namespace)::ParametricStorageUniquer::StorageKeyInfo>::find_as<(anonymous namespace)::ParametricStorageUniquer::LookupKey>((anonymous namespace)::ParametricStorageUniquer::LookupKey const&) /proc/self/cwd/external/llvm-project/llvm/include/llvm/ADT/DenseSet.h:196:35
# | #22 0x000055c0c1ebe8b5 (anonymous namespace)::ParametricStorageUniquer::getOrCreate(bool, unsigned int, llvm::function_ref<bool (mlir::StorageUniquer::BaseStorage const*)>, llvm::function_ref<mlir::StorageUniquer::BaseStorage* ()>) /proc/self/cwd/external/llvm-project/mlir/lib/Support/StorageUniquer.cpp:151:40
# | #23 0x000055c0c1ebec04 mlir::detail::StorageUniquerImpl::getOrCreate(mlir::TypeID, unsigned int, llvm::function_ref<bool (mlir::StorageUniquer::BaseStorage const*)>, llvm::function_ref<mlir::StorageUniquer::BaseStorage* (mlir::StorageUniquer::StorageAllocator&)>) /proc/self/cwd/external/llvm-project/mlir/lib/Support/StorageUniquer.cpp:270:38
# | #24 0x000055c0c1eba39f mlir::StorageUniquer::getParametricStorageTypeImpl(mlir::TypeID, unsigned int, llvm::function_ref<bool (mlir::StorageUniquer::BaseStorage const*)>, llvm::function_ref<mlir::StorageUniquer::BaseStorage* (mlir::StorageUniquer::StorageAllocator&)>) /proc/self/cwd/external/llvm-project/mlir/lib/Support/StorageUniquer.cpp:375:27
# | #25 0x000055c0bb39267d mlir::heir::poly::detail::RingAttrStorage* mlir::StorageUniquer::get<mlir::heir::poly::detail::RingAttrStorage, llvm::APInt&, mlir::heir::poly::Polynomial&>(llvm::function_ref<void (mlir::heir::poly::detail::RingAttrStorage*)>, mlir::TypeID, llvm::APInt&, mlir::heir::poly::Polynomial&) /proc/self/cwd/external/llvm-project/mlir/include/mlir/Support/StorageUniquer.h:219:37
# | #26 0x000055c0bb38f5e2 _ZN4mlir6detail16AttributeUniquer13getWithTypeIDINS_4heir4poly8RingAttrEJRN4llvm5APIntERNS4_10PolynomialEEEENSt9enable_ifIXntsrSt7is_sameINT_8ImplTypeENS_16AttributeStorageEE5valueESD_E4typeEPNS_11MLIRContextENS_6TypeIDEDpOT0_ /proc/self/cwd/external/llvm-project/mlir/include/mlir/IR/AttributeSupport.h:227:64
# | #27 0x000055c0bb38d3bc mlir::heir::poly::RingAttr mlir::detail::AttributeUniquer::get<mlir::heir::poly::RingAttr, llvm::APInt&, mlir::heir::poly::Polynomial&>(mlir::MLIRContext*, llvm::APInt&, mlir::heir::poly::Polynomial&) /proc/self/cwd/external/llvm-project/mlir/include/mlir/IR/AttributeSupport.h:210:3
# | #28 0x000055c0bb38b6fc mlir::heir::poly::RingAttr mlir::detail::StorageUserBase<mlir::heir::poly::RingAttr, mlir::Attribute, mlir::heir::poly::detail::RingAttrStorage, mlir::detail::AttributeUniquer>::get<llvm::APInt&, mlir::heir::poly::Polynomial&>(mlir::MLIRContext*, llvm::APInt&, mlir::heir::poly::Polynomial&) /proc/self/cwd/external/llvm-project/mlir/include/mlir/IR/StorageUniquerSupport.h:183:3
# | #29 0x000055c0bb378114 mlir::heir::poly::RingAttr::get(llvm::APInt, mlir::heir::poly::Polynomial) /proc/self/cwd/bazel-out/k8-dbg/bin/include/Dialect/Poly/IR/PolyAttributes.cpp.inc:122:1
# | #30 0x000055c0bb2abaa4 mlir::heir::poly::PolyToStandard::buildPolyModFunc(mlir::FunctionType, mlir::heir::poly::RingAttr) /proc/self/cwd/lib/Conversion/PolyToStandard/PolyToStandard.cpp:607:31
# | #31 0x000055c0bb2ab24a mlir::heir::poly::PolyToStandard::generateOpImplementations()::'lambda'(mlir::Operation*)::operator()(mlir::Operation*) const::'lambda'(mlir::heir::poly::MulOp)::operator()(mlir::heir::poly::MulOp) const /proc/self/cwd/lib/Conversion/PolyToStandard/PolyToStandard.cpp:521:46