<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/115562>115562</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[AMDGPU] Compiler crash in `AMDGPUAsmPrinter` with circular function call involvement
</td>
</tr>
<tr>
<th>Labels</th>
<td>
backend:AMDGPU
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
shiltian
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
shiltian
</td>
</tr>
</table>
<pre>
```
; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 small.ll %s -o -
define amdgpu_kernel void @kernel() {
entry:
call void @callee1()
ret void
}
define void @callee1() #0 {
entry:
call void @callee2()
ret void
}
define void @callee2() #0 {
entry:
call void @callee1()
ret void
}
attributes #0 = { noinline }
```
The crash is because of stack overflow. `evaluateAsRelocatable -> evaluateAsRelocatableImpl -> evaluateAsRelocatableImpl -> evaluateAsRelocatable -> ...`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykU01vpDgQ_TXFpQTyB9DhwKGzbK_2sKsompxHxhSNJ8Zu2YZM_v2IbqJIo1ySkcDIVL33qkqvVIzm7IhaqO5BiDgZm4xyIARUXaaWNPnQvv3Nej-8tlCz_WEdsCPIe3x8-h_kEa3VmM8pmIslkJ2ah7N2uZqH7Z2iwnzWlwVkdx5_NoxhnJW1hbUIooqYe8x3yus50Ggc4cZyWb4_U3BkcfVmQCjZ7QriDkSDcLi_Qcil8ApyJ0DUyr5DtgsRv2HeMgKla8IufOg-qOBDAgQh2aeUxZ8qi68qf6ZnlVIw_ZIo7jqy27TQeePsVtN7_m8-uJ7fJkIdVJzQROxJqyUS-hFjUvoZ_UphtP6lQKgZrcouKtExPpL1WiXVW8Ic5N_4Yejf-WK_Hr6FiqKAmhXZ0MqhkY3KqOUHyTk7lFxmU9vLklHPNNdlw1jN-MDHuuzH8qCoqWSdmVYwUXLO7oTkjMviUMqSGl1Wqm_qw1hDyWhWZrP1Ohc-nDMT40It51VVi8yqnmzct61X-pncAPJ4_K_75-Fp37rQbti8X84RSmZNTPGdLZlkr9u6Q6oO__LzxVgKb4N323Rv4WOcH4JxiQLUDF9MmlCboBerAo6L08l4d3OMcau3K83kUrYE204pXeJmK3ECcTqbNC19of0M4rTVsn_yS_A_SCcQp2ubEcRp73Rtxa8AAAD__9n2To4">