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

    <tr>
        <th>Summary</th>
        <td>
            [llvm-tblgen] Error in getOperandDataTypes when called from printInsnOpMapEntry 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Hello everyone,

While using the following llvm-tblgen command to generate the inc files based on the td files in the llvm-capstone repo https://github.com/capstone-engine/llvm-capstone 

`/home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/build/bin/llvm-tblgen --printerLang=CCS --gen-asm-matcher -I /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/include -I /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/Target/RISCV /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/Target/RISCV/RISCV.td` 

This is the .tf file that was used https://github.com/capstone-engine/llvm-capstone/blob/auto-sync/llvm/lib/Target/RISCV/RISCV.td 

I got the following error: 

> ILLEGAL VALUE TYPE!
> UNREACHABLE executed at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/CodeGenTarget.cpp:262!
> PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
> Stack dump:
> 0. Program arguments: /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/build/bin/llvm-tblgen --printerLang=CCS --gen-asm-matcher -I /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/include -I /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/Target/RISCV /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/Target/RISCV/RISCV.td
> Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
> 0 llvm-tblgen 0x0000561e2f762c3a
> 1  llvm-tblgen 0x0000561e2f763010
> 2 llvm-tblgen 0x0000561e2f76082d
> 3  llvm-tblgen 0x0000561e2f762552
> 4 libc.so.6   0x00007fe526a2d520
> 5  libc.so.6   0x00007fe526a819fc pthread_kill + 300
> 6  libc.so.6   0x00007fe526a2d476 raise + 22
> 7 libc.so.6   0x00007fe526a137f3 abort + 211
> 8  llvm-tblgen 0x0000561e2f6b1ee3
> 9  llvm-tblgen 0x0000561e2f3a1107
> 10 llvm-tblgen 0x0000561e2f5af606
> 11 llvm-tblgen 0x0000561e2f5b0840
> 12 llvm-tblgen 0x0000561e2f5b3923
> 13 llvm-tblgen 0x0000561e2f212a4e
> 14 llvm-tblgen 0x0000561e2f2130f1
> 15 llvm-tblgen 0x0000561e2f6384ca
> 16 llvm-tblgen 0x0000561e2f78ce97
> 17 llvm-tblgen 0x0000561e2f638c8e
> 18 libc.so.6 0x00007fe526a14d90
> 19 libc.so.6   0x00007fe526a14e40 __libc_start_main + 128
> 20 llvm-tblgen 0x0000561e2f205195
> [1]    1505619 IOT instruction   --printerLang=CCS --gen-asm-matcher -I  -I

Here is the generated crash backtrace from gdb. 

`gdb -q --args /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/build/bin/llvm-tblgen --printerLang=CCS --gen-asm-matcher -I /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/include -I /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/Target/RISCV /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/Target/RISCV/RISCV.td`

> Reading symbols from /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/build/bin/llvm-tblgen...
> (gdb) run
> Starting program: /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/build/bin/llvm-tblgen --printerLang=CCS --gen-asm-matcher -I /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/include -I /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/Target/RISCV /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/Target/RISCV/RISCV.td
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
> ILLEGAL VALUE TYPE!
> UNREACHABLE executed at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/CodeGenTarget.cpp:262!

> Program received signal SIGABRT, Aborted.
> __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737348138880) at ./nptl/pthread_kill.c:44
> 44 ./nptl/pthread_kill.c: No such file or directory.
> (gdb) bt
> #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737348138880) at ./nptl/pthread_kill.c:44
> #1 __pthread_kill_internal (signo=6, threadid=140737348138880) at ./nptl/pthread_kill.c:78
> #2  __GI___pthread_kill (threadid=140737348138880, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
> #3  0x00007ffff7a8e476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
> #4  0x00007ffff7a747f3 in __GI_abort () at ./stdlib/abort.c:79
> #5  0x0000555555a23ee3 in llvm::llvm_unreachable_internal (msg=0x555555c02e49 "ILLEGAL VALUE TYPE!", 
>     file=0x555555c02dd0 "/home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/CodeGenTarget.cpp", line=262)
>     at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/Support/ErrorHandling.cpp:212
> #6  0x0000555555713107 in llvm::getEnumName (T=llvm::MVT::INVALID_SIMPLE_VALUE_TYPE)
>     at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/CodeGenTarget.cpp:262
> #7  0x0000555555921606 in llvm::(anonymous namespace)::getOperandDataTypes (Op=0x55555940e7e0, OperandType="CS_OP_REG")
>     at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/PrinterCapstone.cpp:3022
> #8  0x0000555555922840 in llvm::(anonymous namespace)::printInsnOpMapEntry (Target=..., MI=std::unique_ptr<MatchableInfo> = {...}, UseMI=true, CGI=0x55556ad7b920, 
>     InsnOpMap=..., InsnNum=255, InsnPatternMap=std::map with 0 elements)
>     at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/PrinterCapstone.cpp:3160
> #9  0x0000555555925923 in llvm::PrinterCapstone::asmMatcherEmitMatchTable (this=0x5555561dcb40, Target=..., Info=..., StringTable=..., VariantCount=1)
>     at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/PrinterCapstone.cpp:3464
> #10 0x0000555555584a4e in AsmMatcherEmitter::run (this=0x7fffffffd160)
> at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/AsmMatcherEmitter.cpp:2254
> #11 0x00005555555850f1 in llvm::EmitAsmMatcher (RK=..., OS=...)
>     at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/AsmMatcherEmitter.cpp:2304
> #12 0x00005555559aa4ca in (anonymous namespace)::LLVMTableGenMain (OS=..., Records=...)
>     at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/TableGen.cpp:185
> #13 0x0000555555afee97 in llvm::TableGenMain (
>     argv0=0x7fffffffddec "/home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/build/bin/llvm-tblgen", 
>     MainFn=0x5555559aa339 <(anonymous namespace)::LLVMTableGenMain(llvm::raw_ostream&, llvm::RecordKeeper&)>)
> at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/lib/TableGen/Main.cpp:122
> #14 0x00005555559aac8e in main (argc=8, argv=0x7fffffffda38)
>     at /home/projects/capstone-playground/capstone/suite/auto-sync/llvm-capstone/llvm/utils/TableGen/TableGen.cpp:296
> (gdb) 

Apparently something went wrong in the function `getEnumName `when it is called from the fucntion `getOperandDataTypes `

Any idea what could have gone wrong? Thanks in advance! 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWl9z2zYS_zTwC0YaECAp8sEPsv4kmsqxx3Z903vRgOSKwoUEWAC0o_v0NwCliFRs99q5Np5r8hCRwC5297d_sIDJjRGlBLhE0RWK5he8tTulL5eBIg8XmSr2lx-hqhSGJ9B7JQHRGSJzRKbd___YiQpwa4Qssd0B3qqqUs_uraqe6pHNqhIkzlVdc1lgq3AJEjS34KmFzPFWVGBwxg0UWEk_bIvDqOje_VI5b4xVErCGRuGdtY1BbIroEtFlKeyuzca5qhFdHglHIEvhFF4O-fvqo5ggutyp2pE1Wv0Lcmv6azQV35datbLojSK6NK2w7pe3Vo3MXubnYhBdZq2oHFsm5HH2gMdo1GghLeg1lyVi89nsHo9GJcgRN_Wo5jbfgcajFf7zlHPviC6FzKu2gL9EViUyRJcPXJdgEV3ere5nj99H6vF3bAsUk0FEPOyEwcL4uBvbrQ9EbHfc4mducOui9I_HnguGSmUvKP7big60XOFS2bOEA62VRmw6DHC2wKv1evFhusaP0_XPC_zwy-0C0eA0_fOnu8V09nF6tV5g-AJ5a6HA3P75nmmtqIw3OavgA7gkmanCPXUgjPOmQWxKYzrQ93a9mN4vsGmzWljMcdaWviZo6-rLG8454uy0OZjkMsCYFpwa2FWoYz44aHPNzQ5nPP9sNc9hfFLh3vL8My7a2ul3GiZjRNJbrUrNa8x12dYgrfEu-VFk_tZF5oXIwc_C7lRrsdnXmaqw5DUYjGgC0rQa8F61eMefDrtfRyT-DdptinvVanw7ffiIlcYGukoA8kloJV3M4SeuMYrJev14vbn_5frqZr365-Ju41hcwbMKN0pInzDCIpoOw3iwd5MvhBASxQHQ7SSmOeMnygC_QcpIQE6k9A1KktAeROytRWkU0RNpiCuR5WOjxjHGB8rJFiIac1pEtCc-wq-TJkG6zXFjdxp4sfksqgojeoUZ6fHHb_DTIpzEWHNhwDPSnoaT19kCNtkyzDNXuDxb0CtyyesgxFkAwE6k6eukjAcBmfT89bprI76NSdwjDV4nzUgS9rAJXvdtlLGU9nQN2KukNKA8hB5p-AYpI9seWEH0OlgsCfN-xMavB1eSQ9oHa_LWqnnS1zXpuXno5LBI-1Clb8RDCCHBm40j2BjLtd3UXEgfGwFNeqn0uhcpiYI0OpGi6CpA0RxjjIPI0aR4dfOAhTRWt7kVSmL8328UeLTq9xYfQcOxVTq29cX5rom3WtW4LLLxeeNdFhke_YpHI65L82OH_JvvkDE5b1vvgBeur-22PtMF0ncIk_G41_khmpRFhmiKdSsH27q2Ttmm6_5-9Hw_IrpfhB98b4ELyNqydHHS3ZhUIjt0HUWGQbpzUIGiee9s5sl2ytghbSUyzfUeI0q_avIliTdxOKqEbL-MStl2E1953J4TIErH_7cHw94R8XAG05CDeIICG1FKXuH71Yfp1d0DojM8dX0XFD00Npt-C7gRdVOBa6a53yYRTaTaWFEgNiduAbekQmweu5eO0U8GIZmwCQuTgCVJQlyp4BaPEV3KxlYOtJ6UcY7YNAx7HW2ISPoWMf6ksGnzXXcxoTQuhIbcKr1_sUpltj_KCH4fZiLKgm80cXXLeQnR5H8ndZIMpFIHwIfVZijbiXxLygmG7jckIK3edwr-pgpJOlCBnfq-7XY74Qm444OQnWLHY4SDoJP3kjQnzuxNAY3Lk0YZ8QXRpef1Imk8EBmeiZyE7uhxFHk8giQ9W4wtuqriJzskh2ZExzUj_49TBuDX9EnMpohN3dOmlRp4vnOpPHBxbZx95EvHnhMKYerq2ctFydW5WS_D3T-XAcMlioIcSuI7KFCdypWQTklfq9Kh_n9FKe2ceN82jdJul1porfRHLotKyPJYRwM68Gw89OwkYAGZDD1bgl3Itv7Eax-rD4jNT5PXjw_dw-rT43S9mm_uV9e368XGe3TTefQ7QPE7dpU-GpMhGikNYhIP0UA04VLJfa1a093jNDyHw7WKB-umAc1lMeeWP-yb7p7npjkFbxoSmICvNAdSR4bYHFE6u9_c3G7uFh98RL0P4G67LnN2oD1AxwgdYpecY0eTkPwu7Hw7u5JG3jTXvFm4OugDruu62Nw153SGr1euVtqiY2ql-LWFTWM1YrNr1_Q6zVdyq7xebI7R5MpxTuaO-WcDnt_qFtz77MPqq2diXkyylJJvq89XpU5auKFPbe3SPYqOA7fcuqLXEX5VsebdBSAmGLr917xz3wYxGfg2PfdtlNKz-n-2UjfITX3dnUMWtbD-0Qvv9mBhTkkRB0WehR76c393vjy-3VstZOlXOQ0-ci24tDPVSscYvHN4w_isPSIDeKMk5CE4eKcD_CzoDlbdygGCfqffbreF81vf9O9k9jdqH8stjc4MD84Mj8g2GMaVW-G0njP77qeT42_uj8_vw-GvWs7ImeV0mFGchznH_gbwzRq5Xj9eH-VddzeGyQmEGb6DXOnCvC9Ujo8HMIIkGmLBht3lFiA960HOTT4zS5dPZJgJBeR_bnf46r3Mi-2r03spew1syjljKUZs9jsdjmhygkXz540yVgOvEfXnp9NcFwk_ATSg_WSK2OIvrw7Hi5OvseBsOMbBWQcRhOc5kSe-DB6uxhOuyxyxeeIMdT4fupyz5J0GPE3jl87r_UvQadNwDdJWe2xUDXYnZImfQVr8rJUsj1_HbFvZ3eSjmAz68pg870BiYbEwOOdVBUV3idpx5bLH9W2DOryQnco9FgVw_LzjFueqrYrur5OlktDpg9gSP-y4_Oy_2-HFE5cuZgN8UVyyImUpv4DLYELiCUtYSi52lwnktAhYGoQZjSdQZAUvsjyDPI0ZCYrthbikhIYkYAENojQiY1YkACwN8iyCbDvh7mxcc1GNHe5jpcsL_-f8y4RQklxUPIPK-C-bKJXwjP2kS8ZofqEvve-ytjQoJJUw1pxWscJW_pOofhJHc-yPT868lyDzaPdxfql5vWh1dfnHP1Lwhv0nAAD__ySW6uA">