[PATCH] D58042: [LiveDebugValues] Emit parameter's entry value

David Stenberg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 2 01:14:42 PDT 2019


dstenb added inline comments.


================
Comment at: lib/CodeGen/LiveDebugValues.cpp:1206
+  // TODO: Add support for modified arguments that can be expreseed
+  // by using its entry value.
+  for (auto &MI : First_MBB)
----------------
I'm sorry for the late comment, but in the future I guess this could be extended so that entry_values are emitted for locals that are expressed in terms of parameters, as GCC does?

For example:

```
int foo(int arg) {
  int local = arg + 3;
  clobber();
  return 0;
}
```

```
    00000039 0000000000000004 000000000000000d (DW_OP_breg5 (rdi): 3; DW_OP_stack_value)
    0000004e 000000000000000d 0000000000000018 (DW_OP_GNU_entry_value: (DW_OP_reg5 (rdi)); DW_OP_plus_uconst: 3; DW_OP_stack_value)
    00000066 <End of list>
```

As far as I can tell, we don't tag non-parameter variables as `NotModified`, but can Clang later on be extended to mark them as such?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58042/new/

https://reviews.llvm.org/D58042





More information about the llvm-commits mailing list