[PATCH] D37078: [DebugInfo] Handle memory locations in LiveDebugValues

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 24 10:16:12 PDT 2017


zturner added a comment.

Can you explain this in terms of an actual debugger scenario that this improves?  If we were debugging the code in your test case:

  int join_memlocs(int cond) {
    int x = getint();
    if (cond) {
      x = 42;     // Dead store, can delete
      dostuff(x); // Can propagate 42
      x = getint();
    }
    escape(&x); // Escape variable to force it in memory
    return x;
  }

What would be the debugger's behavior before the patch and after the patch?  And did you check (e.g. with MSVC) that there's actually a discernible result in the debugger experience?


https://reviews.llvm.org/D37078





More information about the llvm-commits mailing list