[llvm-branch-commits] [llvm] 1289835 - [MemorySSA/docs] Extend MemorySSA documentation.
Alina Sbirlea via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Wed Dec 9 18:05:25 PST 2020
Author: Alina Sbirlea
Date: 2020-12-09T18:00:16-08:00
New Revision: 1289835a96ebc3a7567c949011a3f7fe87dbc6d5
URL: https://github.com/llvm/llvm-project/commit/1289835a96ebc3a7567c949011a3f7fe87dbc6d5
DIFF: https://github.com/llvm/llvm-project/commit/1289835a96ebc3a7567c949011a3f7fe87dbc6d5.diff
LOG: [MemorySSA/docs] Extend MemorySSA documentation.
Added:
Modified:
llvm/docs/MemorySSA.rst
Removed:
################################################################################
diff --git a/llvm/docs/MemorySSA.rst b/llvm/docs/MemorySSA.rst
index d6ab667613a1..224b57d54255 100644
--- a/llvm/docs/MemorySSA.rst
+++ b/llvm/docs/MemorySSA.rst
@@ -230,6 +230,19 @@ be using. Walkers were built to be flexible, though, so it's entirely reasonable
(and expected) to create more specialized walkers (e.g. one that specifically
queries ``GlobalsAA``, one that always stops at ``MemoryPhi`` nodes, etc).
+Default walker APIs
+^^^^^^^^^^^^^^^^^^^
+
+There are two main APIs used to retrive the clobbering access using the walker:
+
+- ``MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA);`` return the
+ clobbering memory access for ``MA``, caching all intermediate results
+ computed along the way as part of each access queried.
+
+- ``MemoryAccess *getClobberingMemoryAccess(MemoryAccess *MA, const MemoryLocation &Loc);``
+ returns the access clobbering memory location ``Loc``, starting at ``MA``.
+ Because this API does not request the clobbering access of a specific memory
+ access, there are no results that can be cached.
Locating clobbers yourself
^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -394,3 +407,9 @@ useful guarantee - all loads are optimized to point at the thing that
actually clobbers them. This gives some nice properties. For example,
for a given store, you can find all loads actually clobbered by that
store by walking the immediate uses of the store.
+
+LLVM Developers Meeting presentations
+-------------------------------------
+
+- `2016 LLVM Developers' Meeting: G. Burgess - MemorySSA in Five Minutes <https://www.youtube.com/watch?v=bdxWmryoHak>`_.
+- `2020 LLVM Developers' Meeting: S. Baziotis & S. Moll - Finding Your Way Around the LLVM Dependence Analysis Zoo <https://www.youtube.com/watch?v=1e5y6WDbXCQ>`_
More information about the llvm-branch-commits
mailing list