<div dir="ltr">I don't have an example from C code, but here's one from LLVM IR: <a href="https://github.com/earl/llvm-mirror/blob/master/test/Transforms/GlobalMerge/debug-info.ll">https://github.com/earl/llvm-mirror/blob/master/test/Transforms/GlobalMerge/debug-info.ll</a> </div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Jan 20, 2019 at 2:45 PM Peng Yu <<a href="mailto:pengyu.ut@gmail.com">pengyu.ut@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi David,<br>
<br>
> If an expression is involved, that expression (possibly along with the underlying LLVM IR global variable) is used to compute the value of the source level global variable. (in the example you have - there may not be any LLVM IR global variable at all - just the expression computing the constant value of the source level global variable - but in other cases, say if a big constant that only holds a few different values is optimized into a lookup table (rather than storing a big integer, just store 0 or 1, if it's 0 that means teh value is XXXXXXX, if the value is 1 that means the value is YYYYYY) it might be a combination, using the LLVM IR global variable to compute the source level value)<br>
<br>
Do you have an example minimal .c file that can demonstrate this in<br>
action? This will make it easier to understand what you mean.<br>
<br>
-- <br>
Regards,<br>
Peng<br>
</blockquote></div>