[llvm] [CodeGen] Mark LIFETIME_START and LIFETIME_END as mayLoad/mayStore (PR #211179)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 22 01:04:23 PDT 2026


lukel97 wrote:

> This probably isn't the right modeling. The meaning of "mayLoad" / "mayStore" is closer to has-memoperand. Now these will be treated as hasOrderedMemoryRef which is too strong

Isn't that what the intrinsics essentially have though? They have `IntrArgMemOnly` which means they're treated as having potentially volatile writes:

```
// IntrArgMemOnly - This intrinsic only accesses memory that its pointer-typed
// argument(s) points to, but may access an unspecified amount. Other than
// reads from and (possibly volatile) writes to memory, it has no side effects.
def IntrArgMemOnly : IntrinsicProperty;
```

https://github.com/llvm/llvm-project/pull/211179


More information about the llvm-commits mailing list