This feels like a bug to me. Yesterday I was asking what the rules were because it felt like things change and break randomly. Now I have a good example. (link to my email yesterday http://lists.llvm.org/pipermail/lldb-dev/2020-February/015989.html)
Take this example source file int main() { int dummy = 25; short wtf[dummy]; memset(wtf, 0, dummy*sizeof(*wtf)); return 0; } Now emit the llvm-ir so we can edit it clang -g test.c -S -emit-llvm Before line 21 write this line %z8 = bitcast i16* %8 to i16* Change the `metadata i16* %8` to `metadata i16* %z8`. Compile it then debug line 4 `clang -g wtf.ll` `lldb-9 ./a.out` `break set -f test.c -l 4` `r` `frame variable` You'll see the array doesn't show up. If you change %z8 back to %8 it will reappear. Is this a bug or can I not use bitcast when I'm trying to do things with llvm.dbg.declare/addr/value?
_______________________________________________ lldb-dev mailing list lldb-dev@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev