<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61397>61397</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[CodeGen] Machine Late Instructions Cleanup Pass spends significant time at clearKillsForDef.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AMDGPU,
slow-compile
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
vpykhtin,
JonPsson
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
vpykhtin
</td>
</tr>
</table>
<pre>
The attached testcase for AMDGPU target shows significant time spent in the _Machine Late Instructions Cleanup Pass_. Vtune profiler shows _clearKillsForDef_ function as the main reason.
\> llc -mtriple=amdgcn-hsa-amdhsa -mcpu=gfx90a -time-passes -no-stack-slot-sharing long-compile-time-func.bc
```
Total Execution Time: 670.4078 seconds (670.7149 wall clock)
---User Time--- --System Time-- --User+System-- ---Wall Time--- --- Name ---
289.2998 ( 43.7%) 0.1439 ( 1.8%) 289.4437 ( 43.2%) 289.5775 ( 43.2%) Structurize control flow
124.9852 ( 18.9%) 0.0000 ( 0.0%) 124.9852 ( 18.6%) 125.0289 ( 18.6%) Machine Late Instructions Cleanup Pass
45.2408 ( 6.8%) 0.0000 ( 0.0%) 45.2408 ( 6.7%) 45.2740 ( 6.8%) SI Form memory clauses
38.0358 ( 5.7%) 0.0240 ( 0.3%) 38.0598 ( 5.7%) 38.0767 ( 5.7%) Simple Register Coalescing
...
```
[long-compile-time-func.zip](https://github.com/llvm/llvm-project/files/10965409/long-compile-time-func.zip)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVF1v2zYU_TX0ywUJipQs6cEPaVwX3dYhWNLtMaCpK4kLRQok1TT99YNkK3GbBugAQ7bP_TjnipdHxWg6h7gjxTsixJfx6aFPxhEhiLgmQvzm3U2MfgGK_UZNqfdht6Ztjr552t31CColpXtsIGFMWkWE1ge4-rT_cPMZkgodJoi9f4ww85nWaOUSJDMgxBFdAuMg9Qj3n5TujUP4QyWEjy6mMOlkvItwbVG5aYQbFeM9g7_T5BDG4FtjMZyb32uLKvxurI0HH_bY3kM7uaUBqLgwDMo4CKiid4zwPeFX52dxTeR7sFYDHVIwo0Ui92poOu1oHxVVQ9NHBXTQ40Tkvmu_1lwBnWego4oRI1DnaUxKP9BofaKxV8G4Dqx3HdV-GI3FU_4sih31d_xbfv4sf-98Uhbef0U9LervzIBEXsG25CznZQURtXdNBCKqGSuzvIZHZS1o6_UDEfVlc0rp54hh6UIpBQBKb59iwuEMwSmBiHcn-JxD_5k7PlfNjz_VgPOPU2NR1UzUdTXLgFyykoiCiBoAOMtyWS84ZKxa8bkgz2W5FojLQFGWxavA7bICUzDfELR3KXgLrfWPJwGZyFldFWIpyypWXwjgnPOTAM74iv9YsH0JFIyLqn4V-LWVPMmBvGAi56f3AduXud-Ss-avBeVloMw5vOp0-xEOPgww4ODDE2irpogrvawYl8WZvvjuOLjIn-nlis_5Rb3SXxTMgXJbvgrcmmG0CH9hZ2LCANdeWYzauO6kgDH2030mxbs3rsE3M5JiT0TVpzRGIq-IOBBx6EzqpyPTfiDiYO2X9YuOwf-LOhFxmG9-JOKQ8Xpb5LyeM97mWG_EptnJppa12uAu25ZVWXFZFZt-p1FmqmqbBvNcaV2LjOumKtuqxbbiutyYneBCcpnlvCwkz1klZCsQ-bE4ZloejyTnOChj2SyU-dBtTIwT7raZrMuNVUe08ey0R6Uf0DVEXp1M8tlxo_WP6wRn1w27ZfDj1EWSc2tiii8MySS72Pe1b_ADOlLsf3FjF-dtfuLIKsGPPso2U7C7_31Cy_jzES1v4L8AAAD__15v3wg">