<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/57731>57731</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            `arith::ConstantOp::getAsmResultNames` crashes if the underlying integer is too large
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            mlir
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          aqjune
      </td>
    </tr>
</table>

<pre>
    When an mlir function contains `arith::constant` of a big integer, `mlir-opt` crashes with the following stack trace:
```
int64_t llvm::APInt::getSExtValue()
 const: Assertion `getMinSignedBits() <= 64 && "Too many bits for int64_t"' failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /scale/cal/home/aqjune/HEaaN-MLIR-idash2022/build-HEXL/bin/poly-opt /scale/cal/home/aqjune
/HEaaN-MLIR-idash2022/build-HEXL/operations/ckks/decrypt-and-decode_SD4_unroll0.o.5.-symbol-dce.mlir -canonicalize -o
 /scale/cal/home/aqjune/HEaaN-MLIR-idash2022/build-HEXL/operations/ckks/decrypt-and-decode_SD4_unroll0.o.6.-canonical
ize.mlir
 #0 0x00007ffff332dfa4 PrintStackTraceSignalHandler(void*) (/scale/cal/home/aqjune/llvm-project-install/lib/libLLVMSu
pport.so.14git+0x214fa4)
 #1 0x00007ffff332b02e SignalHandler(int) (/scale/cal/home/aqjune/llvm-project-install/lib/libLLVMSupport.so.14git+0x
21202e)
 #2 0x00007ffff7f9e420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #3 0x00007ffff2be600b raise /build/glibc-SzIz7B/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #4 0x00007ffff2bc5859 abort /build/glibc-SzIz7B/glibc-2.31/stdlib/abort.c:81:7
 #5 0x00007ffff2bc5729 get_sysdep_segment_value /build/glibc-SzIz7B/glibc-2.31/intl/loadmsgcat.c:509:8
 #6 0x00007ffff2bc5729 _nl_load_domain /build/glibc-SzIz7B/glibc-2.31/intl/loadmsgcat.c:970:34
 #7 0x00007ffff2bd6fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
 #8 0x00007ffff3494412 mlir::IntegerAttr::getInt() const (/scale/cal/home/aqjune/llvm-project-install/lib/libMLIRIR.s
o.14git+0x9b412)
 #9 0x00007ffff39a06ee mlir::arith::ConstantOp::getAsmResultNames(llvm::function_ref<void (mlir::Value, llvm::StringR
ef)>) (/scale/cal/home/aqjune/llvm-project-install/lib/libMLIRArithmetic.so.14git+0x616ee)
#10 0x00007ffff39c587a mlir::detail::OpAsmOpInterfaceInterfaceTraits::Model<mlir::arith::ConstantOp>::getAsmResultNam
es(mlir::detail::OpAsmOpInterfaceInterfaceTraits::Concept const*, mlir::Operation*, llvm::function_ref<void (mlir::Va
lue, llvm::StringRef)>) (/scale/cal/home/aqjune/llvm-project-install/lib/libMLIRArithmetic.so.14git+0x8687a)
#11 0x00007ffff3478c56 (anonymous namespace)::SSANameState::numberValuesInOp(mlir::Operation&) (/scale/cal/home/aqjun
e/llvm-project-install/lib/libMLIRIR.so.14git+0x7fc56)
#12 0x00007ffff347c62d (anonymous namespace)::SSANameState::SSANameState(mlir::Operation*, mlir::OpPrintingFlags cons
t&, mlir::DialectInterfaceCollection<mlir::OpAsmDialectInterface>&) (/scale/cal/home/aqjune/llvm-project-install/lib/
libMLIRIR.so.14git+0x8362d)
#13 0x00007ffff34845c7 mlir::Operation::print(llvm::raw_ostream&, mlir::OpPrintingFlags const&) (.localalias) (/scale
/cal/home/aqjune/llvm-project-install/lib/libMLIRIR.so.14git+0x8b5c7)
#14 0x00007ffff788dc75 performActions(llvm::raw_ostream&, bool, bool, llvm::SourceMgr&, mlir::MLIRContext*, llvm::fun
ction_ref<mlir::LogicalResult (mlir::PassManager&)>) (.constprop.0) (/scale/cal/home/aqjune/llvm-project-install/lib/
libMLIROptLib.so.14git+0x6c75)
#15 0x00007ffff788e413 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm
::MemoryBuffer> >, bool, bool, bool, bool, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::Dialec
tRegistry&, llvm::ThreadPool&) (/scale/cal/home/aqjune/llvm-project-install/lib/libMLIROptLib.so.14git+0x7413)
#16 0x00007ffff788e866 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<
llvm::MemoryBuffer> >, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bo
ol, bool, bool, bool) (.localalias) (/scale/cal/home/aqjune/llvm-project-install/lib/libMLIROptLib.so.14git+0x7866)
#17 0x00007ffff788f45e mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) (/scale/cal/home
/aqjune/llvm-project-install/lib/libMLIROptLib.so.14git+0x845e)
...
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy9WFtv2zoM_jXJixDDdycPeUjTFCvQrkUz7Jw3Q7ZlR5tteZLcNfv1h5Lc2E7T22mxIvVd5MePFEkpYdl--c-O1AjXqCopR3lbp5KyGqWslpjWAk1CG3MqdxNvBT94LCSuJTxFLEcYJbRAtJakIHzirtXXSs6MNfqTlGOxIwL9BgFI7gjKWVmy37QuEIhJfyLJcUqUaPt8Yq9gSPfTtyA39GOJyvK-MupXt5egW18WRG43D_I7LlsycecTd2EGIQ0RPkArIQjXxoBE-Pya1lta1CQ7o1KYIWjirSfeOQp9NHFD-MHJ_cYYqnC9B9ukAMQcdUDg3cSNUI5pSTLLqLu92qy2GyTapKJS8dEWiJOGcYkkQzspG6Hwuhfwg3fCUsZYjBdwD6xnIDst24xodjRdKAFiNC-diq1mKmur5kCUbSH9d8tZwXGFMC_aitRS6QITLkSKS2DlAk5w3LFK3eBfP9paXXzZYPx1dn11eTejGWh0bWUYwKNlNvuy-fdK3dAajg0r98qXr8k03nubZNYQjpVbhBL286c6ZSTl-0bOgJAZXLOMxNtzP25rDvFiW8wKrJnYVwkrZxnwokN1luKa1RTg0D8EzVjn_k-x_n9hDK0eUhfAfwzWAzTPRvaDDX9RDn-e52Y59sGLEGDay9-U21WQ4vIL6CnVpJrfM5pN3JUOVxW1r9inAmzWcPaDpHJG1XQt1WclTczx6ur79bY1kBoVqJZgluMXFOL7zH5wHR8w9dMJQDtHoBPbJegYJZjwuQhPYDOQXAdcRkYI3SHCKF8Q37VRHHMiJOMk5rLDZVQ8zMM49GclrduHWVG35kUjd5zgTGm0tTbHBykjNd5QjZuQ0LYTxDEVBD1GEJwLEJbOtn8u_0Rnh1vX8hxFjGYNLixL3e1FRhoVXG1NH8yDe40GkMFZi7ZSmNSBAwenR-KPkaTBPFggnDBt6duQyMywoUdpJXOlJOqVBMdKInAwJNLY4I4FKVTSie9VDn6rXogT7WyGs0oUKTaqA3uhAPS6w1O647qM1cA4YxUUp4-pXEQ2HD2_1xmNdWZhnoVvCJxUhUyoQ8bzYMgoZOajueMvfN9xdak1VezSlM6VlPxQ1lSJM9VJl7JPmVIq3V3eWcIAG86pRQKIRpAXI8gLbIeEDCAPuoF11w3cNAfwK1HdEdGW8iuuiKqyffF-7C1gWuZQd1VaU7b1krtavh4U_K2E3FjcGXAwDHB6m8_KM4qUlbKmIpKm41QTOmD1gRaVBMepewFTLsIDWjIC_VJprm8aoOGmUc7lOWT0wwXkd6qLNPyuoYLA9-tXmd2cJLejRIwYfDcI0JMSqO-maVJFZj2w6eaxDHZv3uVLA_A5j_5NX85DcNXIl-OK5kfzNNAzXZXvfcVagWoVvo1qThVMDXy7UjENdVoS86Ruq4RwHbXisgZXDQkYcBe-xcjOn--Yy0MToxwsGJnoHpmYhm72fhNHT54x70nQ6H4GnHxR4kLo0DKwpKZi-O05BTpSeQjNNbRSRAfWaGLoUD7-VgfPm6h9ldQuVE9TO_eAuRG13pjauR-k0clZo28brlujQSLk-HfMhIRuo3rCyCn2ZG-nVTKwD1peLI4tf-zBP1YgRpYnYNjI8lHbEc3nWRoFCMyFRVK1SruG-UVLE8bK4XmQGFjLU3Jd8CecKGyQqCR5kKcSkYE3TEf90CtWqHbcZM1xhrrFQlzjGuuVazjKRpZmHdhqVCv42QF208grmhyVGyByxHRwxDTxIexAfEqEOGvzXPfcLxEN_Z15Ba3lr5bEjeow1v2Ia1Ixvn8UNfg-IzkGsmKoTkSlATPGAHs60tsgzdtTzz7v6aPi8QFvPc0lXaa5IwUFOvYdGb3ub7rJv9WYPid5vODVCJw28mp47NV5GA4DHa5AzjVWi--_5N0uNE-P7L37d7x37Lc-hrrG9YUIey0_frpzwXcj50ZHzs39gDzrXF0T1ijdYa5z2urZLumtLL1g7WNp-LDNUOr6ptiyrKNtuylZOmEIBdL1_fk0W3rZAtYPU0llSZbjjcTXlw6D7UOa6-2xts4IL_dq97DbckRUIMkYKjEvyLTl5XK84wa4d20C6bzqjD6yXS0OhWhVF30RRJHnTHfLZG4vwiBLE1gCLPzQcX1YCsJC3_ehyXIcd1rihJRiOQlgoelq37juJDif0qXaSrIXjm8H8B9ZBNouB2TlmR0EijnfJrBuLQ97gFO-1GjUxiC8LMGp_QbhFOaM2q4kWhPIx63cMb40Tpxq3EsN-j99x7rJ">