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

    <tr>
        <th>Summary</th>
        <td>
            [Debug Info][IPSCCP] DebugInfoFinder Crash
        </td>
    </tr>

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

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

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

<pre>
    ```
$ opt -p ipsccp /tmp/d.ll -disable-output

opt: ../../llvm/include/llvm/Support/Casting.h:662: decltype(auto) llvm::dyn_cast(From *) [To = llvm::DIType, From = llvm::Metadata]: Assertion `detail::isPresent(Val) && "dyn_cast on a non-existent value"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace. 
Stack dump: 
0.      Program arguments: build/rel/bin/opt --passes ipsccp /tmp/d.ll -disable-output 
1.      Running pass "ipsccp" on module "/tmp/d.ll" 
 #0 0x000055a905970478 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Support/Unix/Signals.inc:723:13 
 #1 0x000055a90596e0be llvm::sys::RunSignalHandlers() /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Support/Signals.cpp:106:18
 #2 0x000055a905970b08 SignalHandler(int) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/Support/Unix/Signals.inc:413:1 
 #3 0x00007fd3b3a29590 (/lib/x86_64-linux-gnu/libc.so.6+0x3f590) 
 #4 0x00007fd3b3a783ac __pthread_kill_implementation ./nptl/pthread_kill.c:44:76 
 #5 0x00007fd3b3a294f2 raise ./signal/../sysdeps/posix/raise.c:27:6 
 #6 0x00007fd3b3a124ed abort ./stdlib/abort.c:81:7 
 #7 0x00007fd3b3a12415 _nl_load_domain ./intl/loadmsgcat.c:1177:9 
 #8 0x00007fd3b3a22012 (/lib/x86_64-linux-gnu/libc.so.6+0x38012)
 #9 0x000055a905a8ce1c cast_if_present<llvm::DIScope, llvm::Metadata> /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/Support/Casting.h:706:3
#10 0x000055a905a8ce1c cast_or_null<llvm::DIScope, llvm::Metadata> /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/Support/Casting.h:729:10 
#11 0x000055a905a8ce1c getScope /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/IR/DebugInfoMetadata.h:762:38 
#12 0x000055a905a8ce1c llvm::DebugInfoFinder::processType(llvm::DIType*) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/IR/DebugInfo.cpp:284:20
#13 0x000055a905a8ccd8 operator++ /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/IR/DebugInfoMetadata.h:109:7 
#14 0x000055a905a8ccd8 llvm::DebugInfoFinder::processType(llvm::DIType*) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/IR/DebugInfo.cpp:286:22 
#15 0x000055a905a8c2b1 getNumOperands /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/IR/Metadata.h:1168:12 
#16 0x000055a905a8c2b1 getNumOperands /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/IR/Metadata.h:1436:56 
#17 0x000055a905a8c2b1 getRawTemplateParams /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/IR/DebugInfoMetadata.h:1952:12
#18 0x000055a905a8c2b1 getTemplateParams /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/IR/DebugInfoMetadata.h:1922:34 
#19 0x000055a905a8c2b1 llvm::DebugInfoFinder::processSubprogram(llvm::DISubprogram*) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/IR/DebugInfo.cpp:345:28 
#20 0x000055a905a8cd77 operator++ /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/include/llvm/IR/Metadata.h:1613:5
#21 0x000055a905a8cd77 llvm::DebugInfoFinder::processType(llvm::DIType*) /usr/local/google/home/aeubanks/repos/llvm-project/build/rel/../../llvm/lib/IR/DebugInfo.cpp:292:22
...
```

[d.ll.txt](https://github.com/user-attachments/files/18366410/d.ll.txt)

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWFtv4y4W_zTkBcXCB18f8uA2Y22lvVRtd18jbBOHLQYL8Ez77Vdg-9-kl9XsPkw7_9EorgwcfhfOAcOsFb3ifIfSK5TuN2xyJ212jE8NU4920-jueYcysvwnFYIE69Hh7YjFaNt2xAhqN4wI6i6SEm87YVkj-VZPbpycH0EqPTpEKxxFCOrwI-X3AUEtVCunjr-8uJ_GURuHoL5m1gnVRydEqywDP7zjrXTPI0dQsMlpBCUOw2iFaNU9q0PLrENQ1EYPGEHlO6D06kFjRPdnXfc3DyHKNZ57XjT-jTvWMcdQuvdzVtZy44RWGGWk444JOfcT9tZwy5Wf8F9MhrkgQ5BhBLCCwVphhpVWW_4krOPK4e9MThwBIMjxkQnJuwiR6vav36r7b9hOzSAcZriZemy4lwI7jU_OjdZPCzWCuhfuNDVRq4cX3fxjOxr9b9568YS1E7cIasxUhxeVsTtx3BpmT7hh7aMzrOURRqS6d6x9xN00jJ4xIhWJcPh3a3Rv2ICZ6aeBK-cx4GYSskNQGy4R1I1QCOqwILYjs5bbn1oWfpZ4meVuUkqoHvvhXrx5PALw6g26myTHQbCzeL4VkQojoASTJ0IISVNWkrTMSZIXZ37aZzv_cWuEcoHqg2eOoHjpZNiPg7bOcDYEE6-x8MZ6S-vJGi-wbr3Jda91L_2CPenBP9ZECYKM2r714lKvNykgRXOx7v-pxJN_IXrFpI2EahGtcqCIVjFdOceXnDNOGv4e57tJzYH-wlQnubEIis-htfJpR7_IYpL532KhA68tbEiBL4AjKL6WI0kcHFkNoQuD_NjRhjIo05LgIPYS7qnIDlmylUJNT9teTXNDG1kdZQiuyBM9piUJBOeIyWXEvKCsxYfD6E6Gs-7wKKQ8iGGU3CcmCxXKc1Cj86TOu0UBb-KXUbZGT1_jTY6ADROWhyg2cF11sc-246MXctQ2aBF6hriQ-_q8hs0uw8aQ8A6zxpexEMh1sxrhVRhfxB7XOj5_Mz5O8UHJg9SsO3R6YGKmKVSg6V8Ptm_ZHCyOcw_nDw2LVyyBxPA_ulKQGBCUS8DyYqGyouVxi32hP4jjYVz2A3p9vtXct3rea97ZYui3X7Ccf3KPzUNK0rDD05h8SFSbg5qk_F1ZQhnKD154xu_x7LkLfD4D9s0dgnrPm6m_UUe9ajhjD6cgWqzY4T3sZ6asQWqhOm7ml6PRLbd2Pv8Ub49E1a8ssZdcl60BCl-pgCwk6WuSbVdgPXLDnDYIrhBcfTGbYlKuJc0TSN4j8CdwyVeL-RDmWaavWUIT-zz6-zT8w5ulOvtpNl26E2eFf_yBPPttkCfUa55mK_L8A-R37McDH0bJHL9lhg2fh_-DBClTCBYsPIoPeHxxEhCqcbK68eZo4Fn8XJ7fT804f2m9yvbzhs_PeZqkIfMXxvDmjNDl-VcpzZdeZeGwni643-z5HvfvX5FLCBUZkSqKIk_1_NKGVCi98h_OkXtyKN0jKP7LpcJkudky51h7mj_7oT4KGS4U4oJmWRKT5Ts8hAvH4023o11JS7bhuzinWZLGlCSb064r24QWR5rxrCjzIy-g5G0WF0nWddBwshE7IJCSmJRxSVOSRAnPkmNT8hianJL2iBLCByZk5FWItOk34X5jFwPQlGwka7i04QILQPEfOLQiAJTuN2YXFG6m3qKESGGdfQnjhJPh5iuIib2aXpv06ub2_vr6FqV7_Go14GvD7GkzGbn7_y9lFtzfd_CfAAAA___ojfeW">