[PATCH] D112852: [GlobalISel] Allow DBG_VALUE to use undefined vregs before LiveDebugValues

Matthias Braun via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 2 15:35:15 PST 2021


MatzeB accepted this revision.
MatzeB added a comment.
This revision is now accepted and ready to land.

Technical side seems fine. LGTM



================
Comment at: llvm/include/llvm/CodeGen/MachineFunction.h:155-158
+  // TracksDebugUserValues: The LiveDebugVariables analysis is tracking debug
+  //  values and removed debug instructions to be re-emitted following register
+  //  allocation. Any debug instructions that used undefined vregs have been
+  //  removed entirely.
----------------
I'd primary describe the properties as constraints on the MIR. (And only mention passes secondary to motivate things):
```
TracksDebugUserValues: Without this property enabled, debug instructions such as DBG_VALUE are allowed to reference virtual registers even if those registers do not have a definition. With the property enabled virtual registers must only be used if they have a definition. This property allows earlier passes in the pipeline to skip updates of `DBG_VALUE` instructions to save compile time.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D112852



More information about the llvm-commits mailing list