[PATCH] D52785: [PseudoSourceValue] New category to represent floating-point status
Hal Finkel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 8 16:08:20 PDT 2018
hfinkel added a comment.
In https://reviews.llvm.org/D52785#1258222, @MatzeB wrote:
> As far as I understand MachineMemoryOperands:
>
> - You are allowed to drop them
I'm trying to understand the difference between the world where we're allowed to drop these and the world in which we're not. It's not clear what benefit we get from allowing dropping these. There also might be an advantage to dropping the Value*s used for AA (e.g., to better decouple the MI from the IR) which doesn't extend to MMOs in general.
> - An operation without MachineMemoryOperand needs to be handled conservatively (i.e. potentially aliases with everything)
This is certainly true, at least as far as aliasing goes. Regarding volatile semantics it doesn't work.
As I see it, we don't currently drop MMOs in practice (with the exception, now, of the MI outliner?). Doing so breaks, at least, volatile semantics. I think that we should simply document that MMOs can't be dropped in general (although we might drop parts of them, such as AA Value*). Thoughts?
>
>
> - Matthias
Repository:
rL LLVM
https://reviews.llvm.org/D52785
More information about the llvm-commits
mailing list