[llvm-dev] [RFC] Introducing a byte type to LLVM

James Courtier-Dutton via llvm-dev llvm-dev at lists.llvm.org
Tue Jun 15 13:10:15 PDT 2021


On Tue, 15 Jun 2021 at 20:16, Ralf Jung via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
>
> Integers demonstrably do not carry provenance; see
> <https://www.ralfj.de/blog/2020/12/14/provenance.html> for a detailed
> explanation of why.

That article is nice in the way it is trying to describe what the problem is.
Extract from the article:
"How can we fix this?
To fix the problem, we will have to declare one of the three
optimizations incorrect and stop performing it. Speaking in terms of
the LLVM IR semantics, this corresponds to deciding whether pointers
and/or integers have provenance:
1) We could say both pointers and integers have provenance, which
invalidates the first optimization.
2) We could say pointers have provenance but integers do not, which
invalidates the second optimization.
3) We could say nothing has provenance, which invalidates the third
optimization."

This is really the part that I disagree with. There are more possible
alternatives than just 1, 2 and 3.

Kind Regards

James


More information about the llvm-dev mailing list