[llvm] [LangRef] Specify semantics for non-byte-sized loads and stores (PR #180739)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 30 07:55:35 PDT 2026


nikic wrote:

> This might be addressed in the new byte proposal, but I do wonder how this interacts with loads from uninitialized memory. My understanding has been that if I load uninitialized memory I currently get `undef`, but would I get poison if I loaded an `i20` instead?

Yes, because the high undef bits could be chosen as non-zero, resulting in an overall poison result.

> How would this interact with the new byte types?

It does not interact materially. The top bits must still be zero if you load a byte type. If they aren't, you get back a fully-poison byte value.

https://github.com/llvm/llvm-project/pull/180739


More information about the llvm-commits mailing list