<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/83000>83000</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[DebugInfo] UnrollAndJam transformation causes "DebugProgramValues must not appear before PHI nodes in a block!"
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
mveriksson
</td>
</tr>
</table>
<pre>
Related to #74735
[reduced.ll.gz](https://github.com/llvm/llvm-project/files/14404949/reduced.ll.gz)
Running loop-unroll-and-jam on the attached file gives:
```
$ opt -passes='loop-unroll-and-jam' -o /dev/null -allow-unroll-and-jam -unroll-and-jam-count=2 reduced.ll
DebugProgramValues must not appear before PHI nodes in a block!
Invalid configuration of new-debug-info data found
LLVM ERROR: Broken module found, compilation aborted!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: opt -passes=loop-unroll-and-jam -o /dev/null -allow-unroll-and-jam -unroll-and-jam-count=2 reduced.ll
#0 0x00005610b5bd0c67 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (opt+0x3dbfc67)
#1 0x00005610b5bce73e llvm::sys::RunSignalHandlers() (opt+0x3dbd73e)
#2 0x00005610b5bd162f SignalHandler(int) Signals.cpp:0:0
#3 0x00007fb90cb53630 __restore_rt sigaction.c:0:0
#4 0x00007fb90a29a387 raise (/lib64/libc.so.6+0x36387)
#5 0x00007fb90a29ba78 abort (/lib64/libc.so.6+0x37a78)
#6 0x00005610b5bba2a2 llvm::report_fatal_error(llvm::Twine const&, bool) (opt+0x3da92a2)
#7 0x00005610b5bba0d6 (opt+0x3da90d6)
#8 0x00005610b61b6a1b (opt+0x43a5a1b)
#9 0x00005610b6e5b19d llvm::detail::PassModel<llvm::Module, llvm::VerifierPass, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) NewPMDriver.cpp:0:0
#10 0x00005610b5d91aa6 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (opt+0x3f80aa6)
#11 0x00005610b6e543fb llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (opt+0x50433fb)
#12 0x00005610b5b991e8 optMain (opt+0x3d881e8)
#13 0x00007fb90a286555 __libc_start_main (/lib64/libc.so.6+0x22555)
#14 0x00005610b5b92b29 _start (opt+0x3d81b29)
Aborted
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMV01T4zwS_jXKRZWULH8fcggTUi-7sEPB7FxTLavtaJAllyTDsL9-y3aAOMBWzcwe3iqDsdX99NfT7Qa8V41BXJP0gqTbBfThYN26fUSnHry3ZiGsfF7foYaAkgZLCY_zJI9TwraEbY6_0wuHsq9QrrReNf8h6Zbw4hBC50m8IXxH-K5R4dCLVWVbwndaP77clp2zP7AKhO9qpdETvouShCVlUhK-m8Py8tTqXW-MMg3V1nbL3jir9RKMXP6AllpDwwEphADVASUdoGmjHnF06NT1jB2v6ZEn1HaBLjvwfhDeEp5_YIDwnC6HZOwkPhK-M73WdAla26dzV86el5XtTSDxltO34CbjWxR9c-ts46D9DrpHT9veB2psoNB1CI4KrK1DevvXFTVWoqfKUKBC2-qB8GiCuTKPoJWklTW1anoHQVlDbU0NPi3lYGOpTG2phAC0tr2Rk9719fcbenl39_WOxBt64ewDGtpa2Ws8ivEvtLJtp_QECcK6gPLV8O315eb-kvpetCoMbvUNddhZFwbi_DIdlPf9yAcKRlJlKt1LHMtaOfAHKqB6CA4qXE3m7wNUD1T2bfdaY7YirDxmlIJr-hZNGJw4K_JHFPq_l3doHUbZT8YYS7OIiVRIVmU5HcOPNyTe-Gc__XHrlAljQN-GCAkv3oQcPO2tDw4HGmZDUZQJhJeU8MJ2gfAL9jOWoq6y_LVjBtvR3HaFeYwf2b7rzb1qDOi_wEiNzhNevIeXeYwzeH4WWpTxms6ACC-Onk6v_arqhlqx8ecVKD4C5bUoWSXSOIsZ3e8d-mAd7l2gXjVQDRRcVe_Vk1N14CXERU4dKI90DGSnlciS6V6tvF1lU0hZXMzzlZ4BCciLifP_GyiHvJgBZfPMCODATxI_tci-hgB6j85ZNyv3tydlcGhmH47lFtbqdwWBkgOfmc3PzTKZneswmc10ilOdLBIZROJUJ4khhUjMdMqZDqYiKuVJeBIDKH2kNXh_YyVqEn95k7gZZ8wQ2du77-hUrdANGvOTjQH97JW_AQMNuo-Q4svxGpPbm1k2X2xlvwM6aJX0X_h0e7N16hHdewIPfTZvcllGANmJrTEJn9v5ewV7ype6YABvfBlCjc5qn8S1OKV2b4Zob1WHWpn5GLsPTpnmDuu5c5_4_A1cg-EGqsOIs_no9FoJB-75ytT2qu30eylr9dc-dH3YKf0ByB8dfxLOxjl4Ht6eJnnMie4bZcZEfyLvg5ze1b0Zpx2JvzxaJeksjQPWRa-0HObrWJyJEDNU24V9GKbG-DRF8U81fdE_k3rpwBe5aer86n3GoJQlcVyLGYPOPhtlGWExfJ1vQJn5tCqKCIuZbjyf0EWWpind74d5vPcBXNi3R5RPpzXnaZrOQJMzh7jgJZ3gzvyJBC9fVTfHZWi-VS7kOpZlXMIC11HOijKNkzRZHNZJkpU5RpwXdS24yOoC8kREOWNlWWGCC7XmjCeM8yyKozxOVlhIjHJgRczqGjEiCcMWlF4NBVxZ1yzGhWldxIyxhQaB2o9rPecGn-h4SDgftny3Hlct0TeeJEwrH_wbSlBBj_8PjOvo0Ewk3dJ_j1vOxsh_QEuDA-Nr69ppD6yg9-gp4fzPN1jOF73T699fFsfw_xsAAP__0zjkSA">