diff options
author | Chris Lattner <sabre@nondot.org> | 2009-04-25 21:11:37 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-04-25 21:11:37 +0000 |
commit | 4f4365eb4ec0e1e84a48dbc5bb9f323018facec7 (patch) | |
tree | d3b2d672137bb356acf42f2b3f7481d8d6fd7119 /docs | |
parent | c2dbff3ba6dee08d1592edc5c59cbed9c89bf64d (diff) | |
download | external_llvm-4f4365eb4ec0e1e84a48dbc5bb9f323018facec7.zip external_llvm-4f4365eb4ec0e1e84a48dbc5bb9f323018facec7.tar.gz external_llvm-4f4365eb4ec0e1e84a48dbc5bb9f323018facec7.tar.bz2 |
Update docs to not mention gcse/loadvn and mention memdep and
new stuff. PR3924.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70077 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r-- | docs/AliasAnalysis.html | 36 |
1 files changed, 12 insertions, 24 deletions
diff --git a/docs/AliasAnalysis.html b/docs/AliasAnalysis.html index 97a8133..a89903d 100644 --- a/docs/AliasAnalysis.html +++ b/docs/AliasAnalysis.html @@ -36,7 +36,7 @@ <li><a href="#using">Using alias analysis results</a> <ul> - <li><a href="#loadvn">Using the <tt>-load-vn</tt> Pass</a></li> + <li><a href="#memdep">Using the <tt>MemoryDependenceAnalysis</tt> Pass</a></li> <li><a href="#ast">Using the <tt>AliasSetTracker</tt> class</a></li> <li><a href="#direct">Using the <tt>AliasAnalysis</tt> interface directly</a></li> </ul> @@ -537,16 +537,16 @@ preference, these are...</p> <!-- ======================================================================= --> <div class="doc_subsection"> - <a name="loadvn">Using the <tt>-load-vn</tt> Pass</a> + <a name="memdep">Using the <tt>MemoryDependenceAnalysis</tt> Pass</a> </div> <div class="doc_text"> -<p>The <tt>load-vn</tt> pass uses alias analysis to provide value numbering -information for <tt>load</tt> instructions and pointer values. If your analysis -or transformation can be modeled in a form that uses value numbering -information, you don't have to do anything special to handle load instructions: -just use the <tt>load-vn</tt> pass, which uses alias analysis.</p> +<p>The <tt>memdep</tt> pass uses alias analysis to provide high-level dependence +information about memory-using instructions. This will tell you which store +feeds into a load, for example. It uses caching and other techniques to be +efficient, and is used by Dead Store Elimination, GVN, and memcpy optimizations. +</p> </div> @@ -710,7 +710,7 @@ aggressive local analysis that "knows" many important facts:</p> for internal global variables that don't "have their address taken". If a global does not have its address taken, the pass knows that no pointers alias the global. This pass also keeps track of functions that it knows never access -memory or never read memory. This allows certain optimizations (e.g. GCSE) to +memory or never read memory. This allows certain optimizations (e.g. GVN) to eliminate call instructions entirely. </p> @@ -855,26 +855,14 @@ pointer.</p> <!-- _______________________________________________________________________ --> <div class="doc_subsubsection"> - <a name="gcseloadvn">The <tt>-load-vn</tt> & <tt>-gcse</tt> passes</a> + <a name="gvn">The <tt>-gvn</tt>, <tt>-memcpyopt</tt>, and <tt>-dse</tt> + passes</a> </div> <div class="doc_text"> -<p>The <tt>-load-vn</tt> pass uses alias analysis to "<a href="#loadvn">value -number</a>" loads and pointers values, which is used by the GCSE pass to -eliminate instructions. The <tt>-load-vn</tt> pass relies on alias information -and must-alias information. This combination of passes can make the following -transformations:</p> - -<ul> -<li>Redundant load instructions are eliminated.</li> -<li>Load instructions that follow a store to the same location are replaced with -the stored value ("store forwarding").</li> -<li>Pointers values (e.g. formal arguments) that must-alias simpler expressions -(e.g. global variables or the null pointer) are replaced. Note that this -implements transformations like "virtual method resolution", turning indirect -calls into direct calls.</li> -</ul> +<p>These passes use AliasAnalysis information to reason about loads and stores. +</p> </div> |