<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/111041>111041</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Inconsistent DWARF operation evaluation error message across LLVM versions when using -Oz
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
edumoot
</td>
</tr>
</table>
<pre>
Inconsistent debug information error messages have been observed when evaluating certain DWARF operations. Specifically, when attempting to print the value of `p_31` at line 17 in a reduced C code sample, different error messages are produced depending on the LLVM version used.
In LLVM 19.1.0, a more detailed error message is generated: `Could not evaluate DW_OP_entry_value: no matching call site param found`
In contrast, older LLVM versions (18.1.8, 17.0.6, and 16.0.3) show a shorter error message: `Could not evaluate DW_OP_entry_value`
These discrepancies can be replicated by following certain steps when compiling and debugging the reduced C code sample. In LLVM19.1.0:
```
clang -g -Oz -o d1_Oz.out d1.c
(lldb) file d1_Oz.out
(lldb) b 17
(lldb) r
[...]
* thread #1, name = 'd1_Oz.out', stop reason = breakpoint 1.1
frame #0: 0x0000555555555162 d1_Oz.out`func_28(p_31=<unavailable>) at d1.c:17:1
14 }
15 int32_t *func_28(uint32_t p_31) {
16 *g_105 = p_31 * g_9;
-> 17 }
18 int16_t func_33() {
19 }
20 void main() {
(lldb) fr v
(uint32_t) p_31 = <could not evaluate DW_OP_entry_value: no matching call site param found>
(lldb) p p_31
error: Couldn't materialize: couldn't get the value of variable p_31: could not evaluate DW_OP_entry_value: no matching call site param found
error: errored out in DoExecute, couldn't PrepareToExecuteJITExpression
```
```
llvm-dwarfdum --debug-info d1_Oz.out
0x000000dd: DW_TAG_formal_parameter
DW_AT_location (indexed (0x1) loclist = 0x00000022:
[0x0000000000001152, 0x0000000000001159): DW_OP_reg5 RDI
[0x0000000000001159, 0x0000000000001163): DW_OP_entry_value(DW_OP_reg5 RDI), DW_OP_stack_value)
DW_AT_name ("p_31")
DW_AT_decl_file ("/home/ad/Downloads/LlvmGym/creduce/d1.c")
DW_AT_decl_line (15)
DW_AT_type (0x0000013c "uint32_t")
```
`cat d1.c`
```
#include "stdint.h"
int32_t g_9, g_106, g_38;
int32_t *g_105 = &g_106;
int8_t func_23(uint16_t);
int32_t *func_28();
int16_t func_33();
int16_t func_1() {
uint32_t l_12;
int32_t *l_218 = &g_38;
*l_218 = func_23(l_12);
}
int8_t func_23(uint16_t) {
func_28(func_33);
}
int32_t *func_28(uint32_t p_31) {
*g_105 = p_31 * g_9;
}
int16_t func_33() {
}
void main() {
func_1();
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysV1-P4jgS_zTmpUQUOxDCAw9M06zmNKdZ7bVuHiNjV8C3jh3ZDt09n_5kBwh_enu10kQtoKvKv6qyq34Vc-_V3iCuyPwLmW8mvA8H61Yo-9baMNlZ-b76aoQ1XvmAJoDEXb8HZRrrWh6UNYDOWQctes_36OHAjwg7RAN259EdUcLrAQ3gkeueB2X2INAFrgxsfqz_2ILt0CUkn8F_OhSqUYJr_U7Y07CSh4Btl1YGC51TJkA4IERABNsAKfOuLigpc-ABtDIIdAHKAAeHshco4QmElQiet53GiCxV06CLGd3Fzx1C5-ywTGKHRkbP1iSf3779999wROdj5r1HmZF8Q_L18PnVDAZ0mdEsj244tNYhSAxcaZS3zkB52KOJ6aMkxTom8mR7LcHYcN4whM2P-vvvNZrg3uuUczQ1FloexCHtJ9cavAoIHXe8hcb2RpIyvwtNWBMc9yHGZbVEd5ONB8IqWmU0q6IBXWR5VqYUjARaZnlWELYEf7CvwOOXC-hu8_knKdxG93JAjyCVFw47boRCD4Ib2CE47LQScYdg9w6N1dq-XheRD9j5oVCEbTulozLGnCp1n6rmgB8XQganEzsdWLG-DirGOPylf4XmZg_TPUy__4SpBUnr7z8z2weQNBOnJazSWu7iRjVK42jzoN4BXTwI3Uky_5JlGZlvzgZrCAeHXAJhBY1nYniLQIoNELYYfbBF1PlgO3DIvTXJZOeQ_9nZ2DU0owMkAEDjEggrYt6Qv-V5ns_PDy3ZVfBl3vRG1KwirEqdVmxI8dQbfuRK851GUjzH-PlpL4o1XcSPizM6AyD5kiw2o2geJcqEgtUBCFuPLvqzNPliSyCLL-O6MkHFDAhb72uaz1Oa0TZKYF8vSXGyn5LiOXLBg_MKTt5pWQdIrouCRO933pYPa1keJUerJLRcmftF1yXg4HgRnpOKiiHWeHzFk_hlDV8831TvGEc3bGQSp4aNeKlLDWGLEHHRKa7Vz-RJjJo93lHtkTsVD3xAPBv_kvBvw0s_UELsrzgq7PMbij4k7r4K8PfIFw5fzup_fX15fusc-khpnzTzh0Ktj-1UvnLXyL6F6TQxyDTOuodGvvocOifPZaLw-Gx-1C_r3-o0InWdcsSAp-aO2vVLra1IQy8WF6uUkfiGsb-r_C2VvLZCKx9SlZw9MJYYdoAh8y9n-fBQOmdxdx6kS8KWceFwLg73c_hj8_UTmOVHMGVxA3N9vKy6g2YJYRD6wMWfZ8PlzR5EFhvyJ4wNvc7ubSQKXUcuvRgStj3YFgnbcknYdmNfjbZcesK23_Sx_e29JWwrBr4nbJsI6S9w46vCgEvno8HDM6wI793J-LQ1tBBAGBsbe3TyWc2dVeLMlhf9nTkrlBG6l5GkmQ9SmZAdopekPnNkpDv2BJEIy-FHUV3474peR6YkrBysr6yqMwuy4sRVkRjTiT9CjUx9Z_BIph9r6QdMCxfW1zVll3VRc-Va14xWYxZXqZ4GwmgwppMAr2K5sPlnid8GN6Z8Se9jvH80zf5-gF1DfzaqLnZ_OZdudv4R_1J8E7kq5LJY8gmu6IItlhXNSzo5rGQzz2kzqySW81khikrOc9FUbIcVX_CFmKgVy9mM5nlBq9mM0QwX5awpkRfNsmrmyMksx5YrnUWizazbT5T3Pa4opfmMTjTfofbpJsKYwVdI2ljw883ErRI77_q9J7M8UqMfYYIKGm_vKXd3i8v14_7CAlw46_3dq3B6nex9HFbT7z8nvdOrQwidj2-IbEvYdq_Cod9lwkayiXGcvqads_9DEQjbpugjK53SO67Y_wMAAP__nKDoWA">