[PATCH] D68484: [PATCH 01/38] [noalias] LangRef: noalias intrinsics and noalias_sidechannel documentation.

Andrei Elovikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 9 16:40:17 PDT 2019


a.elovikov added inline comments.


================
Comment at: llvm/docs/LangRef.rst:16241
+                                            i32 <p.objId>, metadata !p.scope) !noalias !VisibleScopes
+      %side.p       = i8* @llvm.side.noalias.XXX(i8* %side.p, i8* %p.decl,
+                                            i8** p.addr, i8** %side.p.addr,
----------------
I find it strange to see %side.p on both left and right sides. Is it a typo or does it have some special meaning?

After reading till the intrinsics' description I believe it should be just "%p" on the right side.


================
Comment at: llvm/docs/LangRef.rst:16575
+It will be transformed into a ``llvm.side.noalias`` intrinsic and moved onto
+the ``noalias_sidechannel`` path, so that pointer optimizations can still be
+done and the restrict information is not lost.
----------------
> the ``noalias_sidechannel`` path

Not sure about terminology, but are `@llvm.noalias.arg.guard`/`@llvm.noalias.copy.guard` considered as `noalias_sidechannel`? I'd suggest not to use the spelling from the load/store instructions and have a more general `moved onto the "side" path` (if my understanding is correct here).


================
Comment at: llvm/docs/LangRef.rst:16615
+
+The third argument ``%p.addr`` is the address in memory of this pointer.
+
----------------
No explicit "or null" here. Is that intentional?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68484/new/

https://reviews.llvm.org/D68484





More information about the llvm-commits mailing list