We propose a talk summarizing LLVM IR LangRef changes over the last year which aim to remove ambiguities and address unsoundness in the IR specification.
The aspects that we intend to present are actively discussed during the bi-weekly formal semantics working group and on RFCs on discourse. The goal is to present to the community the direction for formalizing aspects of LLVM IR, how these are reflected in the source code changes, how they affect users of LLVM, as well as give visibility and raise awareness of the active technical discussions, and garner interest in the problems that the working group aims to address.
As many of the issues are quite involved, this will only be an overview of what has been changed and what is still under discussion, not a deep dive into any of the individual issues.
Some of the topics in scope include: introduction of the byte type, attributes impacting pointers, pointer provenance/restrict, allocator provenance, capture and aliasing, floating point and math, semantics (strict FP, sNaN, etc), concurrent memory and atomics.