[PATCH] D64414: Do not set ReadNone attribute on intrinsics with side effects
Johannes Doerfert via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 9 11:17:49 PDT 2019
jdoerfert added a comment.
In D64414#1576554 <https://reviews.llvm.org/D64414#1576554>, @chill wrote:
> In D64414#1576252 <https://reviews.llvm.org/D64414#1576252>, @jdoerfert wrote:
>
> > I'm a bit lost. What intrinsic do we have that is "no-mem" but has side-effects?
>
>
> E.g `__builtin_arm_tcommit`, which I'm adding in this series, or `__builtin_arm_irg` (which is *should* be `NoMem`, but is not, perhaps as a workaround for this issue).
(Sorry if I'm way off here but I'd like to understand this better)
`tcommit` makes the transaction state visible, correct? If so, I'd argue it modifies the memory (especially for other threads). Maybe my confusion stems from the IR vs MIR conflict here but in IR, I would not like `tcommit` to be `readnone` for multiple reasons, including memory movement around it.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64414/new/
https://reviews.llvm.org/D64414
More information about the llvm-commits
mailing list