[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