search for: usevar

Displaying 3 results from an estimated 3 matches for "usevar".

2017 Sep 05
7
RFC: Introduce DW_OP_LLVM_memory to describe variables in memory with dbg.value
...clone the dbg.value instruction that puts the variable back in memory before the killing store. If the store is dead because variable lifetime is ending, the second dbg.value is unnecessary. This will also allow us to fix debug info for px in this example: void __attribute__((optnone, noinline)) usevar(int *x) {} int main(int argc, char **argv) { int x = 42; int *px = &x; usevar(&x); if (argc) usevar(px); } Today, we emit a location for px like `DW_OP_breg7 RSP+12`, which gives it the incorrect value 42. This is because our DBG_VALUE instruction for px’s location uses...
2017 Sep 06
2
RFC: Introduce DW_OP_LLVM_memory to describe variables in memory with dbg.value
...clone the dbg.value instruction that puts the variable back in memory before the killing store. If the store is dead because variable lifetime is ending, the second dbg.value is unnecessary. This will also allow us to fix debug info for px in this example: void __attribute__((optnone, noinline)) usevar(int *x) {} int main(int argc, char **argv) { int x = 42; int *px = &x; usevar(&x); if (argc) usevar(px); } Today, we emit a location for px like `DW_OP_breg7 RSP+12`, which gives it the incorrect value 42. This is because our DBG_VALUE instruction for px’s location uses...
2017 Sep 05
2
RFC: Introduce DW_OP_LLVM_memory to describe variables in memory with dbg.value
...clone the dbg.value instruction that puts the variable back in memory before the killing store. If the store is dead because variable lifetime is ending, the second dbg.value is unnecessary. This will also allow us to fix debug info for px in this example: void __attribute__((optnone, noinline)) usevar(int *x) {} int main(int argc, char **argv) { int x = 42; int *px = &x; usevar(&x); if (argc) usevar(px); } Today, we emit a location for px like `DW_OP_breg7 RSP+12`, which gives it the incorrect value 42. This is because our DBG_VALUE instruction for px’s location uses...