<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">