4 ms·
LLVM has optimization not consistent with TS 6010 or any consistent model and this should affect Rust as well.
by uecker 2y ago
LLVM has optimization not consistent with TS 6010 or any consistent model and this should affect Rust as well.
- tialaramex 2y agoSure, I'm interested in whether any of those bugs affect say, Cranelift because the Cranelift did, as I understand it, a much better job of coming up with a coherent IR semantic so unlike LLVM fixing bugs in this layer isn't as scary if it's necessary for them. It is definitely possible to write Rust or (with more difficulty, legal C) which should show off something about provenance semantics and instead the LLVM backend just emits contradictory "One and two are the same number" type nonsense code. In C of course they can say well, since the ISO document pointedly does not specify how this works, maybe one and two really are the same number, although nobody actually wants that - in Rust that's definitely a bug but you will just get pointed at the corresponding LLVM bug for this issue, they know it's busted but it's hard to fix. I don't know whether fixing the LLVM bug magically makes it TS6010 compliant. If so that would be nice.