<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/144823>144823</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Miscompilation in Machine Copy Propagation on AArch64
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
saethlin
</td>
</tr>
</table>
<pre>
This is a reduced output from a fuzzer that generates Rust MIR, https://github.com/cbeuw/rustlantis
I've been running rustlantis using a rustc built against the tip of LLVM's main branch. This example compiles fine on Rust nightly:
https://godbolt.org/z/oWzs5PM19
Use the flags
`-Zmir-opt-level=0 -Copt-level=3 -Cno-prepopulate-passes`
Some `-opt-bisect-limit` indicates that compilation goes awry in Machine Copy Propagation. Since this is a recent regression, I think the cause is somehow related to https://github.com/llvm/llvm-project/pull/140267 (of course I have no idea whether that PR added a bug or made it easier for rustlantis to hit an existing one).
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUk0-LpEgQxT9N1iWwSFNL24OH2h4KGqag6dk_sLdQQ43dNFMyMqum-9Mv2gzd7GFgTmL6TH4v3gsU4ckRter0mzp9OWCKsw-tIMXZsjt0fnhtf59ZgAUQAg2ppwF8imuKMAa_AMKY3t4oQJwxwkSOAkYSeEkS4fr0oswjzDGuooqzMhdlLhPHOXXH3i_KXPqO0l2ZS0gSLbrIovRZ6fOTMvWNoCNyEJJz7Cb40ECS7QD3ox66xDYCTshOIsSZIPIKfoSvX_-8KlMLLMgOuoCun4-wG6LvuKyWoPfLypYERnYE3r2DO57maF83Zn3-H74fOm_j0YdJmcubMhf_15ucnq95o_T5D6EdYLQ47VYqnf29cMj8GjNLN7Kq-KIhe_z8XkD26Hy2Blr9mixGylYUIVGVfh_HN78QbHdtv3Us1MfM8sJRVRrYDdzvQ98zeHeEkb2DyZMA3sMrsIMr9vNm8tGvr_Ac_IrTrjrCN3b9xv0RdE8uQqApkAh7t6X4tAncv7u9HpPQphW_0OzvEGjDHiD6n6Vt7e3HI1uD_4f6qMxlTdYqc8lLbaoalHnwI_Q-BSF4ghlvBM4DD4RwnynOP7r2_AI4DDQAQpcm8AEWHAg4AqEwBRh9-NyZDY0joAP6zhK3AnlHyjTHw9AWQ1M0eKA2r0_aNE1RVYe5xbI4lbouyvGE5WD6otD1A9ZVXZiiLPP8wK3R5qSrvNEmr3R1HHStx7KsG8wbrYtKlZoWZHvcPG-dObBIojYvywdTHCx2ZGVfP2Mc3WH_qozZtjG0-6C6NIkqtWWJ8nFN5GipvbJ8jvsnIW_VPp9DP1flIQXb_nJKO5nsOe3ot9b8FwAA__-QpWxH">