Nikita Popov
Nikita Popov
I'd suggest doing a perf run with this enabled by default. TBH, I'm not sure this is a viable way forward. I expect that this is going to regress optimization...
Actually, now that I think about it again: Doesn't the combination of `noalias` and `readonly` that we usually have already imply invariance within the function? I think AA should be...
> LLVM doesn't know that `bar()` doesn't mutate `*x` somehow, despite it being marked `readonly` and `noalias` in all functions. So it has to issue a needless reload of the...
> > I'm not saying it currently handles this (it doesn't), but that it would be easy to make it handle it, without introducing new IR concepts or changes on...
The new logic looks correct to me. I don't think we'd want to land this with the OrInvariant parameter, but it's a reasonable starting point for review.
> The new logic looks correct to me. I don't think we'd want to land this with the OrInvariant parameter, but it's a reasonable starting point for review. I've given...
I think it's safe to close this, I doubt we would want to pursue the particular approach implemented here.
I've seen this i686 failure as well. We currently don't ship mlir tools in fedora because of these failures (they don't occur when not building tools).
I think it will be hard to do anything about this without some way to reproduce. Presumably what is happening is that LLVM blows up your code into a huge...
I think if we move those constants, it might be best to create a separate `Modifiers` class for it. After all, they are not specific to classes, but are also...