Add a lexicon entry for global value numbering.
Details
Diff Detail
- Build Status
Buildable 6851 Build 6851: arc lint + arc unit
Event Timeline
Rather than practice, I'd say analysis. Also, maybe just mention expressions (you can look up several papers for the exact definition https://arxiv.org/pdf/1303.1880.pdf, or Kildall's one, which I think has the first definition).
Technically speaking, GVN is just an analysis (although the GVN pass in LLVM currently does also elimination and PRE) [and also NewGVN, but that will change soon, hopefully]
docs/Lexicon.rst | ||
---|---|---|
113 | nit: Global value numbering -> Global Value Numbering (capitalize each word) |
If you don't mind, I like the description at the top of NewGVN better, i.e.
/// GVN partitions values computed by a function into congruence classes. /// Values ending up in the same congruence class are guaranteed to be the same /// for every execution of the program. In that respect, congruency is a /// compile-time approximation of equivalence of values at runtime.
Can you use this one? I also would remove the bit about transformations (many thinks as GVN as PRE but it's actually not).
With that, LGTM, you don't need to resubmit for another look.
Sure! I updated this to use the description from NewGVN. (I'm updating Phabticator since that's my normal workflow.)
nit: Global value numbering -> Global Value Numbering (capitalize each word)