llvm-project
c1d5cc99 - [LangRef] Try to formalize the definition of "odr" in LLVM IR. (#92619)

Commit
1 year ago
[LangRef] Try to formalize the definition of "odr" in LLVM IR. (#92619) The current definition is a bit fuzzy... replace it with something that's somewhat rigorous. For functions, the definition is pretty narrow; as a consequence of language-level non-determinism, it's impossible to tell whether two functions are equivalent, so just embrace the non-determinism. For constants, we're pretty strict; otherwise you end up concluding constants can actually change value, which is bad for alias analysis. I think C++ standard don't allow any non-deterministic operations in constants, so we should be okay there? Poison is per-byte to allow some ambiguity in the way padding is defined.
Author
Parents
Loading