[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