Nikita Popov

Results 517 comments of Nikita Popov

I believe we only have a hard policy of "don't change the tests" for the GCC torture test suite in particular. We do regularly update other tests to keep them...

This seems to cause a 0.15% compile-time regression using stage2 clang only (https://llvm-compile-time-tracker.com/compare.php?from=1120d8e6f799121b611aa23bdc128e40cf9c6c58&to=36b3c26451bf9a42f0b6b415993d3942bb73abdd&stat=instructions:u), which indicates that causes an optimization regression, at least for clang :(

@dtcxzyw Could you check this on llvm-opt-benchmark first? I'm wondering whether this introduces regressions that can be recovered based on more context. The motivation for doing this *now* after ignoring...

@dtcxzyw Thanks! I think the main two takeaways are: 1. I suspect that we need a `nopoison` attribute (and I guess `!nopoison` metadata). The current noundef is too strong, and...

RFC for nopoison: https://discourse.llvm.org/t/rfc-add-nopoison-attribute-metadata/79833 The select -> freeze fold: https://github.com/llvm/llvm-project/pull/96773 On a somewhat tangential note, I'm also wondering whether it would be worthwhile to add some flags on `freeze` so...

Moving this to draft as it looks like we're still not ready for this change :(

Unfortunately, we just found the first instance where this miscompile occurs in the wild (https://github.com/llvm/llvm-project/issues/97702). Per the comments of @RalfJung in https://discourse.llvm.org/t/rfc-add-nopoison-attribute-metadata/79833 it looks like Rust does not want to...

Sorry, my initial analysis of https://github.com/llvm/llvm-project/issues/97702 wasn't right, and this wasn't the cause of that issue after all. So this one remains a theoretical problem only for now...

As far as I'm aware, this issue is still theoretical, but it does regularly cause confusion and duplicate issue reports, so I'm inclined to merge it.

https://github.com/nikic/PHP-Parser/pull/1127 added an attribute for this for ints, would make sense to extend to float.