[llvm-commits] [www-releases] r170845 [21/55] - in /www-releases/trunk/3.2/docs: ./ CommandGuide/ HistoricalNotes/ _static/ _templates/ _themes/ _themes/llvm-theme/ _themes/llvm-theme/static/ doxygen/ doxygen/html/ llvm-theme/ llvm-theme/static/ tutorial/

Tanya Lattner tonic at nondot.org
Thu Dec 20 22:58:17 PST 2012


Added: www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,1562 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MemoryDependenceAnalysis.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_59dd179f705c75b7b821c61754f4942c.html">Analysis</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">MemoryDependenceAnalysis.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="MemoryDependenceAnalysis_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===- MemoryDependenceAnalysis.cpp - Mem Deps Implementation  --*- C++ -*-===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 <span class="comment">//</span>
+<a name="l00010"></a>00010 <span class="comment">// This file implements an analysis that determines, for a given memory</span>
+<a name="l00011"></a>00011 <span class="comment">// operation, what preceding memory operations it depends on.  It builds on </span>
+<a name="l00012"></a>00012 <span class="comment">// alias analysis information, and tries to provide a lazy, caching interface to</span>
+<a name="l00013"></a>00013 <span class="comment">// a common kind of alias information query.</span>
+<a name="l00014"></a>00014 <span class="comment">//</span>
+<a name="l00015"></a>00015 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00016"></a>00016 
+<a name="l00017"></a><a class="code" href="MemoryDependenceAnalysis_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">00017</a> <span class="preprocessor">#define DEBUG_TYPE "memdep"</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="MemoryDependenceAnalysis_8h.html">llvm/Analysis/MemoryDependenceAnalysis.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="Instructions_8h.html">llvm/Instructions.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="IntrinsicInst_8h.html">llvm/IntrinsicInst.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="Function_8h.html">llvm/Function.h</a>"</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="LLVMContext_8h.html">llvm/LLVMContext.h</a>"</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="AliasAnalysis_8h.html">llvm/Analysis/AliasAnalysis.h</a>"</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="Dominators_8h.html">llvm/Analysis/Dominators.h</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="InstructionSimplify_8h.html">llvm/Analysis/InstructionSimplify.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="MemoryBuiltins_8h.html">llvm/Analysis/MemoryBuiltins.h</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="PHITransAddr_8h.html">llvm/Analysis/PHITransAddr.h</a>"</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="ValueTracking_8h.html">llvm/Analysis/ValueTracking.h</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="Statistic_8h.html">llvm/ADT/Statistic.h</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="STLExtras_8h.html">llvm/ADT/STLExtras.h</a>"</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="PredIteratorCache_8h.html">llvm/Support/PredIteratorCache.h</a>"</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="Debug_8h.html">llvm/Support/Debug.h</a>"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="DataLayout_8h.html">llvm/DataLayout.h</a>"</span>
+<a name="l00034"></a>00034 <span class="keyword">using namespace </span>llvm;
+<a name="l00035"></a>00035 
+<a name="l00036"></a>00036 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumCacheNonLocal, <span class="stringliteral">"Number of fully cached non-local responses"</span>);
+<a name="l00037"></a>00037 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumCacheDirtyNonLocal, <span class="stringliteral">"Number of dirty cached non-local responses"</span>);
+<a name="l00038"></a>00038 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumUncacheNonLocal, <span class="stringliteral">"Number of uncached non-local responses"</span>);
+<a name="l00039"></a>00039 
+<a name="l00040"></a>00040 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumCacheNonLocalPtr,
+<a name="l00041"></a>00041           <span class="stringliteral">"Number of fully cached non-local ptr responses"</span>);
+<a name="l00042"></a>00042 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumCacheDirtyNonLocalPtr,
+<a name="l00043"></a>00043           <span class="stringliteral">"Number of cached, but dirty, non-local ptr responses"</span>);
+<a name="l00044"></a>00044 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumUncacheNonLocalPtr,
+<a name="l00045"></a>00045           <span class="stringliteral">"Number of uncached non-local ptr responses"</span>);
+<a name="l00046"></a>00046 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumCacheCompleteNonLocalPtr,
+<a name="l00047"></a>00047           <span class="stringliteral">"Number of block queries that were completely cached"</span>);
+<a name="l00048"></a>00048 
+<a name="l00049"></a>00049 <span class="comment">// Limit for the number of instructions to scan in a block.</span>
+<a name="l00050"></a>00050 <span class="comment">// FIXME: Figure out what a sane value is for this.</span>
+<a name="l00051"></a>00051 <span class="comment">//        (500 is relatively insane.)</span>
+<a name="l00052"></a><a class="code" href="MemoryDependenceAnalysis_8cpp.html#afbfb945cd59740858dd8509ffa6b0506">00052</a> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="MemoryDependenceAnalysis_8cpp.html#afbfb945cd59740858dd8509ffa6b0506">BlockScanLimit</a> = 500;
+<a name="l00053"></a>00053 
+<a name="l00054"></a>00054 <span class="keywordtype">char</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ab6ba33bdfb3c4da44d4586ae1f1966aa">MemoryDependenceAnalysis::ID</a> = 0;
+<a name="l00055"></a>00055   
+<a name="l00056"></a>00056 <span class="comment">// Register this pass...</span>
+<a name="l00057"></a>00057 <a class="code" href="PassSupport_8h.html#aaa970fc931c1c63037a8182e028d04b1">INITIALIZE_PASS_BEGIN</a>(<a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html">MemoryDependenceAnalysis</a>, <span class="stringliteral">"memdep"</span>,
+<a name="l00058"></a>00058                 <span class="stringliteral">"Memory Dependence Analysis"</span>, <span class="keyword">false</span>, <span class="keyword">true</span>)
+<a name="l00059"></a>00059 <a class="code" href="PassSupport_8h.html#af0564bcdde2dd4400c670ca278c6035f">INITIALIZE_AG_DEPENDENCY</a>(<a class="code" href="classllvm_1_1AliasAnalysis.html">AliasAnalysis</a>)
+<a name="l00060"></a><a class="code" href="MemoryDependenceAnalysis_8cpp.html#a3950b99d68513a8206c71fdc9f95627c">00060</a> <a class="code" href="PassSupport_8h.html#a74ce8276b89067e806f67c45a6d92575">INITIALIZE_PASS_END</a>(<a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html">MemoryDependenceAnalysis</a>, "<a class="code" href="MemoryDependenceAnalysis_8cpp.html#a3950b99d68513a8206c71fdc9f95627c">memdep</a>",
+<a name="l00061"></a>00061                       "<a class="code" href="classllvm_1_1sys_1_1Memory.html" title="An abstraction for memory operations.">Memory</a> <a class="code" href="classllvm_1_1Dependence.html">Dependence</a> <a class="code" href="BlockFrequencyInfo_8cpp.html#a82e1257a9bb50f34810c5af1c3d3dea4">Analysis</a>", <a class="code" href="AliasAnalysisEvaluator_8cpp.html#a3898a228575af19a9b2052f2b3677dce">false</a>, <a class="code" href="BasicAliasAnalysis_8cpp.html#a80603f23207dd836075c078e6264204a">true</a>)
+<a name="l00062"></a>00062 
+<a name="l00063"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a26e8790867f9e0f559f527aca0bdf587">00063</a> MemoryDependenceAnalysis::MemoryDependenceAnalysis()
+<a name="l00064"></a>00064 : <a class="code" href="classllvm_1_1FunctionPass.html">FunctionPass</a>(<a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">ID</a>), PredCache(0) {
+<a name="l00065"></a>00065   <a class="code" href="namespacellvm.html#a7b146b3c939051bc7543ee06b4bfb3b1">initializeMemoryDependenceAnalysisPass</a>(*<a class="code" href="classllvm_1_1PassRegistry.html#a05a729900b76c89e808c6c3094921b2f">PassRegistry::getPassRegistry</a>());
+<a name="l00066"></a>00066 }
+<a name="l00067"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ae490259cdcea86028795a092037c4890">00067</a> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ae490259cdcea86028795a092037c4890">MemoryDependenceAnalysis::~MemoryDependenceAnalysis</a>() {
+<a name="l00068"></a>00068 }
+<a name="l00069"></a>00069 <span class="comment"></span>
+<a name="l00070"></a>00070 <span class="comment">/// Clean up memory in between runs</span>
+<a name="l00071"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a38913a0f2400c2b3ba25cfee8cc1c280">00071</a> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a38913a0f2400c2b3ba25cfee8cc1c280" title="Clean up memory in between runs.">MemoryDependenceAnalysis::releaseMemory</a>() {
+<a name="l00072"></a>00072   LocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a6467bd6bb128c8b69a478548fc17351c">clear</a>();
+<a name="l00073"></a>00073   NonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a6467bd6bb128c8b69a478548fc17351c">clear</a>();
+<a name="l00074"></a>00074   NonLocalPointerDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a6467bd6bb128c8b69a478548fc17351c">clear</a>();
+<a name="l00075"></a>00075   ReverseLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a6467bd6bb128c8b69a478548fc17351c">clear</a>();
+<a name="l00076"></a>00076   ReverseNonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a6467bd6bb128c8b69a478548fc17351c">clear</a>();
+<a name="l00077"></a>00077   ReverseNonLocalPtrDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a6467bd6bb128c8b69a478548fc17351c">clear</a>();
+<a name="l00078"></a>00078   PredCache->clear();
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 
+<a name="l00081"></a>00081 
+<a name="l00082"></a>00082 <span class="comment"></span>
+<a name="l00083"></a>00083 <span class="comment">/// getAnalysisUsage - Does not modify anything.  It uses Alias Analysis.</span>
+<a name="l00084"></a>00084 <span class="comment">///</span>
+<a name="l00085"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a16dada1a57699243411a7b8f2237bb48">00085</a> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a16dada1a57699243411a7b8f2237bb48">MemoryDependenceAnalysis::getAnalysisUsage</a>(<a class="code" href="classllvm_1_1AnalysisUsage.html">AnalysisUsage</a> &AU)<span class="keyword"> const </span>{
+<a name="l00086"></a>00086   AU.<a class="code" href="classllvm_1_1AnalysisUsage.html#af22b06a6a4f9df80454071685a0d6a02">setPreservesAll</a>();
+<a name="l00087"></a>00087   AU.<a class="code" href="classllvm_1_1AnalysisUsage.html#ac12fffcedd4a1c8bf428d694451f816c">addRequiredTransitive</a><<a class="code" href="classllvm_1_1AliasAnalysis.html">AliasAnalysis</a>>();
+<a name="l00088"></a>00088 }
+<a name="l00089"></a>00089 
+<a name="l00090"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a11e3a5dc537b36f96296238cb7a05990">00090</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a11e3a5dc537b36f96296238cb7a05990" title="Pass Implementation stuff. This doesn't do any analysis eagerly.">MemoryDependenceAnalysis::runOnFunction</a>(<a class="code" href="classllvm_1_1Function.html">Function</a> &) {
+<a name="l00091"></a>00091   AA = &getAnalysis<AliasAnalysis>();
+<a name="l00092"></a>00092   TD = getAnalysisIfAvailable<DataLayout>();
+<a name="l00093"></a>00093   DT = getAnalysisIfAvailable<DominatorTree>();
+<a name="l00094"></a>00094   <span class="keywordflow">if</span> (PredCache == 0)
+<a name="l00095"></a>00095     PredCache.<a class="code" href="classllvm_1_1OwningPtr.html#ad45fe2513c9468cbd4fa891a3685f380">reset</a>(<span class="keyword">new</span> <a class="code" href="classllvm_1_1PredIteratorCache.html">PredIteratorCache</a>());
+<a name="l00096"></a>00096   <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 <span class="comment"></span>
+<a name="l00099"></a>00099 <span class="comment">/// RemoveFromReverseMap - This is a helper function that removes Val from</span>
+<a name="l00100"></a>00100 <span class="comment">/// 'Inst's set in ReverseMap.  If the set becomes empty, remove Inst's entry.</span>
+<a name="l00101"></a>00101 <span class="comment"></span><span class="keyword">template</span> <<span class="keyword">typename</span> KeyTy>
+<a name="l00102"></a><a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">00102</a> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">RemoveFromReverseMap</a>(<a class="code" href="classllvm_1_1DenseMap.html">DenseMap</a><<a class="code" href="classllvm_1_1Instruction.html">Instruction</a>*, 
+<a name="l00103"></a>00103                                  <a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<KeyTy, 4></a> > &ReverseMap,
+<a name="l00104"></a>00104                                  <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst, KeyTy Val) {
+<a name="l00105"></a>00105   <span class="keyword">typename</span> <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<Instruction*, SmallPtrSet<KeyTy, 4></a> ><a class="code" href="classstd_1_1iterator.html">::iterator</a>
+<a name="l00106"></a>00106   InstIt = ReverseMap.find(Inst);
+<a name="l00107"></a>00107   assert(InstIt != ReverseMap.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>() && <span class="stringliteral">"Reverse map out of sync?"</span>);
+<a name="l00108"></a>00108   <span class="keywordtype">bool</span> Found = InstIt->second.<a class="code" href="classllvm_1_1DenseMapBase.html#a269c7b8adcd29645a4f901196fc08806">erase</a>(Val);
+<a name="l00109"></a>00109   assert(Found && <span class="stringliteral">"Invalid reverse map!"</span>); (void)Found;
+<a name="l00110"></a>00110   <span class="keywordflow">if</span> (InstIt->second.<a class="code" href="classllvm_1_1DenseMapBase.html#ac0ea276ca8ef68cc206db705a7092612">empty</a>())
+<a name="l00111"></a>00111     ReverseMap.erase(InstIt);
+<a name="l00112"></a>00112 }
+<a name="l00113"></a>00113 <span class="comment"></span>
+<a name="l00114"></a>00114 <span class="comment">/// GetLocation - If the given instruction references a specific memory</span>
+<a name="l00115"></a>00115 <span class="comment">/// location, fill in Loc with the details, otherwise set Loc.Ptr to null.</span>
+<a name="l00116"></a>00116 <span class="comment">/// Return a ModRefInfo value describing the general behavior of the</span>
+<a name="l00117"></a>00117 <span class="comment">/// instruction.</span>
+<a name="l00118"></a>00118 <span class="comment"></span><span class="keyword">static</span>
+<a name="l00119"></a><a class="code" href="MemoryDependenceAnalysis_8cpp.html#afb744ee3844b3c1f807fe12ec53a6cfb">00119</a> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460">AliasAnalysis::ModRefResult</a> <a class="code" href="MemoryDependenceAnalysis_8cpp.html#afb744ee3844b3c1f807fe12ec53a6cfb">GetLocation</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst,
+<a name="l00120"></a>00120                                         <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &Loc,
+<a name="l00121"></a>00121                                         <a class="code" href="classllvm_1_1AliasAnalysis.html">AliasAnalysis</a> *AA) {
+<a name="l00122"></a>00122   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1LoadInst.html">LoadInst</a> *<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a> = dyn_cast<LoadInst>(Inst)) {
+<a name="l00123"></a>00123     <span class="keywordflow">if</span> (<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>->isUnordered()) {
+<a name="l00124"></a>00124       Loc = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#aec9dbab832cd8052f85cd2a9dbb3816e">getLocation</a>(<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>);
+<a name="l00125"></a>00125       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460a20c70d6d2838a070cafe0b3f82b7aee5">AliasAnalysis::Ref</a>;
+<a name="l00126"></a>00126     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>->getOrdering() == <a class="code" href="namespacellvm.html#abf74b2f0dbae96f4708d3e407b36df02a7754cbc42d54bad3979ed1789b780b28">Monotonic</a>) {
+<a name="l00127"></a>00127       Loc = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#aec9dbab832cd8052f85cd2a9dbb3816e">getLocation</a>(<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>);
+<a name="l00128"></a>00128       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ae5518d24851e606666c97b9daa9a647f">AliasAnalysis::ModRef</a>;
+<a name="l00129"></a>00129     }
+<a name="l00130"></a>00130     Loc = <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a>();
+<a name="l00131"></a>00131     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ae5518d24851e606666c97b9daa9a647f">AliasAnalysis::ModRef</a>;
+<a name="l00132"></a>00132   }
+<a name="l00133"></a>00133 
+<a name="l00134"></a>00134   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1StoreInst.html">StoreInst</a> *SI = dyn_cast<StoreInst>(Inst)) {
+<a name="l00135"></a>00135     <span class="keywordflow">if</span> (SI->isUnordered()) {
+<a name="l00136"></a>00136       Loc = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#aec9dbab832cd8052f85cd2a9dbb3816e">getLocation</a>(SI);
+<a name="l00137"></a>00137       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ab9c7e2bf8dd3d89289b8a8cccefe4808">AliasAnalysis::Mod</a>;
+<a name="l00138"></a>00138     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (SI->getOrdering() == <a class="code" href="namespacellvm.html#abf74b2f0dbae96f4708d3e407b36df02a7754cbc42d54bad3979ed1789b780b28">Monotonic</a>) {
+<a name="l00139"></a>00139       Loc = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#aec9dbab832cd8052f85cd2a9dbb3816e">getLocation</a>(SI);
+<a name="l00140"></a>00140       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ae5518d24851e606666c97b9daa9a647f">AliasAnalysis::ModRef</a>;
+<a name="l00141"></a>00141     }
+<a name="l00142"></a>00142     Loc = <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a>();
+<a name="l00143"></a>00143     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ae5518d24851e606666c97b9daa9a647f">AliasAnalysis::ModRef</a>;
+<a name="l00144"></a>00144   }
+<a name="l00145"></a>00145 
+<a name="l00146"></a>00146   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1VAArgInst.html">VAArgInst</a> *V = dyn_cast<VAArgInst>(Inst)) {
+<a name="l00147"></a>00147     Loc = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#aec9dbab832cd8052f85cd2a9dbb3816e">getLocation</a>(V);
+<a name="l00148"></a>00148     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ae5518d24851e606666c97b9daa9a647f">AliasAnalysis::ModRef</a>;
+<a name="l00149"></a>00149   }
+<a name="l00150"></a>00150 
+<a name="l00151"></a>00151   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1CallInst.html">CallInst</a> *CI = <a class="code" href="namespacellvm.html#a42a9f1e04ad580b344123c15dbb29d39" title="isFreeCall - Returns non-null if the value is a call to the builtin free()">isFreeCall</a>(Inst, AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a2f0a6f0f6e25c24ba9b434ba5b5a9906">getTargetLibraryInfo</a>())) {
+<a name="l00152"></a>00152     <span class="comment">// calls to free() deallocate the entire structure</span>
+<a name="l00153"></a>00153     Loc = <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a>(CI->getArgOperand(0));
+<a name="l00154"></a>00154     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ab9c7e2bf8dd3d89289b8a8cccefe4808">AliasAnalysis::Mod</a>;
+<a name="l00155"></a>00155   }
+<a name="l00156"></a>00156 
+<a name="l00157"></a>00157   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1IntrinsicInst.html">IntrinsicInst</a> *II = dyn_cast<IntrinsicInst>(Inst))
+<a name="l00158"></a>00158     <span class="keywordflow">switch</span> (II->getIntrinsicID()) {
+<a name="l00159"></a>00159     <span class="keywordflow">case</span> Intrinsic::lifetime_start:
+<a name="l00160"></a>00160     <span class="keywordflow">case</span> Intrinsic::lifetime_end:
+<a name="l00161"></a>00161     <span class="keywordflow">case</span> Intrinsic::invariant_start:
+<a name="l00162"></a>00162       Loc = <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a>(II->getArgOperand(1),
+<a name="l00163"></a>00163                                     cast<ConstantInt>(II->getArgOperand(0))
+<a name="l00164"></a>00164                                       ->getZExtValue(),
+<a name="l00165"></a>00165                                     II->getMetadata(<a class="code" href="classllvm_1_1LLVMContext.html#a19d63434356844e2fd7116a9c0866ec9a66682b7e33233c8e51196bbf274726a2">LLVMContext::MD_tbaa</a>));
+<a name="l00166"></a>00166       <span class="comment">// These intrinsics don't really modify the memory, but returning Mod</span>
+<a name="l00167"></a>00167       <span class="comment">// will allow them to be handled conservatively.</span>
+<a name="l00168"></a>00168       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ab9c7e2bf8dd3d89289b8a8cccefe4808">AliasAnalysis::Mod</a>;
+<a name="l00169"></a>00169     <span class="keywordflow">case</span> Intrinsic::invariant_end:
+<a name="l00170"></a>00170       Loc = <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a>(II->getArgOperand(2),
+<a name="l00171"></a>00171                                     cast<ConstantInt>(II->getArgOperand(1))
+<a name="l00172"></a>00172                                       ->getZExtValue(),
+<a name="l00173"></a>00173                                     II->getMetadata(<a class="code" href="classllvm_1_1LLVMContext.html#a19d63434356844e2fd7116a9c0866ec9a66682b7e33233c8e51196bbf274726a2">LLVMContext::MD_tbaa</a>));
+<a name="l00174"></a>00174       <span class="comment">// These intrinsics don't really modify the memory, but returning Mod</span>
+<a name="l00175"></a>00175       <span class="comment">// will allow them to be handled conservatively.</span>
+<a name="l00176"></a>00176       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ab9c7e2bf8dd3d89289b8a8cccefe4808">AliasAnalysis::Mod</a>;
+<a name="l00177"></a>00177     <span class="keywordflow">default</span>:
+<a name="l00178"></a>00178       <span class="keywordflow">break</span>;
+<a name="l00179"></a>00179     }
+<a name="l00180"></a>00180 
+<a name="l00181"></a>00181   <span class="comment">// Otherwise, just do the coarse-grained thing that always works.</span>
+<a name="l00182"></a>00182   <span class="keywordflow">if</span> (Inst-><a class="code" href="classllvm_1_1Instruction.html#aa26de3d6e38997b9041e824ea558c770">mayWriteToMemory</a>())
+<a name="l00183"></a>00183     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ae5518d24851e606666c97b9daa9a647f">AliasAnalysis::ModRef</a>;
+<a name="l00184"></a>00184   <span class="keywordflow">if</span> (Inst-><a class="code" href="classllvm_1_1Instruction.html#a0fd8d3c26bf5cd614b0e6a9b8886a5d0">mayReadFromMemory</a>())
+<a name="l00185"></a>00185     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460a20c70d6d2838a070cafe0b3f82b7aee5">AliasAnalysis::Ref</a>;
+<a name="l00186"></a>00186   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460a52fc7f344e74f168cb4b4c808dcfde1c">AliasAnalysis::NoModRef</a>;
+<a name="l00187"></a>00187 }
+<a name="l00188"></a>00188 <span class="comment"></span>
+<a name="l00189"></a>00189 <span class="comment">/// getCallSiteDependencyFrom - Private helper for finding the local</span>
+<a name="l00190"></a>00190 <span class="comment">/// dependencies of a call site.</span>
+<a name="l00191"></a>00191 <span class="comment"></span><a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> MemoryDependenceAnalysis::
+<a name="l00192"></a>00192 getCallSiteDependencyFrom(<a class="code" href="classllvm_1_1CallSite.html">CallSite</a> CS, <span class="keywordtype">bool</span> isReadOnlyCall,
+<a name="l00193"></a>00193                           <a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a> ScanIt, <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB) {
+<a name="l00194"></a>00194   <span class="keywordtype">unsigned</span> Limit = <a class="code" href="MemoryDependenceAnalysis_8cpp.html#afbfb945cd59740858dd8509ffa6b0506">BlockScanLimit</a>;
+<a name="l00195"></a>00195 
+<a name="l00196"></a>00196   <span class="comment">// Walk backwards through the block, looking for dependencies</span>
+<a name="l00197"></a>00197   <span class="keywordflow">while</span> (ScanIt != BB-><a class="code" href="classllvm_1_1BasicBlock.html#a0ed5f3ab3c2e4196ee0cffffa080c062">begin</a>()) {
+<a name="l00198"></a>00198     <span class="comment">// Limit the amount of scanning we do so we don't end up with quadratic</span>
+<a name="l00199"></a>00199     <span class="comment">// running time on extreme testcases. </span>
+<a name="l00200"></a>00200     --Limit;
+<a name="l00201"></a>00201     <span class="keywordflow">if</span> (!Limit)
+<a name="l00202"></a>00202       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a87800772e5bbce0b8e0cb23b54e47f58">MemDepResult::getUnknown</a>();
+<a name="l00203"></a>00203 
+<a name="l00204"></a>00204     <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = --ScanIt;
+<a name="l00205"></a>00205     
+<a name="l00206"></a>00206     <span class="comment">// If this inst is a memory op, get the pointer it accessed</span>
+<a name="l00207"></a>00207     <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> Loc;
+<a name="l00208"></a>00208     <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460">AliasAnalysis::ModRefResult</a> MR = <a class="code" href="MemoryDependenceAnalysis_8cpp.html#afb744ee3844b3c1f807fe12ec53a6cfb">GetLocation</a>(Inst, Loc, AA);
+<a name="l00209"></a>00209     <span class="keywordflow">if</span> (Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a24197872686f605dcfd25b6e5d3cc7fa" title="Ptr - The address of the start of the location.">Ptr</a>) {
+<a name="l00210"></a>00210       <span class="comment">// A simple instruction.</span>
+<a name="l00211"></a>00211       <span class="keywordflow">if</span> (AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a3f09a65a9c9d7bfff6c6271976d1baba">getModRefInfo</a>(CS, Loc) != <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460a52fc7f344e74f168cb4b4c808dcfde1c">AliasAnalysis::NoModRef</a>)
+<a name="l00212"></a>00212         <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(Inst);
+<a name="l00213"></a>00213       <span class="keywordflow">continue</span>;
+<a name="l00214"></a>00214     }
+<a name="l00215"></a>00215 
+<a name="l00216"></a>00216     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1CallSite.html">CallSite</a> InstCS = cast<Value>(Inst)) {
+<a name="l00217"></a>00217       <span class="comment">// Debug intrinsics don't cause dependences.</span>
+<a name="l00218"></a>00218       <span class="keywordflow">if</span> (isa<DbgInfoIntrinsic>(Inst)) <span class="keywordflow">continue</span>;
+<a name="l00219"></a>00219       <span class="comment">// If these two calls do not interfere, look past it.</span>
+<a name="l00220"></a>00220       <span class="keywordflow">switch</span> (AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a3f09a65a9c9d7bfff6c6271976d1baba">getModRefInfo</a>(CS, InstCS)) {
+<a name="l00221"></a>00221       <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460a52fc7f344e74f168cb4b4c808dcfde1c">AliasAnalysis::NoModRef</a>:
+<a name="l00222"></a>00222         <span class="comment">// If the two calls are the same, return InstCS as a Def, so that</span>
+<a name="l00223"></a>00223         <span class="comment">// CS can be found redundant and eliminated.</span>
+<a name="l00224"></a>00224         <span class="keywordflow">if</span> (isReadOnlyCall && !(MR & <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ab9c7e2bf8dd3d89289b8a8cccefe4808">AliasAnalysis::Mod</a>) &&
+<a name="l00225"></a>00225             CS.<a class="code" href="classllvm_1_1CallSiteBase.html#ae4c67f835911559821939fb23a2e7aff">getInstruction</a>()-><a class="code" href="classllvm_1_1Instruction.html#a0998fa064652459be9475ad460ee381f">isIdenticalToWhenDefined</a>(Inst))
+<a name="l00226"></a>00226           <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#ae4760893fa2bd86ce4460d3171fb9a82">MemDepResult::getDef</a>(Inst);
+<a name="l00227"></a>00227 
+<a name="l00228"></a>00228         <span class="comment">// Otherwise if the two calls don't interact (e.g. InstCS is readnone)</span>
+<a name="l00229"></a>00229         <span class="comment">// keep scanning.</span>
+<a name="l00230"></a>00230         <span class="keywordflow">continue</span>;
+<a name="l00231"></a>00231       <span class="keywordflow">default</span>:
+<a name="l00232"></a>00232         <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(Inst);
+<a name="l00233"></a>00233       }
+<a name="l00234"></a>00234     }
+<a name="l00235"></a>00235 
+<a name="l00236"></a>00236     <span class="comment">// If we could not obtain a pointer for the instruction and the instruction</span>
+<a name="l00237"></a>00237     <span class="comment">// touches memory then assume that this is a dependency.</span>
+<a name="l00238"></a>00238     <span class="keywordflow">if</span> (MR != <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460a52fc7f344e74f168cb4b4c808dcfde1c">AliasAnalysis::NoModRef</a>)
+<a name="l00239"></a>00239       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(Inst);
+<a name="l00240"></a>00240   }
+<a name="l00241"></a>00241 
+<a name="l00242"></a>00242   <span class="comment">// No dependence found.  If this is the entry block of the function, it is</span>
+<a name="l00243"></a>00243   <span class="comment">// unknown, otherwise it is non-local.</span>
+<a name="l00244"></a>00244   <span class="keywordflow">if</span> (BB != &BB-><a class="code" href="classllvm_1_1BasicBlock.html#aca229503e4f5c83a187a6a921c625fa8">getParent</a>()-><a class="code" href="classllvm_1_1Function.html#a30f2c362631e3728d2f47a8203071ade">getEntryBlock</a>())
+<a name="l00245"></a>00245     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a465c166d520399ff2b114c8aac5e7f3d">MemDepResult::getNonLocal</a>();
+<a name="l00246"></a>00246   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#adfd696331e43abcbcf5060bf0cd506e4">MemDepResult::getNonFuncLocal</a>();
+<a name="l00247"></a>00247 }
+<a name="l00248"></a>00248 <span class="comment"></span>
+<a name="l00249"></a>00249 <span class="comment">/// isLoadLoadClobberIfExtendedToFullWidth - Return true if LI is a load that</span>
+<a name="l00250"></a>00250 <span class="comment">/// would fully overlap MemLoc if done as a wider legal integer load.</span>
+<a name="l00251"></a>00251 <span class="comment">///</span>
+<a name="l00252"></a>00252 <span class="comment">/// MemLocBase, MemLocOffset are lazily computed here the first time the</span>
+<a name="l00253"></a>00253 <span class="comment">/// base/offs of memloc is needed.</span>
+<a name="l00254"></a>00254 <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">bool</span> 
+<a name="l00255"></a><a class="code" href="MemoryDependenceAnalysis_8cpp.html#a4e69b97c1ce46b7503d184291e65c73c">00255</a> <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a4e69b97c1ce46b7503d184291e65c73c">isLoadLoadClobberIfExtendedToFullWidth</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &MemLoc,
+<a name="l00256"></a>00256                                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *&MemLocBase,
+<a name="l00257"></a>00257                                        <a class="code" href="classint64__t.html">int64_t</a> &MemLocOffs,
+<a name="l00258"></a>00258                                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1LoadInst.html">LoadInst</a> *<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>,
+<a name="l00259"></a>00259                                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1DataLayout.html">DataLayout</a> *TD) {
+<a name="l00260"></a>00260   <span class="comment">// If we have no target data, we can't do this.</span>
+<a name="l00261"></a>00261   <span class="keywordflow">if</span> (TD == 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00262"></a>00262 
+<a name="l00263"></a>00263   <span class="comment">// If we haven't already computed the base/offset of MemLoc, do so now.</span>
+<a name="l00264"></a>00264   <span class="keywordflow">if</span> (MemLocBase == 0)
+<a name="l00265"></a>00265     MemLocBase = <a class="code" href="namespacellvm.html#a29066ce5fb522462957721f94c035eae">GetPointerBaseWithConstantOffset</a>(MemLoc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a24197872686f605dcfd25b6e5d3cc7fa" title="Ptr - The address of the start of the location.">Ptr</a>, MemLocOffs, *TD);
+<a name="l00266"></a>00266 
+<a name="l00267"></a>00267   <span class="keywordtype">unsigned</span> Size = <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a7136be51f5ad007feee921c8ffec54da">MemoryDependenceAnalysis::</a>
+<a name="l00268"></a>00268 <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a7136be51f5ad007feee921c8ffec54da">    getLoadLoadClobberFullWidthSize</a>(MemLocBase, MemLocOffs, MemLoc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#aba42e84910b42f9684564b8512a30b2e">Size</a>,
+<a name="l00269"></a>00269                                     LI, *TD);
+<a name="l00270"></a>00270   <span class="keywordflow">return</span> Size != 0;
+<a name="l00271"></a>00271 }
+<a name="l00272"></a>00272 <span class="comment"></span>
+<a name="l00273"></a>00273 <span class="comment">/// getLoadLoadClobberFullWidthSize - This is a little bit of analysis that</span>
+<a name="l00274"></a>00274 <span class="comment">/// looks at a memory location for a load (specified by MemLocBase, Offs,</span>
+<a name="l00275"></a>00275 <span class="comment">/// and Size) and compares it against a load.  If the specified load could</span>
+<a name="l00276"></a>00276 <span class="comment">/// be safely widened to a larger integer load that is 1) still efficient,</span>
+<a name="l00277"></a>00277 <span class="comment">/// 2) safe for the target, and 3) would provide the specified memory</span>
+<a name="l00278"></a>00278 <span class="comment">/// location value, then this function returns the size in bytes of the</span>
+<a name="l00279"></a>00279 <span class="comment">/// load width to use.  If not, this returns zero.</span>
+<a name="l00280"></a>00280 <span class="comment"></span><span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a7136be51f5ad007feee921c8ffec54da">MemoryDependenceAnalysis::</a>
+<a name="l00281"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a7136be51f5ad007feee921c8ffec54da">00281</a> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a7136be51f5ad007feee921c8ffec54da">getLoadLoadClobberFullWidthSize</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *MemLocBase, <a class="code" href="classint64__t.html">int64_t</a> MemLocOffs,
+<a name="l00282"></a>00282                                 <span class="keywordtype">unsigned</span> MemLocSize, <span class="keyword">const</span> <a class="code" href="classllvm_1_1LoadInst.html">LoadInst</a> *<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>,
+<a name="l00283"></a>00283                                 <span class="keyword">const</span> <a class="code" href="classllvm_1_1DataLayout.html">DataLayout</a> &TD) {
+<a name="l00284"></a>00284   <span class="comment">// We can only extend simple integer loads.</span>
+<a name="l00285"></a>00285   <span class="keywordflow">if</span> (!isa<IntegerType>(LI-><a class="code" href="classllvm_1_1Value.html#a0cf3748dba54f931bb1241ae4adc76bc">getType</a>()) || !LI-><a class="code" href="classllvm_1_1LoadInst.html#a156c478ee8e7d1602143cdbad4bd5385">isSimple</a>()) <span class="keywordflow">return</span> 0;
+<a name="l00286"></a>00286   
+<a name="l00287"></a>00287   <span class="comment">// Get the base of this load.</span>
+<a name="l00288"></a>00288   <a class="code" href="classint64__t.html">int64_t</a> LIOffs = 0;
+<a name="l00289"></a>00289   <span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *LIBase = 
+<a name="l00290"></a>00290     <a class="code" href="namespacellvm.html#a29066ce5fb522462957721f94c035eae">GetPointerBaseWithConstantOffset</a>(LI-><a class="code" href="classllvm_1_1LoadInst.html#ad47eefa1d094f60494b6b927061ca001">getPointerOperand</a>(), LIOffs, TD);
+<a name="l00291"></a>00291   
+<a name="l00292"></a>00292   <span class="comment">// If the two pointers are not based on the same pointer, we can't tell that</span>
+<a name="l00293"></a>00293   <span class="comment">// they are related.</span>
+<a name="l00294"></a>00294   <span class="keywordflow">if</span> (LIBase != MemLocBase) <span class="keywordflow">return</span> 0;
+<a name="l00295"></a>00295   
+<a name="l00296"></a>00296   <span class="comment">// Okay, the two values are based on the same pointer, but returned as</span>
+<a name="l00297"></a>00297   <span class="comment">// no-alias.  This happens when we have things like two byte loads at "P+1"</span>
+<a name="l00298"></a>00298   <span class="comment">// and "P+3".  Check to see if increasing the size of the "LI" load up to its</span>
+<a name="l00299"></a>00299   <span class="comment">// alignment (or the largest native integer type) will allow us to load all</span>
+<a name="l00300"></a>00300   <span class="comment">// the bits required by MemLoc.</span>
+<a name="l00301"></a>00301   
+<a name="l00302"></a>00302   <span class="comment">// If MemLoc is before LI, then no widening of LI will help us out.</span>
+<a name="l00303"></a>00303   <span class="keywordflow">if</span> (MemLocOffs < LIOffs) <span class="keywordflow">return</span> 0;
+<a name="l00304"></a>00304   
+<a name="l00305"></a>00305   <span class="comment">// Get the alignment of the load in bytes.  We assume that it is safe to load</span>
+<a name="l00306"></a>00306   <span class="comment">// any legal integer up to this size without a problem.  For example, if we're</span>
+<a name="l00307"></a>00307   <span class="comment">// looking at an i8 load on x86-32 that is known 1024 byte aligned, we can</span>
+<a name="l00308"></a>00308   <span class="comment">// widen it up to an i32 load.  If it is known 2-byte aligned, we can widen it</span>
+<a name="l00309"></a>00309   <span class="comment">// to i16.</span>
+<a name="l00310"></a>00310   <span class="keywordtype">unsigned</span> LoadAlign = LI-><a class="code" href="classllvm_1_1LoadInst.html#ad1168fc42bcba1b71217a4969483671a">getAlignment</a>();
+<a name="l00311"></a>00311 
+<a name="l00312"></a>00312   <a class="code" href="classint64__t.html">int64_t</a> MemLocEnd = MemLocOffs+MemLocSize;
+<a name="l00313"></a>00313   
+<a name="l00314"></a>00314   <span class="comment">// If no amount of rounding up will let MemLoc fit into LI, then bail out.</span>
+<a name="l00315"></a>00315   <span class="keywordflow">if</span> (LIOffs+LoadAlign < MemLocEnd) <span class="keywordflow">return</span> 0;
+<a name="l00316"></a>00316   
+<a name="l00317"></a>00317   <span class="comment">// This is the size of the load to try.  Start with the next larger power of</span>
+<a name="l00318"></a>00318   <span class="comment">// two.</span>
+<a name="l00319"></a>00319   <span class="keywordtype">unsigned</span> NewLoadByteSize = LI-><a class="code" href="classllvm_1_1Value.html#a0cf3748dba54f931bb1241ae4adc76bc">getType</a>()-><a class="code" href="classllvm_1_1Type.html#a5a7cfa245af120b44ac8a86143bb9e57">getPrimitiveSizeInBits</a>()/8U;
+<a name="l00320"></a>00320   NewLoadByteSize = <a class="code" href="namespacellvm.html#a0490c32aa8dd63ddc56bb046fd0258c7">NextPowerOf2</a>(NewLoadByteSize);
+<a name="l00321"></a>00321   
+<a name="l00322"></a>00322   <span class="keywordflow">while</span> (1) {
+<a name="l00323"></a>00323     <span class="comment">// If this load size is bigger than our known alignment or would not fit</span>
+<a name="l00324"></a>00324     <span class="comment">// into a native integer register, then we fail.</span>
+<a name="l00325"></a>00325     <span class="keywordflow">if</span> (NewLoadByteSize > LoadAlign ||
+<a name="l00326"></a>00326         !TD.<a class="code" href="classllvm_1_1DataLayout.html#a87901387c729722d5d63edd1d35119d7">fitsInLegalInteger</a>(NewLoadByteSize*8))
+<a name="l00327"></a>00327       <span class="keywordflow">return</span> 0;
+<a name="l00328"></a>00328 
+<a name="l00329"></a>00329     <span class="keywordflow">if</span> (LIOffs+NewLoadByteSize > MemLocEnd &&
+<a name="l00330"></a>00330         LI-><a class="code" href="classllvm_1_1Instruction.html#a9cd49851904f15060edb782ef4dd1b2d">getParent</a>()-><a class="code" href="classllvm_1_1BasicBlock.html#aca229503e4f5c83a187a6a921c625fa8">getParent</a>()-><a class="code" href="classllvm_1_1Function.html#aceca681da32da537bfd9f00dcf371278">getFnAttributes</a>().
+<a name="l00331"></a>00331           hasAttribute(<a class="code" href="classllvm_1_1Attributes.html#a92f64dbb86772103c557c491dc1ebbe9a936f2642f7befd36dc9cd13c7a467942" title="Address safety checking is on.">Attributes::AddressSafety</a>))
+<a name="l00332"></a>00332       <span class="comment">// We will be reading past the location accessed by the original program.</span>
+<a name="l00333"></a>00333       <span class="comment">// While this is safe in a regular build, Address Safety analysis tools</span>
+<a name="l00334"></a>00334       <span class="comment">// may start reporting false warnings. So, don't do widening.</span>
+<a name="l00335"></a>00335       <span class="keywordflow">return</span> 0;
+<a name="l00336"></a>00336 
+<a name="l00337"></a>00337     <span class="comment">// If a load of this width would include all of MemLoc, then we succeed.</span>
+<a name="l00338"></a>00338     <span class="keywordflow">if</span> (LIOffs+NewLoadByteSize >= MemLocEnd)
+<a name="l00339"></a>00339       <span class="keywordflow">return</span> NewLoadByteSize;
+<a name="l00340"></a>00340     
+<a name="l00341"></a>00341     NewLoadByteSize <<= 1;
+<a name="l00342"></a>00342   }
+<a name="l00343"></a>00343 }
+<a name="l00344"></a>00344 <span class="comment"></span>
+<a name="l00345"></a>00345 <span class="comment">/// getPointerDependencyFrom - Return the instruction on which a memory</span>
+<a name="l00346"></a>00346 <span class="comment">/// location depends.  If isLoad is true, this routine ignores may-aliases with</span>
+<a name="l00347"></a>00347 <span class="comment">/// read-only operations.  If isLoad is false, this routine ignores may-aliases</span>
+<a name="l00348"></a>00348 <span class="comment">/// with reads from read-only locations.</span>
+<a name="l00349"></a>00349 <span class="comment"></span><a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a54af14c456d32772bdf2b32e4bcce337">MemoryDependenceAnalysis::</a>
+<a name="l00350"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a54af14c456d32772bdf2b32e4bcce337">00350</a> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a54af14c456d32772bdf2b32e4bcce337">getPointerDependencyFrom</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &MemLoc, <span class="keywordtype">bool</span> isLoad, 
+<a name="l00351"></a>00351                          <a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a> ScanIt, <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB) {
+<a name="l00352"></a>00352 
+<a name="l00353"></a>00353   <span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *MemLocBase = 0;
+<a name="l00354"></a>00354   <a class="code" href="classint64__t.html">int64_t</a> MemLocOffset = 0;
+<a name="l00355"></a>00355 
+<a name="l00356"></a>00356   <span class="keywordtype">unsigned</span> Limit = <a class="code" href="MemoryDependenceAnalysis_8cpp.html#afbfb945cd59740858dd8509ffa6b0506">BlockScanLimit</a>;
+<a name="l00357"></a>00357 
+<a name="l00358"></a>00358   <span class="comment">// Walk backwards through the basic block, looking for dependencies.</span>
+<a name="l00359"></a>00359   <span class="keywordflow">while</span> (ScanIt != BB-><a class="code" href="classllvm_1_1BasicBlock.html#a0ed5f3ab3c2e4196ee0cffffa080c062">begin</a>()) {
+<a name="l00360"></a>00360     <span class="comment">// Limit the amount of scanning we do so we don't end up with quadratic</span>
+<a name="l00361"></a>00361     <span class="comment">// running time on extreme testcases.</span>
+<a name="l00362"></a>00362     --Limit;
+<a name="l00363"></a>00363     <span class="keywordflow">if</span> (!Limit)
+<a name="l00364"></a>00364       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a87800772e5bbce0b8e0cb23b54e47f58">MemDepResult::getUnknown</a>();
+<a name="l00365"></a>00365 
+<a name="l00366"></a>00366     <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = --ScanIt;
+<a name="l00367"></a>00367 
+<a name="l00368"></a>00368     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1IntrinsicInst.html">IntrinsicInst</a> *II = dyn_cast<IntrinsicInst>(Inst)) {
+<a name="l00369"></a>00369       <span class="comment">// Debug intrinsics don't (and can't) cause dependences.</span>
+<a name="l00370"></a>00370       <span class="keywordflow">if</span> (isa<DbgInfoIntrinsic>(II)) <span class="keywordflow">continue</span>;
+<a name="l00371"></a>00371       
+<a name="l00372"></a>00372       <span class="comment">// If we reach a lifetime begin or end marker, then the query ends here</span>
+<a name="l00373"></a>00373       <span class="comment">// because the value is undefined.</span>
+<a name="l00374"></a>00374       <span class="keywordflow">if</span> (II->getIntrinsicID() == Intrinsic::lifetime_start) {
+<a name="l00375"></a>00375         <span class="comment">// FIXME: This only considers queries directly on the invariant-tagged</span>
+<a name="l00376"></a>00376         <span class="comment">// pointer, not on query pointers that are indexed off of them.  It'd</span>
+<a name="l00377"></a>00377         <span class="comment">// be nice to handle that at some point (the right approach is to use</span>
+<a name="l00378"></a>00378         <span class="comment">// GetPointerBaseWithConstantOffset).</span>
+<a name="l00379"></a>00379         <span class="keywordflow">if</span> (AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a06b4956d73c0a0f5b4901924bf2a98d7" title="isMustAlias - A convenience wrapper.">isMustAlias</a>(<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a>(II->getArgOperand(1)),
+<a name="l00380"></a>00380                             MemLoc))
+<a name="l00381"></a>00381           <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#ae4760893fa2bd86ce4460d3171fb9a82">MemDepResult::getDef</a>(II);
+<a name="l00382"></a>00382         <span class="keywordflow">continue</span>;
+<a name="l00383"></a>00383       }
+<a name="l00384"></a>00384     }
+<a name="l00385"></a>00385 
+<a name="l00386"></a>00386     <span class="comment">// Values depend on loads if the pointers are must aliased.  This means that</span>
+<a name="l00387"></a>00387     <span class="comment">// a load depends on another must aliased load from the same value.</span>
+<a name="l00388"></a>00388     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1LoadInst.html">LoadInst</a> *<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a> = dyn_cast<LoadInst>(Inst)) {
+<a name="l00389"></a>00389       <span class="comment">// Atomic loads have complications involved.</span>
+<a name="l00390"></a>00390       <span class="comment">// FIXME: This is overly conservative.</span>
+<a name="l00391"></a>00391       <span class="keywordflow">if</span> (!<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>->isUnordered())
+<a name="l00392"></a>00392         <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>);
+<a name="l00393"></a>00393 
+<a name="l00394"></a>00394       <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> LoadLoc = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#aec9dbab832cd8052f85cd2a9dbb3816e">getLocation</a>(<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>);
+<a name="l00395"></a>00395       
+<a name="l00396"></a>00396       <span class="comment">// If we found a pointer, check if it could be the same as our pointer.</span>
+<a name="l00397"></a>00397       <a class="code" href="classllvm_1_1AliasAnalysis.html#aa96743b70089c7a0ef5d935f34173826">AliasAnalysis::AliasResult</a> R = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a59949d72986d3e9fdb7e7c9272c02f0f">alias</a>(LoadLoc, MemLoc);
+<a name="l00398"></a>00398       
+<a name="l00399"></a>00399       <span class="keywordflow">if</span> (isLoad) {
+<a name="l00400"></a>00400         <span class="keywordflow">if</span> (R == <a class="code" href="classllvm_1_1AliasAnalysis.html#aa96743b70089c7a0ef5d935f34173826a43c7577d5f7b09c310e42a6ab471610b" title="No dependencies.">AliasAnalysis::NoAlias</a>) {
+<a name="l00401"></a>00401           <span class="comment">// If this is an over-aligned integer load (for example,</span>
+<a name="l00402"></a>00402           <span class="comment">// "load i8* %P, align 4") see if it would obviously overlap with the</span>
+<a name="l00403"></a>00403           <span class="comment">// queried location if widened to a larger load (e.g. if the queried</span>
+<a name="l00404"></a>00404           <span class="comment">// location is 1 byte at P+1).  If so, return it as a load/load</span>
+<a name="l00405"></a>00405           <span class="comment">// clobber result, allowing the client to decide to widen the load if</span>
+<a name="l00406"></a>00406           <span class="comment">// it wants to.</span>
+<a name="l00407"></a>00407           <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1IntegerType.html" title="Integer representation type.">IntegerType</a> *ITy = dyn_cast<IntegerType>(<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>->getType()))
+<a name="l00408"></a>00408             <span class="keywordflow">if</span> (<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>->getAlignment()*8 > ITy->getPrimitiveSizeInBits() &&
+<a name="l00409"></a>00409                 <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a4e69b97c1ce46b7503d184291e65c73c">isLoadLoadClobberIfExtendedToFullWidth</a>(MemLoc, MemLocBase,
+<a name="l00410"></a>00410                                                        MemLocOffset, <a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>, TD))
+<a name="l00411"></a>00411               <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(Inst);
+<a name="l00412"></a>00412           
+<a name="l00413"></a>00413           <span class="keywordflow">continue</span>;
+<a name="l00414"></a>00414         }
+<a name="l00415"></a>00415         
+<a name="l00416"></a>00416         <span class="comment">// Must aliased loads are defs of each other.</span>
+<a name="l00417"></a>00417         <span class="keywordflow">if</span> (R == <a class="code" href="classllvm_1_1AliasAnalysis.html#aa96743b70089c7a0ef5d935f34173826acc20b6673c6cc680294a17b0f0f5d676" title="Pointers are equal.">AliasAnalysis::MustAlias</a>)
+<a name="l00418"></a>00418           <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#ae4760893fa2bd86ce4460d3171fb9a82">MemDepResult::getDef</a>(Inst);
+<a name="l00419"></a>00419 
+<a name="l00420"></a>00420 <span class="preprocessor">#if 0 // FIXME: Temporarily disabled. GVN is cleverly rewriting loads</span>
+<a name="l00421"></a>00421 <span class="preprocessor"></span>      <span class="comment">// in terms of clobbering loads, but since it does this by looking</span>
+<a name="l00422"></a>00422       <span class="comment">// at the clobbering load directly, it doesn't know about any</span>
+<a name="l00423"></a>00423       <span class="comment">// phi translation that may have happened along the way.</span>
+<a name="l00424"></a>00424 
+<a name="l00425"></a>00425         <span class="comment">// If we have a partial alias, then return this as a clobber for the</span>
+<a name="l00426"></a>00426         <span class="comment">// client to handle.</span>
+<a name="l00427"></a>00427         <span class="keywordflow">if</span> (R == <a class="code" href="classllvm_1_1AliasAnalysis.html#aa96743b70089c7a0ef5d935f34173826ab8760c4d7e18fd8a42e2cbe27518c9cd" title="Pointers differ, but pointees overlap.">AliasAnalysis::PartialAlias</a>)
+<a name="l00428"></a>00428           <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(Inst);
+<a name="l00429"></a>00429 <span class="preprocessor">#endif</span>
+<a name="l00430"></a>00430 <span class="preprocessor"></span>        
+<a name="l00431"></a>00431         <span class="comment">// Random may-alias loads don't depend on each other without a</span>
+<a name="l00432"></a>00432         <span class="comment">// dependence.</span>
+<a name="l00433"></a>00433         <span class="keywordflow">continue</span>;
+<a name="l00434"></a>00434       }
+<a name="l00435"></a>00435 
+<a name="l00436"></a>00436       <span class="comment">// Stores don't depend on other no-aliased accesses.</span>
+<a name="l00437"></a>00437       <span class="keywordflow">if</span> (R == <a class="code" href="classllvm_1_1AliasAnalysis.html#aa96743b70089c7a0ef5d935f34173826a43c7577d5f7b09c310e42a6ab471610b" title="No dependencies.">AliasAnalysis::NoAlias</a>)
+<a name="l00438"></a>00438         <span class="keywordflow">continue</span>;
+<a name="l00439"></a>00439 
+<a name="l00440"></a>00440       <span class="comment">// Stores don't alias loads from read-only memory.</span>
+<a name="l00441"></a>00441       <span class="keywordflow">if</span> (AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#abf9502ffcd1aeddfe91345685e3c78a9">pointsToConstantMemory</a>(LoadLoc))
+<a name="l00442"></a>00442         <span class="keywordflow">continue</span>;
+<a name="l00443"></a>00443 
+<a name="l00444"></a>00444       <span class="comment">// Stores depend on may/must aliased loads.</span>
+<a name="l00445"></a>00445       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#ae4760893fa2bd86ce4460d3171fb9a82">MemDepResult::getDef</a>(Inst);
+<a name="l00446"></a>00446     }
+<a name="l00447"></a>00447     
+<a name="l00448"></a>00448     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1StoreInst.html">StoreInst</a> *SI = dyn_cast<StoreInst>(Inst)) {
+<a name="l00449"></a>00449       <span class="comment">// Atomic stores have complications involved.</span>
+<a name="l00450"></a>00450       <span class="comment">// FIXME: This is overly conservative.</span>
+<a name="l00451"></a>00451       <span class="keywordflow">if</span> (!SI->isUnordered())
+<a name="l00452"></a>00452         <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(SI);
+<a name="l00453"></a>00453 
+<a name="l00454"></a>00454       <span class="comment">// If alias analysis can tell that this store is guaranteed to not modify</span>
+<a name="l00455"></a>00455       <span class="comment">// the query pointer, ignore it.  Use getModRefInfo to handle cases where</span>
+<a name="l00456"></a>00456       <span class="comment">// the query pointer points to constant memory etc.</span>
+<a name="l00457"></a>00457       <span class="keywordflow">if</span> (AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a3f09a65a9c9d7bfff6c6271976d1baba">getModRefInfo</a>(SI, MemLoc) == <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460a52fc7f344e74f168cb4b4c808dcfde1c">AliasAnalysis::NoModRef</a>)
+<a name="l00458"></a>00458         <span class="keywordflow">continue</span>;
+<a name="l00459"></a>00459 
+<a name="l00460"></a>00460       <span class="comment">// Ok, this store might clobber the query pointer.  Check to see if it is</span>
+<a name="l00461"></a>00461       <span class="comment">// a must alias: in this case, we want to return this as a def.</span>
+<a name="l00462"></a>00462       <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> StoreLoc = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#aec9dbab832cd8052f85cd2a9dbb3816e">getLocation</a>(SI);
+<a name="l00463"></a>00463       
+<a name="l00464"></a>00464       <span class="comment">// If we found a pointer, check if it could be the same as our pointer.</span>
+<a name="l00465"></a>00465       <a class="code" href="classllvm_1_1AliasAnalysis.html#aa96743b70089c7a0ef5d935f34173826">AliasAnalysis::AliasResult</a> R = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a59949d72986d3e9fdb7e7c9272c02f0f">alias</a>(StoreLoc, MemLoc);
+<a name="l00466"></a>00466       
+<a name="l00467"></a>00467       <span class="keywordflow">if</span> (R == <a class="code" href="classllvm_1_1AliasAnalysis.html#aa96743b70089c7a0ef5d935f34173826a43c7577d5f7b09c310e42a6ab471610b" title="No dependencies.">AliasAnalysis::NoAlias</a>)
+<a name="l00468"></a>00468         <span class="keywordflow">continue</span>;
+<a name="l00469"></a>00469       <span class="keywordflow">if</span> (R == <a class="code" href="classllvm_1_1AliasAnalysis.html#aa96743b70089c7a0ef5d935f34173826acc20b6673c6cc680294a17b0f0f5d676" title="Pointers are equal.">AliasAnalysis::MustAlias</a>)
+<a name="l00470"></a>00470         <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#ae4760893fa2bd86ce4460d3171fb9a82">MemDepResult::getDef</a>(Inst);
+<a name="l00471"></a>00471       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(Inst);
+<a name="l00472"></a>00472     }
+<a name="l00473"></a>00473 
+<a name="l00474"></a>00474     <span class="comment">// If this is an allocation, and if we know that the accessed pointer is to</span>
+<a name="l00475"></a>00475     <span class="comment">// the allocation, return Def.  This means that there is no dependence and</span>
+<a name="l00476"></a>00476     <span class="comment">// the access can be optimized based on that.  For example, a load could</span>
+<a name="l00477"></a>00477     <span class="comment">// turn into undef.</span>
+<a name="l00478"></a>00478     <span class="comment">// Note: Only determine this to be a malloc if Inst is the malloc call, not</span>
+<a name="l00479"></a>00479     <span class="comment">// a subsequent bitcast of the malloc call result.  There can be stores to</span>
+<a name="l00480"></a>00480     <span class="comment">// the malloced memory between the malloc call and its bitcast uses, and we</span>
+<a name="l00481"></a>00481     <span class="comment">// need to continue scanning until the malloc call.</span>
+<a name="l00482"></a>00482     <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetLibraryInfo.html">TargetLibraryInfo</a> *TLI = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a2f0a6f0f6e25c24ba9b434ba5b5a9906">getTargetLibraryInfo</a>();
+<a name="l00483"></a>00483     <span class="keywordflow">if</span> (isa<AllocaInst>(Inst) || <a class="code" href="namespacellvm.html#a1facc4deb1c9405622eda25f392c460a" title="Tests if a value is a call or invoke to a function that returns a NoAlias pointer (including malloc/c...">isNoAliasFn</a>(Inst, TLI)) {
+<a name="l00484"></a>00484       <span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *AccessPtr = <a class="code" href="namespacellvm.html#ace6c957db39858291c6ce01c38e78480">GetUnderlyingObject</a>(MemLoc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a24197872686f605dcfd25b6e5d3cc7fa" title="Ptr - The address of the start of the location.">Ptr</a>, TD);
+<a name="l00485"></a>00485       
+<a name="l00486"></a>00486       <span class="keywordflow">if</span> (AccessPtr == Inst || AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a06b4956d73c0a0f5b4901924bf2a98d7" title="isMustAlias - A convenience wrapper.">isMustAlias</a>(Inst, AccessPtr))
+<a name="l00487"></a>00487         <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#ae4760893fa2bd86ce4460d3171fb9a82">MemDepResult::getDef</a>(Inst);
+<a name="l00488"></a>00488       <span class="comment">// Be conservative if the accessed pointer may alias the allocation.</span>
+<a name="l00489"></a>00489       <span class="keywordflow">if</span> (AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a59949d72986d3e9fdb7e7c9272c02f0f">alias</a>(Inst, AccessPtr) != <a class="code" href="classllvm_1_1AliasAnalysis.html#aa96743b70089c7a0ef5d935f34173826a43c7577d5f7b09c310e42a6ab471610b" title="No dependencies.">AliasAnalysis::NoAlias</a>)
+<a name="l00490"></a>00490         <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(Inst);
+<a name="l00491"></a>00491       <span class="comment">// If the allocation is not aliased and does not read memory (like</span>
+<a name="l00492"></a>00492       <span class="comment">// strdup), it is safe to ignore.</span>
+<a name="l00493"></a>00493       <span class="keywordflow">if</span> (isa<AllocaInst>(Inst) ||
+<a name="l00494"></a>00494           <a class="code" href="namespacellvm.html#a2658c0d02aefac95af1af537f4180cb2" title="Tests if a value is a call or invoke to a library function that allocates uninitialized memory (such ...">isMallocLikeFn</a>(Inst, TLI) || <a class="code" href="namespacellvm.html#a6af2bcc7c5e0f3aa4df1526781e6b122" title="Tests if a value is a call or invoke to a library function that allocates zero-filled memory (such as...">isCallocLikeFn</a>(Inst, TLI))
+<a name="l00495"></a>00495         <span class="keywordflow">continue</span>;
+<a name="l00496"></a>00496     }
+<a name="l00497"></a>00497 
+<a name="l00498"></a>00498     <span class="comment">// See if this instruction (e.g. a call or vaarg) mod/ref's the pointer.</span>
+<a name="l00499"></a>00499     <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460">AliasAnalysis::ModRefResult</a> MR = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a3f09a65a9c9d7bfff6c6271976d1baba">getModRefInfo</a>(Inst, MemLoc);
+<a name="l00500"></a>00500     <span class="comment">// If necessary, perform additional analysis.</span>
+<a name="l00501"></a>00501     <span class="keywordflow">if</span> (MR == <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460ae5518d24851e606666c97b9daa9a647f">AliasAnalysis::ModRef</a>)
+<a name="l00502"></a>00502       MR = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a650241dcf00905f4085c878ec988e27f">callCapturesBefore</a>(Inst, MemLoc, DT);
+<a name="l00503"></a>00503     <span class="keywordflow">switch</span> (MR) {
+<a name="l00504"></a>00504     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460a52fc7f344e74f168cb4b4c808dcfde1c">AliasAnalysis::NoModRef</a>:
+<a name="l00505"></a>00505       <span class="comment">// If the call has no effect on the queried pointer, just ignore it.</span>
+<a name="l00506"></a>00506       <span class="keywordflow">continue</span>;
+<a name="l00507"></a>00507     <span class="keywordflow">case</span> AliasAnalysis::Mod:
+<a name="l00508"></a>00508       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(Inst);
+<a name="l00509"></a>00509     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460a20c70d6d2838a070cafe0b3f82b7aee5">AliasAnalysis::Ref</a>:
+<a name="l00510"></a>00510       <span class="comment">// If the call is known to never store to the pointer, and if this is a</span>
+<a name="l00511"></a>00511       <span class="comment">// load query, we can safely ignore it (scan past it).</span>
+<a name="l00512"></a>00512       <span class="keywordflow">if</span> (isLoad)
+<a name="l00513"></a>00513         <span class="keywordflow">continue</span>;
+<a name="l00514"></a>00514     <span class="keywordflow">default</span>:
+<a name="l00515"></a>00515       <span class="comment">// Otherwise, there is a potential dependence.  Return a clobber.</span>
+<a name="l00516"></a>00516       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">MemDepResult::getClobber</a>(Inst);
+<a name="l00517"></a>00517     }
+<a name="l00518"></a>00518   }
+<a name="l00519"></a>00519   
+<a name="l00520"></a>00520   <span class="comment">// No dependence found.  If this is the entry block of the function, it is</span>
+<a name="l00521"></a>00521   <span class="comment">// unknown, otherwise it is non-local.</span>
+<a name="l00522"></a>00522   <span class="keywordflow">if</span> (BB != &BB-><a class="code" href="classllvm_1_1BasicBlock.html#aca229503e4f5c83a187a6a921c625fa8">getParent</a>()-><a class="code" href="classllvm_1_1Function.html#a30f2c362631e3728d2f47a8203071ade">getEntryBlock</a>())
+<a name="l00523"></a>00523     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#a465c166d520399ff2b114c8aac5e7f3d">MemDepResult::getNonLocal</a>();
+<a name="l00524"></a>00524   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#adfd696331e43abcbcf5060bf0cd506e4">MemDepResult::getNonFuncLocal</a>();
+<a name="l00525"></a>00525 }
+<a name="l00526"></a>00526 <span class="comment"></span>
+<a name="l00527"></a>00527 <span class="comment">/// getDependency - Return the instruction on which a memory operation</span>
+<a name="l00528"></a>00528 <span class="comment">/// depends.</span>
+<a name="l00529"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a467f81f7c124644d999390ff8cca4727">00529</a> <span class="comment"></span><a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a467f81f7c124644d999390ff8cca4727">MemoryDependenceAnalysis::getDependency</a>(<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *QueryInst) {
+<a name="l00530"></a>00530   <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *ScanPos = QueryInst;
+<a name="l00531"></a>00531   
+<a name="l00532"></a>00532   <span class="comment">// Check for a cached result</span>
+<a name="l00533"></a>00533   <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> &LocalCache = LocalDeps[QueryInst];
+<a name="l00534"></a>00534   
+<a name="l00535"></a>00535   <span class="comment">// If the cached entry is non-dirty, just return it.  Note that this depends</span>
+<a name="l00536"></a>00536   <span class="comment">// on MemDepResult's default constructing to 'dirty'.</span>
+<a name="l00537"></a>00537   <span class="keywordflow">if</span> (!LocalCache.isDirty())
+<a name="l00538"></a>00538     <span class="keywordflow">return</span> LocalCache;
+<a name="l00539"></a>00539     
+<a name="l00540"></a>00540   <span class="comment">// Otherwise, if we have a dirty entry, we know we can start the scan at that</span>
+<a name="l00541"></a>00541   <span class="comment">// instruction, which may save us some work.</span>
+<a name="l00542"></a>00542   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = LocalCache.<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>()) {
+<a name="l00543"></a>00543     ScanPos = Inst;
+<a name="l00544"></a>00544    
+<a name="l00545"></a>00545     <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">RemoveFromReverseMap</a>(ReverseLocalDeps, Inst, QueryInst);
+<a name="l00546"></a>00546   }
+<a name="l00547"></a>00547   
+<a name="l00548"></a>00548   <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *QueryParent = QueryInst-><a class="code" href="classllvm_1_1Instruction.html#a9cd49851904f15060edb782ef4dd1b2d">getParent</a>();
+<a name="l00549"></a>00549   
+<a name="l00550"></a>00550   <span class="comment">// Do the scan.</span>
+<a name="l00551"></a>00551   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a>(QueryInst) == QueryParent-><a class="code" href="classllvm_1_1BasicBlock.html#a0ed5f3ab3c2e4196ee0cffffa080c062">begin</a>()) {
+<a name="l00552"></a>00552     <span class="comment">// No dependence found.  If this is the entry block of the function, it is</span>
+<a name="l00553"></a>00553     <span class="comment">// unknown, otherwise it is non-local.</span>
+<a name="l00554"></a>00554     <span class="keywordflow">if</span> (QueryParent != &QueryParent-><a class="code" href="classllvm_1_1BasicBlock.html#aca229503e4f5c83a187a6a921c625fa8">getParent</a>()-><a class="code" href="classllvm_1_1Function.html#a30f2c362631e3728d2f47a8203071ade">getEntryBlock</a>())
+<a name="l00555"></a>00555       LocalCache = <a class="code" href="classllvm_1_1MemDepResult.html#a465c166d520399ff2b114c8aac5e7f3d">MemDepResult::getNonLocal</a>();
+<a name="l00556"></a>00556     <span class="keywordflow">else</span>
+<a name="l00557"></a>00557       LocalCache = <a class="code" href="classllvm_1_1MemDepResult.html#adfd696331e43abcbcf5060bf0cd506e4">MemDepResult::getNonFuncLocal</a>();
+<a name="l00558"></a>00558   } <span class="keywordflow">else</span> {
+<a name="l00559"></a>00559     <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> MemLoc;
+<a name="l00560"></a>00560     <a class="code" href="classllvm_1_1AliasAnalysis.html#a83d29c51155787c607268c2659559460">AliasAnalysis::ModRefResult</a> MR = <a class="code" href="MemoryDependenceAnalysis_8cpp.html#afb744ee3844b3c1f807fe12ec53a6cfb">GetLocation</a>(QueryInst, MemLoc, AA);
+<a name="l00561"></a>00561     <span class="keywordflow">if</span> (MemLoc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a24197872686f605dcfd25b6e5d3cc7fa" title="Ptr - The address of the start of the location.">Ptr</a>) {
+<a name="l00562"></a>00562       <span class="comment">// If we can do a pointer scan, make it happen.</span>
+<a name="l00563"></a>00563       <span class="keywordtype">bool</span> isLoad = !(MR & AliasAnalysis::Mod);
+<a name="l00564"></a>00564       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1IntrinsicInst.html">IntrinsicInst</a> *II = dyn_cast<IntrinsicInst>(QueryInst))
+<a name="l00565"></a>00565         isLoad |= II->getIntrinsicID() == Intrinsic::lifetime_start;
+<a name="l00566"></a>00566 
+<a name="l00567"></a>00567       LocalCache = <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a54af14c456d32772bdf2b32e4bcce337">getPointerDependencyFrom</a>(MemLoc, isLoad, ScanPos,
+<a name="l00568"></a>00568                                             QueryParent);
+<a name="l00569"></a>00569     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (isa<CallInst>(QueryInst) || isa<InvokeInst>(QueryInst)) {
+<a name="l00570"></a>00570       <a class="code" href="classllvm_1_1CallSite.html">CallSite</a> QueryCS(QueryInst);
+<a name="l00571"></a>00571       <span class="keywordtype">bool</span> isReadOnly = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a9568a7e6c44fd9d259f2949a401ece11">onlyReadsMemory</a>(QueryCS);
+<a name="l00572"></a>00572       LocalCache = getCallSiteDependencyFrom(QueryCS, isReadOnly, ScanPos,
+<a name="l00573"></a>00573                                              QueryParent);
+<a name="l00574"></a>00574     } <span class="keywordflow">else</span>
+<a name="l00575"></a>00575       <span class="comment">// Non-memory instruction.</span>
+<a name="l00576"></a>00576       LocalCache = <a class="code" href="classllvm_1_1MemDepResult.html#a87800772e5bbce0b8e0cb23b54e47f58">MemDepResult::getUnknown</a>();
+<a name="l00577"></a>00577   }
+<a name="l00578"></a>00578   
+<a name="l00579"></a>00579   <span class="comment">// Remember the result!</span>
+<a name="l00580"></a>00580   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = LocalCache.<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>())
+<a name="l00581"></a>00581     ReverseLocalDeps[<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>].insert(QueryInst);
+<a name="l00582"></a>00582   
+<a name="l00583"></a>00583   <span class="keywordflow">return</span> LocalCache;
+<a name="l00584"></a>00584 }
+<a name="l00585"></a>00585 
+<a name="l00586"></a>00586 <span class="preprocessor">#ifndef NDEBUG</span>
+<a name="l00587"></a>00587 <span class="preprocessor"></span><span class="comment">/// AssertSorted - This method is used when -debug is specified to verify that</span>
+<a name="l00588"></a>00588 <span class="comment"></span><span class="comment">/// cache arrays are properly kept sorted.</span>
+<a name="l00589"></a><a class="code" href="MemoryDependenceAnalysis_8cpp.html#a99998ec12f1359427a3d20c43a27d1f1">00589</a> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a99998ec12f1359427a3d20c43a27d1f1">AssertSorted</a>(<a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">MemoryDependenceAnalysis::NonLocalDepInfo</a> &Cache,
+<a name="l00590"></a>00590                          <span class="keywordtype">int</span> Count = -1) {
+<a name="l00591"></a>00591   <span class="keywordflow">if</span> (Count == -1) Count = Cache.size();
+<a name="l00592"></a>00592   <span class="keywordflow">if</span> (Count == 0) <span class="keywordflow">return</span>;
+<a name="l00593"></a>00593 
+<a name="l00594"></a>00594   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 1; i != <a class="code" href="classunsigned.html">unsigned</a>(Count); ++i)
+<a name="l00595"></a>00595     assert(!(Cache[i] < Cache[i-1]) && <span class="stringliteral">"Cache isn't sorted!"</span>);
+<a name="l00596"></a>00596 }
+<a name="l00597"></a>00597 <span class="preprocessor">#endif</span>
+<a name="l00598"></a>00598 <span class="preprocessor"></span><span class="comment"></span>
+<a name="l00599"></a>00599 <span class="comment">/// getNonLocalCallDependency - Perform a full dependency query for the</span>
+<a name="l00600"></a>00600 <span class="comment">/// specified call, returning the set of blocks that the value is</span>
+<a name="l00601"></a>00601 <span class="comment">/// potentially live across.  The returned set of results will include a</span>
+<a name="l00602"></a>00602 <span class="comment">/// "NonLocal" result for all blocks where the value is live across.</span>
+<a name="l00603"></a>00603 <span class="comment">///</span>
+<a name="l00604"></a>00604 <span class="comment">/// This method assumes the instruction returns a "NonLocal" dependency</span>
+<a name="l00605"></a>00605 <span class="comment">/// within its own block.</span>
+<a name="l00606"></a>00606 <span class="comment">///</span>
+<a name="l00607"></a>00607 <span class="comment">/// This returns a reference to an internal data structure that may be</span>
+<a name="l00608"></a>00608 <span class="comment">/// invalidated on the next non-local query or when an instruction is</span>
+<a name="l00609"></a>00609 <span class="comment">/// removed.  Clients must copy this data if they want it around longer than</span>
+<a name="l00610"></a>00610 <span class="comment">/// that.</span>
+<a name="l00611"></a>00611 <span class="comment"></span><span class="keyword">const</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">MemoryDependenceAnalysis::NonLocalDepInfo</a> &
+<a name="l00612"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ab04c5a7f34b7ac7d1dc587b7785a31d9">00612</a> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ab04c5a7f34b7ac7d1dc587b7785a31d9">MemoryDependenceAnalysis::getNonLocalCallDependency</a>(<a class="code" href="classllvm_1_1CallSite.html">CallSite</a> QueryCS) {
+<a name="l00613"></a>00613   assert(<a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a467f81f7c124644d999390ff8cca4727">getDependency</a>(QueryCS.<a class="code" href="classllvm_1_1CallSiteBase.html#ae4c67f835911559821939fb23a2e7aff">getInstruction</a>()).isNonLocal() &&
+<a name="l00614"></a>00614  <span class="stringliteral">"getNonLocalCallDependency should only be used on calls with non-local deps!"</span>);
+<a name="l00615"></a>00615   PerInstNLInfo &CacheP = NonLocalDeps[QueryCS.<a class="code" href="classllvm_1_1CallSiteBase.html#ae4c67f835911559821939fb23a2e7aff">getInstruction</a>()];
+<a name="l00616"></a>00616   <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a> &Cache = CacheP.first;
+<a name="l00617"></a>00617 <span class="comment"></span>
+<a name="l00618"></a>00618 <span class="comment">  /// DirtyBlocks - This is the set of blocks that need to be recomputed.  In</span>
+<a name="l00619"></a>00619 <span class="comment">  /// the cached case, this can happen due to instructions being deleted etc. In</span>
+<a name="l00620"></a>00620 <span class="comment">  /// the uncached case, this starts out as the set of predecessors we care</span>
+<a name="l00621"></a>00621 <span class="comment">  /// about.</span>
+<a name="l00622"></a>00622 <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<BasicBlock*, 32></a> DirtyBlocks;
+<a name="l00623"></a>00623   
+<a name="l00624"></a>00624   <span class="keywordflow">if</span> (!Cache.empty()) {
+<a name="l00625"></a>00625     <span class="comment">// Okay, we have a cache entry.  If we know it is not dirty, just return it</span>
+<a name="l00626"></a>00626     <span class="comment">// with no computation.</span>
+<a name="l00627"></a>00627     <span class="keywordflow">if</span> (!CacheP.second) {
+<a name="l00628"></a>00628       ++NumCacheNonLocal;
+<a name="l00629"></a>00629       <span class="keywordflow">return</span> Cache;
+<a name="l00630"></a>00630     }
+<a name="l00631"></a>00631     
+<a name="l00632"></a>00632     <span class="comment">// If we already have a partially computed set of results, scan them to</span>
+<a name="l00633"></a>00633     <span class="comment">// determine what is dirty, seeding our initial DirtyBlocks worklist.</span>
+<a name="l00634"></a>00634     <span class="keywordflow">for</span> (NonLocalDepInfo::iterator <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Cache.begin(), E = Cache.end();
+<a name="l00635"></a>00635        <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)
+<a name="l00636"></a>00636       <span class="keywordflow">if</span> (<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getResult().isDirty())
+<a name="l00637"></a>00637         DirtyBlocks.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getBB());
+<a name="l00638"></a>00638     
+<a name="l00639"></a>00639     <span class="comment">// Sort the cache so that we can do fast binary search lookups below.</span>
+<a name="l00640"></a>00640     std::sort(Cache.begin(), Cache.end());
+<a name="l00641"></a>00641     
+<a name="l00642"></a>00642     ++NumCacheDirtyNonLocal;
+<a name="l00643"></a>00643     <span class="comment">//cerr << "CACHED CASE: " << DirtyBlocks.size() << " dirty: "</span>
+<a name="l00644"></a>00644     <span class="comment">//     << Cache.size() << " cached: " << *QueryInst;</span>
+<a name="l00645"></a>00645   } <span class="keywordflow">else</span> {
+<a name="l00646"></a>00646     <span class="comment">// Seed DirtyBlocks with each of the preds of QueryInst's block.</span>
+<a name="l00647"></a>00647     <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *QueryBB = QueryCS.<a class="code" href="classllvm_1_1CallSiteBase.html#ae4c67f835911559821939fb23a2e7aff">getInstruction</a>()-><a class="code" href="classllvm_1_1Instruction.html#a9cd49851904f15060edb782ef4dd1b2d">getParent</a>();
+<a name="l00648"></a>00648     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> **PI = PredCache->GetPreds(QueryBB); *PI; ++PI)
+<a name="l00649"></a>00649       DirtyBlocks.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(*PI);
+<a name="l00650"></a>00650     ++NumUncacheNonLocal;
+<a name="l00651"></a>00651   }
+<a name="l00652"></a>00652   
+<a name="l00653"></a>00653   <span class="comment">// isReadonlyCall - If this is a read-only call, we can be more aggressive.</span>
+<a name="l00654"></a>00654   <span class="keywordtype">bool</span> isReadonlyCall = AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a9568a7e6c44fd9d259f2949a401ece11">onlyReadsMemory</a>(QueryCS);
+<a name="l00655"></a>00655 
+<a name="l00656"></a>00656   <a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<BasicBlock*, 64></a> Visited;
+<a name="l00657"></a>00657   
+<a name="l00658"></a>00658   <span class="keywordtype">unsigned</span> NumSortedEntries = Cache.<a class="code" href="classllvm_1_1SmallPtrSetImpl.html#a41c201584742f7eb45b2be8cd54e3bcb">size</a>();
+<a name="l00659"></a>00659   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="MemoryDependenceAnalysis_8cpp.html#a99998ec12f1359427a3d20c43a27d1f1">AssertSorted</a>(Cache));
+<a name="l00660"></a>00660   
+<a name="l00661"></a>00661   <span class="comment">// Iterate while we still have blocks to update.</span>
+<a name="l00662"></a>00662   <span class="keywordflow">while</span> (!DirtyBlocks.<a class="code" href="classllvm_1_1SmallVectorBase.html#afdecfccba9b1fd8c9fd8eb27ae69e9a0">empty</a>()) {
+<a name="l00663"></a>00663     <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *DirtyBB = DirtyBlocks.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#acd9e771a3296c6b24146955754620557">back</a>();
+<a name="l00664"></a>00664     DirtyBlocks.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#a1f2303df9bbee2233c11d61c2f6f7930">pop_back</a>();
+<a name="l00665"></a>00665     
+<a name="l00666"></a>00666     <span class="comment">// Already processed this block?</span>
+<a name="l00667"></a>00667     <span class="keywordflow">if</span> (!Visited.<a class="code" href="classllvm_1_1SmallPtrSet.html#a9b6dd0fc7a648a939e571246045b673e">insert</a>(DirtyBB))
+<a name="l00668"></a>00668       <span class="keywordflow">continue</span>;
+<a name="l00669"></a>00669     
+<a name="l00670"></a>00670     <span class="comment">// Do a binary search to see if we already have an entry for this block in</span>
+<a name="l00671"></a>00671     <span class="comment">// the cache set.  If so, find it.</span>
+<a name="l00672"></a>00672     <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="MemoryDependenceAnalysis_8cpp.html#a99998ec12f1359427a3d20c43a27d1f1">AssertSorted</a>(Cache, NumSortedEntries));
+<a name="l00673"></a>00673     NonLocalDepInfo::iterator Entry = 
+<a name="l00674"></a>00674       std::upper_bound(Cache.begin(), Cache.begin()+NumSortedEntries,
+<a name="l00675"></a>00675                        <a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a>(DirtyBB));
+<a name="l00676"></a>00676     <span class="keywordflow">if</span> (Entry != Cache.begin() && <a class="code" href="namespacellvm.html#a7923e3e207de8bc1d0d6a5091316ddde">prior</a>(Entry)->getBB() == DirtyBB)
+<a name="l00677"></a>00677       --Entry;
+<a name="l00678"></a>00678     
+<a name="l00679"></a>00679     <a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a> *ExistingResult = 0;
+<a name="l00680"></a>00680     <span class="keywordflow">if</span> (Entry != Cache.begin()+NumSortedEntries && 
+<a name="l00681"></a>00681         Entry->getBB() == DirtyBB) {
+<a name="l00682"></a>00682       <span class="comment">// If we already have an entry, and if it isn't already dirty, the block</span>
+<a name="l00683"></a>00683       <span class="comment">// is done.</span>
+<a name="l00684"></a>00684       <span class="keywordflow">if</span> (!Entry->getResult().isDirty())
+<a name="l00685"></a>00685         <span class="keywordflow">continue</span>;
+<a name="l00686"></a>00686       
+<a name="l00687"></a>00687       <span class="comment">// Otherwise, remember this slot so we can update the value.</span>
+<a name="l00688"></a>00688       ExistingResult = &*Entry;
+<a name="l00689"></a>00689     }
+<a name="l00690"></a>00690     
+<a name="l00691"></a>00691     <span class="comment">// If the dirty entry has a pointer, start scanning from it so we don't have</span>
+<a name="l00692"></a>00692     <span class="comment">// to rescan the entire block.</span>
+<a name="l00693"></a>00693     <a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a> ScanPos = DirtyBB-><a class="code" href="classllvm_1_1BasicBlock.html#a0b4e7bee9b8575cc7db73329f1a561bd">end</a>();
+<a name="l00694"></a>00694     <span class="keywordflow">if</span> (ExistingResult) {
+<a name="l00695"></a>00695       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = ExistingResult-><a class="code" href="classllvm_1_1NonLocalDepEntry.html#abd0c15cf35f0f3bfd2e092c55d5e6069">getResult</a>().<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>()) {
+<a name="l00696"></a>00696         ScanPos = Inst;
+<a name="l00697"></a>00697         <span class="comment">// We're removing QueryInst's use of Inst.</span>
+<a name="l00698"></a>00698         <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">RemoveFromReverseMap</a>(ReverseNonLocalDeps, Inst,
+<a name="l00699"></a>00699                              QueryCS.<a class="code" href="classllvm_1_1CallSiteBase.html#ae4c67f835911559821939fb23a2e7aff">getInstruction</a>());
+<a name="l00700"></a>00700       }
+<a name="l00701"></a>00701     }
+<a name="l00702"></a>00702     
+<a name="l00703"></a>00703     <span class="comment">// Find out if this block has a local dependency for QueryInst.</span>
+<a name="l00704"></a>00704     <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> Dep;
+<a name="l00705"></a>00705     
+<a name="l00706"></a>00706     <span class="keywordflow">if</span> (ScanPos != DirtyBB-><a class="code" href="classllvm_1_1BasicBlock.html#a0ed5f3ab3c2e4196ee0cffffa080c062">begin</a>()) {
+<a name="l00707"></a>00707       Dep = getCallSiteDependencyFrom(QueryCS, isReadonlyCall,ScanPos, DirtyBB);
+<a name="l00708"></a>00708     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (DirtyBB != &DirtyBB-><a class="code" href="classllvm_1_1BasicBlock.html#aca229503e4f5c83a187a6a921c625fa8">getParent</a>()-><a class="code" href="classllvm_1_1Function.html#a30f2c362631e3728d2f47a8203071ade">getEntryBlock</a>()) {
+<a name="l00709"></a>00709       <span class="comment">// No dependence found.  If this is the entry block of the function, it is</span>
+<a name="l00710"></a>00710       <span class="comment">// a clobber, otherwise it is unknown.</span>
+<a name="l00711"></a>00711       Dep = <a class="code" href="classllvm_1_1MemDepResult.html#a465c166d520399ff2b114c8aac5e7f3d">MemDepResult::getNonLocal</a>();
+<a name="l00712"></a>00712     } <span class="keywordflow">else</span> {
+<a name="l00713"></a>00713       Dep = <a class="code" href="classllvm_1_1MemDepResult.html#adfd696331e43abcbcf5060bf0cd506e4">MemDepResult::getNonFuncLocal</a>();
+<a name="l00714"></a>00714     }
+<a name="l00715"></a>00715     
+<a name="l00716"></a>00716     <span class="comment">// If we had a dirty entry for the block, update it.  Otherwise, just add</span>
+<a name="l00717"></a>00717     <span class="comment">// a new entry.</span>
+<a name="l00718"></a>00718     <span class="keywordflow">if</span> (ExistingResult)
+<a name="l00719"></a>00719       ExistingResult-><a class="code" href="classllvm_1_1NonLocalDepEntry.html#a35eb598d0afaa4a88efcddf50be97b74">setResult</a>(Dep);
+<a name="l00720"></a>00720     <span class="keywordflow">else</span>
+<a name="l00721"></a>00721       Cache.push_back(<a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a>(DirtyBB, Dep));
+<a name="l00722"></a>00722     
+<a name="l00723"></a>00723     <span class="comment">// If the block has a dependency (i.e. it isn't completely transparent to</span>
+<a name="l00724"></a>00724     <span class="comment">// the value), remember the association!</span>
+<a name="l00725"></a>00725     <span class="keywordflow">if</span> (!Dep.<a class="code" href="classllvm_1_1MemDepResult.html#a2a64d8f5153ebc0e8c08d0702c2c4aab">isNonLocal</a>()) {
+<a name="l00726"></a>00726       <span class="comment">// Keep the ReverseNonLocalDeps map up to date so we can efficiently</span>
+<a name="l00727"></a>00727       <span class="comment">// update this when we remove instructions.</span>
+<a name="l00728"></a>00728       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = Dep.<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>())
+<a name="l00729"></a>00729         ReverseNonLocalDeps[Inst].insert(QueryCS.<a class="code" href="classllvm_1_1CallSiteBase.html#ae4c67f835911559821939fb23a2e7aff">getInstruction</a>());
+<a name="l00730"></a>00730     } <span class="keywordflow">else</span> {
+<a name="l00731"></a>00731     
+<a name="l00732"></a>00732       <span class="comment">// If the block *is* completely transparent to the load, we need to check</span>
+<a name="l00733"></a>00733       <span class="comment">// the predecessors of this block.  Add them to our worklist.</span>
+<a name="l00734"></a>00734       <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> **PI = PredCache->GetPreds(DirtyBB); *PI; ++PI)
+<a name="l00735"></a>00735         DirtyBlocks.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(*PI);
+<a name="l00736"></a>00736     }
+<a name="l00737"></a>00737   }
+<a name="l00738"></a>00738   
+<a name="l00739"></a>00739   <span class="keywordflow">return</span> Cache;
+<a name="l00740"></a>00740 }
+<a name="l00741"></a>00741 <span class="comment"></span>
+<a name="l00742"></a>00742 <span class="comment">/// getNonLocalPointerDependency - Perform a full dependency query for an</span>
+<a name="l00743"></a>00743 <span class="comment">/// access to the specified (non-volatile) memory location, returning the</span>
+<a name="l00744"></a>00744 <span class="comment">/// set of instructions that either define or clobber the value.</span>
+<a name="l00745"></a>00745 <span class="comment">///</span>
+<a name="l00746"></a>00746 <span class="comment">/// This method assumes the pointer has a "NonLocal" dependency within its</span>
+<a name="l00747"></a>00747 <span class="comment">/// own block.</span>
+<a name="l00748"></a>00748 <span class="comment">///</span>
+<a name="l00749"></a>00749 <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a27e4a925fd1ad26aea61b15ecfcf5558">MemoryDependenceAnalysis::</a>
+<a name="l00750"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a27e4a925fd1ad26aea61b15ecfcf5558">00750</a> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a27e4a925fd1ad26aea61b15ecfcf5558">getNonLocalPointerDependency</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &Loc, <span class="keywordtype">bool</span> isLoad,
+<a name="l00751"></a>00751                              <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *FromBB,
+<a name="l00752"></a>00752                              <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<NonLocalDepResult></a> &Result) {
+<a name="l00753"></a>00753   assert(Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a24197872686f605dcfd25b6e5d3cc7fa" title="Ptr - The address of the start of the location.">Ptr</a>-><a class="code" href="classllvm_1_1Value.html#a0cf3748dba54f931bb1241ae4adc76bc">getType</a>()-><a class="code" href="classllvm_1_1Type.html#a2eba483f5cc876e824aa6c085736086b">isPointerTy</a>() &&
+<a name="l00754"></a>00754          <span class="stringliteral">"Can't get pointer deps of a non-pointer!"</span>);
+<a name="l00755"></a>00755   Result.<a class="code" href="classllvm_1_1SmallVectorImpl.html#aac0ea55010b7b1a301e65a0baea057aa">clear</a>();
+<a name="l00756"></a>00756   
+<a name="l00757"></a>00757   <a class="code" href="classllvm_1_1PHITransAddr.html">PHITransAddr</a> Address(const_cast<Value *>(Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a24197872686f605dcfd25b6e5d3cc7fa" title="Ptr - The address of the start of the location.">Ptr</a>), TD);
+<a name="l00758"></a>00758   
+<a name="l00759"></a>00759   <span class="comment">// This is the set of blocks we've inspected, and the pointer we consider in</span>
+<a name="l00760"></a>00760   <span class="comment">// each block.  Because of critical edges, we currently bail out if querying</span>
+<a name="l00761"></a>00761   <span class="comment">// a block with multiple different pointers.  This can happen during PHI</span>
+<a name="l00762"></a>00762   <span class="comment">// translation.</span>
+<a name="l00763"></a>00763   <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<BasicBlock*, Value*></a> Visited;
+<a name="l00764"></a>00764   <span class="keywordflow">if</span> (!getNonLocalPointerDepFromBB(Address, Loc, isLoad, FromBB,
+<a name="l00765"></a>00765                                    Result, Visited, <span class="keyword">true</span>))
+<a name="l00766"></a>00766     <span class="keywordflow">return</span>;
+<a name="l00767"></a>00767   Result.<a class="code" href="classllvm_1_1SmallVectorImpl.html#aac0ea55010b7b1a301e65a0baea057aa">clear</a>();
+<a name="l00768"></a>00768   Result.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="classllvm_1_1NonLocalDepResult.html">NonLocalDepResult</a>(FromBB,
+<a name="l00769"></a>00769                                      <a class="code" href="classllvm_1_1MemDepResult.html#a87800772e5bbce0b8e0cb23b54e47f58">MemDepResult::getUnknown</a>(),
+<a name="l00770"></a>00770                                      const_cast<Value *>(Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a24197872686f605dcfd25b6e5d3cc7fa" title="Ptr - The address of the start of the location.">Ptr</a>)));
+<a name="l00771"></a>00771 }
+<a name="l00772"></a>00772 <span class="comment"></span>
+<a name="l00773"></a>00773 <span class="comment">/// GetNonLocalInfoForBlock - Compute the memdep value for BB with</span>
+<a name="l00774"></a>00774 <span class="comment">/// Pointer/PointeeSize using either cached information in Cache or by doing a</span>
+<a name="l00775"></a>00775 <span class="comment">/// lookup (which may use dirty cache info if available).  If we do a lookup,</span>
+<a name="l00776"></a>00776 <span class="comment">/// add the result to the cache.</span>
+<a name="l00777"></a>00777 <span class="comment"></span><a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> MemoryDependenceAnalysis::
+<a name="l00778"></a>00778 GetNonLocalInfoForBlock(<span class="keyword">const</span> <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &Loc,
+<a name="l00779"></a>00779                         <span class="keywordtype">bool</span> isLoad, <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB,
+<a name="l00780"></a>00780                         NonLocalDepInfo *Cache, <span class="keywordtype">unsigned</span> NumSortedEntries) {
+<a name="l00781"></a>00781   
+<a name="l00782"></a>00782   <span class="comment">// Do a binary search to see if we already have an entry for this block in</span>
+<a name="l00783"></a>00783   <span class="comment">// the cache set.  If so, find it.</span>
+<a name="l00784"></a>00784   NonLocalDepInfo::iterator Entry =
+<a name="l00785"></a>00785     std::upper_bound(Cache->begin(), Cache->begin()+NumSortedEntries,
+<a name="l00786"></a>00786                      <a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a>(BB));
+<a name="l00787"></a>00787   <span class="keywordflow">if</span> (Entry != Cache->begin() && (Entry-1)->getBB() == BB)
+<a name="l00788"></a>00788     --Entry;
+<a name="l00789"></a>00789   
+<a name="l00790"></a>00790   <a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a> *ExistingResult = 0;
+<a name="l00791"></a>00791   <span class="keywordflow">if</span> (Entry != Cache->begin()+NumSortedEntries && Entry->getBB() == BB)
+<a name="l00792"></a>00792     ExistingResult = &*Entry;
+<a name="l00793"></a>00793   
+<a name="l00794"></a>00794   <span class="comment">// If we have a cached entry, and it is non-dirty, use it as the value for</span>
+<a name="l00795"></a>00795   <span class="comment">// this dependency.</span>
+<a name="l00796"></a>00796   <span class="keywordflow">if</span> (ExistingResult && !ExistingResult-><a class="code" href="classllvm_1_1NonLocalDepEntry.html#abd0c15cf35f0f3bfd2e092c55d5e6069">getResult</a>().isDirty()) {
+<a name="l00797"></a>00797     ++NumCacheNonLocalPtr;
+<a name="l00798"></a>00798     <span class="keywordflow">return</span> ExistingResult-><a class="code" href="classllvm_1_1NonLocalDepEntry.html#abd0c15cf35f0f3bfd2e092c55d5e6069">getResult</a>();
+<a name="l00799"></a>00799   }    
+<a name="l00800"></a>00800   
+<a name="l00801"></a>00801   <span class="comment">// Otherwise, we have to scan for the value.  If we have a dirty cache</span>
+<a name="l00802"></a>00802   <span class="comment">// entry, start scanning from its position, otherwise we scan from the end</span>
+<a name="l00803"></a>00803   <span class="comment">// of the block.</span>
+<a name="l00804"></a>00804   <a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a> ScanPos = BB-><a class="code" href="classllvm_1_1BasicBlock.html#a0b4e7bee9b8575cc7db73329f1a561bd">end</a>();
+<a name="l00805"></a>00805   <span class="keywordflow">if</span> (ExistingResult && ExistingResult-><a class="code" href="classllvm_1_1NonLocalDepEntry.html#abd0c15cf35f0f3bfd2e092c55d5e6069">getResult</a>().<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>()) {
+<a name="l00806"></a>00806     assert(ExistingResult-><a class="code" href="classllvm_1_1NonLocalDepEntry.html#abd0c15cf35f0f3bfd2e092c55d5e6069">getResult</a>().<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>()-><a class="code" href="classllvm_1_1Instruction.html#a9cd49851904f15060edb782ef4dd1b2d">getParent</a>() == BB &&
+<a name="l00807"></a>00807            <span class="stringliteral">"Instruction invalidated?"</span>);
+<a name="l00808"></a>00808     ++NumCacheDirtyNonLocalPtr;
+<a name="l00809"></a>00809     ScanPos = ExistingResult-><a class="code" href="classllvm_1_1NonLocalDepEntry.html#abd0c15cf35f0f3bfd2e092c55d5e6069">getResult</a>().<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>();
+<a name="l00810"></a>00810     
+<a name="l00811"></a>00811     <span class="comment">// Eliminating the dirty entry from 'Cache', so update the reverse info.</span>
+<a name="l00812"></a>00812     ValueIsLoadPair CacheKey(Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a24197872686f605dcfd25b6e5d3cc7fa" title="Ptr - The address of the start of the location.">Ptr</a>, isLoad);
+<a name="l00813"></a>00813     <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">RemoveFromReverseMap</a>(ReverseNonLocalPtrDeps, ScanPos, CacheKey);
+<a name="l00814"></a>00814   } <span class="keywordflow">else</span> {
+<a name="l00815"></a>00815     ++NumUncacheNonLocalPtr;
+<a name="l00816"></a>00816   }
+<a name="l00817"></a>00817   
+<a name="l00818"></a>00818   <span class="comment">// Scan the block for the dependency.</span>
+<a name="l00819"></a>00819   <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> Dep = <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a54af14c456d32772bdf2b32e4bcce337">getPointerDependencyFrom</a>(Loc, isLoad, ScanPos, BB);
+<a name="l00820"></a>00820   
+<a name="l00821"></a>00821   <span class="comment">// If we had a dirty entry for the block, update it.  Otherwise, just add</span>
+<a name="l00822"></a>00822   <span class="comment">// a new entry.</span>
+<a name="l00823"></a>00823   <span class="keywordflow">if</span> (ExistingResult)
+<a name="l00824"></a>00824     ExistingResult-><a class="code" href="classllvm_1_1NonLocalDepEntry.html#a35eb598d0afaa4a88efcddf50be97b74">setResult</a>(Dep);
+<a name="l00825"></a>00825   <span class="keywordflow">else</span>
+<a name="l00826"></a>00826     Cache->push_back(<a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a>(BB, Dep));
+<a name="l00827"></a>00827   
+<a name="l00828"></a>00828   <span class="comment">// If the block has a dependency (i.e. it isn't completely transparent to</span>
+<a name="l00829"></a>00829   <span class="comment">// the value), remember the reverse association because we just added it</span>
+<a name="l00830"></a>00830   <span class="comment">// to Cache!</span>
+<a name="l00831"></a>00831   <span class="keywordflow">if</span> (!Dep.<a class="code" href="classllvm_1_1MemDepResult.html#aa6d7a9e81b4749376498640463eb5dc2">isDef</a>() && !Dep.<a class="code" href="classllvm_1_1MemDepResult.html#ae409b288c7f70a6c57586535abed3808">isClobber</a>())
+<a name="l00832"></a>00832     <span class="keywordflow">return</span> Dep;
+<a name="l00833"></a>00833   
+<a name="l00834"></a>00834   <span class="comment">// Keep the ReverseNonLocalPtrDeps map up to date so we can efficiently</span>
+<a name="l00835"></a>00835   <span class="comment">// update MemDep when we remove instructions.</span>
+<a name="l00836"></a>00836   <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = Dep.<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>();
+<a name="l00837"></a>00837   assert(Inst && <span class="stringliteral">"Didn't depend on anything?"</span>);
+<a name="l00838"></a>00838   ValueIsLoadPair CacheKey(Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a24197872686f605dcfd25b6e5d3cc7fa" title="Ptr - The address of the start of the location.">Ptr</a>, isLoad);
+<a name="l00839"></a>00839   ReverseNonLocalPtrDeps[Inst].<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(CacheKey);
+<a name="l00840"></a>00840   <span class="keywordflow">return</span> Dep;
+<a name="l00841"></a>00841 }
+<a name="l00842"></a>00842 <span class="comment"></span>
+<a name="l00843"></a>00843 <span class="comment">/// SortNonLocalDepInfoCache - Sort the a NonLocalDepInfo cache, given a certain</span>
+<a name="l00844"></a>00844 <span class="comment">/// number of elements in the array that are already properly ordered.  This is</span>
+<a name="l00845"></a>00845 <span class="comment">/// optimized for the case when only a few entries are added.</span>
+<a name="l00846"></a>00846 <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">void</span> 
+<a name="l00847"></a><a class="code" href="MemoryDependenceAnalysis_8cpp.html#a2a5b2ca7088c06272319b7718936c88b">00847</a> <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a2a5b2ca7088c06272319b7718936c88b">SortNonLocalDepInfoCache</a>(<a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">MemoryDependenceAnalysis::NonLocalDepInfo</a> &Cache,
+<a name="l00848"></a>00848                          <span class="keywordtype">unsigned</span> NumSortedEntries) {
+<a name="l00849"></a>00849   <span class="keywordflow">switch</span> (Cache.size() - NumSortedEntries) {
+<a name="l00850"></a>00850   <span class="keywordflow">case</span> 0:
+<a name="l00851"></a>00851     <span class="comment">// done, no new entries.</span>
+<a name="l00852"></a>00852     <span class="keywordflow">break</span>;
+<a name="l00853"></a>00853   <span class="keywordflow">case</span> 2: {
+<a name="l00854"></a>00854     <span class="comment">// Two new entries, insert the last one into place.</span>
+<a name="l00855"></a>00855     <a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a> Val = Cache.back();
+<a name="l00856"></a>00856     Cache.pop_back();
+<a name="l00857"></a>00857     MemoryDependenceAnalysis::NonLocalDepInfo::iterator Entry =
+<a name="l00858"></a>00858       std::upper_bound(Cache.begin(), Cache.end()-1, Val);
+<a name="l00859"></a>00859     Cache.insert(Entry, Val);
+<a name="l00860"></a>00860     <span class="comment">// FALL THROUGH.</span>
+<a name="l00861"></a>00861   }
+<a name="l00862"></a>00862   <span class="keywordflow">case</span> 1:
+<a name="l00863"></a>00863     <span class="comment">// One new entry, Just insert the new value at the appropriate position.</span>
+<a name="l00864"></a>00864     <span class="keywordflow">if</span> (Cache.size() != 1) {
+<a name="l00865"></a>00865       <a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a> Val = Cache.back();
+<a name="l00866"></a>00866       Cache.pop_back();
+<a name="l00867"></a>00867       MemoryDependenceAnalysis::NonLocalDepInfo::iterator Entry =
+<a name="l00868"></a>00868         std::upper_bound(Cache.begin(), Cache.end(), Val);
+<a name="l00869"></a>00869       Cache.insert(Entry, Val);
+<a name="l00870"></a>00870     }
+<a name="l00871"></a>00871     <span class="keywordflow">break</span>;
+<a name="l00872"></a>00872   <span class="keywordflow">default</span>:
+<a name="l00873"></a>00873     <span class="comment">// Added many values, do a full scale sort.</span>
+<a name="l00874"></a>00874     std::sort(Cache.begin(), Cache.end());
+<a name="l00875"></a>00875     <span class="keywordflow">break</span>;
+<a name="l00876"></a>00876   }
+<a name="l00877"></a>00877 }
+<a name="l00878"></a>00878 <span class="comment"></span>
+<a name="l00879"></a>00879 <span class="comment">/// getNonLocalPointerDepFromBB - Perform a dependency query based on</span>
+<a name="l00880"></a>00880 <span class="comment">/// pointer/pointeesize starting at the end of StartBB.  Add any clobber/def</span>
+<a name="l00881"></a>00881 <span class="comment">/// results to the results vector and keep track of which blocks are visited in</span>
+<a name="l00882"></a>00882 <span class="comment">/// 'Visited'.</span>
+<a name="l00883"></a>00883 <span class="comment">///</span>
+<a name="l00884"></a>00884 <span class="comment">/// This has special behavior for the first block queries (when SkipFirstBlock</span>
+<a name="l00885"></a>00885 <span class="comment">/// is true).  In this special case, it ignores the contents of the specified</span>
+<a name="l00886"></a>00886 <span class="comment">/// block and starts returning dependence info for its predecessors.</span>
+<a name="l00887"></a>00887 <span class="comment">///</span>
+<a name="l00888"></a>00888 <span class="comment">/// This function returns false on success, or true to indicate that it could</span>
+<a name="l00889"></a>00889 <span class="comment">/// not compute dependence information for some reason.  This should be treated</span>
+<a name="l00890"></a>00890 <span class="comment">/// as a clobber dependence on the first instruction in the predecessor block.</span>
+<a name="l00891"></a>00891 <span class="comment"></span><span class="keywordtype">bool</span> MemoryDependenceAnalysis::
+<a name="l00892"></a>00892 getNonLocalPointerDepFromBB(<span class="keyword">const</span> <a class="code" href="classllvm_1_1PHITransAddr.html">PHITransAddr</a> &Pointer,
+<a name="l00893"></a>00893                             <span class="keyword">const</span> <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &Loc,
+<a name="l00894"></a>00894                             <span class="keywordtype">bool</span> isLoad, <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *StartBB,
+<a name="l00895"></a>00895                             <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<NonLocalDepResult></a> &Result,
+<a name="l00896"></a>00896                             <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<BasicBlock*, Value*></a> &Visited,
+<a name="l00897"></a>00897                             <span class="keywordtype">bool</span> SkipFirstBlock) {
+<a name="l00898"></a>00898   
+<a name="l00899"></a>00899   <span class="comment">// Look up the cached info for Pointer.</span>
+<a name="l00900"></a>00900   ValueIsLoadPair CacheKey(Pointer.<a class="code" href="classllvm_1_1PHITransAddr.html#af60a67af0b2069b0bd4206378e2af814">getAddr</a>(), isLoad);
+<a name="l00901"></a>00901 
+<a name="l00902"></a>00902   <span class="comment">// Set up a temporary NLPI value. If the map doesn't yet have an entry for</span>
+<a name="l00903"></a>00903   <span class="comment">// CacheKey, this value will be inserted as the associated value. Otherwise,</span>
+<a name="l00904"></a>00904   <span class="comment">// it'll be ignored, and we'll have to check to see if the cached size and</span>
+<a name="l00905"></a>00905   <span class="comment">// tbaa tag are consistent with the current query.</span>
+<a name="l00906"></a>00906   NonLocalPointerInfo InitialNLPI;
+<a name="l00907"></a>00907   InitialNLPI.Size = Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#aba42e84910b42f9684564b8512a30b2e">Size</a>;
+<a name="l00908"></a>00908   InitialNLPI.TBAATag = Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a2fdb794f07cee21bb46d6b2cb8170901">TBAATag</a>;
+<a name="l00909"></a>00909 
+<a name="l00910"></a>00910   <span class="comment">// Get the NLPI for CacheKey, inserting one into the map if it doesn't</span>
+<a name="l00911"></a>00911   <span class="comment">// already have one.</span>
+<a name="l00912"></a>00912   std::pair<CachedNonLocalPointerInfo::iterator, bool> Pair = 
+<a name="l00913"></a>00913     NonLocalPointerDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(std::make_pair(CacheKey, InitialNLPI));
+<a name="l00914"></a>00914   NonLocalPointerInfo *CacheInfo = &Pair.first->second;
+<a name="l00915"></a>00915 
+<a name="l00916"></a>00916   <span class="comment">// If we already have a cache entry for this CacheKey, we may need to do some</span>
+<a name="l00917"></a>00917   <span class="comment">// work to reconcile the cache entry and the current query.</span>
+<a name="l00918"></a>00918   <span class="keywordflow">if</span> (!Pair.second) {
+<a name="l00919"></a>00919     <span class="keywordflow">if</span> (CacheInfo->Size < Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#aba42e84910b42f9684564b8512a30b2e">Size</a>) {
+<a name="l00920"></a>00920       <span class="comment">// The query's Size is greater than the cached one. Throw out the</span>
+<a name="l00921"></a>00921       <span class="comment">// cached data and proceed with the query at the greater size.</span>
+<a name="l00922"></a>00922       CacheInfo->Pair = BBSkipFirstBlockPair();
+<a name="l00923"></a>00923       CacheInfo->Size = Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#aba42e84910b42f9684564b8512a30b2e">Size</a>;
+<a name="l00924"></a>00924       <span class="keywordflow">for</span> (NonLocalDepInfo::iterator DI = CacheInfo->NonLocalDeps.begin(),
+<a name="l00925"></a>00925            <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a> = CacheInfo->NonLocalDeps.end(); DI != <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a>; ++DI)
+<a name="l00926"></a>00926         <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = DI->getResult().getInst())
+<a name="l00927"></a>00927           <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">RemoveFromReverseMap</a>(ReverseNonLocalPtrDeps, Inst, CacheKey);
+<a name="l00928"></a>00928       CacheInfo->NonLocalDeps.clear();
+<a name="l00929"></a>00929     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (CacheInfo->Size > Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#aba42e84910b42f9684564b8512a30b2e">Size</a>) {
+<a name="l00930"></a>00930       <span class="comment">// This query's Size is less than the cached one. Conservatively restart</span>
+<a name="l00931"></a>00931       <span class="comment">// the query using the greater size.</span>
+<a name="l00932"></a>00932       <span class="keywordflow">return</span> getNonLocalPointerDepFromBB(Pointer,
+<a name="l00933"></a>00933                                          Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a2e1f29abce73568e33d2273dc7decfe6">getWithNewSize</a>(CacheInfo->Size),
+<a name="l00934"></a>00934                                          isLoad, StartBB, Result, Visited,
+<a name="l00935"></a>00935                                          SkipFirstBlock);
+<a name="l00936"></a>00936     }
+<a name="l00937"></a>00937 
+<a name="l00938"></a>00938     <span class="comment">// If the query's TBAATag is inconsistent with the cached one,</span>
+<a name="l00939"></a>00939     <span class="comment">// conservatively throw out the cached data and restart the query with</span>
+<a name="l00940"></a>00940     <span class="comment">// no tag if needed.</span>
+<a name="l00941"></a>00941     <span class="keywordflow">if</span> (CacheInfo->TBAATag != Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a2fdb794f07cee21bb46d6b2cb8170901">TBAATag</a>) {
+<a name="l00942"></a>00942       <span class="keywordflow">if</span> (CacheInfo->TBAATag) {
+<a name="l00943"></a>00943         CacheInfo->Pair = BBSkipFirstBlockPair();
+<a name="l00944"></a>00944         CacheInfo->TBAATag = 0;
+<a name="l00945"></a>00945         <span class="keywordflow">for</span> (NonLocalDepInfo::iterator DI = CacheInfo->NonLocalDeps.begin(),
+<a name="l00946"></a>00946              <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a> = CacheInfo->NonLocalDeps.end(); DI != <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a>; ++DI)
+<a name="l00947"></a>00947           <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = DI->getResult().getInst())
+<a name="l00948"></a>00948             <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">RemoveFromReverseMap</a>(ReverseNonLocalPtrDeps, Inst, CacheKey);
+<a name="l00949"></a>00949         CacheInfo->NonLocalDeps.clear();
+<a name="l00950"></a>00950       }
+<a name="l00951"></a>00951       <span class="keywordflow">if</span> (Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a2fdb794f07cee21bb46d6b2cb8170901">TBAATag</a>)
+<a name="l00952"></a>00952         <span class="keywordflow">return</span> getNonLocalPointerDepFromBB(Pointer, Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a8b8d65c71552f8c2e5bd194d67ebedf8">getWithoutTBAATag</a>(),
+<a name="l00953"></a>00953                                            isLoad, StartBB, Result, Visited,
+<a name="l00954"></a>00954                                            SkipFirstBlock);
+<a name="l00955"></a>00955     }
+<a name="l00956"></a>00956   }
+<a name="l00957"></a>00957 
+<a name="l00958"></a>00958   <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a> *Cache = &CacheInfo->NonLocalDeps;
+<a name="l00959"></a>00959 
+<a name="l00960"></a>00960   <span class="comment">// If we have valid cached information for exactly the block we are</span>
+<a name="l00961"></a>00961   <span class="comment">// investigating, just return it with no recomputation.</span>
+<a name="l00962"></a>00962   <span class="keywordflow">if</span> (CacheInfo->Pair == BBSkipFirstBlockPair(StartBB, SkipFirstBlock)) {
+<a name="l00963"></a>00963     <span class="comment">// We have a fully cached result for this query then we can just return the</span>
+<a name="l00964"></a>00964     <span class="comment">// cached results and populate the visited set.  However, we have to verify</span>
+<a name="l00965"></a>00965     <span class="comment">// that we don't already have conflicting results for these blocks.  Check</span>
+<a name="l00966"></a>00966     <span class="comment">// to ensure that if a block in the results set is in the visited set that</span>
+<a name="l00967"></a>00967     <span class="comment">// it was for the same pointer query.</span>
+<a name="l00968"></a>00968     <span class="keywordflow">if</span> (!Visited.<a class="code" href="classllvm_1_1DenseMapBase.html#ac0ea276ca8ef68cc206db705a7092612">empty</a>()) {
+<a name="l00969"></a>00969       <span class="keywordflow">for</span> (NonLocalDepInfo::iterator <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Cache->begin(), E = Cache->end();
+<a name="l00970"></a>00970            <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l00971"></a>00971         <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<BasicBlock*, Value*>::iterator</a> VI = Visited.<a class="code" href="classllvm_1_1DenseMapBase.html#a21cf94357e53cd1069aba475266fdb63">find</a>(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getBB());
+<a name="l00972"></a>00972         <span class="keywordflow">if</span> (VI == Visited.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>() || VI->second == Pointer.<a class="code" href="classllvm_1_1PHITransAddr.html#af60a67af0b2069b0bd4206378e2af814">getAddr</a>())
+<a name="l00973"></a>00973           <span class="keywordflow">continue</span>;
+<a name="l00974"></a>00974         
+<a name="l00975"></a>00975         <span class="comment">// We have a pointer mismatch in a block.  Just return clobber, saying</span>
+<a name="l00976"></a>00976         <span class="comment">// that something was clobbered in this result.  We could also do a</span>
+<a name="l00977"></a>00977         <span class="comment">// non-fully cached query, but there is little point in doing this.</span>
+<a name="l00978"></a>00978         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00979"></a>00979       }
+<a name="l00980"></a>00980     }
+<a name="l00981"></a>00981     
+<a name="l00982"></a>00982     <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *Addr = Pointer.<a class="code" href="classllvm_1_1PHITransAddr.html#af60a67af0b2069b0bd4206378e2af814">getAddr</a>();
+<a name="l00983"></a>00983     <span class="keywordflow">for</span> (NonLocalDepInfo::iterator <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Cache->begin(), E = Cache->end();
+<a name="l00984"></a>00984          <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l00985"></a>00985       Visited.<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(std::make_pair(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getBB(), Addr));
+<a name="l00986"></a>00986       <span class="keywordflow">if</span> (!<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getResult().isNonLocal() && DT-><a class="code" href="classllvm_1_1DominatorTree.html#a5ff15505ad3a19cbc8e6d4cb3633d669">isReachableFromEntry</a>(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getBB()))
+<a name="l00987"></a>00987         Result.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="classllvm_1_1NonLocalDepResult.html">NonLocalDepResult</a>(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getBB(), <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getResult(), Addr));
+<a name="l00988"></a>00988     }
+<a name="l00989"></a>00989     ++NumCacheCompleteNonLocalPtr;
+<a name="l00990"></a>00990     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00991"></a>00991   }
+<a name="l00992"></a>00992   
+<a name="l00993"></a>00993   <span class="comment">// Otherwise, either this is a new block, a block with an invalid cache</span>
+<a name="l00994"></a>00994   <span class="comment">// pointer or one that we're about to invalidate by putting more info into it</span>
+<a name="l00995"></a>00995   <span class="comment">// than its valid cache info.  If empty, the result will be valid cache info,</span>
+<a name="l00996"></a>00996   <span class="comment">// otherwise it isn't.</span>
+<a name="l00997"></a>00997   <span class="keywordflow">if</span> (Cache->empty())
+<a name="l00998"></a>00998     CacheInfo->Pair = BBSkipFirstBlockPair(StartBB, SkipFirstBlock);
+<a name="l00999"></a>00999   <span class="keywordflow">else</span>
+<a name="l01000"></a>01000     CacheInfo->Pair = BBSkipFirstBlockPair();
+<a name="l01001"></a>01001   
+<a name="l01002"></a>01002   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<BasicBlock*, 32></a> Worklist;
+<a name="l01003"></a>01003   Worklist.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(StartBB);
+<a name="l01004"></a>01004   
+<a name="l01005"></a>01005   <span class="comment">// PredList used inside loop.</span>
+<a name="l01006"></a>01006   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<std::pair<BasicBlock*, PHITransAddr></a>, 16> PredList;
+<a name="l01007"></a>01007 
+<a name="l01008"></a>01008   <span class="comment">// Keep track of the entries that we know are sorted.  Previously cached</span>
+<a name="l01009"></a>01009   <span class="comment">// entries will all be sorted.  The entries we add we only sort on demand (we</span>
+<a name="l01010"></a>01010   <span class="comment">// don't insert every element into its sorted position).  We know that we</span>
+<a name="l01011"></a>01011   <span class="comment">// won't get any reuse from currently inserted values, because we don't</span>
+<a name="l01012"></a>01012   <span class="comment">// revisit blocks after we insert info for them.</span>
+<a name="l01013"></a>01013   <span class="keywordtype">unsigned</span> NumSortedEntries = Cache->size();
+<a name="l01014"></a>01014   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="MemoryDependenceAnalysis_8cpp.html#a99998ec12f1359427a3d20c43a27d1f1">AssertSorted</a>(*Cache));
+<a name="l01015"></a>01015   
+<a name="l01016"></a>01016   <span class="keywordflow">while</span> (!Worklist.<a class="code" href="classllvm_1_1SmallVectorBase.html#afdecfccba9b1fd8c9fd8eb27ae69e9a0">empty</a>()) {
+<a name="l01017"></a>01017     <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB = Worklist.<a class="code" href="classllvm_1_1SmallVectorImpl.html#a0c8ffe664a36e30d49c84d0aded2fe08">pop_back_val</a>();
+<a name="l01018"></a>01018     
+<a name="l01019"></a>01019     <span class="comment">// Skip the first block if we have it.</span>
+<a name="l01020"></a>01020     <span class="keywordflow">if</span> (!SkipFirstBlock) {
+<a name="l01021"></a>01021       <span class="comment">// Analyze the dependency of *Pointer in FromBB.  See if we already have</span>
+<a name="l01022"></a>01022       <span class="comment">// been here.</span>
+<a name="l01023"></a>01023       assert(Visited.<a class="code" href="classllvm_1_1DenseMapBase.html#a4efb46d4834f6f750ae0649ed89ce44c" title="count - Return true if the specified key is in the map.">count</a>(BB) && <span class="stringliteral">"Should check 'visited' before adding to WL"</span>);
+<a name="l01024"></a>01024 
+<a name="l01025"></a>01025       <span class="comment">// Get the dependency info for Pointer in BB.  If we have cached</span>
+<a name="l01026"></a>01026       <span class="comment">// information, we will use it, otherwise we compute it.</span>
+<a name="l01027"></a>01027       <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="MemoryDependenceAnalysis_8cpp.html#a99998ec12f1359427a3d20c43a27d1f1">AssertSorted</a>(*Cache, NumSortedEntries));
+<a name="l01028"></a>01028       <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> Dep = GetNonLocalInfoForBlock(Loc, isLoad, BB, Cache,
+<a name="l01029"></a>01029                                                  NumSortedEntries);
+<a name="l01030"></a>01030       
+<a name="l01031"></a>01031       <span class="comment">// If we got a Def or Clobber, add this to the list of results.</span>
+<a name="l01032"></a>01032       <span class="keywordflow">if</span> (!Dep.<a class="code" href="classllvm_1_1MemDepResult.html#a2a64d8f5153ebc0e8c08d0702c2c4aab">isNonLocal</a>() && DT-><a class="code" href="classllvm_1_1DominatorTree.html#a5ff15505ad3a19cbc8e6d4cb3633d669">isReachableFromEntry</a>(BB)) {
+<a name="l01033"></a>01033         Result.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="classllvm_1_1NonLocalDepResult.html">NonLocalDepResult</a>(BB, Dep, Pointer.<a class="code" href="classllvm_1_1PHITransAddr.html#af60a67af0b2069b0bd4206378e2af814">getAddr</a>()));
+<a name="l01034"></a>01034         <span class="keywordflow">continue</span>;
+<a name="l01035"></a>01035       }
+<a name="l01036"></a>01036     }
+<a name="l01037"></a>01037     
+<a name="l01038"></a>01038     <span class="comment">// If 'Pointer' is an instruction defined in this block, then we need to do</span>
+<a name="l01039"></a>01039     <span class="comment">// phi translation to change it into a value live in the predecessor block.</span>
+<a name="l01040"></a>01040     <span class="comment">// If not, we just add the predecessors to the worklist and scan them with</span>
+<a name="l01041"></a>01041     <span class="comment">// the same Pointer.</span>
+<a name="l01042"></a>01042     <span class="keywordflow">if</span> (!Pointer.<a class="code" href="classllvm_1_1PHITransAddr.html#ac3bbb43654c937b5eab64de7b7e9c89c">NeedsPHITranslationFromBlock</a>(BB)) {
+<a name="l01043"></a>01043       SkipFirstBlock = <span class="keyword">false</span>;
+<a name="l01044"></a>01044       <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<BasicBlock*, 16></a> NewBlocks;
+<a name="l01045"></a>01045       <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> **PI = PredCache->GetPreds(BB); *PI; ++PI) {
+<a name="l01046"></a>01046         <span class="comment">// Verify that we haven't looked at this block yet.</span>
+<a name="l01047"></a>01047         std::pair<DenseMap<BasicBlock*,Value*>::iterator, <span class="keywordtype">bool</span>>
+<a name="l01048"></a>01048           InsertRes = Visited.<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(std::make_pair(*PI, Pointer.<a class="code" href="classllvm_1_1PHITransAddr.html#af60a67af0b2069b0bd4206378e2af814">getAddr</a>()));
+<a name="l01049"></a>01049         <span class="keywordflow">if</span> (InsertRes.second) {
+<a name="l01050"></a>01050           <span class="comment">// First time we've looked at *PI.</span>
+<a name="l01051"></a>01051           NewBlocks.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(*PI);
+<a name="l01052"></a>01052           <span class="keywordflow">continue</span>;
+<a name="l01053"></a>01053         }
+<a name="l01054"></a>01054         
+<a name="l01055"></a>01055         <span class="comment">// If we have seen this block before, but it was with a different</span>
+<a name="l01056"></a>01056         <span class="comment">// pointer then we have a phi translation failure and we have to treat</span>
+<a name="l01057"></a>01057         <span class="comment">// this as a clobber.</span>
+<a name="l01058"></a>01058         <span class="keywordflow">if</span> (InsertRes.first->second != Pointer.<a class="code" href="classllvm_1_1PHITransAddr.html#af60a67af0b2069b0bd4206378e2af814">getAddr</a>()) {
+<a name="l01059"></a>01059           <span class="comment">// Make sure to clean up the Visited map before continuing on to</span>
+<a name="l01060"></a>01060           <span class="comment">// PredTranslationFailure.</span>
+<a name="l01061"></a>01061           <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < NewBlocks.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a22a311dfe4c28a897de8a9365a4f0a84">size</a>(); i++)
+<a name="l01062"></a>01062             Visited.<a class="code" href="classllvm_1_1DenseMapBase.html#a269c7b8adcd29645a4f901196fc08806">erase</a>(NewBlocks[i]);
+<a name="l01063"></a>01063           <span class="keywordflow">goto</span> PredTranslationFailure;
+<a name="l01064"></a>01064         }
+<a name="l01065"></a>01065       }
+<a name="l01066"></a>01066       Worklist.<a class="code" href="classllvm_1_1SmallVectorImpl.html#a669d55980a7d4b6307b94596deeb0b1f">append</a>(NewBlocks.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a8a045d250952c0867382a9840ee18fdf">begin</a>(), NewBlocks.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a075e34e98605d0e7c289763a104869ac">end</a>());
+<a name="l01067"></a>01067       <span class="keywordflow">continue</span>;
+<a name="l01068"></a>01068     }
+<a name="l01069"></a>01069     
+<a name="l01070"></a>01070     <span class="comment">// We do need to do phi translation, if we know ahead of time we can't phi</span>
+<a name="l01071"></a>01071     <span class="comment">// translate this value, don't even try.</span>
+<a name="l01072"></a>01072     <span class="keywordflow">if</span> (!Pointer.<a class="code" href="classllvm_1_1PHITransAddr.html#a5c0a098e4fec390904312efff0ac2f17">IsPotentiallyPHITranslatable</a>())
+<a name="l01073"></a>01073       <span class="keywordflow">goto</span> PredTranslationFailure;
+<a name="l01074"></a>01074     
+<a name="l01075"></a>01075     <span class="comment">// We may have added values to the cache list before this PHI translation.</span>
+<a name="l01076"></a>01076     <span class="comment">// If so, we haven't done anything to ensure that the cache remains sorted.</span>
+<a name="l01077"></a>01077     <span class="comment">// Sort it now (if needed) so that recursive invocations of</span>
+<a name="l01078"></a>01078     <span class="comment">// getNonLocalPointerDepFromBB and other routines that could reuse the cache</span>
+<a name="l01079"></a>01079     <span class="comment">// value will only see properly sorted cache arrays.</span>
+<a name="l01080"></a>01080     <span class="keywordflow">if</span> (Cache && NumSortedEntries != Cache->size()) {
+<a name="l01081"></a>01081       <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a2a5b2ca7088c06272319b7718936c88b">SortNonLocalDepInfoCache</a>(*Cache, NumSortedEntries);
+<a name="l01082"></a>01082       NumSortedEntries = Cache->size();
+<a name="l01083"></a>01083     }
+<a name="l01084"></a>01084     Cache = 0;
+<a name="l01085"></a>01085 
+<a name="l01086"></a>01086     PredList.<a class="code" href="classllvm_1_1SmallVectorImpl.html#aac0ea55010b7b1a301e65a0baea057aa">clear</a>();
+<a name="l01087"></a>01087     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> **PI = PredCache->GetPreds(BB); *PI; ++PI) {
+<a name="l01088"></a>01088       <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *Pred = *PI;
+<a name="l01089"></a>01089       PredList.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(std::make_pair(Pred, Pointer));
+<a name="l01090"></a>01090 
+<a name="l01091"></a>01091       <span class="comment">// Get the PHI translated pointer in this predecessor.  This can fail if</span>
+<a name="l01092"></a>01092       <span class="comment">// not translatable, in which case the getAddr() returns null.</span>
+<a name="l01093"></a>01093       <a class="code" href="classllvm_1_1PHITransAddr.html">PHITransAddr</a> &PredPointer = PredList.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#acd9e771a3296c6b24146955754620557">back</a>().second;
+<a name="l01094"></a>01094       PredPointer.<a class="code" href="classllvm_1_1PHITransAddr.html#acef00be533f811953711c37421a8bb13">PHITranslateValue</a>(BB, Pred, 0);
+<a name="l01095"></a>01095 
+<a name="l01096"></a>01096       <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *PredPtrVal = PredPointer.<a class="code" href="classllvm_1_1PHITransAddr.html#af60a67af0b2069b0bd4206378e2af814">getAddr</a>();
+<a name="l01097"></a>01097       
+<a name="l01098"></a>01098       <span class="comment">// Check to see if we have already visited this pred block with another</span>
+<a name="l01099"></a>01099       <span class="comment">// pointer.  If so, we can't do this lookup.  This failure can occur</span>
+<a name="l01100"></a>01100       <span class="comment">// with PHI translation when a critical edge exists and the PHI node in</span>
+<a name="l01101"></a>01101       <span class="comment">// the successor translates to a pointer value different than the</span>
+<a name="l01102"></a>01102       <span class="comment">// pointer the block was first analyzed with.</span>
+<a name="l01103"></a>01103       std::pair<DenseMap<BasicBlock*,Value*>::iterator, <span class="keywordtype">bool</span>>
+<a name="l01104"></a>01104         InsertRes = Visited.<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(std::make_pair(Pred, PredPtrVal));
+<a name="l01105"></a>01105 
+<a name="l01106"></a>01106       <span class="keywordflow">if</span> (!InsertRes.second) {
+<a name="l01107"></a>01107         <span class="comment">// We found the pred; take it off the list of preds to visit.</span>
+<a name="l01108"></a>01108         PredList.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#a1f2303df9bbee2233c11d61c2f6f7930">pop_back</a>();
+<a name="l01109"></a>01109 
+<a name="l01110"></a>01110         <span class="comment">// If the predecessor was visited with PredPtr, then we already did</span>
+<a name="l01111"></a>01111         <span class="comment">// the analysis and can ignore it.</span>
+<a name="l01112"></a>01112         <span class="keywordflow">if</span> (InsertRes.first->second == PredPtrVal)
+<a name="l01113"></a>01113           <span class="keywordflow">continue</span>;
+<a name="l01114"></a>01114         
+<a name="l01115"></a>01115         <span class="comment">// Otherwise, the block was previously analyzed with a different</span>
+<a name="l01116"></a>01116         <span class="comment">// pointer.  We can't represent the result of this case, so we just</span>
+<a name="l01117"></a>01117         <span class="comment">// treat this as a phi translation failure.</span>
+<a name="l01118"></a>01118 
+<a name="l01119"></a>01119         <span class="comment">// Make sure to clean up the Visited map before continuing on to</span>
+<a name="l01120"></a>01120         <span class="comment">// PredTranslationFailure.</span>
+<a name="l01121"></a>01121         <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < PredList.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a22a311dfe4c28a897de8a9365a4f0a84">size</a>(); i++)
+<a name="l01122"></a>01122           Visited.<a class="code" href="classllvm_1_1DenseMapBase.html#a269c7b8adcd29645a4f901196fc08806">erase</a>(PredList[i].first);
+<a name="l01123"></a>01123 
+<a name="l01124"></a>01124         <span class="keywordflow">goto</span> PredTranslationFailure;
+<a name="l01125"></a>01125       }
+<a name="l01126"></a>01126     }
+<a name="l01127"></a>01127 
+<a name="l01128"></a>01128     <span class="comment">// Actually process results here; this need to be a separate loop to avoid</span>
+<a name="l01129"></a>01129     <span class="comment">// calling getNonLocalPointerDepFromBB for blocks we don't want to return</span>
+<a name="l01130"></a>01130     <span class="comment">// any results for.  (getNonLocalPointerDepFromBB will modify our </span>
+<a name="l01131"></a>01131     <span class="comment">// datastructures in ways the code after the PredTranslationFailure label</span>
+<a name="l01132"></a>01132     <span class="comment">// doesn't expect.)</span>
+<a name="l01133"></a>01133     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i < PredList.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a22a311dfe4c28a897de8a9365a4f0a84">size</a>(); i++) {
+<a name="l01134"></a>01134       <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *Pred = PredList[i].first;
+<a name="l01135"></a>01135       <a class="code" href="classllvm_1_1PHITransAddr.html">PHITransAddr</a> &PredPointer = PredList[i].second;
+<a name="l01136"></a>01136       <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *PredPtrVal = PredPointer.<a class="code" href="classllvm_1_1PHITransAddr.html#af60a67af0b2069b0bd4206378e2af814">getAddr</a>();
+<a name="l01137"></a>01137 
+<a name="l01138"></a>01138       <span class="keywordtype">bool</span> CanTranslate = <span class="keyword">true</span>;
+<a name="l01139"></a>01139       <span class="comment">// If PHI translation was unable to find an available pointer in this</span>
+<a name="l01140"></a>01140       <span class="comment">// predecessor, then we have to assume that the pointer is clobbered in</span>
+<a name="l01141"></a>01141       <span class="comment">// that predecessor.  We can still do PRE of the load, which would insert</span>
+<a name="l01142"></a>01142       <span class="comment">// a computation of the pointer in this predecessor.</span>
+<a name="l01143"></a>01143       <span class="keywordflow">if</span> (PredPtrVal == 0)
+<a name="l01144"></a>01144         CanTranslate = <span class="keyword">false</span>;
+<a name="l01145"></a>01145 
+<a name="l01146"></a>01146       <span class="comment">// FIXME: it is entirely possible that PHI translating will end up with</span>
+<a name="l01147"></a>01147       <span class="comment">// the same value.  Consider PHI translating something like:</span>
+<a name="l01148"></a>01148       <span class="comment">// X = phi [x, bb1], [y, bb2].  PHI translating for bb1 doesn't *need*</span>
+<a name="l01149"></a>01149       <span class="comment">// to recurse here, pedantically speaking.</span>
+<a name="l01150"></a>01150 
+<a name="l01151"></a>01151       <span class="comment">// If getNonLocalPointerDepFromBB fails here, that means the cached</span>
+<a name="l01152"></a>01152       <span class="comment">// result conflicted with the Visited list; we have to conservatively</span>
+<a name="l01153"></a>01153       <span class="comment">// assume it is unknown, but this also does not block PRE of the load.</span>
+<a name="l01154"></a>01154       <span class="keywordflow">if</span> (!CanTranslate ||
+<a name="l01155"></a>01155           getNonLocalPointerDepFromBB(PredPointer,
+<a name="l01156"></a>01156                                       Loc.<a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html#a52c120bd27338c58c3ba3bbeb62711f0">getWithNewPtr</a>(PredPtrVal),
+<a name="l01157"></a>01157                                       isLoad, Pred,
+<a name="l01158"></a>01158                                       Result, Visited)) {
+<a name="l01159"></a>01159         <span class="comment">// Add the entry to the Result list.</span>
+<a name="l01160"></a>01160         <a class="code" href="classllvm_1_1NonLocalDepResult.html">NonLocalDepResult</a> Entry(Pred, <a class="code" href="classllvm_1_1MemDepResult.html#a87800772e5bbce0b8e0cb23b54e47f58">MemDepResult::getUnknown</a>(), PredPtrVal);
+<a name="l01161"></a>01161         Result.push_back(Entry);
+<a name="l01162"></a>01162 
+<a name="l01163"></a>01163         <span class="comment">// Since we had a phi translation failure, the cache for CacheKey won't</span>
+<a name="l01164"></a>01164         <span class="comment">// include all of the entries that we need to immediately satisfy future</span>
+<a name="l01165"></a>01165         <span class="comment">// queries.  Mark this in NonLocalPointerDeps by setting the</span>
+<a name="l01166"></a>01166         <span class="comment">// BBSkipFirstBlockPair pointer to null.  This requires reuse of the</span>
+<a name="l01167"></a>01167         <span class="comment">// cached value to do more work but not miss the phi trans failure.</span>
+<a name="l01168"></a>01168         NonLocalPointerInfo &NLPI = NonLocalPointerDeps[CacheKey];
+<a name="l01169"></a>01169         NLPI.Pair = BBSkipFirstBlockPair();
+<a name="l01170"></a>01170         <span class="keywordflow">continue</span>;
+<a name="l01171"></a>01171       }
+<a name="l01172"></a>01172     }
+<a name="l01173"></a>01173     
+<a name="l01174"></a>01174     <span class="comment">// Refresh the CacheInfo/Cache pointer so that it isn't invalidated.</span>
+<a name="l01175"></a>01175     CacheInfo = &NonLocalPointerDeps[CacheKey];
+<a name="l01176"></a>01176     Cache = &CacheInfo->NonLocalDeps;
+<a name="l01177"></a>01177     NumSortedEntries = Cache->size();
+<a name="l01178"></a>01178     
+<a name="l01179"></a>01179     <span class="comment">// Since we did phi translation, the "Cache" set won't contain all of the</span>
+<a name="l01180"></a>01180     <span class="comment">// results for the query.  This is ok (we can still use it to accelerate</span>
+<a name="l01181"></a>01181     <span class="comment">// specific block queries) but we can't do the fastpath "return all</span>
+<a name="l01182"></a>01182     <span class="comment">// results from the set"  Clear out the indicator for this.</span>
+<a name="l01183"></a>01183     CacheInfo->Pair = BBSkipFirstBlockPair();
+<a name="l01184"></a>01184     SkipFirstBlock = <span class="keyword">false</span>;
+<a name="l01185"></a>01185     <span class="keywordflow">continue</span>;
+<a name="l01186"></a>01186 
+<a name="l01187"></a>01187   PredTranslationFailure:
+<a name="l01188"></a>01188     <span class="comment">// The following code is "failure"; we can't produce a sane translation</span>
+<a name="l01189"></a>01189     <span class="comment">// for the given block.  It assumes that we haven't modified any of</span>
+<a name="l01190"></a>01190     <span class="comment">// our datastructures while processing the current block.</span>
+<a name="l01191"></a>01191     
+<a name="l01192"></a>01192     <span class="keywordflow">if</span> (Cache == 0) {
+<a name="l01193"></a>01193       <span class="comment">// Refresh the CacheInfo/Cache pointer if it got invalidated.</span>
+<a name="l01194"></a>01194       CacheInfo = &NonLocalPointerDeps[CacheKey];
+<a name="l01195"></a>01195       Cache = &CacheInfo->NonLocalDeps;
+<a name="l01196"></a>01196       NumSortedEntries = Cache->size();
+<a name="l01197"></a>01197     }
+<a name="l01198"></a>01198     
+<a name="l01199"></a>01199     <span class="comment">// Since we failed phi translation, the "Cache" set won't contain all of the</span>
+<a name="l01200"></a>01200     <span class="comment">// results for the query.  This is ok (we can still use it to accelerate</span>
+<a name="l01201"></a>01201     <span class="comment">// specific block queries) but we can't do the fastpath "return all</span>
+<a name="l01202"></a>01202     <span class="comment">// results from the set".  Clear out the indicator for this.</span>
+<a name="l01203"></a>01203     CacheInfo->Pair = BBSkipFirstBlockPair();
+<a name="l01204"></a>01204     
+<a name="l01205"></a>01205     <span class="comment">// If *nothing* works, mark the pointer as unknown.</span>
+<a name="l01206"></a>01206     <span class="comment">//</span>
+<a name="l01207"></a>01207     <span class="comment">// If this is the magic first block, return this as a clobber of the whole</span>
+<a name="l01208"></a>01208     <span class="comment">// incoming value.  Since we can't phi translate to one of the predecessors,</span>
+<a name="l01209"></a>01209     <span class="comment">// we have to bail out.</span>
+<a name="l01210"></a>01210     <span class="keywordflow">if</span> (SkipFirstBlock)
+<a name="l01211"></a>01211       <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l01212"></a>01212     
+<a name="l01213"></a>01213     <span class="keywordflow">for</span> (<a class="code" href="namespacellvm_1_1sys_1_1path.html#a8fb092ecc42706d8901ee791cd6c90a7">NonLocalDepInfo::reverse_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Cache->rbegin(); ; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01214"></a>01214       assert(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != Cache->rend() && <span class="stringliteral">"Didn't find current block??"</span>);
+<a name="l01215"></a>01215       <span class="keywordflow">if</span> (<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getBB() != BB)
+<a name="l01216"></a>01216         <span class="keywordflow">continue</span>;
+<a name="l01217"></a>01217       
+<a name="l01218"></a>01218       assert(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getResult().isNonLocal() &&
+<a name="l01219"></a>01219              <span class="stringliteral">"Should only be here with transparent block"</span>);
+<a name="l01220"></a>01220       <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->setResult(<a class="code" href="classllvm_1_1MemDepResult.html#a87800772e5bbce0b8e0cb23b54e47f58">MemDepResult::getUnknown</a>());
+<a name="l01221"></a>01221       Result.push_back(<a class="code" href="classllvm_1_1NonLocalDepResult.html">NonLocalDepResult</a>(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getBB(), <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->getResult(),
+<a name="l01222"></a>01222                                          Pointer.<a class="code" href="classllvm_1_1PHITransAddr.html#af60a67af0b2069b0bd4206378e2af814">getAddr</a>()));
+<a name="l01223"></a>01223       <span class="keywordflow">break</span>;
+<a name="l01224"></a>01224     }
+<a name="l01225"></a>01225   }
+<a name="l01226"></a>01226 
+<a name="l01227"></a>01227   <span class="comment">// Okay, we're done now.  If we added new values to the cache, re-sort it.</span>
+<a name="l01228"></a>01228   <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a2a5b2ca7088c06272319b7718936c88b">SortNonLocalDepInfoCache</a>(*Cache, NumSortedEntries);
+<a name="l01229"></a>01229   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="MemoryDependenceAnalysis_8cpp.html#a99998ec12f1359427a3d20c43a27d1f1">AssertSorted</a>(*Cache));
+<a name="l01230"></a>01230   <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l01231"></a>01231 }
+<a name="l01232"></a>01232 <span class="comment"></span>
+<a name="l01233"></a>01233 <span class="comment">/// RemoveCachedNonLocalPointerDependencies - If P exists in</span>
+<a name="l01234"></a>01234 <span class="comment">/// CachedNonLocalPointerInfo, remove it.</span>
+<a name="l01235"></a>01235 <span class="comment"></span><span class="keywordtype">void</span> MemoryDependenceAnalysis::
+<a name="l01236"></a>01236 RemoveCachedNonLocalPointerDependencies(ValueIsLoadPair P) {
+<a name="l01237"></a>01237   <a class="code" href="classllvm_1_1DenseMapBase.html#a8929cfa18b37b789368a620e9577bb90">CachedNonLocalPointerInfo::iterator</a> It = 
+<a name="l01238"></a>01238     NonLocalPointerDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a21cf94357e53cd1069aba475266fdb63">find</a>(P);
+<a name="l01239"></a>01239   <span class="keywordflow">if</span> (It == NonLocalPointerDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>()) <span class="keywordflow">return</span>;
+<a name="l01240"></a>01240   
+<a name="l01241"></a>01241   <span class="comment">// Remove all of the entries in the BB->val map.  This involves removing</span>
+<a name="l01242"></a>01242   <span class="comment">// instructions from the reverse map.</span>
+<a name="l01243"></a>01243   <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a> &PInfo = It->second.NonLocalDeps;
+<a name="l01244"></a>01244   
+<a name="l01245"></a>01245   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = PInfo.size(); i != e; ++i) {
+<a name="l01246"></a>01246     <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *<a class="code" href="classllvm_1_1Target.html">Target</a> = PInfo[i].getResult().getInst();
+<a name="l01247"></a>01247     <span class="keywordflow">if</span> (Target == 0) <span class="keywordflow">continue</span>;  <span class="comment">// Ignore non-local dep results.</span>
+<a name="l01248"></a>01248     assert(Target-><a class="code" href="classllvm_1_1Instruction.html#a9cd49851904f15060edb782ef4dd1b2d">getParent</a>() == PInfo[i].getBB());
+<a name="l01249"></a>01249     
+<a name="l01250"></a>01250     <span class="comment">// Eliminating the dirty entry from 'Cache', so update the reverse info.</span>
+<a name="l01251"></a>01251     <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">RemoveFromReverseMap</a>(ReverseNonLocalPtrDeps, Target, P);
+<a name="l01252"></a>01252   }
+<a name="l01253"></a>01253   
+<a name="l01254"></a>01254   <span class="comment">// Remove P from NonLocalPointerDeps (which deletes NonLocalDepInfo).</span>
+<a name="l01255"></a>01255   NonLocalPointerDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a269c7b8adcd29645a4f901196fc08806">erase</a>(It);
+<a name="l01256"></a>01256 }
+<a name="l01257"></a>01257 
+<a name="l01258"></a>01258 <span class="comment"></span>
+<a name="l01259"></a>01259 <span class="comment">/// invalidateCachedPointerInfo - This method is used to invalidate cached</span>
+<a name="l01260"></a>01260 <span class="comment">/// information about the specified pointer, because it may be too</span>
+<a name="l01261"></a>01261 <span class="comment">/// conservative in memdep.  This is an optional call that can be used when</span>
+<a name="l01262"></a>01262 <span class="comment">/// the client detects an equivalence between the pointer and some other</span>
+<a name="l01263"></a>01263 <span class="comment">/// value and replaces the other value with ptr. This can make Ptr available</span>
+<a name="l01264"></a>01264 <span class="comment">/// in more places that cached info does not necessarily keep.</span>
+<a name="l01265"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a8a98b3bbfad709f98b2fbb843e87a0e7">01265</a> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a8a98b3bbfad709f98b2fbb843e87a0e7">MemoryDependenceAnalysis::invalidateCachedPointerInfo</a>(<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *Ptr) {
+<a name="l01266"></a>01266   <span class="comment">// If Ptr isn't really a pointer, just ignore it.</span>
+<a name="l01267"></a>01267   <span class="keywordflow">if</span> (!Ptr-><a class="code" href="classllvm_1_1Value.html#a0cf3748dba54f931bb1241ae4adc76bc">getType</a>()-><a class="code" href="classllvm_1_1Type.html#a2eba483f5cc876e824aa6c085736086b">isPointerTy</a>()) <span class="keywordflow">return</span>;
+<a name="l01268"></a>01268   <span class="comment">// Flush store info for the pointer.</span>
+<a name="l01269"></a>01269   RemoveCachedNonLocalPointerDependencies(<a class="code" href="classllvm_1_1PointerIntPair.html">ValueIsLoadPair</a>(Ptr, <span class="keyword">false</span>));
+<a name="l01270"></a>01270   <span class="comment">// Flush load info for the pointer.</span>
+<a name="l01271"></a>01271   RemoveCachedNonLocalPointerDependencies(<a class="code" href="classllvm_1_1PointerIntPair.html">ValueIsLoadPair</a>(Ptr, <span class="keyword">true</span>));
+<a name="l01272"></a>01272 }
+<a name="l01273"></a>01273 <span class="comment"></span>
+<a name="l01274"></a>01274 <span class="comment">/// invalidateCachedPredecessors - Clear the PredIteratorCache info.</span>
+<a name="l01275"></a>01275 <span class="comment">/// This needs to be done when the CFG changes, e.g., due to splitting</span>
+<a name="l01276"></a>01276 <span class="comment">/// critical edges.</span>
+<a name="l01277"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a7cd615a3d4ee5a8272d3fe4411c11185">01277</a> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a7cd615a3d4ee5a8272d3fe4411c11185">MemoryDependenceAnalysis::invalidateCachedPredecessors</a>() {
+<a name="l01278"></a>01278   PredCache->clear();
+<a name="l01279"></a>01279 }
+<a name="l01280"></a>01280 <span class="comment"></span>
+<a name="l01281"></a>01281 <span class="comment">/// removeInstruction - Remove an instruction from the dependence analysis,</span>
+<a name="l01282"></a>01282 <span class="comment">/// updating the dependence of instructions that previously depended on it.</span>
+<a name="l01283"></a>01283 <span class="comment">/// This method attempts to keep the cache coherent using the reverse map.</span>
+<a name="l01284"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ad400b0aba217fdd5a826f50204b5d7c0">01284</a> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ad400b0aba217fdd5a826f50204b5d7c0">MemoryDependenceAnalysis::removeInstruction</a>(<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *RemInst) {
+<a name="l01285"></a>01285   <span class="comment">// Walk through the Non-local dependencies, removing this one as the value</span>
+<a name="l01286"></a>01286   <span class="comment">// for any cached queries.</span>
+<a name="l01287"></a>01287   <a class="code" href="classllvm_1_1DenseMapIterator.html">NonLocalDepMapType::iterator</a> NLDI = NonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a21cf94357e53cd1069aba475266fdb63">find</a>(RemInst);
+<a name="l01288"></a>01288   <span class="keywordflow">if</span> (NLDI != NonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>()) {
+<a name="l01289"></a>01289     <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a> &BlockMap = NLDI->second.first;
+<a name="l01290"></a>01290     <span class="keywordflow">for</span> (NonLocalDepInfo::iterator DI = BlockMap.begin(), <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a> = BlockMap.end();
+<a name="l01291"></a>01291          DI != <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a>; ++DI)
+<a name="l01292"></a>01292       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = DI->getResult().getInst())
+<a name="l01293"></a>01293         <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">RemoveFromReverseMap</a>(ReverseNonLocalDeps, Inst, RemInst);
+<a name="l01294"></a>01294     NonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a269c7b8adcd29645a4f901196fc08806">erase</a>(NLDI);
+<a name="l01295"></a>01295   }
+<a name="l01296"></a>01296 
+<a name="l01297"></a>01297   <span class="comment">// If we have a cached local dependence query for this instruction, remove it.</span>
+<a name="l01298"></a>01298   <span class="comment">//</span>
+<a name="l01299"></a>01299   <a class="code" href="classllvm_1_1DenseMapIterator.html">LocalDepMapType::iterator</a> LocalDepEntry = LocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a21cf94357e53cd1069aba475266fdb63">find</a>(RemInst);
+<a name="l01300"></a>01300   <span class="keywordflow">if</span> (LocalDepEntry != LocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>()) {
+<a name="l01301"></a>01301     <span class="comment">// Remove us from DepInst's reverse set now that the local dep info is gone.</span>
+<a name="l01302"></a>01302     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst = LocalDepEntry->second.getInst())
+<a name="l01303"></a>01303       <a class="code" href="MemoryDependenceAnalysis_8cpp.html#a90f6ea490b2dda15f00cf09a9c5cd98d">RemoveFromReverseMap</a>(ReverseLocalDeps, Inst, RemInst);
+<a name="l01304"></a>01304 
+<a name="l01305"></a>01305     <span class="comment">// Remove this local dependency info.</span>
+<a name="l01306"></a>01306     LocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a269c7b8adcd29645a4f901196fc08806">erase</a>(LocalDepEntry);
+<a name="l01307"></a>01307   }
+<a name="l01308"></a>01308   
+<a name="l01309"></a>01309   <span class="comment">// If we have any cached pointer dependencies on this instruction, remove</span>
+<a name="l01310"></a>01310   <span class="comment">// them.  If the instruction has non-pointer type, then it can't be a pointer</span>
+<a name="l01311"></a>01311   <span class="comment">// base.</span>
+<a name="l01312"></a>01312   
+<a name="l01313"></a>01313   <span class="comment">// Remove it from both the load info and the store info.  The instruction</span>
+<a name="l01314"></a>01314   <span class="comment">// can't be in either of these maps if it is non-pointer.</span>
+<a name="l01315"></a>01315   <span class="keywordflow">if</span> (RemInst-><a class="code" href="classllvm_1_1Value.html#a0cf3748dba54f931bb1241ae4adc76bc">getType</a>()-><a class="code" href="classllvm_1_1Type.html#a2eba483f5cc876e824aa6c085736086b">isPointerTy</a>()) {
+<a name="l01316"></a>01316     RemoveCachedNonLocalPointerDependencies(<a class="code" href="classllvm_1_1PointerIntPair.html">ValueIsLoadPair</a>(RemInst, <span class="keyword">false</span>));
+<a name="l01317"></a>01317     RemoveCachedNonLocalPointerDependencies(<a class="code" href="classllvm_1_1PointerIntPair.html">ValueIsLoadPair</a>(RemInst, <span class="keyword">true</span>));
+<a name="l01318"></a>01318   }
+<a name="l01319"></a>01319   
+<a name="l01320"></a>01320   <span class="comment">// Loop over all of the things that depend on the instruction we're removing.</span>
+<a name="l01321"></a>01321   <span class="comment">// </span>
+<a name="l01322"></a>01322   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<std::pair<Instruction*, Instruction*></a>, 8> ReverseDepsToAdd;
+<a name="l01323"></a>01323 
+<a name="l01324"></a>01324   <span class="comment">// If we find RemInst as a clobber or Def in any of the maps for other values,</span>
+<a name="l01325"></a>01325   <span class="comment">// we need to replace its entry with a dirty version of the instruction after</span>
+<a name="l01326"></a>01326   <span class="comment">// it.  If RemInst is a terminator, we use a null dirty value.</span>
+<a name="l01327"></a>01327   <span class="comment">//</span>
+<a name="l01328"></a>01328   <span class="comment">// Using a dirty version of the instruction after RemInst saves having to scan</span>
+<a name="l01329"></a>01329   <span class="comment">// the entire block to get to this point.</span>
+<a name="l01330"></a>01330   <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> NewDirtyVal;
+<a name="l01331"></a>01331   <span class="keywordflow">if</span> (!RemInst-><a class="code" href="classllvm_1_1Instruction.html#a237e6bf58bc993ea494bdde7480ca428">isTerminator</a>())
+<a name="l01332"></a>01332     NewDirtyVal = MemDepResult::getDirty(++<a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a>(RemInst));
+<a name="l01333"></a>01333   
+<a name="l01334"></a>01334   <a class="code" href="classllvm_1_1DenseMapIterator.html">ReverseDepMapType::iterator</a> ReverseDepIt = ReverseLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a21cf94357e53cd1069aba475266fdb63">find</a>(RemInst);
+<a name="l01335"></a>01335   <span class="keywordflow">if</span> (ReverseDepIt != ReverseLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>()) {
+<a name="l01336"></a>01336     <a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<Instruction*, 4></a> &ReverseDeps = ReverseDepIt->second;
+<a name="l01337"></a>01337     <span class="comment">// RemInst can't be the terminator if it has local stuff depending on it.</span>
+<a name="l01338"></a>01338     assert(!ReverseDeps.<a class="code" href="classllvm_1_1SmallPtrSetImpl.html#a956ca8bb95132e0131135d47a2d1f255">empty</a>() && !isa<TerminatorInst>(RemInst) &&
+<a name="l01339"></a>01339            <span class="stringliteral">"Nothing can locally depend on a terminator"</span>);
+<a name="l01340"></a>01340     
+<a name="l01341"></a>01341     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<Instruction*, 4>::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = ReverseDeps.<a class="code" href="classllvm_1_1SmallPtrSet.html#a669d599eeacffd29a09050e2af83bf67">begin</a>(),
+<a name="l01342"></a>01342          E = ReverseDeps.<a class="code" href="classllvm_1_1SmallPtrSet.html#a7f055d0b03ebf1d6a5988b178e9b8f4f">end</a>(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01343"></a>01343       <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *InstDependingOnRemInst = *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>;
+<a name="l01344"></a>01344       assert(InstDependingOnRemInst != RemInst &&
+<a name="l01345"></a>01345              <span class="stringliteral">"Already removed our local dep info"</span>);
+<a name="l01346"></a>01346                         
+<a name="l01347"></a>01347       LocalDeps[InstDependingOnRemInst] = NewDirtyVal;
+<a name="l01348"></a>01348       
+<a name="l01349"></a>01349       <span class="comment">// Make sure to remember that new things depend on NewDepInst.</span>
+<a name="l01350"></a>01350       assert(NewDirtyVal.<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>() && <span class="stringliteral">"There is no way something else can have "</span>
+<a name="l01351"></a>01351              <span class="stringliteral">"a local dep on this if it is a terminator!"</span>);
+<a name="l01352"></a>01352       ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(std::make_pair(NewDirtyVal.<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>(), 
+<a name="l01353"></a>01353                                                 InstDependingOnRemInst));
+<a name="l01354"></a>01354     }
+<a name="l01355"></a>01355     
+<a name="l01356"></a>01356     ReverseLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a269c7b8adcd29645a4f901196fc08806">erase</a>(ReverseDepIt);
+<a name="l01357"></a>01357 
+<a name="l01358"></a>01358     <span class="comment">// Add new reverse deps after scanning the set, to avoid invalidating the</span>
+<a name="l01359"></a>01359     <span class="comment">// 'ReverseDeps' reference.</span>
+<a name="l01360"></a>01360     <span class="keywordflow">while</span> (!ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorBase.html#afdecfccba9b1fd8c9fd8eb27ae69e9a0">empty</a>()) {
+<a name="l01361"></a>01361       ReverseLocalDeps[ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#acd9e771a3296c6b24146955754620557">back</a>().first]
+<a name="l01362"></a>01362         .<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#acd9e771a3296c6b24146955754620557">back</a>().second);
+<a name="l01363"></a>01363       ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#a1f2303df9bbee2233c11d61c2f6f7930">pop_back</a>();
+<a name="l01364"></a>01364     }
+<a name="l01365"></a>01365   }
+<a name="l01366"></a>01366   
+<a name="l01367"></a>01367   ReverseDepIt = ReverseNonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a21cf94357e53cd1069aba475266fdb63">find</a>(RemInst);
+<a name="l01368"></a>01368   <span class="keywordflow">if</span> (ReverseDepIt != ReverseNonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>()) {
+<a name="l01369"></a>01369     <a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<Instruction*, 4></a> &Set = ReverseDepIt->second;
+<a name="l01370"></a>01370     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<Instruction*, 4>::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Set.<a class="code" href="classllvm_1_1SmallPtrSet.html#a669d599eeacffd29a09050e2af83bf67">begin</a>(), E = Set.<a class="code" href="classllvm_1_1SmallPtrSet.html#a7f055d0b03ebf1d6a5988b178e9b8f4f">end</a>();
+<a name="l01371"></a>01371          <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01372"></a>01372       assert(*<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != RemInst && <span class="stringliteral">"Already removed NonLocalDep info for RemInst"</span>);
+<a name="l01373"></a>01373       
+<a name="l01374"></a>01374       PerInstNLInfo &INLD = NonLocalDeps[*<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>];
+<a name="l01375"></a>01375       <span class="comment">// The information is now dirty!</span>
+<a name="l01376"></a>01376       INLD.second = <span class="keyword">true</span>;
+<a name="l01377"></a>01377       
+<a name="l01378"></a>01378       <span class="keywordflow">for</span> (NonLocalDepInfo::iterator DI = INLD.first.begin(), 
+<a name="l01379"></a>01379            <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a> = INLD.first.end(); DI != <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a>; ++DI) {
+<a name="l01380"></a>01380         <span class="keywordflow">if</span> (DI->getResult().getInst() != RemInst) <span class="keywordflow">continue</span>;
+<a name="l01381"></a>01381         
+<a name="l01382"></a>01382         <span class="comment">// Convert to a dirty entry for the subsequent instruction.</span>
+<a name="l01383"></a>01383         DI->setResult(NewDirtyVal);
+<a name="l01384"></a>01384         
+<a name="l01385"></a>01385         <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *NextI = NewDirtyVal.<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>())
+<a name="l01386"></a>01386           ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(std::make_pair(NextI, *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>));
+<a name="l01387"></a>01387       }
+<a name="l01388"></a>01388     }
+<a name="l01389"></a>01389 
+<a name="l01390"></a>01390     ReverseNonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a269c7b8adcd29645a4f901196fc08806">erase</a>(ReverseDepIt);
+<a name="l01391"></a>01391 
+<a name="l01392"></a>01392     <span class="comment">// Add new reverse deps after scanning the set, to avoid invalidating 'Set'</span>
+<a name="l01393"></a>01393     <span class="keywordflow">while</span> (!ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorBase.html#afdecfccba9b1fd8c9fd8eb27ae69e9a0">empty</a>()) {
+<a name="l01394"></a>01394       ReverseNonLocalDeps[ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#acd9e771a3296c6b24146955754620557">back</a>().first]
+<a name="l01395"></a>01395         .<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#acd9e771a3296c6b24146955754620557">back</a>().second);
+<a name="l01396"></a>01396       ReverseDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#a1f2303df9bbee2233c11d61c2f6f7930">pop_back</a>();
+<a name="l01397"></a>01397     }
+<a name="l01398"></a>01398   }
+<a name="l01399"></a>01399   
+<a name="l01400"></a>01400   <span class="comment">// If the instruction is in ReverseNonLocalPtrDeps then it appears as a</span>
+<a name="l01401"></a>01401   <span class="comment">// value in the NonLocalPointerDeps info.</span>
+<a name="l01402"></a>01402   <a class="code" href="classllvm_1_1DenseMapIterator.html">ReverseNonLocalPtrDepTy::iterator</a> ReversePtrDepIt =
+<a name="l01403"></a>01403     ReverseNonLocalPtrDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a21cf94357e53cd1069aba475266fdb63">find</a>(RemInst);
+<a name="l01404"></a>01404   <span class="keywordflow">if</span> (ReversePtrDepIt != ReverseNonLocalPtrDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>()) {
+<a name="l01405"></a>01405     <a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<ValueIsLoadPair, 4></a> &Set = ReversePtrDepIt->second;
+<a name="l01406"></a>01406     <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<std::pair<Instruction*, ValueIsLoadPair></a>,8> ReversePtrDepsToAdd;
+<a name="l01407"></a>01407     
+<a name="l01408"></a>01408     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallPtrSetIterator.html" title="SmallPtrSetIterator - This implements a const_iterator for SmallPtrSet.">SmallPtrSet<ValueIsLoadPair, 4>::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Set.<a class="code" href="classllvm_1_1SmallPtrSet.html#a669d599eeacffd29a09050e2af83bf67">begin</a>(),
+<a name="l01409"></a>01409          E = Set.<a class="code" href="classllvm_1_1SmallPtrSet.html#a7f055d0b03ebf1d6a5988b178e9b8f4f">end</a>(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01410"></a>01410       <a class="code" href="classllvm_1_1PointerIntPair.html">ValueIsLoadPair</a> P = *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>;
+<a name="l01411"></a>01411       assert(P.<a class="code" href="classllvm_1_1PointerIntPair.html#a2aafa035d16eddeaadc40efbf8c721e5">getPointer</a>() != RemInst &&
+<a name="l01412"></a>01412              <span class="stringliteral">"Already removed NonLocalPointerDeps info for RemInst"</span>);
+<a name="l01413"></a>01413       
+<a name="l01414"></a>01414       <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a> &NLPDI = NonLocalPointerDeps[P].NonLocalDeps;
+<a name="l01415"></a>01415       
+<a name="l01416"></a>01416       <span class="comment">// The cache is not valid for any specific block anymore.</span>
+<a name="l01417"></a>01417       NonLocalPointerDeps[P].Pair = <a class="code" href="classllvm_1_1PointerIntPair.html">BBSkipFirstBlockPair</a>();
+<a name="l01418"></a>01418       
+<a name="l01419"></a>01419       <span class="comment">// Update any entries for RemInst to use the instruction after it.</span>
+<a name="l01420"></a>01420       <span class="keywordflow">for</span> (NonLocalDepInfo::iterator DI = NLPDI.begin(), <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a> = NLPDI.end();
+<a name="l01421"></a>01421            DI != <a class="code" href="namespacellvm_1_1X86II.html#acd283bc8136a594505ec483f4a1cc933a2c6497f6ed5314c6fcd9ab88c9528543">DE</a>; ++DI) {
+<a name="l01422"></a>01422         <span class="keywordflow">if</span> (DI->getResult().getInst() != RemInst) <span class="keywordflow">continue</span>;
+<a name="l01423"></a>01423         
+<a name="l01424"></a>01424         <span class="comment">// Convert to a dirty entry for the subsequent instruction.</span>
+<a name="l01425"></a>01425         DI->setResult(NewDirtyVal);
+<a name="l01426"></a>01426         
+<a name="l01427"></a>01427         <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *NewDirtyInst = NewDirtyVal.<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>())
+<a name="l01428"></a>01428           ReversePtrDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(std::make_pair(NewDirtyInst, P));
+<a name="l01429"></a>01429       }
+<a name="l01430"></a>01430       
+<a name="l01431"></a>01431       <span class="comment">// Re-sort the NonLocalDepInfo.  Changing the dirty entry to its</span>
+<a name="l01432"></a>01432       <span class="comment">// subsequent value may invalidate the sortedness.</span>
+<a name="l01433"></a>01433       std::sort(NLPDI.begin(), NLPDI.end());
+<a name="l01434"></a>01434     }
+<a name="l01435"></a>01435     
+<a name="l01436"></a>01436     ReverseNonLocalPtrDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a269c7b8adcd29645a4f901196fc08806">erase</a>(ReversePtrDepIt);
+<a name="l01437"></a>01437     
+<a name="l01438"></a>01438     <span class="keywordflow">while</span> (!ReversePtrDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorBase.html#afdecfccba9b1fd8c9fd8eb27ae69e9a0">empty</a>()) {
+<a name="l01439"></a>01439       ReverseNonLocalPtrDeps[ReversePtrDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#acd9e771a3296c6b24146955754620557">back</a>().first]
+<a name="l01440"></a>01440         .<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(ReversePtrDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#acd9e771a3296c6b24146955754620557">back</a>().second);
+<a name="l01441"></a>01441       ReversePtrDepsToAdd.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#a1f2303df9bbee2233c11d61c2f6f7930">pop_back</a>();
+<a name="l01442"></a>01442     }
+<a name="l01443"></a>01443   }
+<a name="l01444"></a>01444   
+<a name="l01445"></a>01445   
+<a name="l01446"></a>01446   assert(!NonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a4efb46d4834f6f750ae0649ed89ce44c" title="count - Return true if the specified key is in the map.">count</a>(RemInst) && <span class="stringliteral">"RemInst got reinserted?"</span>);
+<a name="l01447"></a>01447   AA-><a class="code" href="classllvm_1_1AliasAnalysis.html#a2fc1bfe12fa3756cb293da322a3a0454">deleteValue</a>(RemInst);
+<a name="l01448"></a>01448   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(verifyRemoved(RemInst));
+<a name="l01449"></a>01449 }<span class="comment"></span>
+<a name="l01450"></a>01450 <span class="comment">/// verifyRemoved - Verify that the specified instruction does not occur</span>
+<a name="l01451"></a>01451 <span class="comment">/// in our internal data structures.</span>
+<a name="l01452"></a>01452 <span class="comment"></span><span class="keywordtype">void</span> MemoryDependenceAnalysis::verifyRemoved(<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *D)<span class="keyword"> const </span>{
+<a name="l01453"></a>01453   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1DenseMapBase.html#ae71218e8116c9ba6cd428a58f1df19da">LocalDepMapType::const_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = LocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a432d7e955f44b118b4261eae03d7a8af">begin</a>(),
+<a name="l01454"></a>01454        E = LocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01455"></a>01455     assert(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->first != D && <span class="stringliteral">"Inst occurs in data structures"</span>);
+<a name="l01456"></a>01456     assert(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->second.getInst() != D &&
+<a name="l01457"></a>01457            <span class="stringliteral">"Inst occurs in data structures"</span>);
+<a name="l01458"></a>01458   }
+<a name="l01459"></a>01459   
+<a name="l01460"></a>01460   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1DenseMapBase.html#ae71218e8116c9ba6cd428a58f1df19da">CachedNonLocalPointerInfo::const_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> =NonLocalPointerDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a432d7e955f44b118b4261eae03d7a8af">begin</a>(),
+<a name="l01461"></a>01461        E = NonLocalPointerDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01462"></a>01462     assert(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->first.getPointer() != D && <span class="stringliteral">"Inst occurs in NLPD map key"</span>);
+<a name="l01463"></a>01463     <span class="keyword">const</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a> &Val = <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->second.NonLocalDeps;
+<a name="l01464"></a>01464     <span class="keywordflow">for</span> (NonLocalDepInfo::const_iterator II = Val.begin(), E = Val.end();
+<a name="l01465"></a>01465          II != E; ++II)
+<a name="l01466"></a>01466       assert(II->getResult().getInst() != D && <span class="stringliteral">"Inst occurs as NLPD value"</span>);
+<a name="l01467"></a>01467   }
+<a name="l01468"></a>01468   
+<a name="l01469"></a>01469   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1DenseMapBase.html#ae71218e8116c9ba6cd428a58f1df19da">NonLocalDepMapType::const_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = NonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a432d7e955f44b118b4261eae03d7a8af">begin</a>(),
+<a name="l01470"></a>01470        E = NonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01471"></a>01471     assert(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->first != D && <span class="stringliteral">"Inst occurs in data structures"</span>);
+<a name="l01472"></a>01472     <span class="keyword">const</span> PerInstNLInfo &INLD = <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->second;
+<a name="l01473"></a>01473     <span class="keywordflow">for</span> (NonLocalDepInfo::const_iterator II = INLD.first.begin(),
+<a name="l01474"></a>01474          EE = INLD.first.end(); II  != EE; ++II)
+<a name="l01475"></a>01475       assert(II->getResult().getInst() != D && <span class="stringliteral">"Inst occurs in data structures"</span>);
+<a name="l01476"></a>01476   }
+<a name="l01477"></a>01477   
+<a name="l01478"></a>01478   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1DenseMapBase.html#ae71218e8116c9ba6cd428a58f1df19da">ReverseDepMapType::const_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = ReverseLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a432d7e955f44b118b4261eae03d7a8af">begin</a>(),
+<a name="l01479"></a>01479        E = ReverseLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01480"></a>01480     assert(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->first != D && <span class="stringliteral">"Inst occurs in data structures"</span>);
+<a name="l01481"></a>01481     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<Instruction*, 4>::const_iterator</a> II = <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->second.begin(),
+<a name="l01482"></a>01482          EE = <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->second.end(); II != EE; ++II)
+<a name="l01483"></a>01483       assert(*II != D && <span class="stringliteral">"Inst occurs in data structures"</span>);
+<a name="l01484"></a>01484   }
+<a name="l01485"></a>01485   
+<a name="l01486"></a>01486   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1DenseMapBase.html#ae71218e8116c9ba6cd428a58f1df19da">ReverseDepMapType::const_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = ReverseNonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a432d7e955f44b118b4261eae03d7a8af">begin</a>(),
+<a name="l01487"></a>01487        E = ReverseNonLocalDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>();
+<a name="l01488"></a>01488        <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01489"></a>01489     assert(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->first != D && <span class="stringliteral">"Inst occurs in data structures"</span>);
+<a name="l01490"></a>01490     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<Instruction*, 4>::const_iterator</a> II = <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->second.begin(),
+<a name="l01491"></a>01491          EE = <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->second.end(); II != EE; ++II)
+<a name="l01492"></a>01492       assert(*II != D && <span class="stringliteral">"Inst occurs in data structures"</span>);
+<a name="l01493"></a>01493   }
+<a name="l01494"></a>01494   
+<a name="l01495"></a>01495   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1DenseMapBase.html#ae71218e8116c9ba6cd428a58f1df19da">ReverseNonLocalPtrDepTy::const_iterator</a>
+<a name="l01496"></a>01496        <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = ReverseNonLocalPtrDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a432d7e955f44b118b4261eae03d7a8af">begin</a>(),
+<a name="l01497"></a>01497        E = ReverseNonLocalPtrDeps.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01498"></a>01498     assert(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->first != D && <span class="stringliteral">"Inst occurs in rev NLPD map"</span>);
+<a name="l01499"></a>01499     
+<a name="l01500"></a>01500     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallPtrSetIterator.html" title="SmallPtrSetIterator - This implements a const_iterator for SmallPtrSet.">SmallPtrSet<ValueIsLoadPair, 4>::const_iterator</a> II = <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->second.begin(),
+<a name="l01501"></a>01501          E = <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->second.end(); II != E; ++II)
+<a name="l01502"></a>01502       assert(*II != ValueIsLoadPair(D, <span class="keyword">false</span>) &&
+<a name="l01503"></a>01503              *II != ValueIsLoadPair(D, <span class="keyword">true</span>) &&
+<a name="l01504"></a>01504              <span class="stringliteral">"Inst occurs in ReverseNonLocalPtrDeps map"</span>);
+<a name="l01505"></a>01505   }
+<a name="l01506"></a>01506   
+<a name="l01507"></a>01507 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:35:58 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,8 @@
+<map id="G" name="G">
+<area shape="rect" href="$MemDepPrinter_8cpp.html" title="MemDepPrinter.cpp" alt="" coords="5,84,152,111"/>
+<area shape="rect" href="$MemoryDependenceAnalysis_8cpp.html" title="MemoryDependenceAnalysis.cpp" alt="" coords="176,84,408,111"/>
+<area shape="rect" href="$DeadStoreElimination_8cpp.html" title="DeadStoreElimination.cpp" alt="" coords="432,84,619,111"/>
+<area shape="rect" href="$GVN_8cpp.html" title="GVN.cpp" alt="" coords="643,84,720,111"/>
+<area shape="rect" href="$MemCpyOptimizer_8cpp.html" title="MemCpyOptimizer.cpp" alt="" coords="744,84,909,111"/>
+<area shape="rect" href="$BasicBlockUtils_8cpp.html" title="BasicBlockUtils.cpp" alt="" coords="933,84,1077,111"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__dep__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__dep__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__dep__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__dep__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+5e519698a3e0acb588c683764a5d8a22
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,171 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MemoryDependenceAnalysis.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="llvm/BasicBlock.h",height=0.2,width=0.4,color="black",URL="$BasicBlock_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/Instruction.h",height=0.2,width=0.4,color="black",URL="$Instruction_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/User.h",height=0.2,width=0.4,color="black",URL="$User_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node5 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node5 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="red",URL="$StringRef_8h.html"];
+  Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_8h.html"];
+  Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="llvm/Value.h",height=0.2,width=0.4,color="red",URL="$Value_8h.html"];
+  Node20 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/Use.h",height=0.2,width=0.4,color="black",URL="$Use_8h.html"];
+  Node21 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="llvm/ADT/PointerIntPair.h",height=0.2,width=0.4,color="black",URL="$PointerIntPair_8h.html"];
+  Node22 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="llvm/Support/PointerLikeTypeTraits.h",height=0.2,width=0.4,color="black",URL="$PointerLikeTypeTraits_8h.html"];
+  Node23 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node20 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="llvm/ADT/ilist_node.h",height=0.2,width=0.4,color="black",URL="$ilist__node_8h.html"];
+  Node3 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/Support/DebugLoc.h",height=0.2,width=0.4,color="black",URL="$DebugLoc_8h.html"];
+  Node3 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/Instruction.def",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="llvm/SymbolTableListTraits.h",height=0.2,width=0.4,color="black",URL="$SymbolTableListTraits_8h.html"];
+  Node28 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/ADT/ilist.h",height=0.2,width=0.4,color="black",URL="$ilist_8h.html"];
+  Node29 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/ADT/Twine.h",height=0.2,width=0.4,color="black",URL="$Twine_8h.html"];
+  Node30 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/Pass.h",height=0.2,width=0.4,color="black",URL="$Pass_8h.html"];
+  Node31 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/PassSupport.h",height=0.2,width=0.4,color="black",URL="$PassSupport_8h.html"];
+  Node32 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/PassRegistry.h",height=0.2,width=0.4,color="black",URL="$PassRegistry_8h.html"];
+  Node33 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/InitializePasses.h",height=0.2,width=0.4,color="black",URL="$InitializePasses_8h.html"];
+  Node32 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/Support/Atomic.h",height=0.2,width=0.4,color="black",URL="$Atomic_8h.html"];
+  Node35 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/Support/Valgrind.h",height=0.2,width=0.4,color="red",URL="$Valgrind_8h.html"];
+  Node36 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node31 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/PassAnalysisSupport.h",height=0.2,width=0.4,color="black",URL="$PassAnalysisSupport_8h.html"];
+  Node38 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="red",URL="$SmallVector_8h.html"];
+  Node39 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_8h.html"];
+  Node40 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/Support/ValueHandle.h",height=0.2,width=0.4,color="black",URL="$ValueHandle_8h.html"];
+  Node41 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/ADT/DenseMapInfo.h",height=0.2,width=0.4,color="black",URL="$DenseMapInfo_8h.html"];
+  Node42 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/Analysis/AliasAnalysis.h",height=0.2,width=0.4,color="black",URL="$AliasAnalysis_8h.html"];
+  Node43 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/Support/CallSite.h",height=0.2,width=0.4,color="red",URL="$CallSite_8h.html"];
+  Node44 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="black",URL="$DenseMap_8h.html"];
+  Node45 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/Support/MathExtras.h",height=0.2,width=0.4,color="red",URL="$MathExtras_8h.html"];
+  Node45 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="new",height=0.2,width=0.4,color="grey75"];
+  Node45 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="climits",height=0.2,width=0.4,color="grey75"];
+  Node45 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/ADT/SmallPtrSet.h",height=0.2,width=0.4,color="black",URL="$SmallPtrSet_8h.html"];
+  Node49 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="llvm/ADT/OwningPtr.h",height=0.2,width=0.4,color="black",URL="$OwningPtr_8h.html"];
+  Node50 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MemoryDependenceAnalysis_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,498 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MemoryDependenceAnalysis.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_25acc6571c4e3a053ee4203146b47a61.html">include</a>      </li>
+      <li class="navelem"><a class="el" href="dir_fd2d7b5ce83b1c1657cd6600d8cb39fa.html">llvm</a>      </li>
+      <li class="navelem"><a class="el" href="dir_a884da034f1b4859d4f2a35ae0ac2045.html">Analysis</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">MemoryDependenceAnalysis.h</div>  </div>
+</div>
+<div class="contents">
+<a href="MemoryDependenceAnalysis_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===- llvm/Analysis/MemoryDependenceAnalysis.h - Memory Deps  --*- C++ -*-===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 <span class="comment">//</span>
+<a name="l00010"></a>00010 <span class="comment">// This file defines the MemoryDependenceAnalysis analysis pass.</span>
+<a name="l00011"></a>00011 <span class="comment">//</span>
+<a name="l00012"></a>00012 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00013"></a>00013 
+<a name="l00014"></a>00014 <span class="preprocessor">#ifndef LLVM_ANALYSIS_MEMORY_DEPENDENCE_H</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define LLVM_ANALYSIS_MEMORY_DEPENDENCE_H</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="BasicBlock_8h.html">llvm/BasicBlock.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="Pass_8h.html">llvm/Pass.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="ValueHandle_8h.html">llvm/Support/ValueHandle.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="AliasAnalysis_8h.html">llvm/Analysis/AliasAnalysis.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="DenseMap_8h.html">llvm/ADT/DenseMap.h</a>"</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="SmallPtrSet_8h.html">llvm/ADT/SmallPtrSet.h</a>"</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="OwningPtr_8h.html">llvm/ADT/OwningPtr.h</a>"</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="PointerIntPair_8h.html">llvm/ADT/PointerIntPair.h</a>"</span>
+<a name="l00025"></a>00025 
+<a name="l00026"></a>00026 <span class="keyword">namespace </span>llvm {
+<a name="l00027"></a>00027   <span class="keyword">class </span>Function;
+<a name="l00028"></a>00028   <span class="keyword">class </span>FunctionPass;
+<a name="l00029"></a>00029   <span class="keyword">class </span>Instruction;
+<a name="l00030"></a>00030   <span class="keyword">class </span>CallSite;
+<a name="l00031"></a>00031   <span class="keyword">class </span><a class="code" href="BasicAliasAnalysis_8cpp.html#ad1b77598f771e74506b28a6ead5aa535">AliasAnalysis</a>;
+<a name="l00032"></a>00032   <span class="keyword">class </span>DataLayout;
+<a name="l00033"></a>00033   <span class="keyword">class </span>MemoryDependenceAnalysis;
+<a name="l00034"></a>00034   <span class="keyword">class </span>PredIteratorCache;
+<a name="l00035"></a>00035   <span class="keyword">class </span>DominatorTree;
+<a name="l00036"></a>00036   <span class="keyword">class </span>PHITransAddr;
+<a name="l00037"></a>00037   <span class="comment"></span>
+<a name="l00038"></a>00038 <span class="comment">  /// MemDepResult - A memory dependence query can return one of three different</span>
+<a name="l00039"></a>00039 <span class="comment">  /// answers, described below.</span>
+<a name="l00040"></a><a class="code" href="classllvm_1_1MemDepResult.html">00040</a> <span class="comment"></span>  <span class="keyword">class </span><a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> {
+<a name="l00041"></a>00041     <span class="keyword">enum</span> DepType {<span class="comment"></span>
+<a name="l00042"></a>00042 <span class="comment">      /// Invalid - Clients of MemDep never see this.</span>
+<a name="l00043"></a>00043 <span class="comment"></span>      Invalid = 0,
+<a name="l00044"></a>00044       <span class="comment"></span>
+<a name="l00045"></a>00045 <span class="comment">      /// Clobber - This is a dependence on the specified instruction which</span>
+<a name="l00046"></a>00046 <span class="comment">      /// clobbers the desired value.  The pointer member of the MemDepResult</span>
+<a name="l00047"></a>00047 <span class="comment">      /// pair holds the instruction that clobbers the memory.  For example,</span>
+<a name="l00048"></a>00048 <span class="comment">      /// this occurs when we see a may-aliased store to the memory location we</span>
+<a name="l00049"></a>00049 <span class="comment">      /// care about.</span>
+<a name="l00050"></a>00050 <span class="comment">      ///</span>
+<a name="l00051"></a>00051 <span class="comment">      /// There are several cases that may be interesting here:</span>
+<a name="l00052"></a>00052 <span class="comment">      ///   1. Loads are clobbered by may-alias stores.</span>
+<a name="l00053"></a>00053 <span class="comment">      ///   2. Loads are considered clobbered by partially-aliased loads.  The</span>
+<a name="l00054"></a>00054 <span class="comment">      ///      client may choose to analyze deeper into these cases.</span>
+<a name="l00055"></a>00055 <span class="comment"></span>      Clobber,
+<a name="l00056"></a>00056 <span class="comment"></span>
+<a name="l00057"></a>00057 <span class="comment">      /// Def - This is a dependence on the specified instruction which</span>
+<a name="l00058"></a>00058 <span class="comment">      /// defines/produces the desired memory location.  The pointer member of</span>
+<a name="l00059"></a>00059 <span class="comment">      /// the MemDepResult pair holds the instruction that defines the memory.</span>
+<a name="l00060"></a>00060 <span class="comment">      /// Cases of interest:</span>
+<a name="l00061"></a>00061 <span class="comment">      ///   1. This could be a load or store for dependence queries on</span>
+<a name="l00062"></a>00062 <span class="comment">      ///      load/store.  The value loaded or stored is the produced value.</span>
+<a name="l00063"></a>00063 <span class="comment">      ///      Note that the pointer operand may be different than that of the</span>
+<a name="l00064"></a>00064 <span class="comment">      ///      queried pointer due to must aliases and phi translation.  Note</span>
+<a name="l00065"></a>00065 <span class="comment">      ///      that the def may not be the same type as the query, the pointers</span>
+<a name="l00066"></a>00066 <span class="comment">      ///      may just be must aliases.</span>
+<a name="l00067"></a>00067 <span class="comment">      ///   2. For loads and stores, this could be an allocation instruction. In</span>
+<a name="l00068"></a>00068 <span class="comment">      ///      this case, the load is loading an undef value or a store is the</span>
+<a name="l00069"></a>00069 <span class="comment">      ///      first store to (that part of) the allocation.</span>
+<a name="l00070"></a>00070 <span class="comment">      ///   3. Dependence queries on calls return Def only when they are</span>
+<a name="l00071"></a>00071 <span class="comment">      ///      readonly calls or memory use intrinsics with identical callees</span>
+<a name="l00072"></a>00072 <span class="comment">      ///      and no intervening clobbers.  No validation is done that the</span>
+<a name="l00073"></a>00073 <span class="comment">      ///      operands to the calls are the same.</span>
+<a name="l00074"></a>00074 <span class="comment"></span>      Def,
+<a name="l00075"></a>00075       <span class="comment"></span>
+<a name="l00076"></a>00076 <span class="comment">      /// Other - This marker indicates that the query has no known dependency</span>
+<a name="l00077"></a>00077 <span class="comment">      /// in the specified block.  More detailed state info is encoded in the</span>
+<a name="l00078"></a>00078 <span class="comment">      /// upper part of the pair (i.e. the Instruction*)</span>
+<a name="l00079"></a>00079 <span class="comment"></span>      Other
+<a name="l00080"></a>00080     };<span class="comment"></span>
+<a name="l00081"></a>00081 <span class="comment">    /// If DepType is "Other", the upper part of the pair</span>
+<a name="l00082"></a>00082 <span class="comment">    /// (i.e. the Instruction* part) is instead used to encode more detailed</span>
+<a name="l00083"></a>00083 <span class="comment">    /// type information as follows</span>
+<a name="l00084"></a>00084 <span class="comment"></span>    <span class="keyword">enum</span> OtherType {<span class="comment"></span>
+<a name="l00085"></a>00085 <span class="comment">      /// NonLocal - This marker indicates that the query has no dependency in</span>
+<a name="l00086"></a>00086 <span class="comment">      /// the specified block.  To find out more, the client should query other</span>
+<a name="l00087"></a>00087 <span class="comment">      /// predecessor blocks.</span>
+<a name="l00088"></a>00088 <span class="comment"></span>      NonLocal = 0x4,<span class="comment"></span>
+<a name="l00089"></a>00089 <span class="comment">      /// NonFuncLocal - This marker indicates that the query has no</span>
+<a name="l00090"></a>00090 <span class="comment">      /// dependency in the specified function.</span>
+<a name="l00091"></a>00091 <span class="comment"></span>      NonFuncLocal = 0x8,<span class="comment"></span>
+<a name="l00092"></a>00092 <span class="comment">      /// Unknown - This marker indicates that the query dependency</span>
+<a name="l00093"></a>00093 <span class="comment">      /// is unknown.</span>
+<a name="l00094"></a>00094 <span class="comment"></span>      Unknown = 0xc
+<a name="l00095"></a>00095     };
+<a name="l00096"></a>00096 
+<a name="l00097"></a>00097     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1PointerIntPair.html">PointerIntPair<Instruction*, 2, DepType></a> <a class="code" href="classllvm_1_1PointerIntPair.html">PairTy</a>;
+<a name="l00098"></a>00098     <a class="code" href="classllvm_1_1PointerIntPair.html">PairTy</a> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>;
+<a name="l00099"></a>00099     <span class="keyword">explicit</span> <a class="code" href="classllvm_1_1MemDepResult.html#aac514aba1c8e1181724843f4527f585e">MemDepResult</a>(<a class="code" href="classllvm_1_1PointerIntPair.html">PairTy</a> V) : <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>(V) {}
+<a name="l00100"></a>00100   <span class="keyword">public</span>:
+<a name="l00101"></a><a class="code" href="classllvm_1_1MemDepResult.html#aac514aba1c8e1181724843f4527f585e">00101</a>     <a class="code" href="classllvm_1_1MemDepResult.html#aac514aba1c8e1181724843f4527f585e">MemDepResult</a>() : <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>(0, Invalid) {}
+<a name="l00102"></a>00102     <span class="comment"></span>
+<a name="l00103"></a>00103 <span class="comment">    /// get methods: These are static ctor methods for creating various</span>
+<a name="l00104"></a>00104 <span class="comment">    /// MemDepResult kinds.</span>
+<a name="l00105"></a><a class="code" href="classllvm_1_1MemDepResult.html#ae4760893fa2bd86ce4460d3171fb9a82">00105</a> <span class="comment"></span>    <span class="keyword">static</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> <a class="code" href="classllvm_1_1MemDepResult.html#ae4760893fa2bd86ce4460d3171fb9a82">getDef</a>(<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst) {
+<a name="l00106"></a>00106       assert(Inst && <span class="stringliteral">"Def requires inst"</span>);
+<a name="l00107"></a>00107       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#aac514aba1c8e1181724843f4527f585e">MemDepResult</a>(<a class="code" href="classllvm_1_1PointerIntPair.html">PairTy</a>(Inst, Def));
+<a name="l00108"></a>00108     }
+<a name="l00109"></a><a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">00109</a>     <span class="keyword">static</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> <a class="code" href="classllvm_1_1MemDepResult.html#a6acfd94bce56e2812f8e5d7626dd9b8f">getClobber</a>(<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst) {
+<a name="l00110"></a>00110       assert(Inst && <span class="stringliteral">"Clobber requires inst"</span>);
+<a name="l00111"></a>00111       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#aac514aba1c8e1181724843f4527f585e">MemDepResult</a>(<a class="code" href="classllvm_1_1PointerIntPair.html">PairTy</a>(Inst, Clobber));
+<a name="l00112"></a>00112     }
+<a name="l00113"></a><a class="code" href="classllvm_1_1MemDepResult.html#a465c166d520399ff2b114c8aac5e7f3d">00113</a>     <span class="keyword">static</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> <a class="code" href="classllvm_1_1MemDepResult.html#a465c166d520399ff2b114c8aac5e7f3d">getNonLocal</a>() {
+<a name="l00114"></a>00114       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#aac514aba1c8e1181724843f4527f585e">MemDepResult</a>(
+<a name="l00115"></a>00115         <a class="code" href="classllvm_1_1PointerIntPair.html">PairTy</a>(reinterpret_cast<Instruction*>(NonLocal), Other));
+<a name="l00116"></a>00116     }
+<a name="l00117"></a><a class="code" href="classllvm_1_1MemDepResult.html#adfd696331e43abcbcf5060bf0cd506e4">00117</a>     <span class="keyword">static</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> <a class="code" href="classllvm_1_1MemDepResult.html#adfd696331e43abcbcf5060bf0cd506e4">getNonFuncLocal</a>() {
+<a name="l00118"></a>00118       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#aac514aba1c8e1181724843f4527f585e">MemDepResult</a>(
+<a name="l00119"></a>00119         <a class="code" href="classllvm_1_1PointerIntPair.html">PairTy</a>(reinterpret_cast<Instruction*>(NonFuncLocal), Other));
+<a name="l00120"></a>00120     }
+<a name="l00121"></a><a class="code" href="classllvm_1_1MemDepResult.html#a87800772e5bbce0b8e0cb23b54e47f58">00121</a>     <span class="keyword">static</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> <a class="code" href="classllvm_1_1MemDepResult.html#a87800772e5bbce0b8e0cb23b54e47f58">getUnknown</a>() {
+<a name="l00122"></a>00122       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#aac514aba1c8e1181724843f4527f585e">MemDepResult</a>(
+<a name="l00123"></a>00123         <a class="code" href="classllvm_1_1PointerIntPair.html">PairTy</a>(reinterpret_cast<Instruction*>(Unknown), Other));
+<a name="l00124"></a>00124     }
+<a name="l00125"></a>00125 <span class="comment"></span>
+<a name="l00126"></a>00126 <span class="comment">    /// isClobber - Return true if this MemDepResult represents a query that is</span>
+<a name="l00127"></a>00127 <span class="comment">    /// an instruction clobber dependency.</span>
+<a name="l00128"></a><a class="code" href="classllvm_1_1MemDepResult.html#ae409b288c7f70a6c57586535abed3808">00128</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemDepResult.html#ae409b288c7f70a6c57586535abed3808">isClobber</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getInt() == Clobber; }
+<a name="l00129"></a>00129 <span class="comment"></span>
+<a name="l00130"></a>00130 <span class="comment">    /// isDef - Return true if this MemDepResult represents a query that is</span>
+<a name="l00131"></a>00131 <span class="comment">    /// an instruction definition dependency.</span>
+<a name="l00132"></a><a class="code" href="classllvm_1_1MemDepResult.html#aa6d7a9e81b4749376498640463eb5dc2">00132</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemDepResult.html#aa6d7a9e81b4749376498640463eb5dc2">isDef</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getInt() == Def; }
+<a name="l00133"></a>00133     <span class="comment"></span>
+<a name="l00134"></a>00134 <span class="comment">    /// isNonLocal - Return true if this MemDepResult represents a query that</span>
+<a name="l00135"></a>00135 <span class="comment">    /// is transparent to the start of the block, but where a non-local hasn't</span>
+<a name="l00136"></a>00136 <span class="comment">    /// been done.</span>
+<a name="l00137"></a><a class="code" href="classllvm_1_1MemDepResult.html#a2a64d8f5153ebc0e8c08d0702c2c4aab">00137</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemDepResult.html#a2a64d8f5153ebc0e8c08d0702c2c4aab">isNonLocal</a>()<span class="keyword"> const </span>{
+<a name="l00138"></a>00138       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getInt() == Other
+<a name="l00139"></a>00139         && <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getPointer() == <span class="keyword">reinterpret_cast<</span><a class="code" href="classllvm_1_1Instruction.html">Instruction</a>*<span class="keyword">></span>(NonLocal);
+<a name="l00140"></a>00140     }
+<a name="l00141"></a>00141 <span class="comment"></span>
+<a name="l00142"></a>00142 <span class="comment">    /// isNonFuncLocal - Return true if this MemDepResult represents a query</span>
+<a name="l00143"></a>00143 <span class="comment">    /// that is transparent to the start of the function.</span>
+<a name="l00144"></a><a class="code" href="classllvm_1_1MemDepResult.html#a3fe00b5e6a4d79cd580343db61ccf5ec">00144</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemDepResult.html#a3fe00b5e6a4d79cd580343db61ccf5ec">isNonFuncLocal</a>()<span class="keyword"> const </span>{
+<a name="l00145"></a>00145       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getInt() == Other
+<a name="l00146"></a>00146         && <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getPointer() == <span class="keyword">reinterpret_cast<</span><a class="code" href="classllvm_1_1Instruction.html">Instruction</a>*<span class="keyword">></span>(NonFuncLocal);
+<a name="l00147"></a>00147     }
+<a name="l00148"></a>00148     <span class="comment"></span>
+<a name="l00149"></a>00149 <span class="comment">    /// isUnknown - Return true if this MemDepResult represents a query which</span>
+<a name="l00150"></a>00150 <span class="comment">    /// cannot and/or will not be computed.</span>
+<a name="l00151"></a><a class="code" href="classllvm_1_1MemDepResult.html#a9895765e0b80b18ed39a24f426bcd321">00151</a> <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemDepResult.html#a9895765e0b80b18ed39a24f426bcd321">isUnknown</a>()<span class="keyword"> const </span>{
+<a name="l00152"></a>00152       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getInt() == Other
+<a name="l00153"></a>00153         && <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getPointer() == <span class="keyword">reinterpret_cast<</span><a class="code" href="classllvm_1_1Instruction.html">Instruction</a>*<span class="keyword">></span>(Unknown);
+<a name="l00154"></a>00154     }
+<a name="l00155"></a>00155 <span class="comment"></span>
+<a name="l00156"></a>00156 <span class="comment">    /// getInst() - If this is a normal dependency, return the instruction that</span>
+<a name="l00157"></a>00157 <span class="comment">    /// is depended on.  Otherwise, return null.</span>
+<a name="l00158"></a><a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">00158</a> <span class="comment"></span>    <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *<a class="code" href="classllvm_1_1MemDepResult.html#a8452eb6508c00e2b6d56926bebc79f57">getInst</a>()<span class="keyword"> const </span>{
+<a name="l00159"></a>00159       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getInt() == Other) <span class="keywordflow">return</span> NULL;
+<a name="l00160"></a>00160       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getPointer();
+<a name="l00161"></a>00161     }
+<a name="l00162"></a>00162     
+<a name="l00163"></a><a class="code" href="classllvm_1_1MemDepResult.html#a8d87ca15219fbc149b66ba218ad22dd8">00163</a>     <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemDepResult.html#a8d87ca15219fbc149b66ba218ad22dd8">operator==</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> &M)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> == M.Value; }
+<a name="l00164"></a><a class="code" href="classllvm_1_1MemDepResult.html#ad3558da9886b760eccf36ec196258716">00164</a>     <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemDepResult.html#ad3558da9886b760eccf36ec196258716">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> &M)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> != M.Value; }
+<a name="l00165"></a><a class="code" href="classllvm_1_1MemDepResult.html#aec86b8044dcd29ca21ba0100019522e0">00165</a>     <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemDepResult.html#aec86b8044dcd29ca21ba0100019522e0">operator<</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> &M)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> < M.Value; }
+<a name="l00166"></a><a class="code" href="classllvm_1_1MemDepResult.html#acde89f6fe6c6fe82e7a54ad00253bcf1">00166</a>     <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemDepResult.html#acde89f6fe6c6fe82e7a54ad00253bcf1">operator></a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> &M)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> > M.Value; }
+<a name="l00167"></a>00167   <span class="keyword">private</span>:
+<a name="l00168"></a><a class="code" href="classllvm_1_1MemDepResult.html#a2e90db9ab998f9b86a33c64de145e7c6">00168</a>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html">MemoryDependenceAnalysis</a>;<span class="comment"></span>
+<a name="l00169"></a>00169 <span class="comment">    /// Dirty - Entries with this marker occur in a LocalDeps map or</span>
+<a name="l00170"></a>00170 <span class="comment">    /// NonLocalDeps map when the instruction they previously referenced was</span>
+<a name="l00171"></a>00171 <span class="comment">    /// removed from MemDep.  In either case, the entry may include an</span>
+<a name="l00172"></a>00172 <span class="comment">    /// instruction pointer.  If so, the pointer is an instruction in the</span>
+<a name="l00173"></a>00173 <span class="comment">    /// block where scanning can start from, saving some work.</span>
+<a name="l00174"></a>00174 <span class="comment">    ///</span>
+<a name="l00175"></a>00175 <span class="comment">    /// In a default-constructed MemDepResult object, the type will be Dirty</span>
+<a name="l00176"></a>00176 <span class="comment">    /// and the instruction pointer will be null.</span>
+<a name="l00177"></a>00177 <span class="comment">    ///</span>
+<a name="l00178"></a>00178 <span class="comment"></span>         <span class="comment"></span>
+<a name="l00179"></a>00179 <span class="comment">    /// isDirty - Return true if this is a MemDepResult in its dirty/invalid.</span>
+<a name="l00180"></a>00180 <span class="comment">    /// state.</span>
+<a name="l00181"></a>00181 <span class="comment"></span>    <span class="keywordtype">bool</span> isDirty()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>.getInt() == Invalid; }
+<a name="l00182"></a>00182     
+<a name="l00183"></a>00183     <span class="keyword">static</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> getDirty(<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst) {
+<a name="l00184"></a>00184       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MemDepResult.html#aac514aba1c8e1181724843f4527f585e">MemDepResult</a>(PairTy(Inst, Invalid));
+<a name="l00185"></a>00185     }
+<a name="l00186"></a>00186   };
+<a name="l00187"></a>00187 <span class="comment"></span>
+<a name="l00188"></a>00188 <span class="comment">  /// NonLocalDepEntry - This is an entry in the NonLocalDepInfo cache.  For</span>
+<a name="l00189"></a>00189 <span class="comment">  /// each BasicBlock (the BB entry) it keeps a MemDepResult.</span>
+<a name="l00190"></a><a class="code" href="classllvm_1_1NonLocalDepEntry.html">00190</a> <span class="comment"></span>  <span class="keyword">class </span><a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a> {
+<a name="l00191"></a>00191     <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB;
+<a name="l00192"></a>00192     <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> Result;
+<a name="l00193"></a>00193   <span class="keyword">public</span>:
+<a name="l00194"></a><a class="code" href="classllvm_1_1NonLocalDepEntry.html#a123c64ec585b35c114d596c86515473b">00194</a>     <a class="code" href="classllvm_1_1NonLocalDepEntry.html#a123c64ec585b35c114d596c86515473b">NonLocalDepEntry</a>(<a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *bb, <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> result)
+<a name="l00195"></a>00195       : BB(bb), Result(result) {}
+<a name="l00196"></a>00196 
+<a name="l00197"></a>00197     <span class="comment">// This is used for searches.</span>
+<a name="l00198"></a><a class="code" href="classllvm_1_1NonLocalDepEntry.html#ac8193cad95077f38e14f91666028fc00">00198</a>     <a class="code" href="classllvm_1_1NonLocalDepEntry.html#ac8193cad95077f38e14f91666028fc00">NonLocalDepEntry</a>(<a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *bb) : BB(bb) {}
+<a name="l00199"></a>00199 
+<a name="l00200"></a>00200     <span class="comment">// BB is the sort key, it can't be changed.</span>
+<a name="l00201"></a><a class="code" href="classllvm_1_1NonLocalDepEntry.html#a9484eee2611393c9db4e3ca858455221">00201</a>     <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *<a class="code" href="classllvm_1_1NonLocalDepEntry.html#a9484eee2611393c9db4e3ca858455221">getBB</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> BB; }
+<a name="l00202"></a>00202     
+<a name="l00203"></a><a class="code" href="classllvm_1_1NonLocalDepEntry.html#a35eb598d0afaa4a88efcddf50be97b74">00203</a>     <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1NonLocalDepEntry.html#a35eb598d0afaa4a88efcddf50be97b74">setResult</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> &R) { Result = R; }
+<a name="l00204"></a>00204 
+<a name="l00205"></a><a class="code" href="classllvm_1_1NonLocalDepEntry.html#abd0c15cf35f0f3bfd2e092c55d5e6069">00205</a>     <span class="keyword">const</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> &<a class="code" href="classllvm_1_1NonLocalDepEntry.html#abd0c15cf35f0f3bfd2e092c55d5e6069">getResult</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Result; }
+<a name="l00206"></a>00206     
+<a name="l00207"></a><a class="code" href="classllvm_1_1NonLocalDepEntry.html#aaca6ad18347373fe009ec2acc9d1a6e6">00207</a>     <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1NonLocalDepEntry.html#aaca6ad18347373fe009ec2acc9d1a6e6">operator<</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a> &RHS)<span class="keyword"> const </span>{
+<a name="l00208"></a>00208       <span class="keywordflow">return</span> BB < RHS.BB;
+<a name="l00209"></a>00209     }
+<a name="l00210"></a>00210   };
+<a name="l00211"></a>00211   <span class="comment"></span>
+<a name="l00212"></a>00212 <span class="comment">  /// NonLocalDepResult - This is a result from a NonLocal dependence query.</span>
+<a name="l00213"></a>00213 <span class="comment">  /// For each BasicBlock (the BB entry) it keeps a MemDepResult and the</span>
+<a name="l00214"></a>00214 <span class="comment">  /// (potentially phi translated) address that was live in the block.</span>
+<a name="l00215"></a><a class="code" href="classllvm_1_1NonLocalDepResult.html">00215</a> <span class="comment"></span>  <span class="keyword">class </span><a class="code" href="classllvm_1_1NonLocalDepResult.html">NonLocalDepResult</a> {
+<a name="l00216"></a>00216     <a class="code" href="classllvm_1_1NonLocalDepEntry.html">NonLocalDepEntry</a> Entry;
+<a name="l00217"></a>00217     <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *Address;
+<a name="l00218"></a>00218   <span class="keyword">public</span>:
+<a name="l00219"></a><a class="code" href="classllvm_1_1NonLocalDepResult.html#a4cf3b22f4e09cecea29a4200b9872635">00219</a>     <a class="code" href="classllvm_1_1NonLocalDepResult.html#a4cf3b22f4e09cecea29a4200b9872635">NonLocalDepResult</a>(<a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *bb, <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> result, <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *address)
+<a name="l00220"></a>00220       : Entry(bb, result), Address(address) {}
+<a name="l00221"></a>00221     
+<a name="l00222"></a>00222     <span class="comment">// BB is the sort key, it can't be changed.</span>
+<a name="l00223"></a><a class="code" href="classllvm_1_1NonLocalDepResult.html#a3cfa92beb97703fd2e7a3350e27a06eb">00223</a>     <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *<a class="code" href="classllvm_1_1NonLocalDepResult.html#a3cfa92beb97703fd2e7a3350e27a06eb">getBB</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Entry.<a class="code" href="classllvm_1_1NonLocalDepEntry.html#a9484eee2611393c9db4e3ca858455221">getBB</a>(); }
+<a name="l00224"></a>00224     
+<a name="l00225"></a><a class="code" href="classllvm_1_1NonLocalDepResult.html#ad628605164a36f220903440c56650e2b">00225</a>     <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1NonLocalDepResult.html#ad628605164a36f220903440c56650e2b">setResult</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> &R, <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *Addr) {
+<a name="l00226"></a>00226       Entry.<a class="code" href="classllvm_1_1NonLocalDepEntry.html#a35eb598d0afaa4a88efcddf50be97b74">setResult</a>(R);
+<a name="l00227"></a>00227       Address = Addr;
+<a name="l00228"></a>00228     }
+<a name="l00229"></a>00229     
+<a name="l00230"></a><a class="code" href="classllvm_1_1NonLocalDepResult.html#afde9b66e1baaf074f7b3013c63f0f692">00230</a>     <span class="keyword">const</span> <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> &<a class="code" href="classllvm_1_1NonLocalDepResult.html#afde9b66e1baaf074f7b3013c63f0f692">getResult</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Entry.<a class="code" href="classllvm_1_1NonLocalDepEntry.html#abd0c15cf35f0f3bfd2e092c55d5e6069">getResult</a>(); }
+<a name="l00231"></a>00231     <span class="comment"></span>
+<a name="l00232"></a>00232 <span class="comment">    /// getAddress - Return the address of this pointer in this block.  This can</span>
+<a name="l00233"></a>00233 <span class="comment">    /// be different than the address queried for the non-local result because</span>
+<a name="l00234"></a>00234 <span class="comment">    /// of phi translation.  This returns null if the address was not available</span>
+<a name="l00235"></a>00235 <span class="comment">    /// in a block (i.e. because phi translation failed) or if this is a cached</span>
+<a name="l00236"></a>00236 <span class="comment">    /// result and that address was deleted.</span>
+<a name="l00237"></a>00237 <span class="comment">    ///</span>
+<a name="l00238"></a>00238 <span class="comment">    /// The address is always null for a non-local 'call' dependence.</span>
+<a name="l00239"></a><a class="code" href="classllvm_1_1NonLocalDepResult.html#ae87328dcb4fe596440881eabbe73d7b6">00239</a> <span class="comment"></span>    <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *<a class="code" href="classllvm_1_1NonLocalDepResult.html#ae87328dcb4fe596440881eabbe73d7b6">getAddress</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Address; }
+<a name="l00240"></a>00240   };
+<a name="l00241"></a>00241   <span class="comment"></span>
+<a name="l00242"></a>00242 <span class="comment">  /// MemoryDependenceAnalysis - This is an analysis that determines, for a</span>
+<a name="l00243"></a>00243 <span class="comment">  /// given memory operation, what preceding memory operations it depends on.</span>
+<a name="l00244"></a>00244 <span class="comment">  /// It builds on alias analysis information, and tries to provide a lazy,</span>
+<a name="l00245"></a>00245 <span class="comment">  /// caching interface to a common kind of alias information query.</span>
+<a name="l00246"></a>00246 <span class="comment">  ///</span>
+<a name="l00247"></a>00247 <span class="comment">  /// The dependency information returned is somewhat unusual, but is pragmatic.</span>
+<a name="l00248"></a>00248 <span class="comment">  /// If queried about a store or call that might modify memory, the analysis</span>
+<a name="l00249"></a>00249 <span class="comment">  /// will return the instruction[s] that may either load from that memory or</span>
+<a name="l00250"></a>00250 <span class="comment">  /// store to it.  If queried with a load or call that can never modify memory,</span>
+<a name="l00251"></a>00251 <span class="comment">  /// the analysis will return calls and stores that might modify the pointer,</span>
+<a name="l00252"></a>00252 <span class="comment">  /// but generally does not return loads unless a) they are volatile, or</span>
+<a name="l00253"></a>00253 <span class="comment">  /// b) they load from *must-aliased* pointers.  Returning a dependence on</span>
+<a name="l00254"></a>00254 <span class="comment">  /// must-alias'd pointers instead of all pointers interacts well with the</span>
+<a name="l00255"></a>00255 <span class="comment">  /// internal caching mechanism.</span>
+<a name="l00256"></a>00256 <span class="comment">  ///</span>
+<a name="l00257"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html">00257</a> <span class="comment"></span>  <span class="keyword">class </span><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html">MemoryDependenceAnalysis</a> : <span class="keyword">public</span> <a class="code" href="classllvm_1_1FunctionPass.html">FunctionPass</a> {
+<a name="l00258"></a>00258     <span class="comment">// A map from instructions to their dependency.</span>
+<a name="l00259"></a>00259     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<Instruction*, MemDepResult></a> <a class="code" href="classllvm_1_1DenseMap.html">LocalDepMapType</a>;
+<a name="l00260"></a>00260     <a class="code" href="classllvm_1_1DenseMap.html">LocalDepMapType</a> LocalDeps;
+<a name="l00261"></a>00261 
+<a name="l00262"></a>00262   <span class="keyword">public</span>:
+<a name="l00263"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">00263</a>     <span class="keyword">typedef</span> std::vector<NonLocalDepEntry> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a>;
+<a name="l00264"></a>00264   <span class="keyword">private</span>:<span class="comment"></span>
+<a name="l00265"></a>00265 <span class="comment">    /// ValueIsLoadPair - This is a pair<Value*, bool> where the bool is true if</span>
+<a name="l00266"></a>00266 <span class="comment">    /// the dependence is a read only dependence, false if read/write.</span>
+<a name="l00267"></a>00267 <span class="comment"></span>    <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1PointerIntPair.html">PointerIntPair<const Value*, 1, bool></a> <a class="code" href="classllvm_1_1PointerIntPair.html">ValueIsLoadPair</a>;
+<a name="l00268"></a>00268 <span class="comment"></span>
+<a name="l00269"></a>00269 <span class="comment">    /// BBSkipFirstBlockPair - This pair is used when caching information for a</span>
+<a name="l00270"></a>00270 <span class="comment">    /// block.  If the pointer is null, the cache value is not a full query that</span>
+<a name="l00271"></a>00271 <span class="comment">    /// starts at the specified block.  If non-null, the bool indicates whether</span>
+<a name="l00272"></a>00272 <span class="comment">    /// or not the contents of the block was skipped.</span>
+<a name="l00273"></a>00273 <span class="comment"></span>    <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1PointerIntPair.html">PointerIntPair<BasicBlock*, 1, bool></a> <a class="code" href="classllvm_1_1PointerIntPair.html">BBSkipFirstBlockPair</a>;
+<a name="l00274"></a>00274 <span class="comment"></span>
+<a name="l00275"></a>00275 <span class="comment">    /// NonLocalPointerInfo - This record is the information kept for each</span>
+<a name="l00276"></a>00276 <span class="comment">    /// (value, is load) pair.</span>
+<a name="l00277"></a>00277 <span class="comment"></span>    <span class="keyword">struct </span>NonLocalPointerInfo {<span class="comment"></span>
+<a name="l00278"></a>00278 <span class="comment">      /// Pair - The pair of the block and the skip-first-block flag.</span>
+<a name="l00279"></a>00279 <span class="comment"></span>      <a class="code" href="classllvm_1_1PointerIntPair.html">BBSkipFirstBlockPair</a> Pair;<span class="comment"></span>
+<a name="l00280"></a>00280 <span class="comment">      /// NonLocalDeps - The results of the query for each relevant block.</span>
+<a name="l00281"></a>00281 <span class="comment"></span>      <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a> NonLocalDeps;<span class="comment"></span>
+<a name="l00282"></a>00282 <span class="comment">      /// Size - The maximum size of the dereferences of the</span>
+<a name="l00283"></a>00283 <span class="comment">      /// pointer. May be UnknownSize if the sizes are unknown.</span>
+<a name="l00284"></a>00284 <span class="comment"></span>      uint64_t Size;<span class="comment"></span>
+<a name="l00285"></a>00285 <span class="comment">      /// TBAATag - The TBAA tag associated with dereferences of the</span>
+<a name="l00286"></a>00286 <span class="comment">      /// pointer. May be null if there are no tags or conflicting tags.</span>
+<a name="l00287"></a>00287 <span class="comment"></span>      <span class="keyword">const</span> <a class="code" href="classllvm_1_1MDNode.html" title="MDNode - a tuple of other values.">MDNode</a> *TBAATag;
+<a name="l00288"></a>00288 
+<a name="l00289"></a>00289       NonLocalPointerInfo() : Size(<a class="code" href="classllvm_1_1AliasAnalysis.html#a8d894818f6befa30ad9bb75085ed0a20">AliasAnalysis::UnknownSize</a>), TBAATag(0) {}
+<a name="l00290"></a>00290     };
+<a name="l00291"></a>00291 <span class="comment"></span>
+<a name="l00292"></a>00292 <span class="comment">    /// CachedNonLocalPointerInfo - This map stores the cached results of doing</span>
+<a name="l00293"></a>00293 <span class="comment">    /// a pointer lookup at the bottom of a block.  The key of this map is the</span>
+<a name="l00294"></a>00294 <span class="comment">    /// pointer+isload bit, the value is a list of <bb->result> mappings.</span>
+<a name="l00295"></a>00295 <span class="comment"></span>    <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1DenseMap.html">DenseMap</a><ValueIsLoadPair,
+<a name="l00296"></a>00296                      NonLocalPointerInfo> CachedNonLocalPointerInfo;
+<a name="l00297"></a>00297     CachedNonLocalPointerInfo NonLocalPointerDeps;
+<a name="l00298"></a>00298 
+<a name="l00299"></a>00299     <span class="comment">// A map from instructions to their non-local pointer dependencies.</span>
+<a name="l00300"></a>00300     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1DenseMap.html">DenseMap</a><<a class="code" href="classllvm_1_1Instruction.html">Instruction</a>*, 
+<a name="l00301"></a>00301                      <a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<ValueIsLoadPair, 4></a> > ReverseNonLocalPtrDepTy;
+<a name="l00302"></a>00302     ReverseNonLocalPtrDepTy ReverseNonLocalPtrDeps;
+<a name="l00303"></a>00303 
+<a name="l00304"></a>00304     <span class="comment"></span>
+<a name="l00305"></a>00305 <span class="comment">    /// PerInstNLInfo - This is the instruction we keep for each cached access</span>
+<a name="l00306"></a>00306 <span class="comment">    /// that we have for an instruction.  The pointer is an owning pointer and</span>
+<a name="l00307"></a>00307 <span class="comment">    /// the bool indicates whether we have any dirty bits in the set.</span>
+<a name="l00308"></a>00308 <span class="comment"></span>    <span class="keyword">typedef</span> std::pair<NonLocalDepInfo, bool> PerInstNLInfo;
+<a name="l00309"></a>00309     
+<a name="l00310"></a>00310     <span class="comment">// A map from instructions to their non-local dependencies.</span>
+<a name="l00311"></a>00311     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<Instruction*, PerInstNLInfo></a> NonLocalDepMapType;
+<a name="l00312"></a>00312       
+<a name="l00313"></a>00313     NonLocalDepMapType NonLocalDeps;
+<a name="l00314"></a>00314     
+<a name="l00315"></a>00315     <span class="comment">// A reverse mapping from dependencies to the dependees.  This is</span>
+<a name="l00316"></a>00316     <span class="comment">// used when removing instructions to keep the cache coherent.</span>
+<a name="l00317"></a>00317     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1DenseMap.html">DenseMap</a><<a class="code" href="classllvm_1_1Instruction.html">Instruction</a>*,
+<a name="l00318"></a>00318                      <a class="code" href="classllvm_1_1SmallPtrSet.html">SmallPtrSet<Instruction*, 4></a> > ReverseDepMapType;
+<a name="l00319"></a>00319     ReverseDepMapType ReverseLocalDeps;
+<a name="l00320"></a>00320     
+<a name="l00321"></a>00321     <span class="comment">// A reverse mapping from dependencies to the non-local dependees.</span>
+<a name="l00322"></a>00322     ReverseDepMapType ReverseNonLocalDeps;
+<a name="l00323"></a>00323     <span class="comment"></span>
+<a name="l00324"></a>00324 <span class="comment">    /// Current AA implementation, just a cache.</span>
+<a name="l00325"></a>00325 <span class="comment"></span>    <a class="code" href="classllvm_1_1AliasAnalysis.html">AliasAnalysis</a> *AA;
+<a name="l00326"></a>00326     <a class="code" href="classllvm_1_1DataLayout.html">DataLayout</a> *TD;
+<a name="l00327"></a>00327     <a class="code" href="classllvm_1_1DominatorTree.html">DominatorTree</a> *DT;
+<a name="l00328"></a>00328     <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<PredIteratorCache></a> PredCache;
+<a name="l00329"></a>00329   <span class="keyword">public</span>:
+<a name="l00330"></a>00330     <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a26e8790867f9e0f559f527aca0bdf587">MemoryDependenceAnalysis</a>();
+<a name="l00331"></a>00331     <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ae490259cdcea86028795a092037c4890">~MemoryDependenceAnalysis</a>();
+<a name="l00332"></a><a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ab6ba33bdfb3c4da44d4586ae1f1966aa">00332</a>     <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ab6ba33bdfb3c4da44d4586ae1f1966aa">ID</a>;
+<a name="l00333"></a>00333 <span class="comment"></span>
+<a name="l00334"></a>00334 <span class="comment">    /// Pass Implementation stuff.  This doesn't do any analysis eagerly.</span>
+<a name="l00335"></a>00335 <span class="comment"></span>    <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a11e3a5dc537b36f96296238cb7a05990" title="Pass Implementation stuff. This doesn't do any analysis eagerly.">runOnFunction</a>(<a class="code" href="classllvm_1_1Function.html">Function</a> &);
+<a name="l00336"></a>00336     <span class="comment"></span>
+<a name="l00337"></a>00337 <span class="comment">    /// Clean up memory in between runs</span>
+<a name="l00338"></a>00338 <span class="comment"></span>    <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a38913a0f2400c2b3ba25cfee8cc1c280" title="Clean up memory in between runs.">releaseMemory</a>();
+<a name="l00339"></a>00339     <span class="comment"></span>
+<a name="l00340"></a>00340 <span class="comment">    /// getAnalysisUsage - Does not modify anything.  It uses Value Numbering</span>
+<a name="l00341"></a>00341 <span class="comment">    /// and Alias Analysis.</span>
+<a name="l00342"></a>00342 <span class="comment">    ///</span>
+<a name="l00343"></a>00343 <span class="comment"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a16dada1a57699243411a7b8f2237bb48">getAnalysisUsage</a>(<a class="code" href="classllvm_1_1AnalysisUsage.html">AnalysisUsage</a> &AU) <span class="keyword">const</span>;
+<a name="l00344"></a>00344     <span class="comment"></span>
+<a name="l00345"></a>00345 <span class="comment">    /// getDependency - Return the instruction on which a memory operation</span>
+<a name="l00346"></a>00346 <span class="comment">    /// depends.  See the class comment for more details.  It is illegal to call</span>
+<a name="l00347"></a>00347 <span class="comment">    /// this on non-memory instructions.</span>
+<a name="l00348"></a>00348 <span class="comment"></span>    <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a467f81f7c124644d999390ff8cca4727">getDependency</a>(<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *QueryInst);
+<a name="l00349"></a>00349 <span class="comment"></span>
+<a name="l00350"></a>00350 <span class="comment">    /// getNonLocalCallDependency - Perform a full dependency query for the</span>
+<a name="l00351"></a>00351 <span class="comment">    /// specified call, returning the set of blocks that the value is</span>
+<a name="l00352"></a>00352 <span class="comment">    /// potentially live across.  The returned set of results will include a</span>
+<a name="l00353"></a>00353 <span class="comment">    /// "NonLocal" result for all blocks where the value is live across.</span>
+<a name="l00354"></a>00354 <span class="comment">    ///</span>
+<a name="l00355"></a>00355 <span class="comment">    /// This method assumes the instruction returns a "NonLocal" dependency</span>
+<a name="l00356"></a>00356 <span class="comment">    /// within its own block.</span>
+<a name="l00357"></a>00357 <span class="comment">    ///</span>
+<a name="l00358"></a>00358 <span class="comment">    /// This returns a reference to an internal data structure that may be</span>
+<a name="l00359"></a>00359 <span class="comment">    /// invalidated on the next non-local query or when an instruction is</span>
+<a name="l00360"></a>00360 <span class="comment">    /// removed.  Clients must copy this data if they want it around longer than</span>
+<a name="l00361"></a>00361 <span class="comment">    /// that.</span>
+<a name="l00362"></a>00362 <span class="comment"></span>    <span class="keyword">const</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a> &<a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ab04c5a7f34b7ac7d1dc587b7785a31d9">getNonLocalCallDependency</a>(<a class="code" href="classllvm_1_1CallSite.html">CallSite</a> QueryCS);
+<a name="l00363"></a>00363     
+<a name="l00364"></a>00364     <span class="comment"></span>
+<a name="l00365"></a>00365 <span class="comment">    /// getNonLocalPointerDependency - Perform a full dependency query for an</span>
+<a name="l00366"></a>00366 <span class="comment">    /// access to the specified (non-volatile) memory location, returning the</span>
+<a name="l00367"></a>00367 <span class="comment">    /// set of instructions that either define or clobber the value.</span>
+<a name="l00368"></a>00368 <span class="comment">    ///</span>
+<a name="l00369"></a>00369 <span class="comment">    /// This method assumes the pointer has a "NonLocal" dependency within BB.</span>
+<a name="l00370"></a>00370 <span class="comment"></span>    <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a27e4a925fd1ad26aea61b15ecfcf5558">getNonLocalPointerDependency</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &Loc,
+<a name="l00371"></a>00371                                       <span class="keywordtype">bool</span> isLoad, <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB,
+<a name="l00372"></a>00372                                     <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<NonLocalDepResult></a> &Result);
+<a name="l00373"></a>00373 <span class="comment"></span>
+<a name="l00374"></a>00374 <span class="comment">    /// removeInstruction - Remove an instruction from the dependence analysis,</span>
+<a name="l00375"></a>00375 <span class="comment">    /// updating the dependence of instructions that previously depended on it.</span>
+<a name="l00376"></a>00376 <span class="comment"></span>    <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#ad400b0aba217fdd5a826f50204b5d7c0">removeInstruction</a>(<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *InstToRemove);
+<a name="l00377"></a>00377     <span class="comment"></span>
+<a name="l00378"></a>00378 <span class="comment">    /// invalidateCachedPointerInfo - This method is used to invalidate cached</span>
+<a name="l00379"></a>00379 <span class="comment">    /// information about the specified pointer, because it may be too</span>
+<a name="l00380"></a>00380 <span class="comment">    /// conservative in memdep.  This is an optional call that can be used when</span>
+<a name="l00381"></a>00381 <span class="comment">    /// the client detects an equivalence between the pointer and some other</span>
+<a name="l00382"></a>00382 <span class="comment">    /// value and replaces the other value with ptr. This can make Ptr available</span>
+<a name="l00383"></a>00383 <span class="comment">    /// in more places that cached info does not necessarily keep.</span>
+<a name="l00384"></a>00384 <span class="comment"></span>    <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a8a98b3bbfad709f98b2fbb843e87a0e7">invalidateCachedPointerInfo</a>(<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *Ptr);
+<a name="l00385"></a>00385 <span class="comment"></span>
+<a name="l00386"></a>00386 <span class="comment">    /// invalidateCachedPredecessors - Clear the PredIteratorCache info.</span>
+<a name="l00387"></a>00387 <span class="comment">    /// This needs to be done when the CFG changes, e.g., due to splitting</span>
+<a name="l00388"></a>00388 <span class="comment">    /// critical edges.</span>
+<a name="l00389"></a>00389 <span class="comment"></span>    <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a7cd615a3d4ee5a8272d3fe4411c11185">invalidateCachedPredecessors</a>();
+<a name="l00390"></a>00390     <span class="comment"></span>
+<a name="l00391"></a>00391 <span class="comment">    /// getPointerDependencyFrom - Return the instruction on which a memory</span>
+<a name="l00392"></a>00392 <span class="comment">    /// location depends.  If isLoad is true, this routine ignores may-aliases</span>
+<a name="l00393"></a>00393 <span class="comment">    /// with read-only operations.  If isLoad is false, this routine ignores</span>
+<a name="l00394"></a>00394 <span class="comment">    /// may-aliases with reads from read-only locations.</span>
+<a name="l00395"></a>00395 <span class="comment">    ///</span>
+<a name="l00396"></a>00396 <span class="comment">    /// Note that this is an uncached query, and thus may be inefficient.</span>
+<a name="l00397"></a>00397 <span class="comment">    ///</span>
+<a name="l00398"></a>00398 <span class="comment"></span>    <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a54af14c456d32772bdf2b32e4bcce337">getPointerDependencyFrom</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &Loc,
+<a name="l00399"></a>00399                                           <span class="keywordtype">bool</span> isLoad, 
+<a name="l00400"></a>00400                                           <a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a> ScanIt,
+<a name="l00401"></a>00401                                           <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB);
+<a name="l00402"></a>00402     
+<a name="l00403"></a>00403     <span class="comment"></span>
+<a name="l00404"></a>00404 <span class="comment">    /// getLoadLoadClobberFullWidthSize - This is a little bit of analysis that</span>
+<a name="l00405"></a>00405 <span class="comment">    /// looks at a memory location for a load (specified by MemLocBase, Offs,</span>
+<a name="l00406"></a>00406 <span class="comment">    /// and Size) and compares it against a load.  If the specified load could</span>
+<a name="l00407"></a>00407 <span class="comment">    /// be safely widened to a larger integer load that is 1) still efficient,</span>
+<a name="l00408"></a>00408 <span class="comment">    /// 2) safe for the target, and 3) would provide the specified memory</span>
+<a name="l00409"></a>00409 <span class="comment">    /// location value, then this function returns the size in bytes of the</span>
+<a name="l00410"></a>00410 <span class="comment">    /// load width to use.  If not, this returns zero.</span>
+<a name="l00411"></a>00411 <span class="comment"></span>    <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#a7136be51f5ad007feee921c8ffec54da">getLoadLoadClobberFullWidthSize</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *MemLocBase,
+<a name="l00412"></a>00412                                                     <a class="code" href="classint64__t.html">int64_t</a> MemLocOffs,
+<a name="l00413"></a>00413                                                     <span class="keywordtype">unsigned</span> MemLocSize,
+<a name="l00414"></a>00414                                                     <span class="keyword">const</span> <a class="code" href="classllvm_1_1LoadInst.html">LoadInst</a> *<a class="code" href="LoopInfoImpl_8h.html#ab7b7f3fe4279386eae18cf924053d077">LI</a>,
+<a name="l00415"></a>00415                                                     <span class="keyword">const</span> <a class="code" href="classllvm_1_1DataLayout.html">DataLayout</a> &TD);
+<a name="l00416"></a>00416     
+<a name="l00417"></a>00417   <span class="keyword">private</span>:
+<a name="l00418"></a>00418     <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> getCallSiteDependencyFrom(<a class="code" href="classllvm_1_1CallSite.html">CallSite</a> <a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974afd841a49aec1539bc88abc8ff9e170fb">C</a>, <span class="keywordtype">bool</span> isReadOnlyCall,
+<a name="l00419"></a>00419                                            <a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a> ScanIt,
+<a name="l00420"></a>00420                                            <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB);
+<a name="l00421"></a>00421     <span class="keywordtype">bool</span> getNonLocalPointerDepFromBB(<span class="keyword">const</span> <a class="code" href="classllvm_1_1PHITransAddr.html">PHITransAddr</a> &Pointer,
+<a name="l00422"></a>00422                                      <span class="keyword">const</span> <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &Loc,
+<a name="l00423"></a>00423                                      <span class="keywordtype">bool</span> isLoad, <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB,
+<a name="l00424"></a>00424                                      <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<NonLocalDepResult></a> &Result,
+<a name="l00425"></a>00425                                      <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<BasicBlock*, Value*></a> &Visited,
+<a name="l00426"></a>00426                                      <span class="keywordtype">bool</span> SkipFirstBlock = <span class="keyword">false</span>);
+<a name="l00427"></a>00427     <a class="code" href="classllvm_1_1MemDepResult.html">MemDepResult</a> GetNonLocalInfoForBlock(<span class="keyword">const</span> <a class="code" href="structllvm_1_1AliasAnalysis_1_1Location.html" title="Location - A description of a memory location.">AliasAnalysis::Location</a> &Loc,
+<a name="l00428"></a>00428                                          <span class="keywordtype">bool</span> isLoad, <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *BB,
+<a name="l00429"></a>00429                                          <a class="code" href="classllvm_1_1MemoryDependenceAnalysis.html#af98ef3ed6d09824e50ec69cebc839609">NonLocalDepInfo</a> *Cache,
+<a name="l00430"></a>00430                                          <span class="keywordtype">unsigned</span> NumSortedEntries);
+<a name="l00431"></a>00431 
+<a name="l00432"></a>00432     <span class="keywordtype">void</span> RemoveCachedNonLocalPointerDependencies(<a class="code" href="classllvm_1_1PointerIntPair.html">ValueIsLoadPair</a> P);
+<a name="l00433"></a>00433     <span class="comment"></span>
+<a name="l00434"></a>00434 <span class="comment">    /// verifyRemoved - Verify that the specified instruction does not occur</span>
+<a name="l00435"></a>00435 <span class="comment">    /// in our internal data structures.</span>
+<a name="l00436"></a>00436 <span class="comment"></span>    <span class="keywordtype">void</span> verifyRemoved(<a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Inst) <span class="keyword">const</span>;
+<a name="l00437"></a>00437     
+<a name="l00438"></a>00438   };
+<a name="l00439"></a>00439 
+<a name="l00440"></a>00440 } <span class="comment">// End llvm namespace</span>
+<a name="l00441"></a>00441 
+<a name="l00442"></a>00442 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:35:58 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8cpp__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8cpp__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8cpp__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,15 @@
+<map id="G" name="G">
+<area shape="rect" href="$StreamableMemoryObject_8h.html" title="StreamableMemoryObject.h" alt="" coords="75,84,275,111"/>
+<area shape="rect" href="$MC_2MCDisassembler_2Disassembler_8cpp.html" title="Disassembler.cpp" alt="" coords="299,84,432,111"/>
+<area shape="rect" href="$EDDisassembler_8cpp.html" title="EDDisassembler.cpp" alt="" coords="456,84,608,111"/>
+<area shape="rect" href="$MemoryObject_8cpp.html" title="MemoryObject.cpp" alt="" coords="632,84,773,111"/>
+<area shape="rect" href="$ARMDisassembler_8cpp.html" title="ARMDisassembler.cpp" alt="" coords="797,84,960,111"/>
+<area shape="rect" href="$MBlazeDisassembler_8cpp.html" title="MBlazeDisassembler.cpp" alt="" coords="984,84,1163,111"/>
+<area shape="rect" href="$MipsDisassembler_8cpp.html" title="MipsDisassembler.cpp" alt="" coords="1187,84,1349,111"/>
+<area shape="rect" href="$X86Disassembler_8cpp.html" title="X86Disassembler.cpp" alt="" coords="1373,84,1531,111"/>
+<area shape="rect" href="$GCOV_8cpp.html" title="GCOV.cpp" alt="" coords="1555,84,1637,111"/>
+<area shape="rect" href="$BitstreamReader_8h.html" title="BitstreamReader.h" alt="" coords="5,161,144,188"/>
+<area shape="rect" href="$StreamableMemoryObject_8cpp.html" title="StreamableMemoryObject.cpp" alt="" coords="168,161,384,188"/>
+<area shape="rect" href="$BitcodeReader_8h.html" title="BitcodeReader.h" alt="" coords="13,239,136,265"/>
+<area shape="rect" href="$BitcodeReader_8cpp.html" title="BitcodeReader.cpp" alt="" coords="5,316,144,343"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h__dep__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h__dep__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h__dep__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h__dep__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+5442512b3a6eb8c53253d593c1936958
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MemoryObject_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MemoryObject.h Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_25acc6571c4e3a053ee4203146b47a61.html">include</a>      </li>
+      <li class="navelem"><a class="el" href="dir_fd2d7b5ce83b1c1657cd6600d8cb39fa.html">llvm</a>      </li>
+      <li class="navelem"><a class="el" href="dir_b423301f639fc46b24b2c9f122fcaff7.html">Support</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">MemoryObject.h</div>  </div>
+</div>
+<div class="contents">
+<a href="MemoryObject_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===- MemoryObject.h - Abstract memory interface ---------------*- C++ -*-===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 
+<a name="l00010"></a>00010 <span class="preprocessor">#ifndef MEMORYOBJECT_H</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define MEMORYOBJECT_H</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include "<a class="code" href="DataTypes_8h.html">llvm/Support/DataTypes.h</a>"</span>
+<a name="l00014"></a>00014 
+<a name="l00015"></a>00015 <span class="keyword">namespace </span>llvm {
+<a name="l00016"></a>00016 <span class="comment"></span>
+<a name="l00017"></a>00017 <span class="comment">/// MemoryObject - Abstract base class for contiguous addressable memory.</span>
+<a name="l00018"></a>00018 <span class="comment">///   Necessary for cases in which the memory is in another process, in a</span>
+<a name="l00019"></a>00019 <span class="comment">///   file, or on a remote machine.</span>
+<a name="l00020"></a>00020 <span class="comment">///   All size and offset parameters are uint64_ts, to allow 32-bit processes</span>
+<a name="l00021"></a>00021 <span class="comment">///   access to 64-bit address spaces.</span>
+<a name="l00022"></a><a class="code" href="classllvm_1_1MemoryObject.html">00022</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classllvm_1_1MemoryObject.html">MemoryObject</a> {
+<a name="l00023"></a>00023 <span class="keyword">public</span>:<span class="comment"></span>
+<a name="l00024"></a>00024 <span class="comment">  /// Destructor      - Override as necessary.</span>
+<a name="l00025"></a>00025 <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1MemoryObject.html#a516bdb95d7df7788abfe4862c9cfcf2f" title="Destructor - Override as necessary.">~MemoryObject</a>();
+<a name="l00026"></a>00026 <span class="comment"></span>
+<a name="l00027"></a>00027 <span class="comment">  /// getBase         - Returns the lowest valid address in the region.</span>
+<a name="l00028"></a>00028 <span class="comment">  ///</span>
+<a name="l00029"></a>00029 <span class="comment">  /// @result         - The lowest valid address.</span>
+<a name="l00030"></a>00030 <span class="comment"></span>  <span class="keyword">virtual</span> uint64_t <a class="code" href="classllvm_1_1MemoryObject.html#a0bd867351720df5c1746b0cdf5fb311d">getBase</a>() <span class="keyword">const</span> = 0;
+<a name="l00031"></a>00031 <span class="comment"></span>
+<a name="l00032"></a>00032 <span class="comment">  /// getExtent       - Returns the size of the region in bytes.  (The region is</span>
+<a name="l00033"></a>00033 <span class="comment">  ///                   contiguous, so the highest valid address of the region</span>
+<a name="l00034"></a>00034 <span class="comment">  ///                   is getBase() + getExtent() - 1).</span>
+<a name="l00035"></a>00035 <span class="comment">  ///</span>
+<a name="l00036"></a>00036 <span class="comment">  /// @result         - The size of the region.</span>
+<a name="l00037"></a>00037 <span class="comment"></span>  <span class="keyword">virtual</span> uint64_t <a class="code" href="classllvm_1_1MemoryObject.html#a332604f1ea8149479074a923ead6c5f3">getExtent</a>() <span class="keyword">const</span> = 0;
+<a name="l00038"></a>00038 <span class="comment"></span>
+<a name="l00039"></a>00039 <span class="comment">  /// readByte        - Tries to read a single byte from the region.</span>
+<a name="l00040"></a>00040 <span class="comment">  ///</span>
+<a name="l00041"></a>00041 <span class="comment">  /// @param address  - The address of the byte, in the same space as getBase().</span>
+<a name="l00042"></a>00042 <span class="comment">  /// @param ptr      - A pointer to a byte to be filled in.  Must be non-NULL.</span>
+<a name="l00043"></a>00043 <span class="comment">  /// @result         - 0 if successful; -1 if not.  Failure may be due to a</span>
+<a name="l00044"></a>00044 <span class="comment">  ///                   bounds violation or an implementation-specific error.</span>
+<a name="l00045"></a>00045 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classllvm_1_1MemoryObject.html#abdc585424899d8828ea8f334150e28b1">readByte</a>(uint64_t address, uint8_t* ptr) <span class="keyword">const</span> = 0;
+<a name="l00046"></a>00046 <span class="comment"></span>
+<a name="l00047"></a>00047 <span class="comment">  /// readBytes       - Tries to read a contiguous range of bytes from the</span>
+<a name="l00048"></a>00048 <span class="comment">  ///                   region, up to the end of the region.</span>
+<a name="l00049"></a>00049 <span class="comment">  ///                   You should override this function if there is a quicker</span>
+<a name="l00050"></a>00050 <span class="comment">  ///                   way than going back and forth with individual bytes.</span>
+<a name="l00051"></a>00051 <span class="comment">  ///</span>
+<a name="l00052"></a>00052 <span class="comment">  /// @param address  - The address of the first byte, in the same space as </span>
+<a name="l00053"></a>00053 <span class="comment">  ///                   getBase().</span>
+<a name="l00054"></a>00054 <span class="comment">  /// @param size     - The maximum number of bytes to copy.</span>
+<a name="l00055"></a>00055 <span class="comment">  /// @param buf      - A pointer to a buffer to be filled in.  Must be non-NULL</span>
+<a name="l00056"></a>00056 <span class="comment">  ///                   and large enough to hold size bytes.</span>
+<a name="l00057"></a>00057 <span class="comment">  /// @param copied   - A pointer to a nunber that is filled in with the number</span>
+<a name="l00058"></a>00058 <span class="comment">  ///                   of bytes actually read.  May be NULL.</span>
+<a name="l00059"></a>00059 <span class="comment">  /// @result         - 0 if successful; -1 if not.  Failure may be due to a</span>
+<a name="l00060"></a>00060 <span class="comment">  ///                   bounds violation or an implementation-specific error.</span>
+<a name="l00061"></a>00061 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="classllvm_1_1MemoryObject.html#a4d6e18d2532cb4b6e168d8e1f33b8d29">readBytes</a>(uint64_t address,
+<a name="l00062"></a>00062                         uint64_t size,
+<a name="l00063"></a>00063                         uint8_t* buf,
+<a name="l00064"></a>00064                         uint64_t* copied) <span class="keyword">const</span>;
+<a name="l00065"></a>00065 };
+<a name="l00066"></a>00066 
+<a name="l00067"></a>00067 }
+<a name="l00068"></a>00068 
+<a name="l00069"></a>00069 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:35:58 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,17 @@
+<map id="G" name="G">
+<area shape="rect" href="$Memory_8h.html" title="llvm/Support/Memory.h" alt="" coords="315,84,483,111"/>
+<area shape="rect" href="$Valgrind_8h.html" title="llvm/Support/Valgrind.h" alt="" coords="812,161,980,188"/>
+<area shape="rect" href="$config_8h.html" title="llvm/Config/config.h" alt="" coords="2437,239,2581,265"/>
+<area shape="rect" href="$Unix_2Memory_8inc.html" title="Unix/Memory.inc" alt="" coords="691,84,816,111"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="109,393,293,420"/>
+<area shape="rect" href="$system__error_8h.html" title="llvm/Support/system_error.h" alt="" coords="463,161,665,188"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="669,239,843,265"/>
+<area shape="rect" href="$llvm-config_8h.html" title="llvm/Config/llvm-config.h" alt="" coords="469,239,645,265"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="1071,316,1257,343"/>
+<area shape="rect" href="$Unix_8h.html" title="Unix.h" alt="" coords="1723,161,1784,188"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1004,161,1209,188"/>
+<area shape="rect" href="$Process_8h.html" title="llvm/Support/Process.h" alt="" coords="271,161,439,188"/>
+<area shape="rect" href="$Errno_8h.html" title="llvm/Support/Errno.h" alt="" coords="1149,239,1301,265"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1325,239,1475,265"/>
+<area shape="rect" href="$TimeValue_8h.html" title="llvm/Support/TimeValue.h" alt="" coords="109,239,293,265"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+7f7291e6918e52e9974a199a2ea2e99d
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/Memory_8cpp__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/Memory_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Memory_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Memory_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Memory_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,22 @@
+<map id="G" name="G">
+<area shape="rect" href="$RuntimeDyld_8h.html" title="RuntimeDyld.h" alt="" coords="301,84,413,111"/>
+<area shape="rect" href="$JITEmitter_8cpp.html" title="JITEmitter.cpp" alt="" coords="5,239,112,265"/>
+<area shape="rect" href="$JITMemoryManager_8cpp.html" title="JITMemoryManager.cpp" alt="" coords="136,239,304,265"/>
+<area shape="rect" href="$LinkAllVMCore_8h.html" title="LinkAllVMCore.h" alt="" coords="437,84,560,111"/>
+<area shape="rect" href="$Allocator_8cpp.html" title="Allocator.cpp" alt="" coords="584,84,688,111"/>
+<area shape="rect" href="$Memory_8cpp.html" title="Memory.cpp" alt="" coords="712,84,811,111"/>
+<area shape="rect" href="$ARMJITInfo_8cpp.html" title="ARMJITInfo.cpp" alt="" coords="835,84,947,111"/>
+<area shape="rect" href="$MipsJITInfo_8cpp.html" title="MipsJITInfo.cpp" alt="" coords="971,84,1083,111"/>
+<area shape="rect" href="$PPCJITInfo_8cpp.html" title="PPCJITInfo.cpp" alt="" coords="1107,84,1216,111"/>
+<area shape="rect" href="$JITMemoryManager_8h.html" title="JITMemoryManager.h" alt="" coords="281,161,433,188"/>
+<area shape="rect" href="$lib_2ExecutionEngine_2MCJIT_2MCJIT_8h.html" title="MCJIT.h" alt="" coords="523,161,587,188"/>
+<area shape="rect" href="$RuntimeDyldImpl_8h.html" title="RuntimeDyldImpl.h" alt="" coords="732,161,871,188"/>
+<area shape="rect" href="$JIT_8cpp.html" title="JIT.cpp" alt="" coords="328,239,387,265"/>
+<area shape="rect" href="$JITDwarfEmitter_8cpp.html" title="JITDwarfEmitter.cpp" alt="" coords="411,239,555,265"/>
+<area shape="rect" href="$MCJIT_8cpp.html" title="MCJIT.cpp" alt="" coords="579,239,659,265"/>
+<area shape="rect" href="$RuntimeDyld_8cpp.html" title="RuntimeDyld.cpp" alt="" coords="789,316,917,343"/>
+<area shape="rect" href="$RuntimeDyldELF_8h.html" title="RuntimeDyldELF.h" alt="" coords="683,239,816,265"/>
+<area shape="rect" href="$RuntimeDyldMachO_8h.html" title="RuntimeDyldMachO.h" alt="" coords="891,239,1045,265"/>
+<area shape="rect" href="$RuntimeDyldELF_8cpp.html" title="RuntimeDyldELF.cpp" alt="" coords="619,316,765,343"/>
+<area shape="rect" href="$RuntimeDyldMachO_8cpp.html" title="RuntimeDyldMachO.cpp" alt="" coords="941,316,1112,343"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/Memory_8h__dep__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Memory_8h__dep__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Memory_8h__dep__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Memory_8h__dep__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+60cc2fd25d2daaefb594195c7f103df1
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MergeFunctions_8cpp__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MergeFunctions_8cpp__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MergeFunctions_8cpp__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MergeFunctions_8cpp__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,183 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MergeFunctions.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="llvm/Transforms/IPO.h",height=0.2,width=0.4,color="black",URL="$Transforms_2IPO_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/Constants.h",height=0.2,width=0.4,color="black",URL="$Constants_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="llvm/Constant.h",height=0.2,width=0.4,color="red",URL="$Constant_8h.html"];
+  Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="llvm/OperandTraits.h",height=0.2,width=0.4,color="red",URL="$OperandTraits_8h.html"];
+  Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/ADT/APInt.h",height=0.2,width=0.4,color="red",URL="$APInt_8h.html"];
+  Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="llvm/ADT/ArrayRef.h",height=0.2,width=0.4,color="black",URL="$ArrayRef_8h.html"];
+  Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="red",URL="$SmallVector_8h.html"];
+  Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="llvm/ADT/APFloat.h",height=0.2,width=0.4,color="black",URL="$APFloat_8h.html"];
+  Node13 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="llvm/IRBuilder.h",height=0.2,width=0.4,color="black",URL="$IRBuilder_8h.html"];
+  Node14 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="llvm/Instructions.h",height=0.2,width=0.4,color="black",URL="$Instructions_8h.html"];
+  Node15 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="llvm/InstrTypes.h",height=0.2,width=0.4,color="red",URL="$InstrTypes_8h.html"];
+  Node16 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="llvm/Instruction.h",height=0.2,width=0.4,color="red",URL="$Instruction_8h.html"];
+  Node16 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="llvm/DerivedTypes.h",height=0.2,width=0.4,color="black",URL="$DerivedTypes_8h.html"];
+  Node18 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="llvm/Type.h",height=0.2,width=0.4,color="red",URL="$Type_8h.html"];
+  Node19 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="red",URL="$DataTypes_8h.html"];
+  Node18 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/ADT/Twine.h",height=0.2,width=0.4,color="red",URL="$Twine_8h.html"];
+  Node21 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="red",URL="$StringRef_8h.html"];
+  Node22 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node23 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="llvm/Attributes.h",height=0.2,width=0.4,color="red",URL="$Attributes_8h.html"];
+  Node24 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="llvm/CallingConv.h",height=0.2,width=0.4,color="black",URL="$CallingConv_8h.html"];
+  Node15 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/Support/IntegersSubset.h",height=0.2,width=0.4,color="red",URL="$IntegersSubset_8h.html"];
+  Node26 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/LLVMContext.h",height=0.2,width=0.4,color="black",URL="$LLVMContext_8h.html"];
+  Node27 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="llvm/Support/IntegersSubsetMapping.h",height=0.2,width=0.4,color="red",URL="$IntegersSubsetMapping_8h.html"];
+  Node28 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/BasicBlock.h",height=0.2,width=0.4,color="red",URL="$BasicBlock_8h.html"];
+  Node29 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/DataLayout.h",height=0.2,width=0.4,color="red",URL="$DataLayout_8h.html"];
+  Node30 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/Pass.h",height=0.2,width=0.4,color="red",URL="$Pass_8h.html"];
+  Node31 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/Support/ConstantFolder.h",height=0.2,width=0.4,color="black",URL="$ConstantFolder_8h.html"];
+  Node32 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/InlineAsm.h",height=0.2,width=0.4,color="black",URL="$InlineAsm_8h.html"];
+  Node33 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/Value.h",height=0.2,width=0.4,color="red",URL="$Value_8h.html"];
+  Node34 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/Module.h",height=0.2,width=0.4,color="black",URL="$Module_8h.html"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/Function.h",height=0.2,width=0.4,color="red",URL="$Function_8h.html"];
+  Node36 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/GlobalVariable.h",height=0.2,width=0.4,color="red",URL="$GlobalVariable_8h.html"];
+  Node37 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/GlobalAlias.h",height=0.2,width=0.4,color="red",URL="$GlobalAlias_8h.html"];
+  Node38 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/Metadata.h",height=0.2,width=0.4,color="red",URL="$Metadata_8h.html"];
+  Node39 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/ADT/FoldingSet.h",height=0.2,width=0.4,color="black",URL="$FoldingSet_8h.html"];
+  Node40 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/ADT/OwningPtr.h",height=0.2,width=0.4,color="red",URL="$OwningPtr_8h.html"];
+  Node41 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/Operator.h",height=0.2,width=0.4,color="black",URL="$Operator_8h.html"];
+  Node42 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/ADT/DenseSet.h",height=0.2,width=0.4,color="red",URL="$DenseSet_8h.html"];
+  Node1 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/ADT/STLExtras.h",height=0.2,width=0.4,color="red",URL="$STLExtras_8h.html"];
+  Node44 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/ADT/SmallSet.h",height=0.2,width=0.4,color="red",URL="$SmallSet_8h.html"];
+  Node45 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/ADT/Statistic.h",height=0.2,width=0.4,color="red",URL="$Statistic_8h.html"];
+  Node1 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="llvm/Support/CallSite.h",height=0.2,width=0.4,color="red",URL="$CallSite_8h.html"];
+  Node47 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="llvm/Support/Debug.h",height=0.2,width=0.4,color="black",URL="$Debug_8h.html"];
+  Node1 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/Support/ValueHandle.h",height=0.2,width=0.4,color="red",URL="$ValueHandle_8h.html"];
+  Node49 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="llvm/Support/raw_ostream.h",height=0.2,width=0.4,color="black",URL="$raw__ostream_8h.html"];
+  Node50 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MetaRenamer_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MetaRenamer_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MetaRenamer_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MetaRenamer_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,127 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MetaRenamer.cpp File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_22ea62e2015f6a823fddac4ac38ba517.html">Transforms</a>      </li>
+      <li class="navelem"><a class="el" href="dir_256b03a856f3de95632a509cd258a236.html">Utils</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">MetaRenamer.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="STLExtras_8h_source.html">llvm/ADT/STLExtras.h</a>"</code><br/>
+<code>#include "<a class="el" href="SmallString_8h_source.html">llvm/ADT/SmallString.h</a>"</code><br/>
+<code>#include "<a class="el" href="Transforms_2IPO_8h_source.html">llvm/Transforms/IPO.h</a>"</code><br/>
+<code>#include "<a class="el" href="DerivedTypes_8h_source.html">llvm/DerivedTypes.h</a>"</code><br/>
+<code>#include "<a class="el" href="Function_8h_source.html">llvm/Function.h</a>"</code><br/>
+<code>#include "<a class="el" href="Module_8h_source.html">llvm/Module.h</a>"</code><br/>
+<code>#include "<a class="el" href="Pass_8h_source.html">llvm/Pass.h</a>"</code><br/>
+<code>#include "<a class="el" href="Type_8h_source.html">llvm/Type.h</a>"</code><br/>
+<code>#include "<a class="el" href="TypeFinder_8h_source.html">llvm/TypeFinder.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for MetaRenamer.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="MetaRenamer_8cpp__incl.png" border="0" usemap="#MetaRenamer_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="MetaRenamer_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="MetaRenamer_8cpp.html#ac1df24ef9c4ed5cab989f12b8cfcca45">INITIALIZE_PASS</a> (MetaRenamer,"metarenamer","Assign new names to everything", false, <a class="el" href="SimplifyInstructions_8cpp.html#a6dd713bd88673625bb181528a61bdc85">false</a>) <a class="el" href="classllvm_1_1ModulePass.html">ModulePass</a> *llvm</td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ac1df24ef9c4ed5cab989f12b8cfcca45"></a><!-- doxytag: member="MetaRenamer.cpp::INITIALIZE_PASS" ref="ac1df24ef9c4ed5cab989f12b8cfcca45" args="(MetaRenamer,"metarenamer","Assign new names to everything", false, false) ModulePass *llvm" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">INITIALIZE_PASS </td>
+          <td>(</td>
+          <td class="paramtype">MetaRenamer </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"metarenamer" </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"Assign new names to everything" </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="SimplifyInstructions_8cpp.html#a6dd713bd88673625bb181528a61bdc85">false</a> </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="SimplifyInstructions_8cpp.html#a6dd713bd88673625bb181528a61bdc85">false</a> </td>
+          <td class="paramname"> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MetaRenamer_8cpp_source.html#l00124">124</a> of file <a class="el" href="MetaRenamer_8cpp_source.html">MetaRenamer.cpp</a>.</p>
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:36 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/Metadata_8h__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Metadata_8h__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Metadata_8h__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Metadata_8h__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,16 @@
+<map id="G" name="G">
+<area shape="rect" href="$Value_8h.html" title="llvm/Value.h" alt="" coords="312,84,411,111"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="748,84,892,111"/>
+<area shape="rect" href="$FoldingSet_8h.html" title="llvm/ADT/FoldingSet.h" alt="" coords="916,84,1076,111"/>
+<area shape="rect" href="$ilist__node_8h.html" title="llvm/ADT/ilist_node.h" alt="" coords="1100,84,1252,111"/>
+<area shape="rect" href="$Use_8h.html" title="llvm/Use.h" alt="" coords="241,161,329,188"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="277,316,451,343"/>
+<area shape="rect" href="$Casting_8h.html" title="llvm/Support/Casting.h" alt="" coords="353,161,519,188"/>
+<area shape="rect" href="$PointerIntPair_8h.html" title="llvm/ADT/PointerIntPair.h" alt="" coords="47,239,223,265"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="5,316,253,343"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="928,393,1112,420"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="927,239,1113,265"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="805,161,973,188"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="689,239,852,265"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1321,161,1471,188"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/Metadata_8h__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Metadata_8h__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Metadata_8h__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Metadata_8h__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+f78e81a9ef2edc4721d4671b0097c8c0
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/Mips16FrameLowering_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Mips16FrameLowering_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Mips16FrameLowering_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Mips16FrameLowering_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,191 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: Mips16FrameLowering.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">Mips16FrameLowering.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="Mips16FrameLowering_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- Mips16FrameLowering.cpp - Mips16 Frame Information ----------------===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 <span class="comment">//</span>
+<a name="l00010"></a>00010 <span class="comment">// This file contains the Mips16 implementation of TargetFrameLowering class.</span>
+<a name="l00011"></a>00011 <span class="comment">//</span>
+<a name="l00012"></a>00012 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00013"></a>00013 
+<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="Mips16FrameLowering_8h.html">Mips16FrameLowering.h</a>"</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="MipsInstrInfo_8h.html">MipsInstrInfo.h</a>"</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="MipsBaseInfo_8h.html">MCTargetDesc/MipsBaseInfo.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="Function_8h.html">llvm/Function.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="MachineFrameInfo_8h.html">llvm/CodeGen/MachineFrameInfo.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="MachineFunction_8h.html">llvm/CodeGen/MachineFunction.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="MachineInstrBuilder_8h.html">llvm/CodeGen/MachineInstrBuilder.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="MachineModuleInfo_8h.html">llvm/CodeGen/MachineModuleInfo.h</a>"</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="MachineRegisterInfo_8h.html">llvm/CodeGen/MachineRegisterInfo.h</a>"</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="DataLayout_8h.html">llvm/DataLayout.h</a>"</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="TargetOptions_8h.html">llvm/Target/TargetOptions.h</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="CommandLine_8h.html">llvm/Support/CommandLine.h</a>"</span>
+<a name="l00026"></a>00026 
+<a name="l00027"></a>00027 <span class="keyword">using namespace </span>llvm;
+<a name="l00028"></a>00028 
+<a name="l00029"></a><a class="code" href="classllvm_1_1Mips16FrameLowering.html#a0bb1189d6039e07b521ec0e1944008a0">00029</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Mips16FrameLowering.html#a0bb1189d6039e07b521ec0e1944008a0">Mips16FrameLowering::emitPrologue</a>(<a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF)<span class="keyword"> const </span>{
+<a name="l00030"></a>00030   <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB = MF.<a class="code" href="classllvm_1_1MachineFunction.html#af562445435f18637f07676da054ba02c">front</a>();
+<a name="l00031"></a>00031   <a class="code" href="classllvm_1_1MachineFrameInfo.html" title="Abstract Stack Frame Information.">MachineFrameInfo</a> *MFI = MF.<a class="code" href="classllvm_1_1MachineFunction.html#a4ad4295a88187ea1ae12ecfcfa18a70f">getFrameInfo</a>();
+<a name="l00032"></a>00032   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsInstrInfo.html">MipsInstrInfo</a> &TII =
+<a name="l00033"></a>00033     *<span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classllvm_1_1MipsInstrInfo.html">MipsInstrInfo</a>*<span class="keyword">></span>(MF.<a class="code" href="classllvm_1_1MachineFunction.html#a6745c3bfdfc5b0643b078b96df2db252">getTarget</a>().<a class="code" href="classllvm_1_1TargetMachine.html#ac13d0f6f2c915757013b101ef6e8afbc">getInstrInfo</a>());
+<a name="l00034"></a>00034   <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> MBBI = MBB.<a class="code" href="classllvm_1_1MachineBasicBlock.html#ab2d91e7bec944efcbc39d8e30644f111">begin</a>();
+<a name="l00035"></a>00035   <a class="code" href="classllvm_1_1DebugLoc.html">DebugLoc</a> dl = MBBI != MBB.<a class="code" href="classllvm_1_1MachineBasicBlock.html#acbc921830578e2741be6549db716c0ce">end</a>() ? MBBI->getDebugLoc() : <a class="code" href="classllvm_1_1DebugLoc.html">DebugLoc</a>();
+<a name="l00036"></a>00036   uint64_t StackSize = MFI-><a class="code" href="classllvm_1_1MachineFrameInfo.html#a34874094b3ba8b56fd68801250f77183">getStackSize</a>();
+<a name="l00037"></a>00037 
+<a name="l00038"></a>00038   <span class="comment">// No need to allocate space on the stack.</span>
+<a name="l00039"></a>00039   <span class="keywordflow">if</span> (StackSize == 0 && !MFI-><a class="code" href="classllvm_1_1MachineFrameInfo.html#a54aab1c41d2657472b4ea7c9935570c7">adjustsStack</a>()) <span class="keywordflow">return</span>;
+<a name="l00040"></a>00040 
+<a name="l00041"></a>00041   <span class="comment">// Adjust stack.</span>
+<a name="l00042"></a>00042   <span class="keywordflow">if</span> (<a class="code" href="namespacellvm.html#a3b9662928ee4d58fef185abfe20e8184">isInt<16></a>(-StackSize))
+<a name="l00043"></a>00043     <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, MBBI, dl, TII.get(Mips::SaveRaF16)).addImm(StackSize);
+<a name="l00044"></a>00044 
+<a name="l00045"></a>00045   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1MipsFrameLowering.html#ab3f620ecd0426f22a61d14c236088495">hasFP</a>(MF))
+<a name="l00046"></a>00046     <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, MBBI, dl, TII.get(Mips::MoveR3216), Mips::S0)
+<a name="l00047"></a>00047       .addReg(Mips::SP);
+<a name="l00048"></a>00048 
+<a name="l00049"></a>00049 }
+<a name="l00050"></a>00050 
+<a name="l00051"></a><a class="code" href="classllvm_1_1Mips16FrameLowering.html#a4429fce5d4ffcd727dade5d58395ee44">00051</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Mips16FrameLowering.html#a4429fce5d4ffcd727dade5d58395ee44">Mips16FrameLowering::emitEpilogue</a>(<a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF,
+<a name="l00052"></a>00052                                  <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB)<span class="keyword"> const </span>{
+<a name="l00053"></a>00053   <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> MBBI = MBB.<a class="code" href="classllvm_1_1MachineBasicBlock.html#a4c711446100d52415f8e142855c223e1">getLastNonDebugInstr</a>();
+<a name="l00054"></a>00054   <a class="code" href="classllvm_1_1MachineFrameInfo.html" title="Abstract Stack Frame Information.">MachineFrameInfo</a> *MFI = MF.<a class="code" href="classllvm_1_1MachineFunction.html#a4ad4295a88187ea1ae12ecfcfa18a70f">getFrameInfo</a>();
+<a name="l00055"></a>00055   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsInstrInfo.html">MipsInstrInfo</a> &TII =
+<a name="l00056"></a>00056     *<span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classllvm_1_1MipsInstrInfo.html">MipsInstrInfo</a>*<span class="keyword">></span>(MF.<a class="code" href="classllvm_1_1MachineFunction.html#a6745c3bfdfc5b0643b078b96df2db252">getTarget</a>().<a class="code" href="classllvm_1_1TargetMachine.html#ac13d0f6f2c915757013b101ef6e8afbc">getInstrInfo</a>());
+<a name="l00057"></a>00057   <a class="code" href="classllvm_1_1DebugLoc.html">DebugLoc</a> dl = MBBI->getDebugLoc();
+<a name="l00058"></a>00058   uint64_t StackSize = MFI-><a class="code" href="classllvm_1_1MachineFrameInfo.html#a34874094b3ba8b56fd68801250f77183">getStackSize</a>();
+<a name="l00059"></a>00059 
+<a name="l00060"></a>00060   <span class="keywordflow">if</span> (!StackSize)
+<a name="l00061"></a>00061     <span class="keywordflow">return</span>;
+<a name="l00062"></a>00062 
+<a name="l00063"></a>00063   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1MipsFrameLowering.html#ab3f620ecd0426f22a61d14c236088495">hasFP</a>(MF))
+<a name="l00064"></a>00064     <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, MBBI, dl, TII.get(Mips::Move32R16), Mips::SP)
+<a name="l00065"></a>00065       .addReg(Mips::S0);
+<a name="l00066"></a>00066 
+<a name="l00067"></a>00067   <span class="comment">// Adjust stack.</span>
+<a name="l00068"></a>00068   <span class="keywordflow">if</span> (<a class="code" href="namespacellvm.html#a3b9662928ee4d58fef185abfe20e8184">isInt<16></a>(StackSize))
+<a name="l00069"></a>00069     <span class="comment">// assumes stacksize multiple of 8</span>
+<a name="l00070"></a>00070     <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, MBBI, dl, TII.get(Mips::RestoreRaF16)).addImm(StackSize);
+<a name="l00071"></a>00071 }
+<a name="l00072"></a>00072 
+<a name="l00073"></a>00073 <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1Mips16FrameLowering.html#a70f619012e6ec4f315298083b8e17b9d">Mips16FrameLowering::</a>
+<a name="l00074"></a><a class="code" href="classllvm_1_1Mips16FrameLowering.html#a70f619012e6ec4f315298083b8e17b9d">00074</a> <a class="code" href="classllvm_1_1Mips16FrameLowering.html#a70f619012e6ec4f315298083b8e17b9d">spillCalleeSavedRegisters</a>(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB,
+<a name="l00075"></a>00075                           <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>,
+<a name="l00076"></a>00076                           <span class="keyword">const</span> std::vector<CalleeSavedInfo> &CSI,
+<a name="l00077"></a>00077                           <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterInfo.html">TargetRegisterInfo</a> *TRI)<span class="keyword"> const </span>{
+<a name="l00078"></a>00078   <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> *MF = MBB.<a class="code" href="classllvm_1_1MachineBasicBlock.html#af2e482ff2a9253ec6bc2285491496bd6">getParent</a>();
+<a name="l00079"></a>00079   <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> *EntryBlock = MF-><a class="code" href="classllvm_1_1MachineFunction.html#ab0789854909cf47f640a85fa2bac29c7">begin</a>();
+<a name="l00080"></a>00080 
+<a name="l00081"></a>00081   <span class="comment">//</span>
+<a name="l00082"></a>00082   <span class="comment">// Registers RA, S0,S1 are the callee saved registers and they</span>
+<a name="l00083"></a>00083   <span class="comment">// will be saved with the "save" instruction</span>
+<a name="l00084"></a>00084   <span class="comment">// during emitPrologue</span>
+<a name="l00085"></a>00085   <span class="comment">//</span>
+<a name="l00086"></a>00086   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = CSI.size(); i != e; ++i) {
+<a name="l00087"></a>00087     <span class="comment">// Add the callee-saved register as live-in. Do not add if the register is</span>
+<a name="l00088"></a>00088     <span class="comment">// RA and return address is taken, because it has already been added in</span>
+<a name="l00089"></a>00089     <span class="comment">// method MipsTargetLowering::LowerRETURNADDR.</span>
+<a name="l00090"></a>00090     <span class="comment">// It's killed at the spill, unless the register is RA and return address</span>
+<a name="l00091"></a>00091     <span class="comment">// is taken.</span>
+<a name="l00092"></a>00092     <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = CSI[i].getReg();
+<a name="l00093"></a>00093     <span class="keywordtype">bool</span> IsRAAndRetAddrIsTaken = (Reg == Mips::RA)
+<a name="l00094"></a>00094       && MF-><a class="code" href="classllvm_1_1MachineFunction.html#a4ad4295a88187ea1ae12ecfcfa18a70f">getFrameInfo</a>()-><a class="code" href="classllvm_1_1MachineFrameInfo.html#a6ea0bba3d9f50696c9610f6e7ce10f10">isReturnAddressTaken</a>();
+<a name="l00095"></a>00095     <span class="keywordflow">if</span> (!IsRAAndRetAddrIsTaken)
+<a name="l00096"></a>00096       EntryBlock-><a class="code" href="classllvm_1_1MachineBasicBlock.html#ae26efdb76d5c56388c65dc5b02a2ae6f">addLiveIn</a>(Reg);
+<a name="l00097"></a>00097   }
+<a name="l00098"></a>00098 
+<a name="l00099"></a>00099   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00100"></a>00100 }
+<a name="l00101"></a>00101 
+<a name="l00102"></a><a class="code" href="classllvm_1_1Mips16FrameLowering.html#ab4d2b0f0f0476d02a74752eddd3781bf">00102</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1Mips16FrameLowering.html#ab4d2b0f0f0476d02a74752eddd3781bf">Mips16FrameLowering::restoreCalleeSavedRegisters</a>(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB,
+<a name="l00103"></a>00103                                           <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>,
+<a name="l00104"></a>00104                                        <span class="keyword">const</span> std::vector<CalleeSavedInfo> &CSI,
+<a name="l00105"></a>00105                                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterInfo.html">TargetRegisterInfo</a> *TRI)<span class="keyword"> const </span>{
+<a name="l00106"></a>00106   <span class="comment">//</span>
+<a name="l00107"></a>00107   <span class="comment">// Registers RA,S0,S1 are the callee saved registers and they will be restored</span>
+<a name="l00108"></a>00108   <span class="comment">// with the restore instruction during emitEpilogue.</span>
+<a name="l00109"></a>00109   <span class="comment">// We need to override this virtual function, otherwise llvm will try and</span>
+<a name="l00110"></a>00110   <span class="comment">// restore the registers on it's on from the stack.</span>
+<a name="l00111"></a>00111   <span class="comment">//</span>
+<a name="l00112"></a>00112 
+<a name="l00113"></a>00113   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00114"></a>00114 }
+<a name="l00115"></a>00115 
+<a name="l00116"></a>00116 <span class="keywordtype">bool</span>
+<a name="l00117"></a><a class="code" href="classllvm_1_1Mips16FrameLowering.html#ae10b7f2516619f515b62e85813427f1e">00117</a> <a class="code" href="classllvm_1_1Mips16FrameLowering.html#ae10b7f2516619f515b62e85813427f1e">Mips16FrameLowering::hasReservedCallFrame</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF)<span class="keyword"> const </span>{
+<a name="l00118"></a>00118   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineFrameInfo.html" title="Abstract Stack Frame Information.">MachineFrameInfo</a> *MFI = MF.<a class="code" href="classllvm_1_1MachineFunction.html#a4ad4295a88187ea1ae12ecfcfa18a70f">getFrameInfo</a>();
+<a name="l00119"></a>00119   <span class="comment">// Reserve call frame if the size of the maximum call frame fits into 15-bit</span>
+<a name="l00120"></a>00120   <span class="comment">// immediate field and there are no variable sized objects on the stack.</span>
+<a name="l00121"></a>00121   <span class="keywordflow">return</span> isInt<15>(MFI-><a class="code" href="classllvm_1_1MachineFrameInfo.html#a00e048d1d905fa65ee3377d99d4f2ae3">getMaxCallFrameSize</a>()) && !MFI-><a class="code" href="classllvm_1_1MachineFrameInfo.html#a5cd76eb2aeed3ae46da1bb1b132f1831">hasVarSizedObjects</a>();
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 
+<a name="l00124"></a>00124 <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Mips16FrameLowering.html#a192fd5934d55e54a604a093ef47248b8">Mips16FrameLowering::</a>
+<a name="l00125"></a><a class="code" href="classllvm_1_1Mips16FrameLowering.html#a192fd5934d55e54a604a093ef47248b8">00125</a> <a class="code" href="classllvm_1_1Mips16FrameLowering.html#a192fd5934d55e54a604a093ef47248b8">processFunctionBeforeCalleeSavedScan</a>(<a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF,
+<a name="l00126"></a>00126                                      <a class="code" href="classllvm_1_1RegScavenger.html">RegScavenger</a> *RS)<span class="keyword"> const </span>{
+<a name="l00127"></a>00127   MF.<a class="code" href="classllvm_1_1MachineFunction.html#ab4a6ca428289b667dd691a00e9f7e334">getRegInfo</a>().<a class="code" href="classllvm_1_1MachineRegisterInfo.html#a8102e337f77143271ef8ccd4ea2546b3">setPhysRegUsed</a>(Mips::RA);
+<a name="l00128"></a>00128   MF.<a class="code" href="classllvm_1_1MachineFunction.html#ab4a6ca428289b667dd691a00e9f7e334">getRegInfo</a>().<a class="code" href="classllvm_1_1MachineRegisterInfo.html#a8102e337f77143271ef8ccd4ea2546b3">setPhysRegUsed</a>(Mips::S0);
+<a name="l00129"></a>00129   MF.<a class="code" href="classllvm_1_1MachineFunction.html#ab4a6ca428289b667dd691a00e9f7e334">getRegInfo</a>().<a class="code" href="classllvm_1_1MachineRegisterInfo.html#a8102e337f77143271ef8ccd4ea2546b3">setPhysRegUsed</a>(Mips::S1);
+<a name="l00130"></a>00130 }
+<a name="l00131"></a>00131 
+<a name="l00132"></a>00132 <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsFrameLowering.html">MipsFrameLowering</a> *
+<a name="l00133"></a><a class="code" href="namespacellvm.html#ab7630b6826399bba39ee35025246a455">00133</a> <a class="code" href="namespacellvm.html#ab7630b6826399bba39ee35025246a455" title="Create MipsInstrInfo objects.">llvm::createMips16FrameLowering</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> &<a class="code" href="namespacellvm_1_1ARM__MB.html#ad70272e2a9ec2a7e3a497458e1edbc85aed0b9bef861c96eee19e89db753db7b2">ST</a>) {
+<a name="l00134"></a>00134   <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classllvm_1_1Mips16FrameLowering.html">Mips16FrameLowering</a>(ST);
+<a name="l00135"></a>00135 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:36:03 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/Mips16FrameLowering_8h__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Mips16FrameLowering_8h__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/Mips16FrameLowering_8h__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/Mips16InstrInfo_8cpp__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Mips16InstrInfo_8cpp__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Mips16InstrInfo_8cpp__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Mips16InstrInfo_8cpp__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,155 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="Mips16InstrInfo.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="Mips16InstrInfo.h",height=0.2,width=0.4,color="black",URL="$Mips16InstrInfo_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="MipsInstrInfo.h",height=0.2,width=0.4,color="black",URL="$MipsInstrInfo_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="Mips.h",height=0.2,width=0.4,color="red",URL="$Mips_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="llvm/Target/TargetMachine.h",height=0.2,width=0.4,color="red",URL="$Target_2TargetMachine_8h.html"];
+  Node5 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="llvm/Support/CodeGen.h",height=0.2,width=0.4,color="black",URL="$CodeGen_8h.html"];
+  Node5 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/Target/TargetTransformImpl.h",height=0.2,width=0.4,color="red",URL="$TargetTransformImpl_8h.html"];
+  Node5 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="red",URL="$type__traits_8h.html"];
+  Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="MipsAnalyzeImmediate.h",height=0.2,width=0.4,color="red",URL="$MipsAnalyzeImmediate_8h.html"];
+  Node3 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="MipsRegisterInfo.h",height=0.2,width=0.4,color="red",URL="$MipsRegisterInfo_8h.html"];
+  Node18 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="llvm/Target/TargetRegisterInfo.h",height=0.2,width=0.4,color="red",URL="$TargetRegisterInfo_8h.html"];
+  Node19 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="functional",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node21 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node21 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="llvm/Target/TargetInstrInfo.h",height=0.2,width=0.4,color="red",URL="$TargetInstrInfo_8h.html"];
+  Node23 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="llvm/CodeGen/MachineFunction.h",height=0.2,width=0.4,color="red",URL="$MachineFunction_8h.html"];
+  Node3 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="MipsGenInstrInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="Mips16RegisterInfo.h",height=0.2,width=0.4,color="black",URL="$Mips16RegisterInfo_8h.html"];
+  Node26 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="MipsTargetMachine.h",height=0.2,width=0.4,color="black",URL="$MipsTargetMachine_8h.html"];
+  Node27 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="MipsFrameLowering.h",height=0.2,width=0.4,color="black",URL="$MipsFrameLowering_8h.html"];
+  Node28 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="MipsSubtarget.h",height=0.2,width=0.4,color="red",URL="$MipsSubtarget_8h.html"];
+  Node29 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/Target/TargetFrameLowering.h",height=0.2,width=0.4,color="red",URL="$TargetFrameLowering_8h.html"];
+  Node30 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node27 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="MipsISelLowering.h",height=0.2,width=0.4,color="red",URL="$MipsISelLowering_8h.html"];
+  Node32 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/CodeGen/CallingConvLower.h",height=0.2,width=0.4,color="red",URL="$CallingConvLower_8h.html"];
+  Node33 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/CodeGen/MachineFrameInfo.h",height=0.2,width=0.4,color="red",URL="$MachineFrameInfo_8h.html"];
+  Node34 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="MipsJITInfo.h",height=0.2,width=0.4,color="red",URL="$MipsJITInfo_8h.html"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="MipsMachineFunction.h",height=0.2,width=0.4,color="black",URL="$MipsMachineFunction_8h.html"];
+  Node36 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="MipsSelectionDAGInfo.h",height=0.2,width=0.4,color="red",URL="$MipsSelectionDAGInfo_8h.html"];
+  Node27 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/DataLayout.h",height=0.2,width=0.4,color="red",URL="$DataLayout_8h.html"];
+  Node27 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="InstPrinter/MipsInstPrinter.h",height=0.2,width=0.4,color="black",URL="$MipsInstPrinter_8h.html"];
+  Node39 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/MC/MCInstPrinter.h",height=0.2,width=0.4,color="black",URL="$MCInstPrinter_8h.html"];
+  Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/CodeGen/MachineInstrBuilder.h",height=0.2,width=0.4,color="black",URL="$MachineInstrBuilder_8h.html"];
+  Node41 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/CodeGen/MachineRegisterInfo.h",height=0.2,width=0.4,color="black",URL="$MachineRegisterInfo_8h.html"];
+  Node42 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/CodeGen/MachineInstrBundle.h",height=0.2,width=0.4,color="red",URL="$MachineInstrBundle_8h.html"];
+  Node42 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/ADT/BitVector.h",height=0.2,width=0.4,color="red",URL="$BitVector_8h.html"];
+  Node44 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node42 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/ADT/IndexedMap.h",height=0.2,width=0.4,color="black",URL="$IndexedMap_8h.html"];
+  Node46 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="llvm/ADT/STLExtras.h",height=0.2,width=0.4,color="black",URL="$STLExtras_8h.html"];
+  Node47 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node47 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/Support/TargetRegistry.h",height=0.2,width=0.4,color="black",URL="$TargetRegistry_8h.html"];
+  Node49 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="llvm/ADT/Triple.h",height=0.2,width=0.4,color="red",URL="$Triple_8h.html"];
+  Node49 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/Mips16InstrInfo_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Mips16InstrInfo_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Mips16InstrInfo_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Mips16InstrInfo_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,255 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: Mips16InstrInfo.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">Mips16InstrInfo.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="Mips16InstrInfo_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- Mips16InstrInfo.cpp - Mips16 Instruction Information --------------===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 <span class="comment">//</span>
+<a name="l00010"></a>00010 <span class="comment">// This file contains the Mips16 implementation of the TargetInstrInfo class.</span>
+<a name="l00011"></a>00011 <span class="comment">//</span>
+<a name="l00012"></a>00012 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00013"></a>00013 
+<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="Mips16InstrInfo_8h.html">Mips16InstrInfo.h</a>"</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="MipsTargetMachine_8h.html">MipsTargetMachine.h</a>"</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="MipsMachineFunction_8h.html">MipsMachineFunction.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="MipsInstPrinter_8h.html">InstPrinter/MipsInstPrinter.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="MachineInstrBuilder_8h.html">llvm/CodeGen/MachineInstrBuilder.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="MachineRegisterInfo_8h.html">llvm/CodeGen/MachineRegisterInfo.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="ErrorHandling_8h.html">llvm/Support/ErrorHandling.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="TargetRegistry_8h.html">llvm/Support/TargetRegistry.h</a>"</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="STLExtras_8h.html">llvm/ADT/STLExtras.h</a>"</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="StringRef_8h.html">llvm/ADT/StringRef.h</a>"</span>
+<a name="l00024"></a>00024 
+<a name="l00025"></a>00025 <span class="keyword">using namespace </span>llvm;
+<a name="l00026"></a>00026 
+<a name="l00027"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#afbf2e2e936b0dd32dd90eb2f00110336">00027</a> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#afbf2e2e936b0dd32dd90eb2f00110336">Mips16InstrInfo::Mips16InstrInfo</a>(<a class="code" href="classllvm_1_1MipsTargetMachine.html">MipsTargetMachine</a> &tm)
+<a name="l00028"></a>00028   : <a class="code" href="classllvm_1_1MipsInstrInfo.html">MipsInstrInfo</a>(tm, Mips::BimmX16),
+<a name="l00029"></a>00029     RI(*tm.getSubtargetImpl(), *this) {}
+<a name="l00030"></a>00030 
+<a name="l00031"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#ab98f3f88d1daf1f1ac89ee219192c2b1">00031</a> <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsRegisterInfo.html">MipsRegisterInfo</a> &<a class="code" href="classllvm_1_1Mips16InstrInfo.html#ab98f3f88d1daf1f1ac89ee219192c2b1">Mips16InstrInfo::getRegisterInfo</a>()<span class="keyword"> const </span>{
+<a name="l00032"></a>00032   <span class="keywordflow">return</span> RI;
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 <span class="comment"></span>
+<a name="l00035"></a>00035 <span class="comment">/// isLoadFromStackSlot - If the specified machine instruction is a direct</span>
+<a name="l00036"></a>00036 <span class="comment">/// load from a stack slot, return the virtual or physical register number of</span>
+<a name="l00037"></a>00037 <span class="comment">/// the destination along with the FrameIndex of the loaded stack slot.  If</span>
+<a name="l00038"></a>00038 <span class="comment">/// not, return 0.  This predicate must return 0 if the instruction has</span>
+<a name="l00039"></a>00039 <span class="comment">/// any side effects other than loading from the stack slot.</span>
+<a name="l00040"></a>00040 <span class="comment"></span><span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#a5fd4ae04b95c60c5c12aa6c5cecd2d7c">Mips16InstrInfo::</a>
+<a name="l00041"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#a5fd4ae04b95c60c5c12aa6c5cecd2d7c">00041</a> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#a5fd4ae04b95c60c5c12aa6c5cecd2d7c">isLoadFromStackSlot</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">int</span> &<a class="code" href="namespacellvm_1_1ISD.html#a22ea9cec080dd5f4f47ba234c2f59110a4b437632fd9b97dd36010d85eb363efe">FrameIndex</a>)<span class="keyword"> const</span>
+<a name="l00042"></a>00042 <span class="keyword"></span>{
+<a name="l00043"></a>00043   <span class="keywordflow">return</span> 0;
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 <span class="comment"></span>
+<a name="l00046"></a>00046 <span class="comment">/// isStoreToStackSlot - If the specified machine instruction is a direct</span>
+<a name="l00047"></a>00047 <span class="comment">/// store to a stack slot, return the virtual or physical register number of</span>
+<a name="l00048"></a>00048 <span class="comment">/// the source reg along with the FrameIndex of the loaded stack slot.  If</span>
+<a name="l00049"></a>00049 <span class="comment">/// not, return 0.  This predicate must return 0 if the instruction has</span>
+<a name="l00050"></a>00050 <span class="comment">/// any side effects other than storing to the stack slot.</span>
+<a name="l00051"></a>00051 <span class="comment"></span><span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#aa5cdbf83e904eee11681cce31d959616">Mips16InstrInfo::</a>
+<a name="l00052"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#aa5cdbf83e904eee11681cce31d959616">00052</a> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#aa5cdbf83e904eee11681cce31d959616">isStoreToStackSlot</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">int</span> &<a class="code" href="namespacellvm_1_1ISD.html#a22ea9cec080dd5f4f47ba234c2f59110a4b437632fd9b97dd36010d85eb363efe">FrameIndex</a>)<span class="keyword"> const</span>
+<a name="l00053"></a>00053 <span class="keyword"></span>{
+<a name="l00054"></a>00054   <span class="keywordflow">return</span> 0;
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 
+<a name="l00057"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#a57e80b5922095e9f141c4fbb3e59a4a4">00057</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#a57e80b5922095e9f141c4fbb3e59a4a4">Mips16InstrInfo::copyPhysReg</a>(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB,
+<a name="l00058"></a>00058                                   <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, <a class="code" href="classllvm_1_1DebugLoc.html">DebugLoc</a> DL,
+<a name="l00059"></a>00059                                   <span class="keywordtype">unsigned</span> DestReg, <span class="keywordtype">unsigned</span> SrcReg,
+<a name="l00060"></a>00060                                   <span class="keywordtype">bool</span> KillSrc)<span class="keyword"> const </span>{
+<a name="l00061"></a>00061   <span class="keywordtype">unsigned</span> Opc = 0;
+<a name="l00062"></a>00062 
+<a name="l00063"></a>00063   <span class="keywordflow">if</span> (Mips::CPU16RegsRegClass.contains(DestReg) &&
+<a name="l00064"></a>00064       Mips::CPURegsRegClass.contains(SrcReg))
+<a name="l00065"></a>00065     Opc = Mips::MoveR3216;
+<a name="l00066"></a>00066   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Mips::CPURegsRegClass.contains(DestReg) &&
+<a name="l00067"></a>00067            Mips::CPU16RegsRegClass.contains(SrcReg))
+<a name="l00068"></a>00068     Opc = Mips::Move32R16;
+<a name="l00069"></a>00069   <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((SrcReg == <a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6a7ed629585c923f434528020bd892bb97">Mips::HI</a>) &&
+<a name="l00070"></a>00070            (Mips::CPU16RegsRegClass.contains(DestReg)))
+<a name="l00071"></a>00071     Opc = Mips::Mfhi16, SrcReg = 0;
+<a name="l00072"></a>00072 
+<a name="l00073"></a>00073   <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((SrcReg == <a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6a85a7716b3a259c91702bce293fb923df">Mips::LO</a>) &&
+<a name="l00074"></a>00074            (Mips::CPU16RegsRegClass.contains(DestReg)))
+<a name="l00075"></a>00075     Opc = Mips::Mflo16, SrcReg = 0;
+<a name="l00076"></a>00076 
+<a name="l00077"></a>00077 
+<a name="l00078"></a>00078   assert(Opc && <span class="stringliteral">"Cannot copy registers"</span>);
+<a name="l00079"></a>00079 
+<a name="l00080"></a>00080   <a class="code" href="classllvm_1_1MachineInstrBuilder.html">MachineInstrBuilder</a> MIB = <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, I, DL, <span class="keyword">get</span>(Opc));
+<a name="l00081"></a>00081 
+<a name="l00082"></a>00082   <span class="keywordflow">if</span> (DestReg)
+<a name="l00083"></a>00083     MIB.<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a5125cce72b214df09ca8f93dcbbf4c3a">addReg</a>(DestReg, <a class="code" href="namespacellvm_1_1RegState.html#a079b254e749130fbe5d740f314ca92daa72c17e2ff2d5af62a30e56ac152aa8d5">RegState::Define</a>);
+<a name="l00084"></a>00084 
+<a name="l00085"></a>00085   <span class="keywordflow">if</span> (SrcReg)
+<a name="l00086"></a>00086     MIB.<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a5125cce72b214df09ca8f93dcbbf4c3a">addReg</a>(SrcReg, <a class="code" href="namespacellvm.html#aac57d4100e9a9d02522fbd724568397d">getKillRegState</a>(KillSrc));
+<a name="l00087"></a>00087 }
+<a name="l00088"></a>00088 
+<a name="l00089"></a>00089 <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#ad73d0f30ce71b4fe996881036e141dce">Mips16InstrInfo::</a>
+<a name="l00090"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#ad73d0f30ce71b4fe996881036e141dce">00090</a> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#ad73d0f30ce71b4fe996881036e141dce">storeRegToStackSlot</a>(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB, <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>,
+<a name="l00091"></a>00091                     <span class="keywordtype">unsigned</span> SrcReg, <span class="keywordtype">bool</span> isKill, <span class="keywordtype">int</span> FI,
+<a name="l00092"></a>00092                     <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a> *RC,
+<a name="l00093"></a>00093                     <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterInfo.html">TargetRegisterInfo</a> *TRI)<span class="keyword"> const </span>{
+<a name="l00094"></a>00094   <a class="code" href="classllvm_1_1DebugLoc.html">DebugLoc</a> DL;
+<a name="l00095"></a>00095   <span class="keywordflow">if</span> (I != MBB.<a class="code" href="classllvm_1_1MachineBasicBlock.html#acbc921830578e2741be6549db716c0ce">end</a>()) DL = I->getDebugLoc();
+<a name="l00096"></a>00096   <a class="code" href="classllvm_1_1MachineMemOperand.html">MachineMemOperand</a> *MMO = <a class="code" href="classllvm_1_1MipsInstrInfo.html#a04dd31b6fb4c2346427f702a02ba9776">GetMemOperand</a>(MBB, FI, <a class="code" href="classllvm_1_1MachineMemOperand.html#a120d548151541463831d22519eb9b82faed357b1367bc90a56fefa4d1b0e17374" title="The memory access writes data.">MachineMemOperand::MOStore</a>);
+<a name="l00097"></a>00097   <span class="keywordtype">unsigned</span> Opc = 0;
+<a name="l00098"></a>00098   <span class="keywordflow">if</span> (Mips::CPU16RegsRegClass.hasSubClassEq(RC))
+<a name="l00099"></a>00099     Opc = Mips::SwRxSpImmX16;
+<a name="l00100"></a>00100   assert(Opc && <span class="stringliteral">"Register class not handled!"</span>);
+<a name="l00101"></a>00101   <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, I, DL, <span class="keyword">get</span>(Opc)).<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a5125cce72b214df09ca8f93dcbbf4c3a">addReg</a>(SrcReg, <a class="code" href="namespacellvm.html#aac57d4100e9a9d02522fbd724568397d">getKillRegState</a>(isKill))
+<a name="l00102"></a>00102     .<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a626648c4c0b3a79d0128473f3b72b88d">addFrameIndex</a>(FI).<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a9f1fae6a5dbb6e378ca85df1fded8515">addImm</a>(0).<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a384beeba0ba566bd452979f538197559">addMemOperand</a>(MMO);
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104 
+<a name="l00105"></a>00105 <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#ab0db66d34d60f9251f4ef0dcb4731994">Mips16InstrInfo::</a>
+<a name="l00106"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#ab0db66d34d60f9251f4ef0dcb4731994">00106</a> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#ab0db66d34d60f9251f4ef0dcb4731994">loadRegFromStackSlot</a>(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB, <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>,
+<a name="l00107"></a>00107                      <span class="keywordtype">unsigned</span> DestReg, <span class="keywordtype">int</span> FI,
+<a name="l00108"></a>00108                      <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a> *RC,
+<a name="l00109"></a>00109                      <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterInfo.html">TargetRegisterInfo</a> *TRI)<span class="keyword"> const </span>{
+<a name="l00110"></a>00110   <a class="code" href="classllvm_1_1DebugLoc.html">DebugLoc</a> DL;
+<a name="l00111"></a>00111   <span class="keywordflow">if</span> (I != MBB.<a class="code" href="classllvm_1_1MachineBasicBlock.html#acbc921830578e2741be6549db716c0ce">end</a>()) DL = I->getDebugLoc();
+<a name="l00112"></a>00112   <a class="code" href="classllvm_1_1MachineMemOperand.html">MachineMemOperand</a> *MMO = <a class="code" href="classllvm_1_1MipsInstrInfo.html#a04dd31b6fb4c2346427f702a02ba9776">GetMemOperand</a>(MBB, FI, <a class="code" href="classllvm_1_1MachineMemOperand.html#a120d548151541463831d22519eb9b82fa7d12be6206e5b0026c71bbcd5cb76494" title="The memory access reads data.">MachineMemOperand::MOLoad</a>);
+<a name="l00113"></a>00113   <span class="keywordtype">unsigned</span> Opc = 0;
+<a name="l00114"></a>00114 
+<a name="l00115"></a>00115   <span class="keywordflow">if</span> (Mips::CPU16RegsRegClass.hasSubClassEq(RC))
+<a name="l00116"></a>00116     Opc = Mips::LwRxSpImmX16;
+<a name="l00117"></a>00117   assert(Opc && <span class="stringliteral">"Register class not handled!"</span>);
+<a name="l00118"></a>00118   <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, I, DL, <span class="keyword">get</span>(Opc), DestReg).<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a626648c4c0b3a79d0128473f3b72b88d">addFrameIndex</a>(FI).<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a9f1fae6a5dbb6e378ca85df1fded8515">addImm</a>(0)
+<a name="l00119"></a>00119     .<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a384beeba0ba566bd452979f538197559">addMemOperand</a>(MMO);
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 
+<a name="l00122"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#a2453204ab04466879672d8a314601b95">00122</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#a2453204ab04466879672d8a314601b95">Mips16InstrInfo::expandPostRAPseudo</a>(<a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>)<span class="keyword"> const </span>{
+<a name="l00123"></a>00123   <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB = *MI-><a class="code" href="classllvm_1_1MachineBasicBlock.html#af2e482ff2a9253ec6bc2285491496bd6">getParent</a>();
+<a name="l00124"></a>00124 
+<a name="l00125"></a>00125   <span class="keywordflow">switch</span>(MI->getDesc().getOpcode()) {
+<a name="l00126"></a>00126   <span class="keywordflow">default</span>:
+<a name="l00127"></a>00127     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00128"></a>00128   <span class="keywordflow">case</span> Mips::RetRA16:
+<a name="l00129"></a>00129     ExpandRetRA16(MBB, MI, Mips::JrcRa16);
+<a name="l00130"></a>00130     <span class="keywordflow">break</span>;
+<a name="l00131"></a>00131   }
+<a name="l00132"></a>00132 
+<a name="l00133"></a>00133   MBB.<a class="code" href="classllvm_1_1MachineBasicBlock.html#a537a9265c55392ab47d44954f27db538">erase</a>(MI);
+<a name="l00134"></a>00134   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00135"></a>00135 }
+<a name="l00136"></a>00136 <span class="comment"></span>
+<a name="l00137"></a>00137 <span class="comment">/// GetOppositeBranchOpc - Return the inverse of the specified</span>
+<a name="l00138"></a>00138 <span class="comment">/// opcode, e.g. turning BEQ to BNE.</span>
+<a name="l00139"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#ad876bb55bf56140302fb6e1adddc3cc3">00139</a> <span class="comment"></span><span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#ad876bb55bf56140302fb6e1adddc3cc3">Mips16InstrInfo::GetOppositeBranchOpc</a>(<span class="keywordtype">unsigned</span> Opc)<span class="keyword"> const </span>{
+<a name="l00140"></a>00140   <span class="keywordflow">switch</span> (Opc) {
+<a name="l00141"></a>00141   <span class="keywordflow">default</span>:  <a class="code" href="ErrorHandling_8h.html#ace243f5c25697a1107cce46626b3dc94">llvm_unreachable</a>(<span class="stringliteral">"Illegal opcode!"</span>);
+<a name="l00142"></a>00142   <span class="keywordflow">case</span> Mips::BeqzRxImmX16: <span class="keywordflow">return</span> Mips::BnezRxImmX16;
+<a name="l00143"></a>00143   <span class="keywordflow">case</span> Mips::BnezRxImmX16: <span class="keywordflow">return</span> Mips::BeqzRxImmX16;
+<a name="l00144"></a>00144   <span class="keywordflow">case</span> Mips::BteqzT8CmpX16: <span class="keywordflow">return</span> Mips::BtnezT8CmpX16;
+<a name="l00145"></a>00145   <span class="keywordflow">case</span> Mips::BteqzT8SltX16: <span class="keywordflow">return</span> Mips::BtnezT8SltX16;
+<a name="l00146"></a>00146   <span class="keywordflow">case</span> Mips::BteqzT8SltiX16: <span class="keywordflow">return</span> Mips::BtnezT8SltiX16;
+<a name="l00147"></a>00147   <span class="keywordflow">case</span> Mips::BtnezX16: <span class="keywordflow">return</span> Mips::BteqzX16;
+<a name="l00148"></a>00148   <span class="keywordflow">case</span> Mips::BtnezT8CmpiX16: <span class="keywordflow">return</span> Mips::BteqzT8CmpiX16;
+<a name="l00149"></a>00149   <span class="keywordflow">case</span> Mips::BtnezT8SltuX16: <span class="keywordflow">return</span> Mips::BteqzT8SltuX16;
+<a name="l00150"></a>00150   <span class="keywordflow">case</span> Mips::BtnezT8SltiuX16: <span class="keywordflow">return</span> Mips::BteqzT8SltiuX16;
+<a name="l00151"></a>00151   <span class="keywordflow">case</span> Mips::BteqzX16: <span class="keywordflow">return</span> Mips::BtnezX16;
+<a name="l00152"></a>00152   <span class="keywordflow">case</span> Mips::BteqzT8CmpiX16: <span class="keywordflow">return</span> Mips::BtnezT8CmpiX16;
+<a name="l00153"></a>00153   <span class="keywordflow">case</span> Mips::BteqzT8SltuX16: <span class="keywordflow">return</span> Mips::BtnezT8SltuX16;
+<a name="l00154"></a>00154   <span class="keywordflow">case</span> Mips::BteqzT8SltiuX16: <span class="keywordflow">return</span> Mips::BtnezT8SltiuX16;
+<a name="l00155"></a>00155   <span class="keywordflow">case</span> Mips::BtnezT8CmpX16: <span class="keywordflow">return</span> Mips::BteqzT8CmpX16;
+<a name="l00156"></a>00156   <span class="keywordflow">case</span> Mips::BtnezT8SltX16: <span class="keywordflow">return</span> Mips::BteqzT8SltX16;
+<a name="l00157"></a>00157   <span class="keywordflow">case</span> Mips::BtnezT8SltiX16: <span class="keywordflow">return</span> Mips::BteqzT8SltiX16;
+<a name="l00158"></a>00158   }
+<a name="l00159"></a>00159   assert(<span class="keyword">false</span> && <span class="stringliteral">"Implement this function."</span>);
+<a name="l00160"></a>00160   <span class="keywordflow">return</span> 0;
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162 <span class="comment"></span>
+<a name="l00163"></a>00163 <span class="comment">/// Adjust SP by Amount bytes.</span>
+<a name="l00164"></a><a class="code" href="classllvm_1_1Mips16InstrInfo.html#a6288d6bb6a6243bf386ae049a9b1511b">00164</a> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Mips16InstrInfo.html#a6288d6bb6a6243bf386ae049a9b1511b" title="Adjust SP by Amount bytes.">Mips16InstrInfo::adjustStackPtr</a>(<span class="keywordtype">unsigned</span> SP, <a class="code" href="classint64__t.html">int64_t</a> Amount,
+<a name="l00165"></a>00165                                      <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB,
+<a name="l00166"></a>00166                                      <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)<span class="keyword"> const </span>{
+<a name="l00167"></a>00167   <a class="code" href="classllvm_1_1DebugLoc.html">DebugLoc</a> DL = I != MBB.<a class="code" href="classllvm_1_1MachineBasicBlock.html#acbc921830578e2741be6549db716c0ce">end</a>() ? I->getDebugLoc() : <a class="code" href="classllvm_1_1DebugLoc.html">DebugLoc</a>();
+<a name="l00168"></a>00168   <span class="keywordflow">if</span> (<a class="code" href="namespacellvm.html#a3b9662928ee4d58fef185abfe20e8184">isInt<16></a>(Amount)) {
+<a name="l00169"></a>00169     <span class="keywordflow">if</span> (Amount < 0)
+<a name="l00170"></a>00170       <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, I, DL, <span class="keyword">get</span>(Mips::SaveDecSpF16)). addImm(-Amount);
+<a name="l00171"></a>00171     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Amount > 0)
+<a name="l00172"></a>00172       <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, I, DL, <span class="keyword">get</span>(Mips::RestoreIncSpF16)).<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a9f1fae6a5dbb6e378ca85df1fded8515">addImm</a>(Amount);
+<a name="l00173"></a>00173   }
+<a name="l00174"></a>00174   <span class="keywordflow">else</span>
+<a name="l00175"></a>00175     <span class="comment">// not implemented for large values yet</span>
+<a name="l00176"></a>00176     assert(<span class="keyword">false</span> && <span class="stringliteral">"adjust stack pointer amount exceeded"</span>);
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178 
+<a name="l00179"></a>00179 <span class="keywordtype">unsigned</span> Mips16InstrInfo::GetAnalyzableBrOpc(<span class="keywordtype">unsigned</span> Opc)<span class="keyword"> const </span>{
+<a name="l00180"></a>00180   <span class="keywordflow">return</span> (Opc == Mips::BeqzRxImmX16   || Opc == Mips::BimmX16  ||
+<a name="l00181"></a>00181           Opc == Mips::BnezRxImmX16   || Opc == Mips::BteqzX16 ||
+<a name="l00182"></a>00182           Opc == Mips::BteqzT8CmpX16  || Opc == Mips::BteqzT8CmpiX16 ||
+<a name="l00183"></a>00183           Opc == Mips::BteqzT8SltX16  || Opc == Mips::BteqzT8SltuX16  ||
+<a name="l00184"></a>00184           Opc == Mips::BteqzT8SltiX16 || Opc == Mips::BteqzT8SltiuX16 ||
+<a name="l00185"></a>00185           Opc == Mips::BtnezX16       || Opc == Mips::BtnezT8CmpX16 ||
+<a name="l00186"></a>00186           Opc == Mips::BtnezT8CmpiX16 || Opc == Mips::BtnezT8SltX16 ||
+<a name="l00187"></a>00187           Opc == Mips::BtnezT8SltuX16 || Opc == Mips::BtnezT8SltiX16 ||
+<a name="l00188"></a>00188           Opc == Mips::BtnezT8SltiuX16 ) ? Opc : 0;
+<a name="l00189"></a>00189 }
+<a name="l00190"></a>00190 
+<a name="l00191"></a>00191 <span class="keywordtype">void</span> Mips16InstrInfo::ExpandRetRA16(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB,
+<a name="l00192"></a>00192                                   <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>,
+<a name="l00193"></a>00193                                   <span class="keywordtype">unsigned</span> Opc)<span class="keyword"> const </span>{
+<a name="l00194"></a>00194   <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, I, I->getDebugLoc(), <span class="keyword">get</span>(Opc));
+<a name="l00195"></a>00195 }
+<a name="l00196"></a>00196 
+<a name="l00197"></a><a class="code" href="namespacellvm.html#a224bebe43bcfbc624ed655a88dc56d5c">00197</a> <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsInstrInfo.html">MipsInstrInfo</a> *<a class="code" href="namespacellvm.html#a224bebe43bcfbc624ed655a88dc56d5c" title="Create MipsInstrInfo objects.">llvm::createMips16InstrInfo</a>(<a class="code" href="classllvm_1_1MipsTargetMachine.html">MipsTargetMachine</a> &TM) {
+<a name="l00198"></a>00198   <span class="keywordflow">return</span> <span class="keyword">new</span> <a class="code" href="classllvm_1_1Mips16InstrInfo.html">Mips16InstrInfo</a>(TM);
+<a name="l00199"></a>00199 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:36:03 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,5 @@
+<map id="G" name="G">
+<area shape="rect" href="$Mips16InstrInfo_8h.html" title="Mips16InstrInfo.h" alt="" coords="92,84,220,111"/>
+<area shape="rect" href="$Mips16RegisterInfo_8cpp.html" title="Mips16RegisterInfo.cpp" alt="" coords="173,161,341,188"/>
+<area shape="rect" href="$Mips16InstrInfo_8cpp.html" title="Mips16InstrInfo.cpp" alt="" coords="5,161,149,188"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+922257ee748732486469d8938bcf3d47
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__dep__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/Mips16RegisterInfo_8h__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsAnalyzeImmediate_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsAnalyzeImmediate_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsAnalyzeImmediate_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsAnalyzeImmediate_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,209 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsAnalyzeImmediate.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">MipsAnalyzeImmediate.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="MipsAnalyzeImmediate_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- MipsAnalyzeImmediate.cpp - Analyze Immediates ---------------------===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 <span class="preprocessor">#include "<a class="code" href="MipsAnalyzeImmediate_8h.html">MipsAnalyzeImmediate.h</a>"</span>
+<a name="l00010"></a>00010 <span class="preprocessor">#include "<a class="code" href="Mips_8h.html">Mips.h</a>"</span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="MathExtras_8h.html">llvm/Support/MathExtras.h</a>"</span>
+<a name="l00012"></a>00012 
+<a name="l00013"></a>00013 <span class="keyword">using namespace </span>llvm;
+<a name="l00014"></a>00014 
+<a name="l00015"></a><a class="code" href="structllvm_1_1MipsAnalyzeImmediate_1_1Inst.html#a2dd8d2b68314f839a3862ef53de62dbd">00015</a> <a class="code" href="structllvm_1_1MipsAnalyzeImmediate_1_1Inst.html#a2dd8d2b68314f839a3862ef53de62dbd">MipsAnalyzeImmediate::Inst::Inst</a>(<span class="keywordtype">unsigned</span> O, <span class="keywordtype">unsigned</span> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) : Opc(O), ImmOpnd(I) {}
+<a name="l00016"></a>00016 
+<a name="l00017"></a>00017 <span class="comment">// Add I to the instruction sequences.</span>
+<a name="l00018"></a>00018 <span class="keywordtype">void</span> MipsAnalyzeImmediate::AddInstr(<a class="code" href="classllvm_1_1SmallVector.html">InstSeqLs</a> &SeqLs, <span class="keyword">const</span> <a class="code" href="structllvm_1_1MipsAnalyzeImmediate_1_1Inst.html">Inst</a> &<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l00019"></a>00019   <span class="comment">// Add an instruction seqeunce consisting of just I.</span>
+<a name="l00020"></a>00020   <span class="keywordflow">if</span> (SeqLs.<a class="code" href="classllvm_1_1SmallVectorBase.html#afdecfccba9b1fd8c9fd8eb27ae69e9a0">empty</a>()) {
+<a name="l00021"></a>00021     SeqLs.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="classllvm_1_1MipsAnalyzeImmediate.html#a98ec6aa4f499dbfb00c3dc7fc0c87a66">InstSeq</a>(1, I));
+<a name="l00022"></a>00022     <span class="keywordflow">return</span>;
+<a name="l00023"></a>00023   }
+<a name="l00024"></a>00024 
+<a name="l00025"></a>00025   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVectorImpl.html#a16a72ecbc559627d140a2197d9f79445">InstSeqLs::iterator</a> Iter = SeqLs.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a8a045d250952c0867382a9840ee18fdf">begin</a>(); Iter != SeqLs.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a075e34e98605d0e7c289763a104869ac">end</a>(); ++Iter)
+<a name="l00026"></a>00026     Iter->push_back(I);
+<a name="l00027"></a>00027 }
+<a name="l00028"></a>00028 
+<a name="l00029"></a>00029 <span class="keywordtype">void</span> MipsAnalyzeImmediate::GetInstSeqLsADDiu(uint64_t Imm, <span class="keywordtype">unsigned</span> RemSize,
+<a name="l00030"></a>00030                                              InstSeqLs &SeqLs) {
+<a name="l00031"></a>00031   GetInstSeqLs((Imm + 0x8000ULL) & 0xffffffffffff0000ULL, RemSize, SeqLs);
+<a name="l00032"></a>00032   AddInstr(SeqLs, Inst(ADDiu, Imm & 0xffffULL));
+<a name="l00033"></a>00033 }
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 <span class="keywordtype">void</span> MipsAnalyzeImmediate::GetInstSeqLsORi(uint64_t Imm, <span class="keywordtype">unsigned</span> RemSize,
+<a name="l00036"></a>00036                                            InstSeqLs &SeqLs) {
+<a name="l00037"></a>00037   GetInstSeqLs(Imm & 0xffffffffffff0000ULL, RemSize, SeqLs);
+<a name="l00038"></a>00038   AddInstr(SeqLs, Inst(ORi, Imm & 0xffffULL));
+<a name="l00039"></a>00039 }
+<a name="l00040"></a>00040 
+<a name="l00041"></a>00041 <span class="keywordtype">void</span> MipsAnalyzeImmediate::GetInstSeqLsSLL(uint64_t Imm, <span class="keywordtype">unsigned</span> RemSize,
+<a name="l00042"></a>00042                                            InstSeqLs &SeqLs) {
+<a name="l00043"></a>00043   <span class="keywordtype">unsigned</span> Shamt = <a class="code" href="namespacellvm.html#aeba092d2456a8e867b2d0fe430f4629e">CountTrailingZeros_64</a>(Imm);
+<a name="l00044"></a>00044   GetInstSeqLs(Imm >> Shamt, RemSize - Shamt, SeqLs);
+<a name="l00045"></a>00045   AddInstr(SeqLs, Inst(SLL, Shamt));
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047 
+<a name="l00048"></a>00048 <span class="keywordtype">void</span> MipsAnalyzeImmediate::GetInstSeqLs(uint64_t Imm, <span class="keywordtype">unsigned</span> RemSize,
+<a name="l00049"></a>00049                                         InstSeqLs &SeqLs) {
+<a name="l00050"></a>00050   uint64_t MaskedImm = Imm & (0xffffffffffffffffULL >> (64 - Size));
+<a name="l00051"></a>00051 
+<a name="l00052"></a>00052   <span class="comment">// Do nothing if Imm is 0.</span>
+<a name="l00053"></a>00053   <span class="keywordflow">if</span> (!MaskedImm)
+<a name="l00054"></a>00054     <span class="keywordflow">return</span>;
+<a name="l00055"></a>00055 
+<a name="l00056"></a>00056   <span class="comment">// A single ADDiu will do if RemSize <= 16.</span>
+<a name="l00057"></a>00057   <span class="keywordflow">if</span> (RemSize <= 16) {
+<a name="l00058"></a>00058     AddInstr(SeqLs, Inst(ADDiu, MaskedImm));
+<a name="l00059"></a>00059     <span class="keywordflow">return</span>;
+<a name="l00060"></a>00060   }
+<a name="l00061"></a>00061 
+<a name="l00062"></a>00062   <span class="comment">// Shift if the lower 16-bit is cleared.</span>
+<a name="l00063"></a>00063   <span class="keywordflow">if</span> (!(Imm & 0xffff)) {
+<a name="l00064"></a>00064     GetInstSeqLsSLL(Imm, RemSize, SeqLs);
+<a name="l00065"></a>00065     <span class="keywordflow">return</span>;
+<a name="l00066"></a>00066   }
+<a name="l00067"></a>00067 
+<a name="l00068"></a>00068   GetInstSeqLsADDiu(Imm, RemSize, SeqLs);
+<a name="l00069"></a>00069 
+<a name="l00070"></a>00070   <span class="comment">// If bit 15 is cleared, it doesn't make a difference whether the last</span>
+<a name="l00071"></a>00071   <span class="comment">// instruction is an ADDiu or ORi. In that case, do not call GetInstSeqLsORi.</span>
+<a name="l00072"></a>00072   <span class="keywordflow">if</span> (Imm & 0x8000) {
+<a name="l00073"></a>00073     InstSeqLs SeqLsORi;
+<a name="l00074"></a>00074     GetInstSeqLsORi(Imm, RemSize, SeqLsORi);
+<a name="l00075"></a>00075     SeqLs.insert(SeqLs.end(), SeqLsORi.begin(), SeqLsORi.end());
+<a name="l00076"></a>00076   }
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078 
+<a name="l00079"></a>00079 <span class="comment">// Replace a ADDiu & SLL pair with a LUi.</span>
+<a name="l00080"></a>00080 <span class="comment">// e.g. the following two instructions</span>
+<a name="l00081"></a>00081 <span class="comment">//  ADDiu 0x0111</span>
+<a name="l00082"></a>00082 <span class="comment">//  SLL 18</span>
+<a name="l00083"></a>00083 <span class="comment">// are replaced with</span>
+<a name="l00084"></a>00084 <span class="comment">//  LUi 0x444</span>
+<a name="l00085"></a>00085 <span class="keywordtype">void</span> MipsAnalyzeImmediate::ReplaceADDiuSLLWithLUi(<a class="code" href="classllvm_1_1MipsAnalyzeImmediate.html#a98ec6aa4f499dbfb00c3dc7fc0c87a66">InstSeq</a> &Seq) {
+<a name="l00086"></a>00086   <span class="comment">// Check if the first two instructions are ADDiu and SLL and the shift amount</span>
+<a name="l00087"></a>00087   <span class="comment">// is at least 16.</span>
+<a name="l00088"></a>00088   <span class="keywordflow">if</span> ((Seq.size() < 2) || (Seq[0].Opc != ADDiu) ||
+<a name="l00089"></a>00089       (Seq[1].Opc != SLL) || (Seq[1].ImmOpnd < 16))
+<a name="l00090"></a>00090     <span class="keywordflow">return</span>;
+<a name="l00091"></a>00091 
+<a name="l00092"></a>00092   <span class="comment">// Sign-extend and shift operand of ADDiu and see if it still fits in 16-bit.</span>
+<a name="l00093"></a>00093   <a class="code" href="classint64__t.html">int64_t</a> Imm = SignExtend64<16>(Seq[0].ImmOpnd);
+<a name="l00094"></a>00094   <a class="code" href="classint64__t.html">int64_t</a> ShiftedImm = (uint64_t)Imm << (Seq[1].ImmOpnd - 16);
+<a name="l00095"></a>00095 
+<a name="l00096"></a>00096   <span class="keywordflow">if</span> (!<a class="code" href="namespacellvm.html#a3b9662928ee4d58fef185abfe20e8184">isInt<16></a>(ShiftedImm))
+<a name="l00097"></a>00097     <span class="keywordflow">return</span>;
+<a name="l00098"></a>00098 
+<a name="l00099"></a>00099   <span class="comment">// Replace the first instruction and erase the second.</span>
+<a name="l00100"></a>00100   Seq[0].Opc = LUi;
+<a name="l00101"></a>00101   Seq[0].ImmOpnd = (<a class="code" href="classunsigned.html">unsigned</a>)(ShiftedImm & 0xffff);
+<a name="l00102"></a>00102   Seq.erase(Seq.begin() + 1);
+<a name="l00103"></a>00103 }
+<a name="l00104"></a>00104 
+<a name="l00105"></a>00105 <span class="keywordtype">void</span> MipsAnalyzeImmediate::GetShortestSeq(InstSeqLs &SeqLs, <a class="code" href="classllvm_1_1MipsAnalyzeImmediate.html#a98ec6aa4f499dbfb00c3dc7fc0c87a66">InstSeq</a> &Insts) {
+<a name="l00106"></a>00106   <a class="code" href="classllvm_1_1SmallVectorImpl.html#a16a72ecbc559627d140a2197d9f79445">InstSeqLs::iterator</a> ShortestSeq = SeqLs.end();
+<a name="l00107"></a>00107   <span class="comment">// The length of an instruction sequence is at most 7.</span>
+<a name="l00108"></a>00108   <span class="keywordtype">unsigned</span> ShortestLength = 8;
+<a name="l00109"></a>00109 
+<a name="l00110"></a>00110   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVectorImpl.html#a16a72ecbc559627d140a2197d9f79445">InstSeqLs::iterator</a> S = SeqLs.begin(); S != SeqLs.end(); ++S) {
+<a name="l00111"></a>00111     ReplaceADDiuSLLWithLUi(*S);
+<a name="l00112"></a>00112     assert(S->size() <= 7);
+<a name="l00113"></a>00113 
+<a name="l00114"></a>00114     <span class="keywordflow">if</span> (S->size() < ShortestLength) {
+<a name="l00115"></a>00115       ShortestSeq = S;
+<a name="l00116"></a>00116       ShortestLength = S->size();
+<a name="l00117"></a>00117     }
+<a name="l00118"></a>00118   }
+<a name="l00119"></a>00119 
+<a name="l00120"></a>00120   Insts.clear();
+<a name="l00121"></a>00121   Insts.append(ShortestSeq->begin(), ShortestSeq->end());
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 
+<a name="l00124"></a>00124 <span class="keyword">const</span> <a class="code" href="classllvm_1_1SmallVector.html">MipsAnalyzeImmediate::InstSeq</a>
+<a name="l00125"></a><a class="code" href="classllvm_1_1MipsAnalyzeImmediate.html#a80ac42236b215222ea27330943ff3f99">00125</a> &<a class="code" href="classllvm_1_1MipsAnalyzeImmediate.html#a80ac42236b215222ea27330943ff3f99">MipsAnalyzeImmediate::Analyze</a>(uint64_t Imm, <span class="keywordtype">unsigned</span> Size,
+<a name="l00126"></a>00126                                <span class="keywordtype">bool</span> LastInstrIsADDiu) {
+<a name="l00127"></a>00127   this->Size = Size;
+<a name="l00128"></a>00128 
+<a name="l00129"></a>00129   <span class="keywordflow">if</span> (Size == 32) {
+<a name="l00130"></a>00130     ADDiu = Mips::ADDiu;
+<a name="l00131"></a>00131     ORi = Mips::ORi;
+<a name="l00132"></a>00132     SLL = Mips::SLL;
+<a name="l00133"></a>00133     LUi = Mips::LUi;
+<a name="l00134"></a>00134   } <span class="keywordflow">else</span> {
+<a name="l00135"></a>00135     ADDiu = Mips::DADDiu;
+<a name="l00136"></a>00136     ORi = Mips::ORi64;
+<a name="l00137"></a>00137     SLL = Mips::DSLL;
+<a name="l00138"></a>00138     LUi = Mips::LUi64;
+<a name="l00139"></a>00139   }
+<a name="l00140"></a>00140 
+<a name="l00141"></a>00141   <a class="code" href="classllvm_1_1SmallVector.html">InstSeqLs</a> SeqLs;
+<a name="l00142"></a>00142 
+<a name="l00143"></a>00143   <span class="comment">// Get the list of instruction sequences.</span>
+<a name="l00144"></a>00144   <span class="keywordflow">if</span> (LastInstrIsADDiu | !Imm)
+<a name="l00145"></a>00145     GetInstSeqLsADDiu(Imm, Size, SeqLs);
+<a name="l00146"></a>00146   <span class="keywordflow">else</span>
+<a name="l00147"></a>00147     GetInstSeqLs(Imm, Size, SeqLs);
+<a name="l00148"></a>00148 
+<a name="l00149"></a>00149   <span class="comment">// Set Insts to the shortest instruction sequence.</span>
+<a name="l00150"></a>00150   GetShortestSeq(SeqLs, Insts);
+<a name="l00151"></a>00151 
+<a name="l00152"></a>00152   <span class="keywordflow">return</span> Insts;
+<a name="l00153"></a>00153 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:36:12 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsAnalyzeImmediate_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsAnalyzeImmediate_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsAnalyzeImmediate_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsAnalyzeImmediate_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,45 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsAnalyzeImmediate.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="black",URL="$SmallVector_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_8h.html"];
+  Node6 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node6 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="memory",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,35 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsFixupKinds_8h.html" title="MipsFixupKinds.h" alt="" coords="2293,84,2421,111"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="2287,239,2492,265"/>
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MCTargetDesc/MipsMCTargetDesc.h" alt="" coords="3544,84,3792,111"/>
+<area shape="rect" href="$MCAsmBackend_8h.html" title="llvm/MC/MCAsmBackend.h" alt="" coords="2499,84,2691,111"/>
+<area shape="rect" href="$MCDirectives_8h.html" title="llvm/MC/MCDirectives.h" alt="" coords="2561,161,2732,188"/>
+<area shape="rect" href="$MCAssembler_8h.html" title="llvm/MC/MCAssembler.h" alt="" coords="1944,84,2117,111"/>
+<area shape="rect" href="$MCELFObjectWriter_8h.html" title="llvm/MC/MCELFObjectWriter.h" alt="" coords="3361,316,3567,343"/>
+<area shape="rect" href="$MCFixupKindInfo_8h.html" title="llvm/MC/MCFixupKindInfo.h" alt="" coords="3816,84,4005,111"/>
+<area shape="rect" href="$MCObjectWriter_8h.html" title="llvm/MC/MCObjectWriter.h" alt="" coords="2811,161,2995,188"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="2617,239,2817,265"/>
+<area shape="rect" href="$MCSubtargetInfo_8h.html" title="llvm/MC/MCSubtargetInfo.h" alt="" coords="2943,239,3137,265"/>
+<area shape="rect" href="$MCFixup_8h.html" title="llvm/MC/MCFixup.h" alt="" coords="2285,161,2424,188"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="2856,471,3040,497"/>
+<area shape="rect" href="$SMLoc_8h.html" title="llvm/Support/SMLoc.h" alt="" coords="2001,239,2161,265"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="1567,393,1740,420"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="2236,316,2385,343"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="764,393,951,420"/>
+<area shape="rect" href="$MCInst_8h.html" title="llvm/MC/MCInst.h" alt="" coords="2131,161,2261,188"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="587,239,747,265"/>
+<area shape="rect" href="$SmallPtrSet_8h.html" title="llvm/ADT/SmallPtrSet.h" alt="" coords="1399,316,1567,343"/>
+<area shape="rect" href="$SmallString_8h.html" title="llvm/ADT/SmallString.h" alt="" coords="1763,161,1931,188"/>
+<area shape="rect" href="$ilist_8h.html" title="llvm/ADT/ilist.h" alt="" coords="1793,316,1908,343"/>
+<area shape="rect" href="$ilist__node_8h.html" title="llvm/ADT/ilist_node.h" alt="" coords="1955,161,2107,188"/>
+<area shape="rect" href="$Casting_8h.html" title="llvm/Support/Casting.h" alt="" coords="1108,316,1273,343"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1520,239,1688,265"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="921,316,1084,343"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="297,316,487,343"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="1025,393,1273,420"/>
+<area shape="rect" href="$DenseMapInfo_8h.html" title="llvm/ADT/DenseMapInfo.h" alt="" coords="511,316,695,343"/>
+<area shape="rect" href="$Triple_8h.html" title="llvm/ADT/Triple.h" alt="" coords="3228,393,3353,420"/>
+<area shape="rect" href="$Support_2ELF_8h.html" title="llvm/Support/ELF.h" alt="" coords="3428,393,3567,420"/>
+<area shape="rect" href="$SubtargetFeature_8h.html" title="llvm/MC/SubtargetFeature.h" alt="" coords="3087,316,3287,343"/>
+<area shape="rect" href="$MCInstrItineraries_8h.html" title="llvm/MC/MCInstrItineraries.h" alt="" coords="2561,316,2759,343"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+82534504f664e66fe4d68d5e3bdd8448
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MipsAsmBackend_8cpp__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsAsmParser_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsAsmParser_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsAsmParser_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsAsmParser_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,39 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MCTargetDesc/MipsMCTargetDesc.h" alt="" coords="71,239,319,265"/>
+<area shape="rect" href="$MipsRegisterInfo_8h.html" title="MipsRegisterInfo.h" alt="" coords="1868,84,2004,111"/>
+<area shape="rect" href="$StringSwitch_8h.html" title="llvm/ADT/StringSwitch.h" alt="" coords="3129,239,3300,265"/>
+<area shape="rect" href="$MCContext_8h.html" title="llvm/MC/MCContext.h" alt="" coords="735,84,892,111"/>
+<area shape="rect" href="$MCExpr_8h.html" title="llvm/MC/MCExpr.h" alt="" coords="967,239,1100,265"/>
+<area shape="rect" href="$MCInst_8h.html" title="llvm/MC/MCInst.h" alt="" coords="2137,239,2268,265"/>
+<area shape="rect" href="$MCStreamer_8h.html" title="llvm/MC/MCStreamer.h" alt="" coords="1292,84,1460,111"/>
+<area shape="rect" href="$MCSubtargetInfo_8h.html" title="llvm/MC/MCSubtargetInfo.h" alt="" coords="3185,161,3380,188"/>
+<area shape="rect" href="$MCSymbol_8h.html" title="llvm/MC/MCSymbol.h" alt="" coords="1753,239,1908,265"/>
+<area shape="rect" href="$MCAsmLexer_8h.html" title="llvm/MC/MCParser/MCAsmLexer.h" alt="" coords="1495,239,1729,265"/>
+<area shape="rect" href="$MCParsedAsmOperand_8h.html" title="llvm/MC/MCParser/MCParsedAsmOperand.h" alt="" coords="2596,84,2895,111"/>
+<area shape="rect" href="$MCTargetAsmParser_8h.html" title="llvm/MC/MCTargetAsmParser.h" alt="" coords="2207,84,2420,111"/>
+<area shape="rect" href="$TargetRegistry_8h.html" title="llvm/Support/TargetRegistry.h" alt="" coords="3596,239,3801,265"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="669,316,853,343"/>
+<area shape="rect" href="$Mips_8h.html" title="Mips.h" alt="" coords="1828,161,1889,188"/>
+<area shape="rect" href="$TargetRegisterInfo_8h.html" title="llvm/Target/TargetRegisterInfo.h" alt="" coords="1913,161,2132,188"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="3375,239,3572,265"/>
+<area shape="rect" href="$CodeGen_8h.html" title="llvm/Support/CodeGen.h" alt="" coords="3511,316,3687,343"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="2263,316,2412,343"/>
+<area shape="rect" href="$MCRegisterInfo_8h.html" title="llvm/MC/MCRegisterInfo.h" alt="" coords="1932,239,2113,265"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="1327,239,1471,265"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="1327,316,1487,343"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="1101,393,1275,420"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1700,316,1868,343"/>
+<area shape="rect" href="$SectionKind_8h.html" title="llvm/MC/SectionKind.h" alt="" coords="156,161,319,188"/>
+<area shape="rect" href="$MCDwarf_8h.html" title="llvm/MC/MCDwarf.h" alt="" coords="1060,161,1201,188"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="641,239,841,265"/>
+<area shape="rect" href="$StringMap_8h.html" title="llvm/ADT/StringMap.h" alt="" coords="735,161,892,188"/>
+<area shape="rect" href="$Allocator_8h.html" title="llvm/Support/Allocator.h" alt="" coords="444,239,617,265"/>
+<area shape="rect" href="$Casting_8h.html" title="llvm/Support/Casting.h" alt="" coords="1511,316,1676,343"/>
+<area shape="rect" href="$SMLoc_8h.html" title="llvm/Support/SMLoc.h" alt="" coords="2079,316,2239,343"/>
+<area shape="rect" href="$MCDirectives_8h.html" title="llvm/MC/MCDirectives.h" alt="" coords="1413,161,1584,188"/>
+<area shape="rect" href="$MCWin64EH_8h.html" title="llvm/MC/MCWin64EH.h" alt="" coords="2617,239,2780,265"/>
+<area shape="rect" href="$SubtargetFeature_8h.html" title="llvm/MC/SubtargetFeature.h" alt="" coords="2393,239,2593,265"/>
+<area shape="rect" href="$MCInstrItineraries_8h.html" title="llvm/MC/MCInstrItineraries.h" alt="" coords="3825,239,4023,265"/>
+<area shape="rect" href="$Triple_8h.html" title="llvm/ADT/Triple.h" alt="" coords="3260,316,3385,343"/>
+<area shape="rect" href="$MCAsmParserExtension_8h.html" title="llvm/MC/MCParser/MCAsmParserExtension.h" alt="" coords="2804,239,3105,265"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsAsmParser_8cpp__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsAsmParser_8cpp__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsAsmParser_8cpp__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsAsmParser_8cpp__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+06e7ba8d65ffd983cac41aae920a0933
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsAsmPrinter_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsAsmPrinter_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsAsmPrinter_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsAsmPrinter_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,622 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsAsmPrinter.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">MipsAsmPrinter.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="MipsAsmPrinter_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- MipsAsmPrinter.cpp - Mips LLVM Assembly Printer -------------------===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 <span class="comment">//</span>
+<a name="l00010"></a>00010 <span class="comment">// This file contains a printer that converts from our internal representation</span>
+<a name="l00011"></a>00011 <span class="comment">// of machine-dependent LLVM code to GAS-format MIPS assembly language.</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00014"></a>00014 
+<a name="l00015"></a><a class="code" href="MipsAsmPrinter_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">00015</a> <span class="preprocessor">#define DEBUG_TYPE "mips-asm-printer"</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="Mips_8h.html">Mips.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="MipsAsmPrinter_8h.html">MipsAsmPrinter.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="MipsInstrInfo_8h.html">MipsInstrInfo.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="MipsMCInstLower_8h.html">MipsMCInstLower.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="MipsInstPrinter_8h.html">InstPrinter/MipsInstPrinter.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="MipsBaseInfo_8h.html">MCTargetDesc/MipsBaseInfo.h</a>"</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="SmallString_8h.html">llvm/ADT/SmallString.h</a>"</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="StringExtras_8h.html">llvm/ADT/StringExtras.h</a>"</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="Twine_8h.html">llvm/ADT/Twine.h</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="BasicBlock_8h.html">llvm/BasicBlock.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="MachineConstantPool_8h.html">llvm/CodeGen/MachineConstantPool.h</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="MachineFrameInfo_8h.html">llvm/CodeGen/MachineFrameInfo.h</a>"</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="MachineFunctionPass_8h.html">llvm/CodeGen/MachineFunctionPass.h</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="MachineInstr_8h.html">llvm/CodeGen/MachineInstr.h</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="MachineMemOperand_8h.html">llvm/CodeGen/MachineMemOperand.h</a>"</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="InlineAsm_8h.html">llvm/InlineAsm.h</a>"</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="Instructions_8h.html">llvm/Instructions.h</a>"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="MCAsmInfo_8h.html">llvm/MC/MCAsmInfo.h</a>"</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="MCInst_8h.html">llvm/MC/MCInst.h</a>"</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="MCStreamer_8h.html">llvm/MC/MCStreamer.h</a>"</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="MCSymbol_8h.html">llvm/MC/MCSymbol.h</a>"</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="raw__ostream_8h.html">llvm/Support/raw_ostream.h</a>"</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="TargetRegistry_8h.html">llvm/Support/TargetRegistry.h</a>"</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include "<a class="code" href="Mangler_8h.html">llvm/Target/Mangler.h</a>"</span>
+<a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="DataLayout_8h.html">llvm/DataLayout.h</a>"</span>
+<a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="TargetLoweringObjectFile_8h.html">llvm/Target/TargetLoweringObjectFile.h</a>"</span>
+<a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="TargetOptions_8h.html">llvm/Target/TargetOptions.h</a>"</span>
+<a name="l00043"></a>00043 
+<a name="l00044"></a>00044 <span class="keyword">using namespace </span>llvm;
+<a name="l00045"></a>00045 
+<a name="l00046"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#aa5a69811c8e16c13abb53edd8d1886c2">00046</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#aa5a69811c8e16c13abb53edd8d1886c2">MipsAsmPrinter::runOnMachineFunction</a>(<a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF) {
+<a name="l00047"></a>00047   <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a758d41c308f929d46fea3f79e5ac47c7">MipsFI</a> = MF.<a class="code" href="classllvm_1_1MachineFunction.html#ac2dc0fa143c9f2127f0501734577a0a0">getInfo</a><<a class="code" href="classllvm_1_1MipsFunctionInfo.html">MipsFunctionInfo</a>>();
+<a name="l00048"></a>00048   <a class="code" href="classllvm_1_1MipsAsmPrinter.html#aa5a69811c8e16c13abb53edd8d1886c2">AsmPrinter::runOnMachineFunction</a>(MF);
+<a name="l00049"></a>00049   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 
+<a name="l00052"></a>00052 <span class="keywordtype">bool</span> MipsAsmPrinter::lowerOperand(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO, <a class="code" href="classllvm_1_1MCOperand.html">MCOperand</a> &MCOp) {
+<a name="l00053"></a>00053   MCOp = <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a63e41da7fe0d845e4a67a6bda6a572f8">MCInstLowering</a>.<a class="code" href="classllvm_1_1MipsMCInstLower.html#a31270e182230081e1d036197db898a69">LowerOperand</a>(MO);
+<a name="l00054"></a>00054   <span class="keywordflow">return</span> MCOp.<a class="code" href="classllvm_1_1MCOperand.html#a68efc4591cd83fc430cd5c16cebf0f93">isValid</a>();
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 
+<a name="l00057"></a>00057 <span class="preprocessor">#include "MipsGenMCPseudoLowering.inc"</span>
+<a name="l00058"></a>00058 
+<a name="l00059"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#a8ff7199ed1c3e544b1d9374377eb0088">00059</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a8ff7199ed1c3e544b1d9374377eb0088" title="EmitInstruction - Targets should implement this to emit instructions.">MipsAsmPrinter::EmitInstruction</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>) {
+<a name="l00060"></a>00060   <span class="keywordflow">if</span> (MI-><a class="code" href="classllvm_1_1MachineInstr.html#a1e1d26226c627cf3dcf3c191b85e7d7d">isDebugValue</a>()) {
+<a name="l00061"></a>00061     <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> Str;
+<a name="l00062"></a>00062     <a class="code" href="classllvm_1_1raw__svector__ostream.html">raw_svector_ostream</a> OS(Str);
+<a name="l00063"></a>00063 
+<a name="l00064"></a>00064     <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a5a94a7126a2432f218cdc1c4a023bc15">PrintDebugValueComment</a>(MI, OS);
+<a name="l00065"></a>00065     <span class="keywordflow">return</span>;
+<a name="l00066"></a>00066   }
+<a name="l00067"></a>00067 
+<a name="l00068"></a>00068   <span class="comment">// Do any auto-generated pseudo lowerings.</span>
+<a name="l00069"></a>00069   <span class="keywordflow">if</span> (emitPseudoExpansionLowering(<a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>, MI))
+<a name="l00070"></a>00070     <span class="keywordflow">return</span>;
+<a name="l00071"></a>00071 
+<a name="l00072"></a>00072   <a class="code" href="classllvm_1_1ilist__iterator.html">MachineBasicBlock::const_instr_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = <a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>;
+<a name="l00073"></a>00073   <a class="code" href="classllvm_1_1ilist__iterator.html">MachineBasicBlock::const_instr_iterator</a> E = MI-><a class="code" href="classllvm_1_1MachineInstr.html#aabad9b72f6d20d3462efc34020d39f73">getParent</a>()-><a class="code" href="classllvm_1_1MachineBasicBlock.html#acae72f6ab1071b7ec87b741a8bef582b">instr_end</a>();
+<a name="l00074"></a>00074 
+<a name="l00075"></a>00075   <span class="keywordflow">do</span> {
+<a name="l00076"></a>00076     <a class="code" href="classllvm_1_1MCInst.html">MCInst</a> TmpInst0;
+<a name="l00077"></a>00077     <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a63e41da7fe0d845e4a67a6bda6a572f8">MCInstLowering</a>.<a class="code" href="classllvm_1_1MipsMCInstLower.html#a3f80bcaee49162825336c0f61194d249">Lower</a>(I++, TmpInst0);
+<a name="l00078"></a>00078 
+<a name="l00079"></a>00079     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a39c81efad95bc4fe5bd5b343de2b3287">EmitInstruction</a>(TmpInst0);
+<a name="l00080"></a>00080   } <span class="keywordflow">while</span> ((I != E) && I->isInsideBundle()); <span class="comment">// Delay slot check</span>
+<a name="l00081"></a>00081 }
+<a name="l00082"></a>00082 
+<a name="l00083"></a>00083 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00084"></a>00084 <span class="comment">//</span>
+<a name="l00085"></a>00085 <span class="comment">//  Mips Asm Directives</span>
+<a name="l00086"></a>00086 <span class="comment">//</span>
+<a name="l00087"></a>00087 <span class="comment">//  -- Frame directive "frame Stackpointer, Stacksize, RARegister"</span>
+<a name="l00088"></a>00088 <span class="comment">//  Describe the stack frame.</span>
+<a name="l00089"></a>00089 <span class="comment">//</span>
+<a name="l00090"></a>00090 <span class="comment">//  -- Mask directives "(f)mask  bitmask, offset"</span>
+<a name="l00091"></a>00091 <span class="comment">//  Tells the assembler which registers are saved and where.</span>
+<a name="l00092"></a>00092 <span class="comment">//  bitmask - contain a little endian bitset indicating which registers are</span>
+<a name="l00093"></a>00093 <span class="comment">//            saved on function prologue (e.g. with a 0x80000000 mask, the</span>
+<a name="l00094"></a>00094 <span class="comment">//            assembler knows the register 31 (RA) is saved at prologue.</span>
+<a name="l00095"></a>00095 <span class="comment">//  offset  - the position before stack pointer subtraction indicating where</span>
+<a name="l00096"></a>00096 <span class="comment">//            the first saved register on prologue is located. (e.g. with a</span>
+<a name="l00097"></a>00097 <span class="comment">//</span>
+<a name="l00098"></a>00098 <span class="comment">//  Consider the following function prologue:</span>
+<a name="l00099"></a>00099 <span class="comment">//</span>
+<a name="l00100"></a>00100 <span class="comment">//    .frame  $fp,48,$ra</span>
+<a name="l00101"></a>00101 <span class="comment">//    .mask   0xc0000000,-8</span>
+<a name="l00102"></a>00102 <span class="comment">//       addiu $sp, $sp, -48</span>
+<a name="l00103"></a>00103 <span class="comment">//       sw $ra, 40($sp)</span>
+<a name="l00104"></a>00104 <span class="comment">//       sw $fp, 36($sp)</span>
+<a name="l00105"></a>00105 <span class="comment">//</span>
+<a name="l00106"></a>00106 <span class="comment">//    With a 0xc0000000 mask, the assembler knows the register 31 (RA) and</span>
+<a name="l00107"></a>00107 <span class="comment">//    30 (FP) are saved at prologue. As the save order on prologue is from</span>
+<a name="l00108"></a>00108 <span class="comment">//    left to right, RA is saved first. A -8 offset means that after the</span>
+<a name="l00109"></a>00109 <span class="comment">//    stack pointer subtration, the first register in the mask (RA) will be</span>
+<a name="l00110"></a>00110 <span class="comment">//    saved at address 48-8=40.</span>
+<a name="l00111"></a>00111 <span class="comment">//</span>
+<a name="l00112"></a>00112 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00113"></a>00113 
+<a name="l00114"></a>00114 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00115"></a>00115 <span class="comment">// Mask directives</span>
+<a name="l00116"></a>00116 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00117"></a>00117 
+<a name="l00118"></a>00118 <span class="comment">// Create a bitmask with all callee saved registers for CPU or Floating Point</span>
+<a name="l00119"></a>00119 <span class="comment">// registers. For CPU registers consider RA, GP and FP for saving if necessary.</span>
+<a name="l00120"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab6b28ecdd90edcb86191cc19a1b71eaf">00120</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab6b28ecdd90edcb86191cc19a1b71eaf">MipsAsmPrinter::printSavedRegsBitmask</a>(<a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &O) {
+<a name="l00121"></a>00121   <span class="comment">// CPU and FPU Saved Registers Bitmasks</span>
+<a name="l00122"></a>00122   <span class="keywordtype">unsigned</span> CPUBitmask = 0, FPUBitmask = 0;
+<a name="l00123"></a>00123   <span class="keywordtype">int</span> CPUTopSavedRegOff, FPUTopSavedRegOff;
+<a name="l00124"></a>00124 
+<a name="l00125"></a>00125   <span class="comment">// Set the CPU and FPU Bitmasks</span>
+<a name="l00126"></a>00126   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineFrameInfo.html" title="Abstract Stack Frame Information.">MachineFrameInfo</a> *MFI = <a class="code" href="classllvm_1_1AsmPrinter.html#ab7a4b574f0c5689df0e15549c3e60866" title="The current machine function.">MF</a>-><a class="code" href="classllvm_1_1MachineFunction.html#a4ad4295a88187ea1ae12ecfcfa18a70f">getFrameInfo</a>();
+<a name="l00127"></a>00127   <span class="keyword">const</span> std::vector<CalleeSavedInfo> &CSI = MFI-><a class="code" href="classllvm_1_1MachineFrameInfo.html#a5296aac05a8ccceb0d89d449611722d3">getCalleeSavedInfo</a>();
+<a name="l00128"></a>00128   <span class="comment">// size of stack area to which FP callee-saved regs are saved.</span>
+<a name="l00129"></a>00129   <span class="keywordtype">unsigned</span> CPURegSize = Mips::CPURegsRegClass.getSize();
+<a name="l00130"></a>00130   <span class="keywordtype">unsigned</span> FGR32RegSize = Mips::FGR32RegClass.getSize();
+<a name="l00131"></a>00131   <span class="keywordtype">unsigned</span> AFGR64RegSize = Mips::AFGR64RegClass.getSize();
+<a name="l00132"></a>00132   <span class="keywordtype">bool</span> HasAFGR64Reg = <span class="keyword">false</span>;
+<a name="l00133"></a>00133   <span class="keywordtype">unsigned</span> CSFPRegsSize = 0;
+<a name="l00134"></a>00134   <span class="keywordtype">unsigned</span> i, e = CSI.size();
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136   <span class="comment">// Set FPU Bitmask.</span>
+<a name="l00137"></a>00137   <span class="keywordflow">for</span> (i = 0; i != e; ++i) {
+<a name="l00138"></a>00138     <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = CSI[i].getReg();
+<a name="l00139"></a>00139     <span class="keywordflow">if</span> (Mips::CPURegsRegClass.contains(Reg))
+<a name="l00140"></a>00140       <span class="keywordflow">break</span>;
+<a name="l00141"></a>00141 
+<a name="l00142"></a>00142     <span class="keywordtype">unsigned</span> RegNum = <a class="code" href="namespacellvm.html#a2291511909dc8df931682d87fd07da6a">getMipsRegisterNumbering</a>(Reg);
+<a name="l00143"></a>00143     <span class="keywordflow">if</span> (Mips::AFGR64RegClass.contains(Reg)) {
+<a name="l00144"></a>00144       FPUBitmask |= (3 << RegNum);
+<a name="l00145"></a>00145       CSFPRegsSize += AFGR64RegSize;
+<a name="l00146"></a>00146       HasAFGR64Reg = <span class="keyword">true</span>;
+<a name="l00147"></a>00147       <span class="keywordflow">continue</span>;
+<a name="l00148"></a>00148     }
+<a name="l00149"></a>00149 
+<a name="l00150"></a>00150     FPUBitmask |= (1 << RegNum);
+<a name="l00151"></a>00151     CSFPRegsSize += FGR32RegSize;
+<a name="l00152"></a>00152   }
+<a name="l00153"></a>00153 
+<a name="l00154"></a>00154   <span class="comment">// Set CPU Bitmask.</span>
+<a name="l00155"></a>00155   <span class="keywordflow">for</span> (; i != e; ++i) {
+<a name="l00156"></a>00156     <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = CSI[i].getReg();
+<a name="l00157"></a>00157     <span class="keywordtype">unsigned</span> RegNum = <a class="code" href="namespacellvm.html#a2291511909dc8df931682d87fd07da6a">getMipsRegisterNumbering</a>(Reg);
+<a name="l00158"></a>00158     CPUBitmask |= (1 << RegNum);
+<a name="l00159"></a>00159   }
+<a name="l00160"></a>00160 
+<a name="l00161"></a>00161   <span class="comment">// FP Regs are saved right below where the virtual frame pointer points to.</span>
+<a name="l00162"></a>00162   FPUTopSavedRegOff = FPUBitmask ?
+<a name="l00163"></a>00163     (HasAFGR64Reg ? -AFGR64RegSize : -FGR32RegSize) : 0;
+<a name="l00164"></a>00164 
+<a name="l00165"></a>00165   <span class="comment">// CPU Regs are saved below FP Regs.</span>
+<a name="l00166"></a>00166   CPUTopSavedRegOff = CPUBitmask ? -CSFPRegsSize - CPURegSize : 0;
+<a name="l00167"></a>00167 
+<a name="l00168"></a>00168   <span class="comment">// Print CPUBitmask</span>
+<a name="l00169"></a>00169   O << <span class="stringliteral">"\t.mask \t"</span>; <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a36016116f16009e984352730eefc15ea">printHex32</a>(CPUBitmask, O);
+<a name="l00170"></a>00170   O << <span class="charliteral">','</span> << CPUTopSavedRegOff << <span class="charliteral">'\n'</span>;
+<a name="l00171"></a>00171 
+<a name="l00172"></a>00172   <span class="comment">// Print FPUBitmask</span>
+<a name="l00173"></a>00173   O << <span class="stringliteral">"\t.fmask\t"</span>; <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a36016116f16009e984352730eefc15ea">printHex32</a>(FPUBitmask, O);
+<a name="l00174"></a>00174   O << <span class="stringliteral">","</span> << FPUTopSavedRegOff << <span class="charliteral">'\n'</span>;
+<a name="l00175"></a>00175 }
+<a name="l00176"></a>00176 
+<a name="l00177"></a>00177 <span class="comment">// Print a 32 bit hex number with all numbers.</span>
+<a name="l00178"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#a36016116f16009e984352730eefc15ea">00178</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a36016116f16009e984352730eefc15ea">MipsAsmPrinter::printHex32</a>(<span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>, <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &O) {
+<a name="l00179"></a>00179   O << <span class="stringliteral">"0x"</span>;
+<a name="l00180"></a>00180   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 7; i >= 0; i--)
+<a name="l00181"></a>00181     O.<a class="code" href="classllvm_1_1raw__ostream.html#a37b5dd8a8b82f2818e0f4ea9699d8ae5" title="write_hex - Output N in hexadecimal, without any prefix or padding.">write_hex</a>((Value & (0xF << (i*4))) >> (i*4));
+<a name="l00182"></a>00182 }
+<a name="l00183"></a>00183 
+<a name="l00184"></a>00184 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00185"></a>00185 <span class="comment">// Frame and Set directives</span>
+<a name="l00186"></a>00186 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00187"></a>00187 <span class="comment"></span>
+<a name="l00188"></a>00188 <span class="comment">/// Frame Directive</span>
+<a name="l00189"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#aa1274f5cd1bfb8feb3849ba078a3eb83">00189</a> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#aa1274f5cd1bfb8feb3849ba078a3eb83" title="Frame Directive.">MipsAsmPrinter::emitFrameDirective</a>() {
+<a name="l00190"></a>00190   <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterInfo.html">TargetRegisterInfo</a> &RI = *<a class="code" href="classllvm_1_1AsmPrinter.html#a25657a51f99b0a2819bdc54d3e31b813">TM</a>.<a class="code" href="classllvm_1_1TargetMachine.html#a70b47eca6a99c87b81f4c1b1455dc090">getRegisterInfo</a>();
+<a name="l00191"></a>00191 
+<a name="l00192"></a>00192   <span class="keywordtype">unsigned</span> stackReg  = RI.<a class="code" href="classllvm_1_1TargetRegisterInfo.html#a2a4c228322f39803f16b2f49d18b0efe" title="Debug information queries.">getFrameRegister</a>(*<a class="code" href="classllvm_1_1AsmPrinter.html#ab7a4b574f0c5689df0e15549c3e60866" title="The current machine function.">MF</a>);
+<a name="l00193"></a>00193   <span class="keywordtype">unsigned</span> returnReg = RI.<a class="code" href="classllvm_1_1MCRegisterInfo.html#ac58ba5238412b89eed1c5703a7e81f11">getRARegister</a>();
+<a name="l00194"></a>00194   <span class="keywordtype">unsigned</span> stackSize = <a class="code" href="classllvm_1_1AsmPrinter.html#ab7a4b574f0c5689df0e15549c3e60866" title="The current machine function.">MF</a>-><a class="code" href="classllvm_1_1MachineFunction.html#a4ad4295a88187ea1ae12ecfcfa18a70f">getFrameInfo</a>()-><a class="code" href="classllvm_1_1MachineFrameInfo.html#a34874094b3ba8b56fd68801250f77183">getStackSize</a>();
+<a name="l00195"></a>00195 
+<a name="l00196"></a>00196   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a957d3d6304f9d576600e4b6d04937cf6">hasRawTextSupport</a>())
+<a name="l00197"></a>00197     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<span class="stringliteral">"\t.frame\t$"</span> +
+<a name="l00198"></a>00198            <a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<a class="code" href="classllvm_1_1MipsInstPrinter.html#ae8b899c142617834b7d30628827baf9a">MipsInstPrinter::getRegisterName</a>(stackReg)).lower() +
+<a name="l00199"></a>00199            <span class="stringliteral">","</span> + <a class="code" href="classllvm_1_1Twine.html">Twine</a>(stackSize) + <span class="stringliteral">",$"</span> +
+<a name="l00200"></a>00200            <a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<a class="code" href="classllvm_1_1MipsInstPrinter.html#ae8b899c142617834b7d30628827baf9a">MipsInstPrinter::getRegisterName</a>(returnReg)).lower());
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202 <span class="comment"></span>
+<a name="l00203"></a>00203 <span class="comment">/// Emit Set directives.</span>
+<a name="l00204"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#a2120af74316fe0707cc223490741af7e">00204</a> <span class="comment"></span><span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a2120af74316fe0707cc223490741af7e" title="Emit Set directives.">MipsAsmPrinter::getCurrentABIString</a>()<span class="keyword"> const </span>{
+<a name="l00205"></a>00205   <span class="keywordflow">switch</span> (<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a757b743b9e44d55d713f89431155835c">Subtarget</a>-><a class="code" href="classllvm_1_1MipsSubtarget.html#a513e3c67e48790654b05461ea6b1bed6">getTargetABI</a>()) {
+<a name="l00206"></a>00206   <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MipsSubtarget.html#a8d6d537a8518e69bf66197b9e142553ca4048438b2a3201cb6f331b422a059ba0">MipsSubtarget::O32</a>:  <span class="keywordflow">return</span> <span class="stringliteral">"abi32"</span>;
+<a name="l00207"></a>00207   <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MipsSubtarget.html#a8d6d537a8518e69bf66197b9e142553ca5463f0dbf81b09aaa28dae9bc914608a">MipsSubtarget::N32</a>:  <span class="keywordflow">return</span> <span class="stringliteral">"abiN32"</span>;
+<a name="l00208"></a>00208   <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MipsSubtarget.html#a8d6d537a8518e69bf66197b9e142553ca1f412227f5003baf95bcade0eea6e667">MipsSubtarget::N64</a>:  <span class="keywordflow">return</span> <span class="stringliteral">"abi64"</span>;
+<a name="l00209"></a>00209   <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MipsSubtarget.html#a8d6d537a8518e69bf66197b9e142553cae6c59a2da75853778b9c5bf50e1b34bc">MipsSubtarget::EABI</a>: <span class="keywordflow">return</span> <span class="stringliteral">"eabi32"</span>; <span class="comment">// TODO: handle eabi64</span>
+<a name="l00210"></a>00210   <span class="keywordflow">default</span>: <a class="code" href="ErrorHandling_8h.html#ace243f5c25697a1107cce46626b3dc94">llvm_unreachable</a>(<span class="stringliteral">"Unknown Mips ABI"</span>);
+<a name="l00211"></a>00211   }
+<a name="l00212"></a>00212 }
+<a name="l00213"></a>00213 
+<a name="l00214"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#afc0b13678c6d2cd022ea51e7dbeb348a">00214</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#afc0b13678c6d2cd022ea51e7dbeb348a">MipsAsmPrinter::EmitFunctionEntryLabel</a>() {
+<a name="l00215"></a>00215   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a957d3d6304f9d576600e4b6d04937cf6">hasRawTextSupport</a>()) {
+<a name="l00216"></a>00216     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a757b743b9e44d55d713f89431155835c">Subtarget</a>-><a class="code" href="classllvm_1_1MipsSubtarget.html#a26fc7762b5f32d2571b48120c4ba330e">inMips16Mode</a>())
+<a name="l00217"></a>00217       <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.set\tmips16"</span>));
+<a name="l00218"></a>00218     <span class="keywordflow">else</span>
+<a name="l00219"></a>00219       <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.set\tnomips16"</span>));
+<a name="l00220"></a>00220     <span class="comment">// leave out until FSF available gas has micromips changes</span>
+<a name="l00221"></a>00221     <span class="comment">// OutStreamer.EmitRawText(StringRef("\t.set\tnomicromips"));</span>
+<a name="l00222"></a>00222     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<span class="stringliteral">"\t.ent\t"</span> + <a class="code" href="classllvm_1_1Twine.html">Twine</a>(<a class="code" href="classllvm_1_1AsmPrinter.html#aa06f7388d0cc9b44ece08cdf56c0ecf0">CurrentFnSym</a>-><a class="code" href="classllvm_1_1MCSymbol.html#a1c2e92b00e94b279e7a880a305548765" title="getName - Get the symbol name.">getName</a>()));
+<a name="l00223"></a>00223   }
+<a name="l00224"></a>00224   <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#afc6cd666226fc383ec083ae80e1f641b">EmitLabel</a>(<a class="code" href="classllvm_1_1AsmPrinter.html#aa06f7388d0cc9b44ece08cdf56c0ecf0">CurrentFnSym</a>);
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226 <span class="comment"></span>
+<a name="l00227"></a>00227 <span class="comment">/// EmitFunctionBodyStart - Targets can override this to emit stuff before</span>
+<a name="l00228"></a>00228 <span class="comment">/// the first basic block in the function.</span>
+<a name="l00229"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab7cf8a8ef902d9c0d4777d35174c9fd3">00229</a> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab7cf8a8ef902d9c0d4777d35174c9fd3">MipsAsmPrinter::EmitFunctionBodyStart</a>() {
+<a name="l00230"></a>00230   <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a63e41da7fe0d845e4a67a6bda6a572f8">MCInstLowering</a>.<a class="code" href="classllvm_1_1MipsMCInstLower.html#aae4b67302e216d662467725201ac0ec7">Initialize</a>(<a class="code" href="classllvm_1_1AsmPrinter.html#a8ecd5bcd7ddb8c1963ecbcc8629479e3">Mang</a>, &<a class="code" href="classllvm_1_1AsmPrinter.html#ab7a4b574f0c5689df0e15549c3e60866" title="The current machine function.">MF</a>-><a class="code" href="classllvm_1_1MachineFunction.html#a64390a90af569a2437ea7ac3e7e1ea70">getContext</a>());
+<a name="l00231"></a>00231 
+<a name="l00232"></a>00232   <a class="code" href="classllvm_1_1MipsAsmPrinter.html#aa1274f5cd1bfb8feb3849ba078a3eb83" title="Frame Directive.">emitFrameDirective</a>();
+<a name="l00233"></a>00233 
+<a name="l00234"></a>00234   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a957d3d6304f9d576600e4b6d04937cf6">hasRawTextSupport</a>()) {
+<a name="l00235"></a>00235     <a class="code" href="classllvm_1_1SmallString.html">SmallString<128></a> Str;
+<a name="l00236"></a>00236     <a class="code" href="classllvm_1_1raw__svector__ostream.html">raw_svector_ostream</a> OS(Str);
+<a name="l00237"></a>00237     <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab6b28ecdd90edcb86191cc19a1b71eaf">printSavedRegsBitmask</a>(OS);
+<a name="l00238"></a>00238     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(OS.<a class="code" href="classllvm_1_1raw__svector__ostream.html#a941652907e3c1b132f86e1870bb5b291">str</a>());
+<a name="l00239"></a>00239 
+<a name="l00240"></a>00240     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.set\tnoreorder"</span>));
+<a name="l00241"></a>00241     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.set\tnomacro"</span>));
+<a name="l00242"></a>00242     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.set\tnoat"</span>));
+<a name="l00243"></a>00243   }
+<a name="l00244"></a>00244 }
+<a name="l00245"></a>00245 <span class="comment"></span>
+<a name="l00246"></a>00246 <span class="comment">/// EmitFunctionBodyEnd - Targets can override this to emit stuff after</span>
+<a name="l00247"></a>00247 <span class="comment">/// the last basic block in the function.</span>
+<a name="l00248"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab55938ecaec4399523b1328831dfaa48">00248</a> <span class="comment"></span><span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab55938ecaec4399523b1328831dfaa48">MipsAsmPrinter::EmitFunctionBodyEnd</a>() {
+<a name="l00249"></a>00249   <span class="comment">// There are instruction for this macros, but they must</span>
+<a name="l00250"></a>00250   <span class="comment">// always be at the function end, and we can't emit and</span>
+<a name="l00251"></a>00251   <span class="comment">// break with BB logic.</span>
+<a name="l00252"></a>00252   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a957d3d6304f9d576600e4b6d04937cf6">hasRawTextSupport</a>()) {
+<a name="l00253"></a>00253     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.set\tat"</span>));
+<a name="l00254"></a>00254     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.set\tmacro"</span>));
+<a name="l00255"></a>00255     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.set\treorder"</span>));
+<a name="l00256"></a>00256     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<span class="stringliteral">"\t.end\t"</span> + <a class="code" href="classllvm_1_1Twine.html">Twine</a>(<a class="code" href="classllvm_1_1AsmPrinter.html#aa06f7388d0cc9b44ece08cdf56c0ecf0">CurrentFnSym</a>-><a class="code" href="classllvm_1_1MCSymbol.html#a1c2e92b00e94b279e7a880a305548765" title="getName - Get the symbol name.">getName</a>()));
+<a name="l00257"></a>00257   }
+<a name="l00258"></a>00258 }
+<a name="l00259"></a>00259 <span class="comment"></span>
+<a name="l00260"></a>00260 <span class="comment">/// isBlockOnlyReachableByFallthough - Return true if the basic block has</span>
+<a name="l00261"></a>00261 <span class="comment">/// exactly one predecessor and the control transfer mechanism between</span>
+<a name="l00262"></a>00262 <span class="comment">/// the predecessor and this block is a fall-through.</span>
+<a name="l00263"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#af5a7b78c8192287202620427b0afa55b">00263</a> <span class="comment"></span><span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#af5a7b78c8192287202620427b0afa55b">MipsAsmPrinter::isBlockOnlyReachableByFallthrough</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a>*
+<a name="l00264"></a>00264                                                        MBB)<span class="keyword"> const </span>{
+<a name="l00265"></a>00265   <span class="comment">// The predecessor has to be immediately before this block.</span>
+<a name="l00266"></a>00266   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> *Pred = *MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#ab644fcf07a4c2708333cf66276282357">pred_begin</a>();
+<a name="l00267"></a>00267 
+<a name="l00268"></a>00268   <span class="comment">// If the predecessor is a switch statement, assume a jump table</span>
+<a name="l00269"></a>00269   <span class="comment">// implementation, so it is not a fall through.</span>
+<a name="l00270"></a>00270   <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1BasicBlock.html" title="LLVM Basic Block Representation.">BasicBlock</a> *bb = Pred-><a class="code" href="classllvm_1_1MachineBasicBlock.html#a2961c31b29db17a4f2964899c8569a64">getBasicBlock</a>())
+<a name="l00271"></a>00271     <span class="keywordflow">if</span> (isa<SwitchInst>(bb->getTerminator()))
+<a name="l00272"></a>00272       <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00273"></a>00273 
+<a name="l00274"></a>00274   <span class="comment">// If this is a landing pad, it isn't a fall through.  If it has no preds,</span>
+<a name="l00275"></a>00275   <span class="comment">// then nothing falls through to it.</span>
+<a name="l00276"></a>00276   <span class="keywordflow">if</span> (MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#a3f522ae33859d693fb5781efe690e9e6">isLandingPad</a>() || MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#ae1612b06274368fe13b574cbd9c4f768">pred_empty</a>())
+<a name="l00277"></a>00277     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00278"></a>00278 
+<a name="l00279"></a>00279   <span class="comment">// If there isn't exactly one predecessor, it can't be a fall through.</span>
+<a name="l00280"></a>00280   <a class="code" href="classllvm_1_1MachineBasicBlock.html#a502516f71f7824d46325d30ea41f34ba">MachineBasicBlock::const_pred_iterator</a> PI = MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#ab644fcf07a4c2708333cf66276282357">pred_begin</a>(), PI2 = PI;
+<a name="l00281"></a>00281   ++PI2;
+<a name="l00282"></a>00282 
+<a name="l00283"></a>00283   <span class="keywordflow">if</span> (PI2 != MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#a0359a738e0412c5a7ea55d61175e0661">pred_end</a>())
+<a name="l00284"></a>00284     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00285"></a>00285 
+<a name="l00286"></a>00286   <span class="comment">// The predecessor has to be immediately before this block.</span>
+<a name="l00287"></a>00287   <span class="keywordflow">if</span> (!Pred-><a class="code" href="classllvm_1_1MachineBasicBlock.html#a0fc7a349a4ab737607def6cb461791fd">isLayoutSuccessor</a>(MBB))
+<a name="l00288"></a>00288     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00289"></a>00289 
+<a name="l00290"></a>00290   <span class="comment">// If the block is completely empty, then it definitely does fall through.</span>
+<a name="l00291"></a>00291   <span class="keywordflow">if</span> (Pred-><a class="code" href="classllvm_1_1MachineBasicBlock.html#aa37d95a1d7bc824da0c596d8334c4ceb">empty</a>())
+<a name="l00292"></a>00292     <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00293"></a>00293 
+<a name="l00294"></a>00294   <span class="comment">// Otherwise, check the last instruction.</span>
+<a name="l00295"></a>00295   <span class="comment">// Check if the last terminator is an unconditional branch.</span>
+<a name="l00296"></a>00296   <a class="code" href="classllvm_1_1MachineBasicBlock.html#a654b11787ac7c4344084d98bea7cf626">MachineBasicBlock::const_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Pred-><a class="code" href="classllvm_1_1MachineBasicBlock.html#acbc921830578e2741be6549db716c0ce">end</a>();
+<a name="l00297"></a>00297   <span class="keywordflow">while</span> (I != Pred-><a class="code" href="classllvm_1_1MachineBasicBlock.html#ab2d91e7bec944efcbc39d8e30644f111">begin</a>() && !(--<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)->isTerminator()) ;
+<a name="l00298"></a>00298 
+<a name="l00299"></a>00299   <span class="keywordflow">return</span> !I->isBarrier();
+<a name="l00300"></a>00300 }
+<a name="l00301"></a>00301 
+<a name="l00302"></a>00302 <span class="comment">// Print out an operand for an inline asm expression.</span>
+<a name="l00303"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#adb1c9e19d98002ec982f20e869a5660a">00303</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#adb1c9e19d98002ec982f20e869a5660a">MipsAsmPrinter::PrintAsmOperand</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">unsigned</span> OpNum,
+<a name="l00304"></a>00304                                      <span class="keywordtype">unsigned</span> AsmVariant,<span class="keyword">const</span> <span class="keywordtype">char</span> *ExtraCode,
+<a name="l00305"></a>00305                                      <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &O) {
+<a name="l00306"></a>00306   <span class="comment">// Does this asm operand have a single letter operand modifier?</span>
+<a name="l00307"></a>00307   <span class="keywordflow">if</span> (ExtraCode && ExtraCode[0]) {
+<a name="l00308"></a>00308     <span class="keywordflow">if</span> (ExtraCode[1] != 0) <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="comment">// Unknown modifier.</span>
+<a name="l00309"></a>00309 
+<a name="l00310"></a>00310     <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNum);
+<a name="l00311"></a>00311     <span class="keywordflow">switch</span> (ExtraCode[0]) {
+<a name="l00312"></a>00312     <span class="keywordflow">default</span>:
+<a name="l00313"></a>00313       <span class="comment">// See if this is a generic print operand</span>
+<a name="l00314"></a>00314       <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#adb1c9e19d98002ec982f20e869a5660a">AsmPrinter::PrintAsmOperand</a>(MI,OpNum,AsmVariant,ExtraCode,O);
+<a name="l00315"></a>00315     <span class="keywordflow">case</span> <span class="charliteral">'X'</span>: <span class="comment">// hex const int</span>
+<a name="l00316"></a>00316       <span class="keywordflow">if</span> ((MO.<a class="code" href="classllvm_1_1MachineOperand.html#a1b63a086907e5b144612bb4266b713d6">getType</a>()) != <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da066f84460d9f7b61d54b187555756ef6" title="Immediate operand.">MachineOperand::MO_Immediate</a>)
+<a name="l00317"></a>00317         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00318"></a>00318       O << <span class="stringliteral">"0x"</span> << <a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<a class="code" href="namespacellvm.html#ab62c5401d81ce5f1c6c7e2e59bce13aa">utohexstr</a>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>())).<a class="code" href="classllvm_1_1StringRef.html#a8e6aa5b1d2c9f5aec91bc4b56fb17351">lower</a>();
+<a name="l00319"></a>00319       <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00320"></a>00320     <span class="keywordflow">case</span> <span class="charliteral">'x'</span>: <span class="comment">// hex const int (low 16 bits)</span>
+<a name="l00321"></a>00321       <span class="keywordflow">if</span> ((MO.<a class="code" href="classllvm_1_1MachineOperand.html#a1b63a086907e5b144612bb4266b713d6">getType</a>()) != <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da066f84460d9f7b61d54b187555756ef6" title="Immediate operand.">MachineOperand::MO_Immediate</a>)
+<a name="l00322"></a>00322         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00323"></a>00323       O << <span class="stringliteral">"0x"</span> << <a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<a class="code" href="namespacellvm.html#ab62c5401d81ce5f1c6c7e2e59bce13aa">utohexstr</a>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>() & 0xffff)).<a class="code" href="classllvm_1_1StringRef.html#a8e6aa5b1d2c9f5aec91bc4b56fb17351">lower</a>();
+<a name="l00324"></a>00324       <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00325"></a>00325     <span class="keywordflow">case</span> <span class="charliteral">'d'</span>: <span class="comment">// decimal const int</span>
+<a name="l00326"></a>00326       <span class="keywordflow">if</span> ((MO.<a class="code" href="classllvm_1_1MachineOperand.html#a1b63a086907e5b144612bb4266b713d6">getType</a>()) != <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da066f84460d9f7b61d54b187555756ef6" title="Immediate operand.">MachineOperand::MO_Immediate</a>)
+<a name="l00327"></a>00327         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00328"></a>00328       O << MO.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>();
+<a name="l00329"></a>00329       <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00330"></a>00330     <span class="keywordflow">case</span> <span class="charliteral">'m'</span>: <span class="comment">// decimal const int minus 1</span>
+<a name="l00331"></a>00331       <span class="keywordflow">if</span> ((MO.<a class="code" href="classllvm_1_1MachineOperand.html#a1b63a086907e5b144612bb4266b713d6">getType</a>()) != <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da066f84460d9f7b61d54b187555756ef6" title="Immediate operand.">MachineOperand::MO_Immediate</a>)
+<a name="l00332"></a>00332         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00333"></a>00333       O << MO.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>() - 1;
+<a name="l00334"></a>00334       <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00335"></a>00335     <span class="keywordflow">case</span> <span class="charliteral">'z'</span>: {
+<a name="l00336"></a>00336       <span class="comment">// $0 if zero, regular printing otherwise</span>
+<a name="l00337"></a>00337       <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a1b63a086907e5b144612bb4266b713d6">getType</a>() != <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da066f84460d9f7b61d54b187555756ef6" title="Immediate operand.">MachineOperand::MO_Immediate</a>)
+<a name="l00338"></a>00338         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00339"></a>00339       <a class="code" href="classint64__t.html">int64_t</a> Val = MO.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>();
+<a name="l00340"></a>00340       <span class="keywordflow">if</span> (Val)
+<a name="l00341"></a>00341         O << Val;
+<a name="l00342"></a>00342       <span class="keywordflow">else</span>
+<a name="l00343"></a>00343         O << <span class="stringliteral">"$0"</span>;
+<a name="l00344"></a>00344       <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00345"></a>00345     }
+<a name="l00346"></a>00346     <span class="keywordflow">case</span> <span class="charliteral">'D'</span>: <span class="comment">// Second part of a double word register operand</span>
+<a name="l00347"></a>00347     <span class="keywordflow">case</span> <span class="charliteral">'L'</span>: <span class="comment">// Low order register of a double word register operand</span>
+<a name="l00348"></a>00348     <span class="keywordflow">case</span> <span class="charliteral">'M'</span>: <span class="comment">// High order register of a double word register operand</span>
+<a name="l00349"></a>00349     {
+<a name="l00350"></a>00350       <span class="keywordflow">if</span> (OpNum == 0)
+<a name="l00351"></a>00351         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00352"></a>00352       <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &FlagsOP = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNum - 1);
+<a name="l00353"></a>00353       <span class="keywordflow">if</span> (!FlagsOP.<a class="code" href="classllvm_1_1MachineOperand.html#a2ac18ceda9f2857fea2e5cc4e8bf4ff5" title="isImm - Tests if this is a MO_Immediate operand.">isImm</a>())
+<a name="l00354"></a>00354         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00355"></a>00355       <span class="keywordtype">unsigned</span> Flags = FlagsOP.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>();
+<a name="l00356"></a>00356       <span class="keywordtype">unsigned</span> NumVals = <a class="code" href="classllvm_1_1InlineAsm.html#a4437506c56127755bed59ee1b30e95b9">InlineAsm::getNumOperandRegisters</a>(Flags);
+<a name="l00357"></a>00357       <span class="comment">// Number of registers represented by this operand. We are looking</span>
+<a name="l00358"></a>00358       <span class="comment">// for 2 for 32 bit mode and 1 for 64 bit mode.</span>
+<a name="l00359"></a>00359       <span class="keywordflow">if</span> (NumVals != 2) {
+<a name="l00360"></a>00360         <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a757b743b9e44d55d713f89431155835c">Subtarget</a>-><a class="code" href="classllvm_1_1MipsSubtarget.html#a1e7a9bffe7d2aa75a18ab9655d8a6877">isGP64bit</a>() && NumVals == 1 && MO.<a class="code" href="classllvm_1_1MachineOperand.html#ad8198d6d83af9410d867136e33fbf4b2" title="isReg - Tests if this is a MO_Register operand.">isReg</a>()) {
+<a name="l00361"></a>00361           <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = MO.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>();
+<a name="l00362"></a>00362           O << <span class="charliteral">'$'</span> << <a class="code" href="classllvm_1_1MipsInstPrinter.html#ae8b899c142617834b7d30628827baf9a">MipsInstPrinter::getRegisterName</a>(Reg);
+<a name="l00363"></a>00363           <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00364"></a>00364         }
+<a name="l00365"></a>00365         <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00366"></a>00366       }
+<a name="l00367"></a>00367 
+<a name="l00368"></a>00368       <span class="keywordtype">unsigned</span> RegOp = OpNum;
+<a name="l00369"></a>00369       <span class="keywordflow">if</span> (!<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a757b743b9e44d55d713f89431155835c">Subtarget</a>-><a class="code" href="classllvm_1_1MipsSubtarget.html#a1e7a9bffe7d2aa75a18ab9655d8a6877">isGP64bit</a>()){
+<a name="l00370"></a>00370         <span class="comment">// Endianess reverses which register holds the high or low value</span>
+<a name="l00371"></a>00371         <span class="comment">// between M and L.</span>
+<a name="l00372"></a>00372         <span class="keywordflow">switch</span>(ExtraCode[0]) {
+<a name="l00373"></a>00373         <span class="keywordflow">case</span> <span class="charliteral">'M'</span>:
+<a name="l00374"></a>00374           RegOp = (<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a757b743b9e44d55d713f89431155835c">Subtarget</a>-><a class="code" href="classllvm_1_1MipsSubtarget.html#abbc0396c69aa4c4de2826cd43728facc">isLittle</a>()) ? OpNum + 1 : OpNum;
+<a name="l00375"></a>00375           <span class="keywordflow">break</span>;
+<a name="l00376"></a>00376         <span class="keywordflow">case</span> <span class="charliteral">'L'</span>:
+<a name="l00377"></a>00377           RegOp = (<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a757b743b9e44d55d713f89431155835c">Subtarget</a>-><a class="code" href="classllvm_1_1MipsSubtarget.html#abbc0396c69aa4c4de2826cd43728facc">isLittle</a>()) ? OpNum : OpNum + 1;
+<a name="l00378"></a>00378           <span class="keywordflow">break</span>;
+<a name="l00379"></a>00379         <span class="keywordflow">case</span> <span class="charliteral">'D'</span>: <span class="comment">// Always the second part</span>
+<a name="l00380"></a>00380           RegOp = OpNum + 1;
+<a name="l00381"></a>00381         }
+<a name="l00382"></a>00382         <span class="keywordflow">if</span> (RegOp >= MI-><a class="code" href="classllvm_1_1MachineInstr.html#a7b5fe96d88954efc855e6c466207e535">getNumOperands</a>())
+<a name="l00383"></a>00383           <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00384"></a>00384         <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(RegOp);
+<a name="l00385"></a>00385         <span class="keywordflow">if</span> (!MO.<a class="code" href="classllvm_1_1MachineOperand.html#ad8198d6d83af9410d867136e33fbf4b2" title="isReg - Tests if this is a MO_Register operand.">isReg</a>())
+<a name="l00386"></a>00386           <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00387"></a>00387         <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = MO.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>();
+<a name="l00388"></a>00388         O << <span class="charliteral">'$'</span> << <a class="code" href="classllvm_1_1MipsInstPrinter.html#ae8b899c142617834b7d30628827baf9a">MipsInstPrinter::getRegisterName</a>(Reg);
+<a name="l00389"></a>00389         <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00390"></a>00390       }
+<a name="l00391"></a>00391     }
+<a name="l00392"></a>00392     }
+<a name="l00393"></a>00393   }
+<a name="l00394"></a>00394 
+<a name="l00395"></a>00395   <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ad7367f761921fa5792918525c5082bac">printOperand</a>(MI, OpNum, O);
+<a name="l00396"></a>00396   <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00397"></a>00397 }
+<a name="l00398"></a>00398 
+<a name="l00399"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#a789b1b7fde08d847e1e43334742157c5">00399</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a789b1b7fde08d847e1e43334742157c5">MipsAsmPrinter::PrintAsmMemoryOperand</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>,
+<a name="l00400"></a>00400                                            <span class="keywordtype">unsigned</span> OpNum, <span class="keywordtype">unsigned</span> AsmVariant,
+<a name="l00401"></a>00401                                            <span class="keyword">const</span> <span class="keywordtype">char</span> *ExtraCode,
+<a name="l00402"></a>00402                                            <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &O) {
+<a name="l00403"></a>00403   <span class="keywordflow">if</span> (ExtraCode && ExtraCode[0])
+<a name="l00404"></a>00404     <span class="keywordflow">return</span> <span class="keyword">true</span>; <span class="comment">// Unknown modifier.</span>
+<a name="l00405"></a>00405 
+<a name="l00406"></a>00406   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNum);
+<a name="l00407"></a>00407   assert(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ad8198d6d83af9410d867136e33fbf4b2" title="isReg - Tests if this is a MO_Register operand.">isReg</a>() && <span class="stringliteral">"unexpected inline asm memory operand"</span>);
+<a name="l00408"></a>00408   O << <span class="stringliteral">"0($"</span> << <a class="code" href="classllvm_1_1MipsInstPrinter.html#ae8b899c142617834b7d30628827baf9a">MipsInstPrinter::getRegisterName</a>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>()) << <span class="stringliteral">")"</span>;
+<a name="l00409"></a>00409 
+<a name="l00410"></a>00410   <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00411"></a>00411 }
+<a name="l00412"></a>00412 
+<a name="l00413"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#ad7367f761921fa5792918525c5082bac">00413</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ad7367f761921fa5792918525c5082bac">MipsAsmPrinter::printOperand</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">int</span> opNum,
+<a name="l00414"></a>00414                                   <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &O) {
+<a name="l00415"></a>00415   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(opNum);
+<a name="l00416"></a>00416   <span class="keywordtype">bool</span> closeP = <span class="keyword">false</span>;
+<a name="l00417"></a>00417 
+<a name="l00418"></a>00418   <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a66e5034087365ccc871f5b6cae30d00c">getTargetFlags</a>())
+<a name="l00419"></a>00419     closeP = <span class="keyword">true</span>;
+<a name="l00420"></a>00420 
+<a name="l00421"></a>00421   <span class="keywordflow">switch</span>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a66e5034087365ccc871f5b6cae30d00c">getTargetFlags</a>()) {
+<a name="l00422"></a>00422   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771facc686a80ae02879bbbe0426839c64b2a">MipsII::MO_GPREL</a>:    O << <span class="stringliteral">"%gp_rel("</span>; <span class="keywordflow">break</span>;
+<a name="l00423"></a>00423   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fa07de8fa3199be2175e9f096d59778431">MipsII::MO_GOT_CALL</a>: O << <span class="stringliteral">"%call16("</span>; <span class="keywordflow">break</span>;
+<a name="l00424"></a>00424   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fa1a2e2730911aa3bb70313c56b63951e2">MipsII::MO_GOT</a>:      O << <span class="stringliteral">"%got("</span>;    <span class="keywordflow">break</span>;
+<a name="l00425"></a>00425   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fa5fbdfe4fb09a0dac0b32cce2d9d68624">MipsII::MO_ABS_HI</a>:   O << <span class="stringliteral">"%hi("</span>;     <span class="keywordflow">break</span>;
+<a name="l00426"></a>00426   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fa23c1a6183ec3becd204af9f074a6a10e">MipsII::MO_ABS_LO</a>:   O << <span class="stringliteral">"%lo("</span>;     <span class="keywordflow">break</span>;
+<a name="l00427"></a>00427   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fac6c8fd74637cf047e18f442117c554e4" title="MO_TLSGD - Represents the offset into the global offset table at which.">MipsII::MO_TLSGD</a>:    O << <span class="stringliteral">"%tlsgd("</span>;  <span class="keywordflow">break</span>;
+<a name="l00428"></a>00428   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fa3bcf76298491174cfa096a159fcfa1bd" title="MO_GOTTPREL - Represents the offset from the thread pointer (Initial.">MipsII::MO_GOTTPREL</a>: O << <span class="stringliteral">"%gottprel("</span>; <span class="keywordflow">break</span>;
+<a name="l00429"></a>00429   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fa0b6a4b5240837361e781d83d33e47f7d" title="MO_TPREL_HI/LO - Represents the hi and low part of the offset from.">MipsII::MO_TPREL_HI</a>: O << <span class="stringliteral">"%tprel_hi("</span>; <span class="keywordflow">break</span>;
+<a name="l00430"></a>00430   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fa017c78afd95cb34d547e5b12d7e82cf2">MipsII::MO_TPREL_LO</a>: O << <span class="stringliteral">"%tprel_lo("</span>; <span class="keywordflow">break</span>;
+<a name="l00431"></a>00431   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771faaa8df1a598df32869fd86fbf2ddeb7db">MipsII::MO_GPOFF_HI</a>: O << <span class="stringliteral">"%hi(%neg(%gp_rel("</span>; <span class="keywordflow">break</span>;
+<a name="l00432"></a>00432   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fa9c46e428d47c726405f2a7461d360709">MipsII::MO_GPOFF_LO</a>: O << <span class="stringliteral">"%lo(%neg(%gp_rel("</span>; <span class="keywordflow">break</span>;
+<a name="l00433"></a>00433   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fa909d916f4557a43b18dc4af1cd7ad54d">MipsII::MO_GOT_DISP</a>: O << <span class="stringliteral">"%got_disp("</span>; <span class="keywordflow">break</span>;
+<a name="l00434"></a>00434   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fac2b1d63e911d3f10faaff19adc5b175f">MipsII::MO_GOT_PAGE</a>: O << <span class="stringliteral">"%got_page("</span>; <span class="keywordflow">break</span>;
+<a name="l00435"></a>00435   <span class="keywordflow">case</span> <a class="code" href="namespacellvm_1_1MipsII.html#ab0cf5f5ed4db649fc89a1b41f8b5771fafd34cc5a05cd588c7c54984311b3a0ba">MipsII::MO_GOT_OFST</a>: O << <span class="stringliteral">"%got_ofst("</span>; <span class="keywordflow">break</span>;
+<a name="l00436"></a>00436   }
+<a name="l00437"></a>00437 
+<a name="l00438"></a>00438   <span class="keywordflow">switch</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a1b63a086907e5b144612bb4266b713d6">getType</a>()) {
+<a name="l00439"></a>00439     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da99b874c6560305fd292d20f6a06da166" title="Register operand.">MachineOperand::MO_Register</a>:
+<a name="l00440"></a>00440       O << <span class="charliteral">'$'</span>
+<a name="l00441"></a>00441         << <a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<a class="code" href="classllvm_1_1MipsInstPrinter.html#ae8b899c142617834b7d30628827baf9a">MipsInstPrinter::getRegisterName</a>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>())).<a class="code" href="classllvm_1_1StringRef.html#a8e6aa5b1d2c9f5aec91bc4b56fb17351">lower</a>();
+<a name="l00442"></a>00442       <span class="keywordflow">break</span>;
+<a name="l00443"></a>00443 
+<a name="l00444"></a>00444     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da066f84460d9f7b61d54b187555756ef6" title="Immediate operand.">MachineOperand::MO_Immediate</a>:
+<a name="l00445"></a>00445       O << MO.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>();
+<a name="l00446"></a>00446       <span class="keywordflow">break</span>;
+<a name="l00447"></a>00447 
+<a name="l00448"></a>00448     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da95566cb4525dab82db8cbbed3d634c23" title="MachineBasicBlock reference.">MachineOperand::MO_MachineBasicBlock</a>:
+<a name="l00449"></a>00449       O << *MO.<a class="code" href="classllvm_1_1MachineOperand.html#a3350f7760c4eec67ea7d8f3063c3d748">getMBB</a>()-><a class="code" href="classllvm_1_1MachineBasicBlock.html#a24d0da534c4fb156547a04749b9f6468">getSymbol</a>();
+<a name="l00450"></a>00450       <span class="keywordflow">return</span>;
+<a name="l00451"></a>00451 
+<a name="l00452"></a>00452     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da3f1f6bfc5aa57cf388201bf6b8fee7d3" title="Address of a global value.">MachineOperand::MO_GlobalAddress</a>:
+<a name="l00453"></a>00453       O << *<a class="code" href="classllvm_1_1AsmPrinter.html#a8ecd5bcd7ddb8c1963ecbcc8629479e3">Mang</a>-><a class="code" href="classllvm_1_1Mangler.html#ad893d7d16d0c0c44cc535fcdd72c3229">getSymbol</a>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a0c3a2a5a49795f8750ebd02dc0e6e11e">getGlobal</a>());
+<a name="l00454"></a>00454       <span class="keywordflow">break</span>;
+<a name="l00455"></a>00455 
+<a name="l00456"></a>00456     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da7e48d34b4b9e7e8dd77301779ff77013" title="Address of a basic block.">MachineOperand::MO_BlockAddress</a>: {
+<a name="l00457"></a>00457       <a class="code" href="classllvm_1_1MCSymbol.html">MCSymbol</a> *BA = <a class="code" href="classllvm_1_1AsmPrinter.html#a7e02868ce8fce22ce86aa4a76c4727fe">GetBlockAddressSymbol</a>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a9f4ee08181e8e39c0c741da7bb52a934">getBlockAddress</a>());
+<a name="l00458"></a>00458       O << BA-><a class="code" href="classllvm_1_1MCSymbol.html#a1c2e92b00e94b279e7a880a305548765" title="getName - Get the symbol name.">getName</a>();
+<a name="l00459"></a>00459       <span class="keywordflow">break</span>;
+<a name="l00460"></a>00460     }
+<a name="l00461"></a>00461 
+<a name="l00462"></a>00462     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da9d22ed12eec3e14283ed6a3617d12119" title="Name of external global symbol.">MachineOperand::MO_ExternalSymbol</a>:
+<a name="l00463"></a>00463       O << *<a class="code" href="classllvm_1_1AsmPrinter.html#aa3d64a4ca77015ca6ae17fb5355ebf4a">GetExternalSymbolSymbol</a>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ad9456ef14a72da4e4def5d8747c41a09">getSymbolName</a>());
+<a name="l00464"></a>00464       <span class="keywordflow">break</span>;
+<a name="l00465"></a>00465 
+<a name="l00466"></a>00466     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6daa1741ad7465d81fb3020b84c390ee49d" title="Address of indexed Jump Table for switch.">MachineOperand::MO_JumpTableIndex</a>:
+<a name="l00467"></a>00467       O << <a class="code" href="classllvm_1_1AsmPrinter.html#a47692fd7344d1adc2916ad4cc31d26c8">MAI</a>-><a class="code" href="classllvm_1_1MCAsmInfo.html#aeb8bf8ab4f7e80a32279218f53ac0fdc">getPrivateGlobalPrefix</a>() << <span class="stringliteral">"JTI"</span> << <a class="code" href="classllvm_1_1AsmPrinter.html#a62339c2afaafed394a2f7c44a830c2cd">getFunctionNumber</a>()
+<a name="l00468"></a>00468         << <span class="charliteral">'_'</span> << MO.<a class="code" href="classllvm_1_1MachineOperand.html#ac9485ae7d6fedd71ad4460f72c799c98">getIndex</a>();
+<a name="l00469"></a>00469       <span class="keywordflow">break</span>;
+<a name="l00470"></a>00470 
+<a name="l00471"></a>00471     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1MachineOperand.html#a4da580aaf3300fdcf306f17e4a864f6da0d4fd3b1a2d5d46d77b66d5a35783580" title="Address of indexed Constant in Constant Pool.">MachineOperand::MO_ConstantPoolIndex</a>:
+<a name="l00472"></a>00472       O << <a class="code" href="classllvm_1_1AsmPrinter.html#a47692fd7344d1adc2916ad4cc31d26c8">MAI</a>-><a class="code" href="classllvm_1_1MCAsmInfo.html#aeb8bf8ab4f7e80a32279218f53ac0fdc">getPrivateGlobalPrefix</a>() << <span class="stringliteral">"CPI"</span>
+<a name="l00473"></a>00473         << <a class="code" href="classllvm_1_1AsmPrinter.html#a62339c2afaafed394a2f7c44a830c2cd">getFunctionNumber</a>() << <span class="stringliteral">"_"</span> << MO.<a class="code" href="classllvm_1_1MachineOperand.html#ac9485ae7d6fedd71ad4460f72c799c98">getIndex</a>();
+<a name="l00474"></a>00474       <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#ae73de4f077ea9862af9611652396202b">getOffset</a>())
+<a name="l00475"></a>00475         O << <span class="stringliteral">"+"</span> << MO.<a class="code" href="classllvm_1_1MachineOperand.html#ae73de4f077ea9862af9611652396202b">getOffset</a>();
+<a name="l00476"></a>00476       <span class="keywordflow">break</span>;
+<a name="l00477"></a>00477 
+<a name="l00478"></a>00478     <span class="keywordflow">default</span>:
+<a name="l00479"></a>00479       <a class="code" href="ErrorHandling_8h.html#ace243f5c25697a1107cce46626b3dc94">llvm_unreachable</a>(<span class="stringliteral">"<unknown operand type>"</span>);
+<a name="l00480"></a>00480   }
+<a name="l00481"></a>00481 
+<a name="l00482"></a>00482   <span class="keywordflow">if</span> (closeP) O << <span class="stringliteral">")"</span>;
+<a name="l00483"></a>00483 }
+<a name="l00484"></a>00484 
+<a name="l00485"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#a59a88fabc7827e878a3a9a8873992e82">00485</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a59a88fabc7827e878a3a9a8873992e82">MipsAsmPrinter::printUnsignedImm</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">int</span> opNum,
+<a name="l00486"></a>00486                                       <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &O) {
+<a name="l00487"></a>00487   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(opNum);
+<a name="l00488"></a>00488   <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a2ac18ceda9f2857fea2e5cc4e8bf4ff5" title="isImm - Tests if this is a MO_Immediate operand.">isImm</a>())
+<a name="l00489"></a>00489     O << (<span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <span class="keywordtype">int</span>)MO.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>();
+<a name="l00490"></a>00490   <span class="keywordflow">else</span>
+<a name="l00491"></a>00491     <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ad7367f761921fa5792918525c5082bac">printOperand</a>(MI, opNum, O);
+<a name="l00492"></a>00492 }
+<a name="l00493"></a>00493 
+<a name="l00494"></a>00494 <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a6932316f0a5957796efe082fc9d5016d">MipsAsmPrinter::</a>
+<a name="l00495"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#a6932316f0a5957796efe082fc9d5016d">00495</a> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a6932316f0a5957796efe082fc9d5016d">printMemOperand</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">int</span> opNum, <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &O) {
+<a name="l00496"></a>00496   <span class="comment">// Load/Store memory operands -- imm($reg)</span>
+<a name="l00497"></a>00497   <span class="comment">// If PIC target the target is loaded as the</span>
+<a name="l00498"></a>00498   <span class="comment">// pattern lw $25,%call16($28)</span>
+<a name="l00499"></a>00499   <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ad7367f761921fa5792918525c5082bac">printOperand</a>(MI, opNum+1, O);
+<a name="l00500"></a>00500   O << <span class="stringliteral">"("</span>;
+<a name="l00501"></a>00501   <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ad7367f761921fa5792918525c5082bac">printOperand</a>(MI, opNum, O);
+<a name="l00502"></a>00502   O << <span class="stringliteral">")"</span>;
+<a name="l00503"></a>00503 }
+<a name="l00504"></a>00504 
+<a name="l00505"></a>00505 <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab81e83ff0b0da0cc1af2d2265c4f8ed8">MipsAsmPrinter::</a>
+<a name="l00506"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab81e83ff0b0da0cc1af2d2265c4f8ed8">00506</a> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ab81e83ff0b0da0cc1af2d2265c4f8ed8">printMemOperandEA</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">int</span> opNum, <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &O) {
+<a name="l00507"></a>00507   <span class="comment">// when using stack locations for not load/store instructions</span>
+<a name="l00508"></a>00508   <span class="comment">// print the same way as all normal 3 operand instructions.</span>
+<a name="l00509"></a>00509   <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ad7367f761921fa5792918525c5082bac">printOperand</a>(MI, opNum, O);
+<a name="l00510"></a>00510   O << <span class="stringliteral">", "</span>;
+<a name="l00511"></a>00511   <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ad7367f761921fa5792918525c5082bac">printOperand</a>(MI, opNum+1, O);
+<a name="l00512"></a>00512   <span class="keywordflow">return</span>;
+<a name="l00513"></a>00513 }
+<a name="l00514"></a>00514 
+<a name="l00515"></a>00515 <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a8ec0ded6c364fb55b1bb1deac2efa41b">MipsAsmPrinter::</a>
+<a name="l00516"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#a8ec0ded6c364fb55b1bb1deac2efa41b">00516</a> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a8ec0ded6c364fb55b1bb1deac2efa41b">printFCCOperand</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">int</span> opNum, <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &O,
+<a name="l00517"></a>00517                 <span class="keyword">const</span> <span class="keywordtype">char</span> *Modifier) {
+<a name="l00518"></a>00518   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(opNum);
+<a name="l00519"></a>00519   O << <a class="code" href="namespacellvm_1_1Mips.html#a148bb747f61f24ffcea5979d70d053c8">Mips::MipsFCCToString</a>((<a class="code" href="namespacellvm_1_1Mips.html#a4621ee6b454fcf07b8903cb0a786e359">Mips::CondCode</a>)MO.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>());
+<a name="l00520"></a>00520 }
+<a name="l00521"></a>00521 
+<a name="l00522"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#af35dff73f961177833f1caaabe5a7fb2">00522</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#af35dff73f961177833f1caaabe5a7fb2">MipsAsmPrinter::EmitStartOfAsmFile</a>(<a class="code" href="classllvm_1_1Module.html" title="The main container class for the LLVM Intermediate Representation.">Module</a> &M) {
+<a name="l00523"></a>00523   <span class="comment">// FIXME: Use SwitchSection.</span>
+<a name="l00524"></a>00524 
+<a name="l00525"></a>00525   <span class="comment">// Tell the assembler which ABI we are using</span>
+<a name="l00526"></a>00526   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a957d3d6304f9d576600e4b6d04937cf6">hasRawTextSupport</a>())
+<a name="l00527"></a>00527     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<span class="stringliteral">"\t.section .mdebug."</span> +
+<a name="l00528"></a>00528                             <a class="code" href="classllvm_1_1Twine.html">Twine</a>(<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a2120af74316fe0707cc223490741af7e" title="Emit Set directives.">getCurrentABIString</a>()));
+<a name="l00529"></a>00529 
+<a name="l00530"></a>00530   <span class="comment">// TODO: handle O64 ABI</span>
+<a name="l00531"></a>00531   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a957d3d6304f9d576600e4b6d04937cf6">hasRawTextSupport</a>()) {
+<a name="l00532"></a>00532     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a757b743b9e44d55d713f89431155835c">Subtarget</a>-><a class="code" href="classllvm_1_1MipsSubtarget.html#a3bc3d0d544dfc6d8c71036b858316f4c" title="Only O32 and EABI supported right now.">isABI_EABI</a>()) {
+<a name="l00533"></a>00533       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1MipsAsmPrinter.html#a757b743b9e44d55d713f89431155835c">Subtarget</a>-><a class="code" href="classllvm_1_1MipsSubtarget.html#a2e893297d3722aba8ecc8326b2b20e3a">isGP32bit</a>())
+<a name="l00534"></a>00534         <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.section .gcc_compiled_long32"</span>));
+<a name="l00535"></a>00535       <span class="keywordflow">else</span>
+<a name="l00536"></a>00536         <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.section .gcc_compiled_long64"</span>));
+<a name="l00537"></a>00537     }
+<a name="l00538"></a>00538   }
+<a name="l00539"></a>00539 
+<a name="l00540"></a>00540   <span class="comment">// return to previous section</span>
+<a name="l00541"></a>00541   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a957d3d6304f9d576600e4b6d04937cf6">hasRawTextSupport</a>())
+<a name="l00542"></a>00542     <a class="code" href="classllvm_1_1AsmPrinter.html#a32ad5336c0020843cbb5a982c0f1a708">OutStreamer</a>.<a class="code" href="classllvm_1_1MCStreamer.html#a6e649d2c2b28e53d4e3296e3d57fc5fa">EmitRawText</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(<span class="stringliteral">"\t.previous"</span>));
+<a name="l00543"></a>00543 }
+<a name="l00544"></a>00544 
+<a name="l00545"></a>00545 <a class="code" href="classllvm_1_1MachineLocation.html">MachineLocation</a>
+<a name="l00546"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#ac2f7ea17be16514cd0399ca9d1504fe3">00546</a> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#ac2f7ea17be16514cd0399ca9d1504fe3">MipsAsmPrinter::getDebugValueLocation</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>)<span class="keyword"> const </span>{
+<a name="l00547"></a>00547   <span class="comment">// Handles frame addresses emitted in MipsInstrInfo::emitFrameIndexDebugValue.</span>
+<a name="l00548"></a>00548   assert(MI-><a class="code" href="classllvm_1_1MachineInstr.html#a7b5fe96d88954efc855e6c466207e535">getNumOperands</a>() == 4 && <span class="stringliteral">"Invalid no. of machine operands!"</span>);
+<a name="l00549"></a>00549   assert(MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(0).<a class="code" href="classllvm_1_1MachineOperand.html#ad8198d6d83af9410d867136e33fbf4b2" title="isReg - Tests if this is a MO_Register operand.">isReg</a>() && MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(1).<a class="code" href="classllvm_1_1MachineOperand.html#a2ac18ceda9f2857fea2e5cc4e8bf4ff5" title="isImm - Tests if this is a MO_Immediate operand.">isImm</a>() &&
+<a name="l00550"></a>00550          <span class="stringliteral">"Unexpected MachineOperand types"</span>);
+<a name="l00551"></a>00551   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MachineLocation.html">MachineLocation</a>(MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(0).<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>(),
+<a name="l00552"></a>00552                          MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(1).<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>());
+<a name="l00553"></a>00553 }
+<a name="l00554"></a>00554 
+<a name="l00555"></a><a class="code" href="classllvm_1_1MipsAsmPrinter.html#a5a94a7126a2432f218cdc1c4a023bc15">00555</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsAsmPrinter.html#a5a94a7126a2432f218cdc1c4a023bc15">MipsAsmPrinter::PrintDebugValueComment</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>,
+<a name="l00556"></a>00556                                            <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS) {
+<a name="l00557"></a>00557   <span class="comment">// TODO: implement</span>
+<a name="l00558"></a>00558 }
+<a name="l00559"></a>00559 
+<a name="l00560"></a>00560 <span class="comment">// Force static initialization.</span>
+<a name="l00561"></a><a class="code" href="MipsAsmPrinter_8cpp.html#acc9bebd5f73fded2a879131d83cfea92">00561</a> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> <span class="keywordtype">void</span> <a class="code" href="MipsAsmPrinter_8cpp.html#acc9bebd5f73fded2a879131d83cfea92">LLVMInitializeMipsAsmPrinter</a>() {
+<a name="l00562"></a>00562   <a class="code" href="structllvm_1_1RegisterAsmPrinter.html">RegisterAsmPrinter<MipsAsmPrinter></a> <a class="code" href="namespacellvm.html#a6569d00d31a5d74e563e2f39f82271ab">X</a>(<a class="code" href="namespacellvm.html#aab11ee4871232bb0999c381377ebaaf8">TheMipsTarget</a>);
+<a name="l00563"></a>00563   <a class="code" href="structllvm_1_1RegisterAsmPrinter.html">RegisterAsmPrinter<MipsAsmPrinter></a> <a class="code" href="OcamlGCPrinter_8cpp.html#a1bdbcdc4205781eefd549946d40ff378">Y</a>(<a class="code" href="namespacellvm.html#a7ff1edf65bb0c16474975e3252f90833">TheMipselTarget</a>);
+<a name="l00564"></a>00564   <a class="code" href="structllvm_1_1RegisterAsmPrinter.html">RegisterAsmPrinter<MipsAsmPrinter></a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11bad9577456b5bb7a03b7f42a710e122ab5">A</a>(<a class="code" href="namespacellvm.html#ab929a094f183a632910a5681994017c4">TheMips64Target</a>);
+<a name="l00565"></a>00565   <a class="code" href="structllvm_1_1RegisterAsmPrinter.html">RegisterAsmPrinter<MipsAsmPrinter></a> B(<a class="code" href="namespacellvm.html#af6c017babb5baba3ad4051a0bb01d681">TheMips64elTarget</a>);
+<a name="l00566"></a>00566 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:36:12 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsAsmPrinter_8h__dep__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsAsmPrinter_8h__dep__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MipsAsmPrinter_8h__dep__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,14 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsELFObjectWriter_8cpp.html" title="MipsELFObjectWriter.cpp" alt="" coords="5,84,181,111"/>
+<area shape="rect" href="$MipsMCCodeEmitter_8cpp.html" title="MipsMCCodeEmitter.cpp" alt="" coords="205,84,381,111"/>
+<area shape="rect" href="$Mips16FrameLowering_8cpp.html" title="Mips16FrameLowering.cpp" alt="" coords="405,84,595,111"/>
+<area shape="rect" href="$MipsAsmPrinter_8cpp.html" title="MipsAsmPrinter.cpp" alt="" coords="619,84,765,111"/>
+<area shape="rect" href="$MipsCodeEmitter_8cpp.html" title="MipsCodeEmitter.cpp" alt="" coords="789,84,944,111"/>
+<area shape="rect" href="$MipsFrameLowering_8cpp.html" title="MipsFrameLowering.cpp" alt="" coords="968,84,1141,111"/>
+<area shape="rect" href="$MipsISelDAGToDAG_8cpp.html" title="MipsISelDAGToDAG.cpp" alt="" coords="1165,84,1336,111"/>
+<area shape="rect" href="$MipsISelLowering_8cpp.html" title="MipsISelLowering.cpp" alt="" coords="1360,84,1515,111"/>
+<area shape="rect" href="$MipsLongBranch_8cpp.html" title="MipsLongBranch.cpp" alt="" coords="1539,84,1691,111"/>
+<area shape="rect" href="$MipsMachineFunction_8cpp.html" title="MipsMachineFunction.cpp" alt="" coords="1715,84,1899,111"/>
+<area shape="rect" href="$MipsMCInstLower_8cpp.html" title="MipsMCInstLower.cpp" alt="" coords="1923,84,2077,111"/>
+<area shape="rect" href="$MipsSEFrameLowering_8cpp.html" title="MipsSEFrameLowering.cpp" alt="" coords="2101,84,2291,111"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+4337def485447356e67e891b703a3f81
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MipsBaseInfo_8h__dep__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsCodeEmitter_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsCodeEmitter_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsCodeEmitter_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsCodeEmitter_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,355 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsCodeEmitter.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">MipsCodeEmitter.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="MipsCodeEmitter_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- Mips/MipsCodeEmitter.cpp - Convert Mips Code to Machine Code ------===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===---------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 <span class="comment">//</span>
+<a name="l00010"></a>00010 <span class="comment">// This file contains the pass that transforms the Mips machine instructions</span>
+<a name="l00011"></a>00011 <span class="comment">// into relocatable machine code.</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">//===---------------------------------------------------------------------===//</span>
+<a name="l00014"></a>00014 
+<a name="l00015"></a><a class="code" href="MipsCodeEmitter_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">00015</a> <span class="preprocessor">#define DEBUG_TYPE "jit"</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="Mips_8h.html">Mips.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="MipsInstrInfo_8h.html">MipsInstrInfo.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="MipsRelocations_8h.html">MipsRelocations.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="MipsSubtarget_8h.html">MipsSubtarget.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="MipsTargetMachine_8h.html">MipsTargetMachine.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="MipsBaseInfo_8h.html">MCTargetDesc/MipsBaseInfo.h</a>"</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="Statistic_8h.html">llvm/ADT/Statistic.h</a>"</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="JITCodeEmitter_8h.html">llvm/CodeGen/JITCodeEmitter.h</a>"</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="MachineConstantPool_8h.html">llvm/CodeGen/MachineConstantPool.h</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="MachineFunctionPass_8h.html">llvm/CodeGen/MachineFunctionPass.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="MachineInstr_8h.html">llvm/CodeGen/MachineInstr.h</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="MachineJumpTableInfo_8h.html">llvm/CodeGen/MachineJumpTableInfo.h</a>"</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="MachineModuleInfo_8h.html">llvm/CodeGen/MachineModuleInfo.h</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="MachineOperand_8h.html">llvm/CodeGen/MachineOperand.h</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="CodeGen_2Passes_8h.html">llvm/CodeGen/Passes.h</a>"</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="Constants_8h.html">llvm/Constants.h</a>"</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="DerivedTypes_8h.html">llvm/DerivedTypes.h</a>"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="PassManager_8h.html">llvm/PassManager.h</a>"</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="Debug_8h.html">llvm/Support/Debug.h</a>"</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="ErrorHandling_8h.html">llvm/Support/ErrorHandling.h</a>"</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="raw__ostream_8h.html">llvm/Support/raw_ostream.h</a>"</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#ifndef NDEBUG</span>
+<a name="l00038"></a>00038 <span class="preprocessor"></span><span class="preprocessor">#include <iomanip></span>
+<a name="l00039"></a>00039 <span class="preprocessor">#endif</span>
+<a name="l00040"></a>00040 <span class="preprocessor"></span>
+<a name="l00041"></a>00041 <span class="keyword">using namespace </span>llvm;
+<a name="l00042"></a>00042 
+<a name="l00043"></a>00043 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumEmitted, <span class="stringliteral">"Number of machine instructions emitted"</span>);
+<a name="l00044"></a>00044 
+<a name="l00045"></a>00045 <span class="keyword">namespace </span>{
+<a name="l00046"></a>00046 
+<a name="l00047"></a>00047 <span class="keyword">class </span>MipsCodeEmitter : <span class="keyword">public</span> <a class="code" href="classllvm_1_1MachineFunctionPass.html">MachineFunctionPass</a> {
+<a name="l00048"></a>00048   <a class="code" href="classllvm_1_1MipsJITInfo.html">MipsJITInfo</a> *JTI;
+<a name="l00049"></a>00049   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsInstrInfo.html">MipsInstrInfo</a> *II;
+<a name="l00050"></a>00050   <span class="keyword">const</span> <a class="code" href="classllvm_1_1DataLayout.html">DataLayout</a> *TD;
+<a name="l00051"></a>00051   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> *Subtarget;
+<a name="l00052"></a>00052   <a class="code" href="classllvm_1_1TargetMachine.html">TargetMachine</a> &TM;
+<a name="l00053"></a>00053   <a class="code" href="classllvm_1_1JITCodeEmitter.html">JITCodeEmitter</a> &MCE;
+<a name="l00054"></a>00054   <span class="keyword">const</span> std::vector<MachineConstantPoolEntry> *MCPEs;
+<a name="l00055"></a>00055   <span class="keyword">const</span> std::vector<MachineJumpTableEntry> *MJTEs;
+<a name="l00056"></a>00056   <span class="keywordtype">bool</span> IsPIC;
+<a name="l00057"></a>00057 
+<a name="l00058"></a>00058   <span class="keywordtype">void</span> getAnalysisUsage(<a class="code" href="classllvm_1_1AnalysisUsage.html">AnalysisUsage</a> &AU)<span class="keyword"> const </span>{
+<a name="l00059"></a>00059     AU.<a class="code" href="classllvm_1_1AnalysisUsage.html#ae5c60fd282ee894c87ea02c3f0fcb6d0">addRequired</a><<a class="code" href="classllvm_1_1MachineModuleInfo.html">MachineModuleInfo</a>> ();
+<a name="l00060"></a>00060     <a class="code" href="classllvm_1_1MachineFunctionPass.html#aa1eece37d175f86a6f4808c0c167f13b">MachineFunctionPass::getAnalysisUsage</a>(AU);
+<a name="l00061"></a>00061   }
+<a name="l00062"></a>00062 
+<a name="l00063"></a>00063   <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">ID</a>;
+<a name="l00064"></a>00064 
+<a name="l00065"></a>00065   <span class="keyword">public</span>:
+<a name="l00066"></a>00066     MipsCodeEmitter(<a class="code" href="classllvm_1_1TargetMachine.html">TargetMachine</a> &tm, <a class="code" href="classllvm_1_1JITCodeEmitter.html">JITCodeEmitter</a> &mce) :
+<a name="l00067"></a>00067       <a class="code" href="classllvm_1_1MachineFunctionPass.html">MachineFunctionPass</a>(<a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">ID</a>), JTI(0),
+<a name="l00068"></a>00068       II((const <a class="code" href="classllvm_1_1MipsInstrInfo.html">MipsInstrInfo</a> *) tm.getInstrInfo()),
+<a name="l00069"></a>00069       TD(tm.getDataLayout()), TM(tm), MCE(mce), MCPEs(0), MJTEs(0),
+<a name="l00070"></a>00070       IsPIC(TM.getRelocationModel() == Reloc::<a class="code" href="namespacellvm_1_1Reloc.html#af59f6dc86e80aaf56f1afd155eebf568adc2075e13a68142b26e05ac08bbfc320">PIC_</a>) {
+<a name="l00071"></a>00071     }
+<a name="l00072"></a>00072 
+<a name="l00073"></a>00073     <span class="keywordtype">bool</span> runOnMachineFunction(<a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF);
+<a name="l00074"></a>00074 
+<a name="l00075"></a>00075     <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *getPassName()<span class="keyword"> const </span>{
+<a name="l00076"></a>00076       <span class="keywordflow">return</span> <span class="stringliteral">"Mips Machine Code Emitter"</span>;
+<a name="l00077"></a>00077     }
+<a name="l00078"></a>00078 <span class="comment"></span>
+<a name="l00079"></a>00079 <span class="comment">    /// getBinaryCodeForInstr - This function, generated by the</span>
+<a name="l00080"></a>00080 <span class="comment">    /// CodeEmitterGenerator using TableGen, produces the binary encoding for</span>
+<a name="l00081"></a>00081 <span class="comment">    /// machine instructions.</span>
+<a name="l00082"></a>00082 <span class="comment"></span>    uint64_t getBinaryCodeForInstr(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>) <span class="keyword">const</span>;
+<a name="l00083"></a>00083 
+<a name="l00084"></a>00084     <span class="keywordtype">void</span> emitInstruction(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>);
+<a name="l00085"></a>00085 
+<a name="l00086"></a>00086   <span class="keyword">private</span>:
+<a name="l00087"></a>00087 
+<a name="l00088"></a>00088     <span class="keywordtype">void</span> emitWord(<span class="keywordtype">unsigned</span> Word);
+<a name="l00089"></a>00089 <span class="comment"></span>
+<a name="l00090"></a>00090 <span class="comment">    /// Routines that handle operands which add machine relocations which are</span>
+<a name="l00091"></a>00091 <span class="comment">    /// fixed up by the relocation stage.</span>
+<a name="l00092"></a>00092 <span class="comment"></span>    <span class="keywordtype">void</span> emitGlobalAddress(<span class="keyword">const</span> <a class="code" href="classllvm_1_1GlobalValue.html">GlobalValue</a> *GV, <span class="keywordtype">unsigned</span> Reloc,
+<a name="l00093"></a>00093                            <span class="keywordtype">bool</span> MayNeedFarStub) <span class="keyword">const</span>;
+<a name="l00094"></a>00094     <span class="keywordtype">void</span> emitExternalSymbolAddress(<span class="keyword">const</span> <span class="keywordtype">char</span> *ES, <span class="keywordtype">unsigned</span> Reloc) <span class="keyword">const</span>;
+<a name="l00095"></a>00095     <span class="keywordtype">void</span> emitConstPoolAddress(<span class="keywordtype">unsigned</span> CPI, <span class="keywordtype">unsigned</span> Reloc) <span class="keyword">const</span>;
+<a name="l00096"></a>00096     <span class="keywordtype">void</span> emitJumpTableAddress(<span class="keywordtype">unsigned</span> JTIndex, <span class="keywordtype">unsigned</span> Reloc) <span class="keyword">const</span>;
+<a name="l00097"></a>00097     <span class="keywordtype">void</span> emitMachineBasicBlock(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> *BB, <span class="keywordtype">unsigned</span> Reloc) <span class="keyword">const</span>;
+<a name="l00098"></a>00098 <span class="comment"></span>
+<a name="l00099"></a>00099 <span class="comment">    /// getMachineOpValue - Return binary encoding of operand. If the machine</span>
+<a name="l00100"></a>00100 <span class="comment">    /// operand requires relocation, record the relocation and return zero.</span>
+<a name="l00101"></a>00101 <span class="comment"></span>    <span class="keywordtype">unsigned</span> getMachineOpValue(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>,
+<a name="l00102"></a>00102                                <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO) <span class="keyword">const</span>;
+<a name="l00103"></a>00103 
+<a name="l00104"></a>00104     <span class="keywordtype">unsigned</span> getRelocation(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>,
+<a name="l00105"></a>00105                            <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO) <span class="keyword">const</span>;
+<a name="l00106"></a>00106 
+<a name="l00107"></a>00107     <span class="keywordtype">unsigned</span> getJumpTargetOpValue(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">unsigned</span> OpNo) <span class="keyword">const</span>;
+<a name="l00108"></a>00108 
+<a name="l00109"></a>00109     <span class="keywordtype">unsigned</span> <a class="code" href="ARMMCCodeEmitter_8cpp.html#ad8c0e71d19b4ff2c2adde636c076f0d5">getBranchTargetOpValue</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>,
+<a name="l00110"></a>00110                                     <span class="keywordtype">unsigned</span> OpNo) <span class="keyword">const</span>;
+<a name="l00111"></a>00111     <span class="keywordtype">unsigned</span> getMemEncoding(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">unsigned</span> OpNo) <span class="keyword">const</span>;
+<a name="l00112"></a>00112     <span class="keywordtype">unsigned</span> getSizeExtEncoding(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">unsigned</span> OpNo) <span class="keyword">const</span>;
+<a name="l00113"></a>00113     <span class="keywordtype">unsigned</span> getSizeInsEncoding(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>, <span class="keywordtype">unsigned</span> OpNo) <span class="keyword">const</span>;
+<a name="l00114"></a>00114 
+<a name="l00115"></a>00115     <span class="keywordtype">void</span> emitGlobalAddressUnaligned(<span class="keyword">const</span> <a class="code" href="classllvm_1_1GlobalValue.html">GlobalValue</a> *GV, <span class="keywordtype">unsigned</span> Reloc,
+<a name="l00116"></a>00116                                     <span class="keywordtype">int</span> Offset) <span class="keyword">const</span>;
+<a name="l00117"></a>00117   };
+<a name="l00118"></a>00118 }
+<a name="l00119"></a>00119 
+<a name="l00120"></a>00120 <span class="keywordtype">char</span> <a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">MipsCodeEmitter::ID</a> = 0;
+<a name="l00121"></a>00121 
+<a name="l00122"></a>00122 <span class="keywordtype">bool</span> MipsCodeEmitter::runOnMachineFunction(<a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF) {
+<a name="l00123"></a>00123   JTI = ((<a class="code" href="classllvm_1_1MipsTargetMachine.html">MipsTargetMachine</a>&) MF.<a class="code" href="classllvm_1_1MachineFunction.html#a6745c3bfdfc5b0643b078b96df2db252">getTarget</a>()).getJITInfo();
+<a name="l00124"></a>00124   II = ((<span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsTargetMachine.html">MipsTargetMachine</a>&) MF.<a class="code" href="classllvm_1_1MachineFunction.html#a6745c3bfdfc5b0643b078b96df2db252">getTarget</a>()).getInstrInfo();
+<a name="l00125"></a>00125   TD = ((<span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsTargetMachine.html">MipsTargetMachine</a>&) MF.<a class="code" href="classllvm_1_1MachineFunction.html#a6745c3bfdfc5b0643b078b96df2db252">getTarget</a>()).getDataLayout();
+<a name="l00126"></a>00126   Subtarget = &TM.getSubtarget<<a class="code" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a>> ();
+<a name="l00127"></a>00127   MCPEs = &MF.<a class="code" href="classllvm_1_1MachineFunction.html#aa460158a4019a4043faf6ea76344cbd5">getConstantPool</a>()-><a class="code" href="classllvm_1_1MachineConstantPool.html#ae31743f7e04cc8706b3b29d087b6f1b2">getConstants</a>();
+<a name="l00128"></a>00128   MJTEs = 0;
+<a name="l00129"></a>00129   <span class="keywordflow">if</span> (MF.<a class="code" href="classllvm_1_1MachineFunction.html#a99e93c9b5c2f41b3d601d129a6f60a6e">getJumpTableInfo</a>()) MJTEs = &MF.<a class="code" href="classllvm_1_1MachineFunction.html#a99e93c9b5c2f41b3d601d129a6f60a6e">getJumpTableInfo</a>()-><a class="code" href="classllvm_1_1MachineJumpTableInfo.html#adebd965803507068e86d6d3d454338e9">getJumpTables</a>();
+<a name="l00130"></a>00130   JTI->Initialize(MF, IsPIC, Subtarget->isLittle());
+<a name="l00131"></a>00131   MCE.setModuleInfo(&getAnalysis<MachineModuleInfo> ());
+<a name="l00132"></a>00132 
+<a name="l00133"></a>00133   <span class="keywordflow">do</span> {
+<a name="l00134"></a>00134     <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#ab8e34eca3b0817ef7a127913fbf6d9e4">errs</a>() << <span class="stringliteral">"JITTing function '"</span>
+<a name="l00135"></a>00135         << MF.<a class="code" href="classllvm_1_1MachineFunction.html#ae215c5c2aecd18c4e68a94187d9cdbf1">getName</a>() << <span class="stringliteral">"'\n"</span>);
+<a name="l00136"></a>00136     MCE.startFunction(MF);
+<a name="l00137"></a>00137 
+<a name="l00138"></a>00138     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1MachineFunction.html#a340712de3e78fec11c338735cab17df7">MachineFunction::iterator</a> MBB = MF.<a class="code" href="classllvm_1_1MachineFunction.html#ab0789854909cf47f640a85fa2bac29c7">begin</a>(), E = MF.<a class="code" href="classllvm_1_1MachineFunction.html#a9d017af749f76484cb9aec9ff6e4330c">end</a>();
+<a name="l00139"></a>00139         MBB != E; ++MBB){
+<a name="l00140"></a>00140       MCE.StartMachineBasicBlock(MBB);
+<a name="l00141"></a>00141       <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1MachineBasicBlock.html#a096d82c3c6f44b9a8e59d80d3851f616">MachineBasicBlock::instr_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = MBB->instr_begin(),
+<a name="l00142"></a>00142            E = MBB->instr_end(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)
+<a name="l00143"></a>00143         emitInstruction(*<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>);
+<a name="l00144"></a>00144     }
+<a name="l00145"></a>00145   } <span class="keywordflow">while</span> (MCE.finishFunction(MF));
+<a name="l00146"></a>00146 
+<a name="l00147"></a>00147   <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00148"></a>00148 }
+<a name="l00149"></a>00149 
+<a name="l00150"></a>00150 <span class="keywordtype">unsigned</span> MipsCodeEmitter::getRelocation(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>,
+<a name="l00151"></a>00151                                         <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO)<span class="keyword"> const </span>{
+<a name="l00152"></a>00152   <span class="comment">// NOTE: This relocations are for static.</span>
+<a name="l00153"></a>00153   uint64_t TSFlags = MI.<a class="code" href="classllvm_1_1MachineInstr.html#a803a7424877fd049679b9aa2f07597b5">getDesc</a>().<a class="code" href="classllvm_1_1MCInstrDesc.html#a46e0fcca2366f30d5e35b3d7dcb9c65f">TSFlags</a>;
+<a name="l00154"></a>00154   uint64_t Form = TSFlags & <a class="code" href="namespacellvm_1_1MipsII.html#abd559b5ad50e3528679b107a0779edbaa95a92f586fd8597f2b376bb7c415a752">MipsII::FormMask</a>;
+<a name="l00155"></a>00155   <span class="keywordflow">if</span> (Form == <a class="code" href="namespacellvm_1_1MipsII.html#abd559b5ad50e3528679b107a0779edbaa8996a0a89eb26019e0e726a11447dfdb" title="FrmJ - This form is for instructions of the format J.">MipsII::FrmJ</a>)
+<a name="l00156"></a>00156     <span class="keywordflow">return</span> <a class="code" href="namespacellvm_1_1Mips.html#a96d9464074b8bb4bb7b40666d18e8e03acd915b3f9966c02243f81606781d2e50">Mips::reloc_mips_26</a>;
+<a name="l00157"></a>00157   <span class="keywordflow">if</span> ((Form == <a class="code" href="namespacellvm_1_1MipsII.html#abd559b5ad50e3528679b107a0779edbaa7fcd17f89e35180c7bab9419926994e1" title="FrmI - This form is for instructions of the format I.">MipsII::FrmI</a> || Form == <a class="code" href="namespacellvm_1_1MipsII.html#abd559b5ad50e3528679b107a0779edbaa9e3e2503b6f9249256182c1e3ec7235d" title="FrmFI - This form is for instructions of the format FI.">MipsII::FrmFI</a>)
+<a name="l00158"></a>00158        && MI.<a class="code" href="classllvm_1_1MachineInstr.html#a797ac100c6615ff181c03a3c35c7378f">isBranch</a>())
+<a name="l00159"></a>00159     <span class="keywordflow">return</span> <a class="code" href="namespacellvm_1_1Mips.html#a96d9464074b8bb4bb7b40666d18e8e03ac643626c2c4e17dd1c8c7ce0e6cbfbaf">Mips::reloc_mips_pc16</a>;
+<a name="l00160"></a>00160   <span class="keywordflow">if</span> (Form == <a class="code" href="namespacellvm_1_1MipsII.html#abd559b5ad50e3528679b107a0779edbaa7fcd17f89e35180c7bab9419926994e1" title="FrmI - This form is for instructions of the format I.">MipsII::FrmI</a> && MI.<a class="code" href="classllvm_1_1MachineInstr.html#a242314c0ae0147d1a7ef54c9bc312616">getOpcode</a>() == Mips::LUi)
+<a name="l00161"></a>00161     <span class="keywordflow">return</span> <a class="code" href="namespacellvm_1_1Mips.html#a96d9464074b8bb4bb7b40666d18e8e03aac2f2af1de6ee0d963845cfcbad82c90">Mips::reloc_mips_hi</a>;
+<a name="l00162"></a>00162   <span class="keywordflow">return</span> <a class="code" href="namespacellvm_1_1Mips.html#a96d9464074b8bb4bb7b40666d18e8e03ac0612b8dcd47622991f740998f9cff87">Mips::reloc_mips_lo</a>;
+<a name="l00163"></a>00163 }
+<a name="l00164"></a>00164 
+<a name="l00165"></a>00165 <span class="keywordtype">unsigned</span> MipsCodeEmitter::getJumpTargetOpValue(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &MI,
+<a name="l00166"></a>00166                                                <span class="keywordtype">unsigned</span> OpNo)<span class="keyword"> const </span>{
+<a name="l00167"></a>00167   <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> MO = MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo);
+<a name="l00168"></a>00168   <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a58048141ed81d581f3fb9a797f3186ee" title="isGlobal - Tests if this is a MO_GlobalAddress operand.">isGlobal</a>())
+<a name="l00169"></a>00169     emitGlobalAddress(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a0c3a2a5a49795f8750ebd02dc0e6e11e">getGlobal</a>(), getRelocation(MI, MO), <span class="keyword">true</span>);
+<a name="l00170"></a>00170   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a312ddf2fd2162ef0c552d913369cd57f" title="isSymbol - Tests if this is a MO_ExternalSymbol operand.">isSymbol</a>())
+<a name="l00171"></a>00171     emitExternalSymbolAddress(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ad9456ef14a72da4e4def5d8747c41a09">getSymbolName</a>(), getRelocation(MI, MO));
+<a name="l00172"></a>00172   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#ac09a917b80455ff0bae4c05bf0e86d73" title="isMBB - Tests if this is a MO_MachineBasicBlock operand.">isMBB</a>())
+<a name="l00173"></a>00173     emitMachineBasicBlock(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a3350f7760c4eec67ea7d8f3063c3d748">getMBB</a>(), getRelocation(MI, MO));
+<a name="l00174"></a>00174   <span class="keywordflow">else</span>
+<a name="l00175"></a>00175     <a class="code" href="ErrorHandling_8h.html#ace243f5c25697a1107cce46626b3dc94">llvm_unreachable</a>(<span class="stringliteral">"Unexpected jump target operand kind."</span>);
+<a name="l00176"></a>00176   <span class="keywordflow">return</span> 0;
+<a name="l00177"></a>00177 }
+<a name="l00178"></a>00178 
+<a name="l00179"></a>00179 <span class="keywordtype">unsigned</span> <a class="code" href="ARMMCCodeEmitter_8cpp.html#ad8c0e71d19b4ff2c2adde636c076f0d5">MipsCodeEmitter::getBranchTargetOpValue</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &MI,
+<a name="l00180"></a>00180                                                  <span class="keywordtype">unsigned</span> OpNo)<span class="keyword"> const </span>{
+<a name="l00181"></a>00181   <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> MO = MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo);
+<a name="l00182"></a>00182   emitMachineBasicBlock(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a3350f7760c4eec67ea7d8f3063c3d748">getMBB</a>(), getRelocation(MI, MO));
+<a name="l00183"></a>00183   <span class="keywordflow">return</span> 0;
+<a name="l00184"></a>00184 }
+<a name="l00185"></a>00185 
+<a name="l00186"></a>00186 <span class="keywordtype">unsigned</span> MipsCodeEmitter::getMemEncoding(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &MI,
+<a name="l00187"></a>00187                                          <span class="keywordtype">unsigned</span> OpNo)<span class="keyword"> const </span>{
+<a name="l00188"></a>00188   <span class="comment">// Base register is encoded in bits 20-16, offset is encoded in bits 15-0.</span>
+<a name="l00189"></a>00189   assert(MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo).<a class="code" href="classllvm_1_1MachineOperand.html#ad8198d6d83af9410d867136e33fbf4b2" title="isReg - Tests if this is a MO_Register operand.">isReg</a>());
+<a name="l00190"></a>00190   <span class="keywordtype">unsigned</span> RegBits = getMachineOpValue(MI, MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo)) << 16;
+<a name="l00191"></a>00191   <span class="keywordflow">return</span> (getMachineOpValue(MI, MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo+1)) & 0xFFFF) | RegBits;
+<a name="l00192"></a>00192 }
+<a name="l00193"></a>00193 
+<a name="l00194"></a>00194 <span class="keywordtype">unsigned</span> MipsCodeEmitter::getSizeExtEncoding(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &MI,
+<a name="l00195"></a>00195                                              <span class="keywordtype">unsigned</span> OpNo)<span class="keyword"> const </span>{
+<a name="l00196"></a>00196   <span class="comment">// size is encoded as size-1.</span>
+<a name="l00197"></a>00197   <span class="keywordflow">return</span> getMachineOpValue(MI, MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo)) - 1;
+<a name="l00198"></a>00198 }
+<a name="l00199"></a>00199 
+<a name="l00200"></a>00200 <span class="keywordtype">unsigned</span> MipsCodeEmitter::getSizeInsEncoding(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &MI,
+<a name="l00201"></a>00201                                              <span class="keywordtype">unsigned</span> OpNo)<span class="keyword"> const </span>{
+<a name="l00202"></a>00202   <span class="comment">// size is encoded as pos+size-1.</span>
+<a name="l00203"></a>00203   <span class="keywordflow">return</span> getMachineOpValue(MI, MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo-1)) +
+<a name="l00204"></a>00204          getMachineOpValue(MI, MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo)) - 1;
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206 <span class="comment"></span>
+<a name="l00207"></a>00207 <span class="comment">/// getMachineOpValue - Return binary encoding of operand. If the machine</span>
+<a name="l00208"></a>00208 <span class="comment">/// operand requires relocation, record the relocation and return zero.</span>
+<a name="l00209"></a>00209 <span class="comment"></span><span class="keywordtype">unsigned</span> MipsCodeEmitter::getMachineOpValue(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &MI,
+<a name="l00210"></a>00210                                             <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO)<span class="keyword"> const </span>{
+<a name="l00211"></a>00211   <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#ad8198d6d83af9410d867136e33fbf4b2" title="isReg - Tests if this is a MO_Register operand.">isReg</a>())
+<a name="l00212"></a>00212     <span class="keywordflow">return</span> <a class="code" href="namespacellvm.html#a2291511909dc8df931682d87fd07da6a">getMipsRegisterNumbering</a>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>());
+<a name="l00213"></a>00213   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a2ac18ceda9f2857fea2e5cc4e8bf4ff5" title="isImm - Tests if this is a MO_Immediate operand.">isImm</a>())
+<a name="l00214"></a>00214     <span class="keywordflow">return</span> static_cast<unsigned>(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>());
+<a name="l00215"></a>00215   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a58048141ed81d581f3fb9a797f3186ee" title="isGlobal - Tests if this is a MO_GlobalAddress operand.">isGlobal</a>())
+<a name="l00216"></a>00216     emitGlobalAddress(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a0c3a2a5a49795f8750ebd02dc0e6e11e">getGlobal</a>(), getRelocation(MI, MO), <span class="keyword">true</span>);
+<a name="l00217"></a>00217   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a312ddf2fd2162ef0c552d913369cd57f" title="isSymbol - Tests if this is a MO_ExternalSymbol operand.">isSymbol</a>())
+<a name="l00218"></a>00218     emitExternalSymbolAddress(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ad9456ef14a72da4e4def5d8747c41a09">getSymbolName</a>(), getRelocation(MI, MO));
+<a name="l00219"></a>00219   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a2a6233524fe8cf33f83fe27d3673412c" title="isCPI - Tests if this is a MO_ConstantPoolIndex operand.">isCPI</a>())
+<a name="l00220"></a>00220     emitConstPoolAddress(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ac9485ae7d6fedd71ad4460f72c799c98">getIndex</a>(), getRelocation(MI, MO));
+<a name="l00221"></a>00221   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#af19a512f40c1e9247796ad8cee70884b" title="isJTI - Tests if this is a MO_JumpTableIndex operand.">isJTI</a>())
+<a name="l00222"></a>00222     emitJumpTableAddress(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ac9485ae7d6fedd71ad4460f72c799c98">getIndex</a>(), getRelocation(MI, MO));
+<a name="l00223"></a>00223   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#ac09a917b80455ff0bae4c05bf0e86d73" title="isMBB - Tests if this is a MO_MachineBasicBlock operand.">isMBB</a>())
+<a name="l00224"></a>00224     emitMachineBasicBlock(MO.<a class="code" href="classllvm_1_1MachineOperand.html#a3350f7760c4eec67ea7d8f3063c3d748">getMBB</a>(), getRelocation(MI, MO));
+<a name="l00225"></a>00225   <span class="keywordflow">else</span>
+<a name="l00226"></a>00226     <a class="code" href="ErrorHandling_8h.html#ace243f5c25697a1107cce46626b3dc94">llvm_unreachable</a>(<span class="stringliteral">"Unable to encode MachineOperand!"</span>);
+<a name="l00227"></a>00227   <span class="keywordflow">return</span> 0;
+<a name="l00228"></a>00228 }
+<a name="l00229"></a>00229 
+<a name="l00230"></a>00230 <span class="keywordtype">void</span> MipsCodeEmitter::emitGlobalAddress(<span class="keyword">const</span> <a class="code" href="classllvm_1_1GlobalValue.html">GlobalValue</a> *GV, <span class="keywordtype">unsigned</span> Reloc,
+<a name="l00231"></a>00231                                         <span class="keywordtype">bool</span> MayNeedFarStub)<span class="keyword"> const </span>{
+<a name="l00232"></a>00232   MCE.addRelocation(<a class="code" href="classllvm_1_1MachineRelocation.html#ae9708c98909618f326135a7d81db16ea">MachineRelocation::getGV</a>(MCE.getCurrentPCOffset(), Reloc,
+<a name="l00233"></a>00233                                              <span class="keyword">const_cast<</span><a class="code" href="classllvm_1_1GlobalValue.html">GlobalValue</a> *<span class="keyword">></span>(GV), 0,
+<a name="l00234"></a>00234                                              MayNeedFarStub));
+<a name="l00235"></a>00235 }
+<a name="l00236"></a>00236 
+<a name="l00237"></a>00237 <span class="keywordtype">void</span> MipsCodeEmitter::emitGlobalAddressUnaligned(<span class="keyword">const</span> <a class="code" href="classllvm_1_1GlobalValue.html">GlobalValue</a> *GV,
+<a name="l00238"></a>00238                                            <span class="keywordtype">unsigned</span> Reloc, <span class="keywordtype">int</span> Offset)<span class="keyword"> const </span>{
+<a name="l00239"></a>00239   MCE.addRelocation(<a class="code" href="classllvm_1_1MachineRelocation.html#ae9708c98909618f326135a7d81db16ea">MachineRelocation::getGV</a>(MCE.getCurrentPCOffset(), Reloc,
+<a name="l00240"></a>00240                              <span class="keyword">const_cast<</span><a class="code" href="classllvm_1_1GlobalValue.html">GlobalValue</a> *<span class="keyword">></span>(GV), 0, <span class="keyword">false</span>));
+<a name="l00241"></a>00241   MCE.addRelocation(<a class="code" href="classllvm_1_1MachineRelocation.html#ae9708c98909618f326135a7d81db16ea">MachineRelocation::getGV</a>(MCE.getCurrentPCOffset() + Offset,
+<a name="l00242"></a>00242                       Reloc, <span class="keyword">const_cast<</span><a class="code" href="classllvm_1_1GlobalValue.html">GlobalValue</a> *<span class="keyword">></span>(GV), 0, <span class="keyword">false</span>));
+<a name="l00243"></a>00243 }
+<a name="l00244"></a>00244 
+<a name="l00245"></a>00245 <span class="keywordtype">void</span> MipsCodeEmitter::
+<a name="l00246"></a>00246 emitExternalSymbolAddress(<span class="keyword">const</span> <span class="keywordtype">char</span> *ES, <span class="keywordtype">unsigned</span> Reloc)<span class="keyword"> const </span>{
+<a name="l00247"></a>00247   MCE.addRelocation(<a class="code" href="classllvm_1_1MachineRelocation.html#a90b366e49c9dc65f87e505ff228fcb73">MachineRelocation::getExtSym</a>(MCE.getCurrentPCOffset(),
+<a name="l00248"></a>00248                                                  Reloc, ES, 0, 0));
+<a name="l00249"></a>00249 }
+<a name="l00250"></a>00250 
+<a name="l00251"></a>00251 <span class="keywordtype">void</span> MipsCodeEmitter::emitConstPoolAddress(<span class="keywordtype">unsigned</span> CPI, <span class="keywordtype">unsigned</span> Reloc)<span class="keyword"> const </span>{
+<a name="l00252"></a>00252   MCE.addRelocation(<a class="code" href="classllvm_1_1MachineRelocation.html#a13d9e2d449b37744b45332480074492c">MachineRelocation::getConstPool</a>(MCE.getCurrentPCOffset(),
+<a name="l00253"></a>00253                                                     Reloc, CPI, 0, <span class="keyword">false</span>));
+<a name="l00254"></a>00254 }
+<a name="l00255"></a>00255 
+<a name="l00256"></a>00256 <span class="keywordtype">void</span> MipsCodeEmitter::
+<a name="l00257"></a>00257 emitJumpTableAddress(<span class="keywordtype">unsigned</span> JTIndex, <span class="keywordtype">unsigned</span> Reloc)<span class="keyword"> const </span>{
+<a name="l00258"></a>00258   MCE.addRelocation(<a class="code" href="classllvm_1_1MachineRelocation.html#a73515cc824cf2cebd492fdac56b0aad0">MachineRelocation::getJumpTable</a>(MCE.getCurrentPCOffset(),
+<a name="l00259"></a>00259                                                     Reloc, JTIndex, 0, <span class="keyword">false</span>));
+<a name="l00260"></a>00260 }
+<a name="l00261"></a>00261 
+<a name="l00262"></a>00262 <span class="keywordtype">void</span> MipsCodeEmitter::emitMachineBasicBlock(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> *BB,
+<a name="l00263"></a>00263                                             <span class="keywordtype">unsigned</span> Reloc)<span class="keyword"> const </span>{
+<a name="l00264"></a>00264   MCE.addRelocation(<a class="code" href="classllvm_1_1MachineRelocation.html#a0c3af4287bc58e4e62b8154e1b9f28e0">MachineRelocation::getBB</a>(MCE.getCurrentPCOffset(),
+<a name="l00265"></a>00265                                              Reloc, BB));
+<a name="l00266"></a>00266 }
+<a name="l00267"></a>00267 
+<a name="l00268"></a>00268 <span class="keywordtype">void</span> MipsCodeEmitter::emitInstruction(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &MI) {
+<a name="l00269"></a>00269   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#ab8e34eca3b0817ef7a127913fbf6d9e4">errs</a>() << <span class="stringliteral">"JIT: "</span> << (<span class="keywordtype">void</span>*)MCE.getCurrentPCValue() << <span class="stringliteral">":\t"</span> << <a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>);
+<a name="l00270"></a>00270 
+<a name="l00271"></a>00271   MCE.processDebugLoc(MI.<a class="code" href="classllvm_1_1MachineInstr.html#a5ca4af2a257043145ad650eafb4402f9">getDebugLoc</a>(), <span class="keyword">true</span>);
+<a name="l00272"></a>00272 
+<a name="l00273"></a>00273   <span class="comment">// Skip pseudo instructions.</span>
+<a name="l00274"></a>00274   <span class="keywordflow">if</span> ((MI.<a class="code" href="classllvm_1_1MachineInstr.html#a803a7424877fd049679b9aa2f07597b5">getDesc</a>().<a class="code" href="classllvm_1_1MCInstrDesc.html#a46e0fcca2366f30d5e35b3d7dcb9c65f">TSFlags</a> & <a class="code" href="namespacellvm_1_1MipsII.html#abd559b5ad50e3528679b107a0779edbaa95a92f586fd8597f2b376bb7c415a752">MipsII::FormMask</a>) == <a class="code" href="namespacellvm_1_1MipsII.html#abd559b5ad50e3528679b107a0779edbaa8bea820bb9a84757d24d35912acfdb9b">MipsII::Pseudo</a>)
+<a name="l00275"></a>00275     <span class="keywordflow">return</span>;
+<a name="l00276"></a>00276 
+<a name="l00277"></a>00277   emitWord(getBinaryCodeForInstr(MI));
+<a name="l00278"></a>00278   ++NumEmitted;  <span class="comment">// Keep track of the # of mi's emitted</span>
+<a name="l00279"></a>00279 
+<a name="l00280"></a>00280   MCE.processDebugLoc(MI.<a class="code" href="classllvm_1_1MachineInstr.html#a5ca4af2a257043145ad650eafb4402f9">getDebugLoc</a>(), <span class="keyword">false</span>);
+<a name="l00281"></a>00281 }
+<a name="l00282"></a>00282 
+<a name="l00283"></a>00283 <span class="keywordtype">void</span> MipsCodeEmitter::emitWord(<span class="keywordtype">unsigned</span> Word) {
+<a name="l00284"></a>00284   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#ab8e34eca3b0817ef7a127913fbf6d9e4">errs</a>() << <span class="stringliteral">"  0x"</span>;
+<a name="l00285"></a>00285         <a class="code" href="namespacellvm.html#ab8e34eca3b0817ef7a127913fbf6d9e4">errs</a>().<a class="code" href="classllvm_1_1raw__ostream.html#a37b5dd8a8b82f2818e0f4ea9699d8ae5" title="write_hex - Output N in hexadecimal, without any prefix or padding.">write_hex</a>(Word) << <span class="stringliteral">"\n"</span>);
+<a name="l00286"></a>00286   <span class="keywordflow">if</span> (Subtarget->isLittle())
+<a name="l00287"></a>00287     MCE.emitWordLE(Word);
+<a name="l00288"></a>00288   <span class="keywordflow">else</span>
+<a name="l00289"></a>00289     MCE.emitWordBE(Word);
+<a name="l00290"></a>00290 }
+<a name="l00291"></a>00291 <span class="comment"></span>
+<a name="l00292"></a>00292 <span class="comment">/// createMipsJITCodeEmitterPass - Return a pass that emits the collected Mips</span>
+<a name="l00293"></a>00293 <span class="comment">/// code to the specified MCE object.</span>
+<a name="l00294"></a><a class="code" href="namespacellvm.html#a4b5aa372b338647e6d970b1d0b0b877b">00294</a> <span class="comment"></span><a class="code" href="classllvm_1_1FunctionPass.html">FunctionPass</a> *<a class="code" href="namespacellvm.html#a4b5aa372b338647e6d970b1d0b0b877b">llvm::createMipsJITCodeEmitterPass</a>(<a class="code" href="classllvm_1_1MipsTargetMachine.html">MipsTargetMachine</a> &TM,
+<a name="l00295"></a>00295                                                  <a class="code" href="classllvm_1_1JITCodeEmitter.html">JITCodeEmitter</a> &JCE) {
+<a name="l00296"></a>00296   <span class="keywordflow">return</span> <span class="keyword">new</span> MipsCodeEmitter(TM, JCE);
+<a name="l00297"></a>00297 }
+<a name="l00298"></a>00298 
+<a name="l00299"></a>00299 <span class="preprocessor">#include "MipsGenCodeEmitter.inc"</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:36:12 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,33 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsInstrInfo_8h.html" title="MipsInstrInfo.h" alt="" coords="976,84,1088,111"/>
+<area shape="rect" href="$MipsDirectObjLower_8h.html" title="MCTargetDesc/MipsDirectObjLower.h" alt="" coords="3280,316,3531,343"/>
+<area shape="rect" href="$MCInst_8h.html" title="llvm/MC/MCInst.h" alt="" coords="1493,316,1624,343"/>
+<area shape="rect" href="$MCStreamer_8h.html" title="llvm/MC/MCStreamer.h" alt="" coords="2156,161,2324,188"/>
+<area shape="rect" href="$Mips_8h.html" title="Mips.h" alt="" coords="333,239,395,265"/>
+<area shape="rect" href="$MipsAnalyzeImmediate_8h.html" title="MipsAnalyzeImmediate.h" alt="" coords="1237,316,1419,343"/>
+<area shape="rect" href="$MipsRegisterInfo_8h.html" title="MipsRegisterInfo.h" alt="" coords="728,161,864,188"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1824,316,2029,343"/>
+<area shape="rect" href="$TargetInstrInfo_8h.html" title="llvm/Target/TargetInstrInfo.h" alt="" coords="935,239,1129,265"/>
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MCTargetDesc/MipsMCTargetDesc.h" alt="" coords="147,316,395,343"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="469,316,667,343"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="1947,548,2131,575"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1821,393,1971,420"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="2215,471,2401,497"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="2339,393,2507,420"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="2801,471,2964,497"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2991,548,3164,575"/>
+<area shape="rect" href="$TargetRegisterInfo_8h.html" title="llvm/Target/TargetRegisterInfo.h" alt="" coords="1347,239,1565,265"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="2392,316,2536,343"/>
+<area shape="rect" href="$SmallSet_8h.html" title="llvm/ADT/SmallSet.h" alt="" coords="1648,316,1800,343"/>
+<area shape="rect" href="$MCInstrInfo_8h.html" title="llvm/MC/MCInstrInfo.h" alt="" coords="1261,393,1419,420"/>
+<area shape="rect" href="$DFAPacketizer_8h.html" title="llvm/CodeGen/DFAPacketizer.h" alt="" coords="741,316,957,343"/>
+<area shape="rect" href="$MachineFunction_8h.html" title="llvm/CodeGen/MachineFunction.h" alt="" coords="981,316,1213,343"/>
+<area shape="rect" href="$SMLoc_8h.html" title="llvm/Support/SMLoc.h" alt="" coords="1493,393,1653,420"/>
+<area shape="rect" href="$MCDirectives_8h.html" title="llvm/MC/MCDirectives.h" alt="" coords="2155,239,2325,265"/>
+<area shape="rect" href="$MCDwarf_8h.html" title="llvm/MC/MCDwarf.h" alt="" coords="2679,239,2820,265"/>
+<area shape="rect" href="$MCWin64EH_8h.html" title="llvm/MC/MCWin64EH.h" alt="" coords="2155,316,2317,343"/>
+<area shape="rect" href="$MachineLocation_8h.html" title="llvm/MC/MachineLocation.h" alt="" coords="2787,316,2981,343"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="3005,316,3205,343"/>
+<area shape="rect" href="$Dwarf_8h.html" title="llvm/Support/Dwarf.h" alt="" coords="2560,316,2712,343"/>
+<area shape="rect" href="$Win64EH_8h.html" title="llvm/Support/Win64EH.h" alt="" coords="2100,393,2273,420"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8cpp__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8cpp__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8cpp__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8cpp__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+50ad466cce5c82f420dad3d7517c75cb
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8h__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8h__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8h__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8h__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,7 @@
+<map id="G" name="G">
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="697,84,865,111"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="1040,239,1213,265"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="367,161,529,188"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="105,161,292,188"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="107,239,291,265"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8h__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8h__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8h__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsDirectObjLower_8h__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+d84750348a1e47a314a09b35109658e5
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsDisassembler_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsDisassembler_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsDisassembler_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsDisassembler_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,609 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsDisassembler.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+      <li class="navelem"><a class="el" href="dir_c4518c07a4cc2214b5fe390a84c5bd84.html">Disassembler</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">MipsDisassembler.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="MipsDisassembler_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===- MipsDisassembler.cpp - Disassembler for Mips -------------*- C++ -*-===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 <span class="comment">//</span>
+<a name="l00010"></a>00010 <span class="comment">// This file is part of the Mips Disassembler.</span>
+<a name="l00011"></a>00011 <span class="comment">//</span>
+<a name="l00012"></a>00012 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00013"></a>00013 
+<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="Mips_8h.html">Mips.h</a>"</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="MipsSubtarget_8h.html">MipsSubtarget.h</a>"</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="MipsRegisterInfo_8h.html">MipsRegisterInfo.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="EDInstInfo_8h.html">llvm/MC/EDInstInfo.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="MCDisassembler_8h.html">llvm/MC/MCDisassembler.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="MCFixedLenDisassembler_8h.html">llvm/MC/MCFixedLenDisassembler.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="MemoryObject_8h.html">llvm/Support/MemoryObject.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="TargetRegistry_8h.html">llvm/Support/TargetRegistry.h</a>"</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="MCSubtargetInfo_8h.html">llvm/MC/MCSubtargetInfo.h</a>"</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="MCInst_8h.html">llvm/MC/MCInst.h</a>"</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="MathExtras_8h.html">llvm/Support/MathExtras.h</a>"</span>
+<a name="l00025"></a>00025 
+<a name="l00026"></a>00026 <span class="preprocessor">#include "MipsGenEDInfo.inc"</span>
+<a name="l00027"></a>00027 
+<a name="l00028"></a>00028 <span class="keyword">using namespace </span>llvm;
+<a name="l00029"></a>00029 
+<a name="l00030"></a><a class="code" href="MipsDisassembler_8cpp.html#a1ea537a84670ffb15a7db2a440e155a5">00030</a> <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">MCDisassembler::DecodeStatus</a> <a class="code" href="ARMDisassembler_8cpp.html#a1ea537a84670ffb15a7db2a440e155a5">DecodeStatus</a>;
+<a name="l00031"></a>00031 
+<a name="l00032"></a>00032 <span class="keyword">namespace </span>{
+<a name="l00033"></a>00033 <span class="comment"></span>
+<a name="l00034"></a>00034 <span class="comment">/// MipsDisassemblerBase - a disasembler class for Mips.</span>
+<a name="l00035"></a>00035 <span class="comment"></span><span class="keyword">class </span>MipsDisassemblerBase : <span class="keyword">public</span> <a class="code" href="classllvm_1_1MCDisassembler.html">MCDisassembler</a> {
+<a name="l00036"></a>00036 <span class="keyword">public</span>:<span class="comment"></span>
+<a name="l00037"></a>00037 <span class="comment">  /// Constructor     - Initializes the disassembler.</span>
+<a name="l00038"></a>00038 <span class="comment">  ///</span>
+<a name="l00039"></a>00039 <span class="comment"></span>  MipsDisassemblerBase(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSubtargetInfo.html">MCSubtargetInfo</a> &STI, <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCRegisterInfo.html">MCRegisterInfo</a> *Info,
+<a name="l00040"></a>00040                        <span class="keywordtype">bool</span> bigEndian) :
+<a name="l00041"></a>00041     <a class="code" href="classllvm_1_1MCDisassembler.html">MCDisassembler</a>(STI), RegInfo(Info), isBigEndian(bigEndian) {}
+<a name="l00042"></a>00042 
+<a name="l00043"></a>00043   <span class="keyword">virtual</span> ~MipsDisassemblerBase() {}
+<a name="l00044"></a>00044 <span class="comment"></span>
+<a name="l00045"></a>00045 <span class="comment">  /// getEDInfo - See MCDisassembler.</span>
+<a name="l00046"></a>00046 <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structllvm_1_1EDInstInfo.html">EDInstInfo</a> *getEDInfo() <span class="keyword">const</span>;
+<a name="l00047"></a>00047 
+<a name="l00048"></a>00048   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCRegisterInfo.html">MCRegisterInfo</a> *getRegInfo()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> RegInfo; }
+<a name="l00049"></a>00049 
+<a name="l00050"></a>00050 <span class="keyword">private</span>:
+<a name="l00051"></a>00051   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCRegisterInfo.html">MCRegisterInfo</a> *RegInfo;
+<a name="l00052"></a>00052 <span class="keyword">protected</span>:
+<a name="l00053"></a>00053   <span class="keywordtype">bool</span> isBigEndian;
+<a name="l00054"></a>00054 };
+<a name="l00055"></a>00055 <span class="comment"></span>
+<a name="l00056"></a>00056 <span class="comment">/// MipsDisassembler - a disasembler class for Mips32.</span>
+<a name="l00057"></a>00057 <span class="comment"></span><span class="keyword">class </span>MipsDisassembler : <span class="keyword">public</span> MipsDisassemblerBase {
+<a name="l00058"></a>00058 <span class="keyword">public</span>:<span class="comment"></span>
+<a name="l00059"></a>00059 <span class="comment">  /// Constructor     - Initializes the disassembler.</span>
+<a name="l00060"></a>00060 <span class="comment">  ///</span>
+<a name="l00061"></a>00061 <span class="comment"></span>  MipsDisassembler(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSubtargetInfo.html">MCSubtargetInfo</a> &STI, <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCRegisterInfo.html">MCRegisterInfo</a> *Info,
+<a name="l00062"></a>00062                    <span class="keywordtype">bool</span> bigEndian) :
+<a name="l00063"></a>00063     MipsDisassemblerBase(STI, Info, bigEndian) {}
+<a name="l00064"></a>00064 <span class="comment"></span>
+<a name="l00065"></a>00065 <span class="comment">  /// getInstruction - See MCDisassembler.</span>
+<a name="l00066"></a>00066 <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> getInstruction(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &instr,
+<a name="l00067"></a>00067                                       uint64_t &size,
+<a name="l00068"></a>00068                                       <span class="keyword">const</span> <a class="code" href="classllvm_1_1MemoryObject.html">MemoryObject</a> &region,
+<a name="l00069"></a>00069                                       uint64_t address,
+<a name="l00070"></a>00070                                       <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &vStream,
+<a name="l00071"></a>00071                                       <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &cStream) <span class="keyword">const</span>;
+<a name="l00072"></a>00072 };
+<a name="l00073"></a>00073 
+<a name="l00074"></a>00074 <span class="comment"></span>
+<a name="l00075"></a>00075 <span class="comment">/// Mips64Disassembler - a disasembler class for Mips64.</span>
+<a name="l00076"></a>00076 <span class="comment"></span><span class="keyword">class </span>Mips64Disassembler : <span class="keyword">public</span> MipsDisassemblerBase {
+<a name="l00077"></a>00077 <span class="keyword">public</span>:<span class="comment"></span>
+<a name="l00078"></a>00078 <span class="comment">  /// Constructor     - Initializes the disassembler.</span>
+<a name="l00079"></a>00079 <span class="comment">  ///</span>
+<a name="l00080"></a>00080 <span class="comment"></span>  Mips64Disassembler(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSubtargetInfo.html">MCSubtargetInfo</a> &STI, <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCRegisterInfo.html">MCRegisterInfo</a> *Info,
+<a name="l00081"></a>00081                      <span class="keywordtype">bool</span> bigEndian) :
+<a name="l00082"></a>00082     MipsDisassemblerBase(STI, Info, bigEndian) {}
+<a name="l00083"></a>00083 <span class="comment"></span>
+<a name="l00084"></a>00084 <span class="comment">  /// getInstruction - See MCDisassembler.</span>
+<a name="l00085"></a>00085 <span class="comment"></span>  <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> getInstruction(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &instr,
+<a name="l00086"></a>00086                                       uint64_t &size,
+<a name="l00087"></a>00087                                       <span class="keyword">const</span> <a class="code" href="classllvm_1_1MemoryObject.html">MemoryObject</a> &region,
+<a name="l00088"></a>00088                                       uint64_t address,
+<a name="l00089"></a>00089                                       <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &vStream,
+<a name="l00090"></a>00090                                       <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &cStream) <span class="keyword">const</span>;
+<a name="l00091"></a>00091 };
+<a name="l00092"></a>00092 
+<a name="l00093"></a>00093 } <span class="comment">// end anonymous namespace</span>
+<a name="l00094"></a>00094 
+<a name="l00095"></a>00095 <span class="keyword">const</span> <a class="code" href="structllvm_1_1EDInstInfo.html">EDInstInfo</a> *MipsDisassemblerBase::getEDInfo()<span class="keyword"> const </span>{
+<a name="l00096"></a>00096   <span class="keywordflow">return</span> instInfoMips;
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 
+<a name="l00099"></a>00099 <span class="comment">// Forward declare these because the autogenerated code will reference them.</span>
+<a name="l00100"></a>00100 <span class="comment">// Definitions are further down.</span>
+<a name="l00101"></a>00101 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a062175abb844054465b332b953c3b49b">DecodeCPU64RegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00102"></a>00102                                                  <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00103"></a>00103                                                  uint64_t Address,
+<a name="l00104"></a>00104                                                  <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00105"></a>00105 
+<a name="l00106"></a>00106 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a67f263b4d977b51fdd5cac2d41efc37e">DecodeCPURegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00107"></a>00107                                                <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00108"></a>00108                                                uint64_t Address,
+<a name="l00109"></a>00109                                                <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00110"></a>00110 
+<a name="l00111"></a>00111 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a85ced6e39a23fe3d45a7baeb3afd2989">DecodeDSPRegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00112"></a>00112                                                <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00113"></a>00113                                                uint64_t Address,
+<a name="l00114"></a>00114                                                <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00115"></a>00115 
+<a name="l00116"></a>00116 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#acd87d0d4c56be635e2a85e19438f7b10">DecodeFGR64RegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00117"></a>00117                                              <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00118"></a>00118                                              uint64_t Address,
+<a name="l00119"></a>00119                                              <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00120"></a>00120 
+<a name="l00121"></a>00121 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#aa9b8313962f53689a61e84e5b517fbea">DecodeFGR32RegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00122"></a>00122                                              <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00123"></a>00123                                              uint64_t Address,
+<a name="l00124"></a>00124                                              <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00125"></a>00125 
+<a name="l00126"></a>00126 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a9d7a53190eb36fdfe271bf9d4b3f2421">DecodeCCRRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00127"></a>00127                                            <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00128"></a>00128                                            uint64_t Address,
+<a name="l00129"></a>00129                                            <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00130"></a>00130 
+<a name="l00131"></a>00131 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a4a59a4e29e4db9081afbd832fe62f31c">DecodeHWRegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00132"></a>00132                                               <span class="keywordtype">unsigned</span> Insn,
+<a name="l00133"></a>00133                                               uint64_t Address,
+<a name="l00134"></a>00134                                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a5e2d4313c48b4495ef70d46484c3546a">DecodeAFGR64RegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00137"></a>00137                                               <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00138"></a>00138                                               uint64_t Address,
+<a name="l00139"></a>00139                                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00140"></a>00140 
+<a name="l00141"></a>00141 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#af87deb8dd9e09eaea337add4cdc1bcf6">DecodeHWRegs64RegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00142"></a>00142                                                 <span class="keywordtype">unsigned</span> Insn,
+<a name="l00143"></a>00143                                                 uint64_t Address,
+<a name="l00144"></a>00144                                                 <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00145"></a>00145 
+<a name="l00146"></a>00146 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#abb4c91a5cc4224c6f346f66e9be8edd8">DecodeACRegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00147"></a>00147                                               <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00148"></a>00148                                               uint64_t Address,
+<a name="l00149"></a>00149                                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00150"></a>00150 
+<a name="l00151"></a>00151 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#af2dafbb0d4c2629716e5daf595d84393">DecodeBranchTarget</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00152"></a>00152                                        <span class="keywordtype">unsigned</span> Offset,
+<a name="l00153"></a>00153                                        uint64_t Address,
+<a name="l00154"></a>00154                                        <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00155"></a>00155 
+<a name="l00156"></a>00156 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#ab50f60a66b334fdbf4f2d080537baec7">DecodeBC1</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00157"></a>00157                               <span class="keywordtype">unsigned</span> Insn,
+<a name="l00158"></a>00158                               uint64_t Address,
+<a name="l00159"></a>00159                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00160"></a>00160 
+<a name="l00161"></a>00161 
+<a name="l00162"></a>00162 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a8f4958cc46d5ec7d998d0b32136107f3">DecodeJumpTarget</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00163"></a>00163                                      <span class="keywordtype">unsigned</span> Insn,
+<a name="l00164"></a>00164                                      uint64_t Address,
+<a name="l00165"></a>00165                                      <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00166"></a>00166 
+<a name="l00167"></a>00167 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a2ca3e7ddcb7fd530253c267892b0daca">DecodeMem</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00168"></a>00168                               <span class="keywordtype">unsigned</span> Insn,
+<a name="l00169"></a>00169                               uint64_t Address,
+<a name="l00170"></a>00170                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00171"></a>00171 
+<a name="l00172"></a>00172 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#ae2adcc6ea0e7251a9482f79143d86964">DecodeFMem</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst, <span class="keywordtype">unsigned</span> Insn,
+<a name="l00173"></a>00173                                uint64_t Address,
+<a name="l00174"></a>00174                                <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00175"></a>00175 
+<a name="l00176"></a>00176 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a8d0bfd254d14a97b2ba70f90df76d4e7">DecodeSimm16</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00177"></a>00177                                  <span class="keywordtype">unsigned</span> Insn,
+<a name="l00178"></a>00178                                  uint64_t Address,
+<a name="l00179"></a>00179                                  <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00180"></a>00180 
+<a name="l00181"></a>00181 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a7b92bc77cb35caca98a7c620a97da8cf">DecodeCondCode</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00182"></a>00182                                    <span class="keywordtype">unsigned</span> Insn,
+<a name="l00183"></a>00183                                    uint64_t Address,
+<a name="l00184"></a>00184                                    <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00185"></a>00185 
+<a name="l00186"></a>00186 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a5a5a896c82e513dacde173f33426a1ac">DecodeInsSize</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00187"></a>00187                                   <span class="keywordtype">unsigned</span> Insn,
+<a name="l00188"></a>00188                                   uint64_t Address,
+<a name="l00189"></a>00189                                   <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00190"></a>00190 
+<a name="l00191"></a>00191 <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#af76eb7d3c1a1246bd3f5228120dfeb22">DecodeExtSize</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00192"></a>00192                                   <span class="keywordtype">unsigned</span> Insn,
+<a name="l00193"></a>00193                                   uint64_t Address,
+<a name="l00194"></a>00194                                   <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder);
+<a name="l00195"></a>00195 
+<a name="l00196"></a>00196 <span class="keyword">namespace </span>llvm {
+<a name="l00197"></a>00197 <span class="keyword">extern</span> <a class="code" href="classllvm_1_1Target.html">Target</a> <a class="code" href="namespacellvm.html#a7ff1edf65bb0c16474975e3252f90833">TheMipselTarget</a>, <a class="code" href="namespacellvm.html#aab11ee4871232bb0999c381377ebaaf8">TheMipsTarget</a>, <a class="code" href="namespacellvm.html#ab929a094f183a632910a5681994017c4">TheMips64Target</a>,
+<a name="l00198"></a>00198               <a class="code" href="namespacellvm.html#af6c017babb5baba3ad4051a0bb01d681">TheMips64elTarget</a>;
+<a name="l00199"></a>00199 }
+<a name="l00200"></a>00200 
+<a name="l00201"></a><a class="code" href="MipsDisassembler_8cpp.html#add02357ca80ef111bf5a816ce4a4469e">00201</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html">MCDisassembler</a> *<a class="code" href="MipsDisassembler_8cpp.html#add02357ca80ef111bf5a816ce4a4469e">createMipsDisassembler</a>(
+<a name="l00202"></a>00202                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1Target.html">Target</a> &T,
+<a name="l00203"></a>00203                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSubtargetInfo.html">MCSubtargetInfo</a> &STI) {
+<a name="l00204"></a>00204   <span class="keywordflow">return</span> <span class="keyword">new</span> MipsDisassembler(STI, T.<a class="code" href="classllvm_1_1Target.html#a6cd3d97731d94851b211e3842ef8a673">createMCRegInfo</a>(<span class="stringliteral">""</span>), <span class="keyword">true</span>);
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206 
+<a name="l00207"></a><a class="code" href="MipsDisassembler_8cpp.html#af326c12c004199d2681fa2d07dd34216">00207</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html">MCDisassembler</a> *<a class="code" href="MipsDisassembler_8cpp.html#af326c12c004199d2681fa2d07dd34216">createMipselDisassembler</a>(
+<a name="l00208"></a>00208                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1Target.html">Target</a> &T,
+<a name="l00209"></a>00209                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSubtargetInfo.html">MCSubtargetInfo</a> &STI) {
+<a name="l00210"></a>00210   <span class="keywordflow">return</span> <span class="keyword">new</span> MipsDisassembler(STI, T.<a class="code" href="classllvm_1_1Target.html#a6cd3d97731d94851b211e3842ef8a673">createMCRegInfo</a>(<span class="stringliteral">""</span>), <span class="keyword">false</span>);
+<a name="l00211"></a>00211 }
+<a name="l00212"></a>00212 
+<a name="l00213"></a><a class="code" href="MipsDisassembler_8cpp.html#a3af715f259b792dc4ace835a1095ea09">00213</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html">MCDisassembler</a> *<a class="code" href="MipsDisassembler_8cpp.html#a3af715f259b792dc4ace835a1095ea09">createMips64Disassembler</a>(
+<a name="l00214"></a>00214                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1Target.html">Target</a> &T,
+<a name="l00215"></a>00215                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSubtargetInfo.html">MCSubtargetInfo</a> &STI) {
+<a name="l00216"></a>00216   <span class="keywordflow">return</span> <span class="keyword">new</span> Mips64Disassembler(STI, T.<a class="code" href="classllvm_1_1Target.html#a6cd3d97731d94851b211e3842ef8a673">createMCRegInfo</a>(<span class="stringliteral">""</span>), <span class="keyword">true</span>);
+<a name="l00217"></a>00217 }
+<a name="l00218"></a>00218 
+<a name="l00219"></a><a class="code" href="MipsDisassembler_8cpp.html#a8c3b59d7a235c832a38a75b004ef142f">00219</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html">MCDisassembler</a> *<a class="code" href="MipsDisassembler_8cpp.html#a8c3b59d7a235c832a38a75b004ef142f">createMips64elDisassembler</a>(
+<a name="l00220"></a>00220                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1Target.html">Target</a> &T,
+<a name="l00221"></a>00221                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSubtargetInfo.html">MCSubtargetInfo</a> &STI) {
+<a name="l00222"></a>00222   <span class="keywordflow">return</span> <span class="keyword">new</span> Mips64Disassembler(STI, T.<a class="code" href="classllvm_1_1Target.html#a6cd3d97731d94851b211e3842ef8a673">createMCRegInfo</a>(<span class="stringliteral">""</span>), <span class="keyword">false</span>);
+<a name="l00223"></a>00223 }
+<a name="l00224"></a>00224 
+<a name="l00225"></a><a class="code" href="MipsDisassembler_8cpp.html#a5c1d4c9c4065a116eb75bd7225a4a3ac">00225</a> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> <span class="keywordtype">void</span> <a class="code" href="MipsDisassembler_8cpp.html#a5c1d4c9c4065a116eb75bd7225a4a3ac">LLVMInitializeMipsDisassembler</a>() {
+<a name="l00226"></a>00226   <span class="comment">// Register the disassembler.</span>
+<a name="l00227"></a>00227   <a class="code" href="structllvm_1_1TargetRegistry.html#a8d3c3e977776517a7c1a82060b16da9f">TargetRegistry::RegisterMCDisassembler</a>(<a class="code" href="namespacellvm.html#aab11ee4871232bb0999c381377ebaaf8">TheMipsTarget</a>,
+<a name="l00228"></a>00228                                          <a class="code" href="MipsDisassembler_8cpp.html#add02357ca80ef111bf5a816ce4a4469e">createMipsDisassembler</a>);
+<a name="l00229"></a>00229   <a class="code" href="structllvm_1_1TargetRegistry.html#a8d3c3e977776517a7c1a82060b16da9f">TargetRegistry::RegisterMCDisassembler</a>(<a class="code" href="namespacellvm.html#a7ff1edf65bb0c16474975e3252f90833">TheMipselTarget</a>,
+<a name="l00230"></a>00230                                          <a class="code" href="MipsDisassembler_8cpp.html#af326c12c004199d2681fa2d07dd34216">createMipselDisassembler</a>);
+<a name="l00231"></a>00231   <a class="code" href="structllvm_1_1TargetRegistry.html#a8d3c3e977776517a7c1a82060b16da9f">TargetRegistry::RegisterMCDisassembler</a>(<a class="code" href="namespacellvm.html#ab929a094f183a632910a5681994017c4">TheMips64Target</a>,
+<a name="l00232"></a>00232                                          <a class="code" href="MipsDisassembler_8cpp.html#a3af715f259b792dc4ace835a1095ea09">createMips64Disassembler</a>);
+<a name="l00233"></a>00233   <a class="code" href="structllvm_1_1TargetRegistry.html#a8d3c3e977776517a7c1a82060b16da9f">TargetRegistry::RegisterMCDisassembler</a>(<a class="code" href="namespacellvm.html#af6c017babb5baba3ad4051a0bb01d681">TheMips64elTarget</a>,
+<a name="l00234"></a>00234                                          <a class="code" href="MipsDisassembler_8cpp.html#a8c3b59d7a235c832a38a75b004ef142f">createMips64elDisassembler</a>);
+<a name="l00235"></a>00235 }
+<a name="l00236"></a>00236 
+<a name="l00237"></a>00237 
+<a name="l00238"></a>00238 <span class="preprocessor">#include "MipsGenDisassemblerTables.inc"</span>
+<a name="l00239"></a>00239 <span class="comment"></span>
+<a name="l00240"></a>00240 <span class="comment">  /// readInstruction - read four bytes from the MemoryObject</span>
+<a name="l00241"></a>00241 <span class="comment">  /// and return 32 bit word sorted according to the given endianess</span>
+<a name="l00242"></a><a class="code" href="MipsDisassembler_8cpp.html#acee135f7bc60377e2c619aeb4ed4bca2">00242</a> <span class="comment"></span><span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#acee135f7bc60377e2c619aeb4ed4bca2">readInstruction32</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MemoryObject.html">MemoryObject</a> &region,
+<a name="l00243"></a>00243                                       uint64_t address,
+<a name="l00244"></a>00244                                       uint64_t &size,
+<a name="l00245"></a>00245                                       uint32_t &insn,
+<a name="l00246"></a>00246                                       <span class="keywordtype">bool</span> isBigEndian) {
+<a name="l00247"></a>00247   uint8_t Bytes[4];
+<a name="l00248"></a>00248 
+<a name="l00249"></a>00249   <span class="comment">// We want to read exactly 4 Bytes of data.</span>
+<a name="l00250"></a>00250   <span class="keywordflow">if</span> (region.<a class="code" href="classllvm_1_1MemoryObject.html#a4d6e18d2532cb4b6e168d8e1f33b8d29">readBytes</a>(address, 4, (uint8_t*)Bytes, NULL) == -1) {
+<a name="l00251"></a>00251     size = 0;
+<a name="l00252"></a>00252     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00253"></a>00253   }
+<a name="l00254"></a>00254 
+<a name="l00255"></a>00255   <span class="keywordflow">if</span> (isBigEndian) {
+<a name="l00256"></a>00256     <span class="comment">// Encoded as a big-endian 32-bit word in the stream.</span>
+<a name="l00257"></a>00257     insn = (Bytes[3] <<  0) |
+<a name="l00258"></a>00258            (Bytes[2] <<  8) |
+<a name="l00259"></a>00259            (Bytes[1] << 16) |
+<a name="l00260"></a>00260            (Bytes[0] << 24);
+<a name="l00261"></a>00261   }
+<a name="l00262"></a>00262   <span class="keywordflow">else</span> {
+<a name="l00263"></a>00263     <span class="comment">// Encoded as a small-endian 32-bit word in the stream.</span>
+<a name="l00264"></a>00264     insn = (Bytes[0] <<  0) |
+<a name="l00265"></a>00265            (Bytes[1] <<  8) |
+<a name="l00266"></a>00266            (Bytes[2] << 16) |
+<a name="l00267"></a>00267            (Bytes[3] << 24);
+<a name="l00268"></a>00268   }
+<a name="l00269"></a>00269 
+<a name="l00270"></a>00270   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00271"></a>00271 }
+<a name="l00272"></a>00272 
+<a name="l00273"></a>00273 <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a>
+<a name="l00274"></a>00274 MipsDisassembler::getInstruction(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &instr,
+<a name="l00275"></a>00275                                  uint64_t &Size,
+<a name="l00276"></a>00276                                  <span class="keyword">const</span> <a class="code" href="classllvm_1_1MemoryObject.html">MemoryObject</a> &<a class="code" href="classllvm_1_1Region.html" title="A single entry single exit Region.">Region</a>,
+<a name="l00277"></a>00277                                  uint64_t Address,
+<a name="l00278"></a>00278                                  <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &vStream,
+<a name="l00279"></a>00279                                  <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &cStream)<span class="keyword"> const </span>{
+<a name="l00280"></a>00280   uint32_t Insn;
+<a name="l00281"></a>00281 
+<a name="l00282"></a>00282   <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> Result = <a class="code" href="MipsDisassembler_8cpp.html#acee135f7bc60377e2c619aeb4ed4bca2">readInstruction32</a>(Region, Address, Size,
+<a name="l00283"></a>00283                                           Insn, isBigEndian);
+<a name="l00284"></a>00284   <span class="keywordflow">if</span> (Result == <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>)
+<a name="l00285"></a>00285     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00286"></a>00286 
+<a name="l00287"></a>00287   <span class="comment">// Calling the auto-generated decoder function.</span>
+<a name="l00288"></a>00288   Result = <a class="code" href="X86DisassemblerDecoder_8c.html#a6c71d4e276f8fe7ce11b7a8456821d7c">decodeInstruction</a>(DecoderTableMips32, instr, Insn, Address,
+<a name="l00289"></a>00289                              <span class="keyword">this</span>, STI);
+<a name="l00290"></a>00290   <span class="keywordflow">if</span> (Result != <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>) {
+<a name="l00291"></a>00291     Size = 4;
+<a name="l00292"></a>00292     <span class="keywordflow">return</span> Result;
+<a name="l00293"></a>00293   }
+<a name="l00294"></a>00294 
+<a name="l00295"></a>00295   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00296"></a>00296 }
+<a name="l00297"></a>00297 
+<a name="l00298"></a>00298 <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a>
+<a name="l00299"></a>00299 Mips64Disassembler::getInstruction(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &instr,
+<a name="l00300"></a>00300                                    uint64_t &Size,
+<a name="l00301"></a>00301                                    <span class="keyword">const</span> <a class="code" href="classllvm_1_1MemoryObject.html">MemoryObject</a> &Region,
+<a name="l00302"></a>00302                                    uint64_t Address,
+<a name="l00303"></a>00303                                    <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &vStream,
+<a name="l00304"></a>00304                                    <a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &cStream)<span class="keyword"> const </span>{
+<a name="l00305"></a>00305   uint32_t Insn;
+<a name="l00306"></a>00306 
+<a name="l00307"></a>00307   <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> Result = <a class="code" href="MipsDisassembler_8cpp.html#acee135f7bc60377e2c619aeb4ed4bca2">readInstruction32</a>(Region, Address, Size,
+<a name="l00308"></a>00308                                           Insn, isBigEndian);
+<a name="l00309"></a>00309   <span class="keywordflow">if</span> (Result == <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>)
+<a name="l00310"></a>00310     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00311"></a>00311 
+<a name="l00312"></a>00312   <span class="comment">// Calling the auto-generated decoder function.</span>
+<a name="l00313"></a>00313   Result = <a class="code" href="X86DisassemblerDecoder_8c.html#a6c71d4e276f8fe7ce11b7a8456821d7c">decodeInstruction</a>(DecoderTableMips6432, instr, Insn, Address,
+<a name="l00314"></a>00314                              <span class="keyword">this</span>, STI);
+<a name="l00315"></a>00315   <span class="keywordflow">if</span> (Result != <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>) {
+<a name="l00316"></a>00316     Size = 4;
+<a name="l00317"></a>00317     <span class="keywordflow">return</span> Result;
+<a name="l00318"></a>00318   }
+<a name="l00319"></a>00319   <span class="comment">// If we fail to decode in Mips64 decoder space we can try in Mips32</span>
+<a name="l00320"></a>00320   Result = <a class="code" href="X86DisassemblerDecoder_8c.html#a6c71d4e276f8fe7ce11b7a8456821d7c">decodeInstruction</a>(DecoderTableMips32, instr, Insn, Address,
+<a name="l00321"></a>00321                              <span class="keyword">this</span>, STI);
+<a name="l00322"></a>00322   <span class="keywordflow">if</span> (Result != <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>) {
+<a name="l00323"></a>00323     Size = 4;
+<a name="l00324"></a>00324     <span class="keywordflow">return</span> Result;
+<a name="l00325"></a>00325   }
+<a name="l00326"></a>00326 
+<a name="l00327"></a>00327   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00328"></a>00328 }
+<a name="l00329"></a>00329 
+<a name="l00330"></a><a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">00330</a> <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *D, <span class="keywordtype">unsigned</span> RC, <span class="keywordtype">unsigned</span> RegNo) {
+<a name="l00331"></a>00331   <span class="keyword">const</span> MipsDisassemblerBase *Dis = <span class="keyword">static_cast<</span><span class="keyword">const </span>MipsDisassemblerBase*<span class="keyword">></span>(D);
+<a name="l00332"></a>00332   <span class="keywordflow">return</span> *(Dis->getRegInfo()->getRegClass(RC).begin() + RegNo);
+<a name="l00333"></a>00333 }
+<a name="l00334"></a>00334 
+<a name="l00335"></a><a class="code" href="MipsDisassembler_8cpp.html#a062175abb844054465b332b953c3b49b">00335</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a062175abb844054465b332b953c3b49b">DecodeCPU64RegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00336"></a>00336                                                  <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00337"></a>00337                                                  uint64_t Address,
+<a name="l00338"></a>00338                                                  <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00339"></a>00339 
+<a name="l00340"></a>00340   <span class="keywordflow">if</span> (RegNo > 31)
+<a name="l00341"></a>00341     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00342"></a>00342 
+<a name="l00343"></a>00343   <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::CPU64RegsRegClassID, RegNo);
+<a name="l00344"></a>00344   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Reg));
+<a name="l00345"></a>00345   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00346"></a>00346 }
+<a name="l00347"></a>00347 
+<a name="l00348"></a><a class="code" href="MipsDisassembler_8cpp.html#a67f263b4d977b51fdd5cac2d41efc37e">00348</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a67f263b4d977b51fdd5cac2d41efc37e">DecodeCPURegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00349"></a>00349                                                <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00350"></a>00350                                                uint64_t Address,
+<a name="l00351"></a>00351                                                <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00352"></a>00352   <span class="keywordflow">if</span> (RegNo > 31)
+<a name="l00353"></a>00353     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00354"></a>00354   <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::CPURegsRegClassID, RegNo);
+<a name="l00355"></a>00355   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Reg));
+<a name="l00356"></a>00356   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00357"></a>00357 }
+<a name="l00358"></a>00358 
+<a name="l00359"></a><a class="code" href="MipsDisassembler_8cpp.html#a85ced6e39a23fe3d45a7baeb3afd2989">00359</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a85ced6e39a23fe3d45a7baeb3afd2989">DecodeDSPRegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00360"></a>00360                                                <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00361"></a>00361                                                uint64_t Address,
+<a name="l00362"></a>00362                                                <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00363"></a>00363   <span class="keywordflow">return</span> <a class="code" href="MipsDisassembler_8cpp.html#a67f263b4d977b51fdd5cac2d41efc37e">DecodeCPURegsRegisterClass</a>(Inst, RegNo, Address, Decoder);
+<a name="l00364"></a>00364 }
+<a name="l00365"></a>00365 
+<a name="l00366"></a><a class="code" href="MipsDisassembler_8cpp.html#acd87d0d4c56be635e2a85e19438f7b10">00366</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#acd87d0d4c56be635e2a85e19438f7b10">DecodeFGR64RegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00367"></a>00367                                              <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00368"></a>00368                                              uint64_t Address,
+<a name="l00369"></a>00369                                              <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00370"></a>00370   <span class="keywordflow">if</span> (RegNo > 31)
+<a name="l00371"></a>00371     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00372"></a>00372 
+<a name="l00373"></a>00373   <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::FGR64RegClassID, RegNo);
+<a name="l00374"></a>00374   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Reg));
+<a name="l00375"></a>00375   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00376"></a>00376 }
+<a name="l00377"></a>00377 
+<a name="l00378"></a><a class="code" href="MipsDisassembler_8cpp.html#aa9b8313962f53689a61e84e5b517fbea">00378</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#aa9b8313962f53689a61e84e5b517fbea">DecodeFGR32RegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00379"></a>00379                                              <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00380"></a>00380                                              uint64_t Address,
+<a name="l00381"></a>00381                                              <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00382"></a>00382   <span class="keywordflow">if</span> (RegNo > 31)
+<a name="l00383"></a>00383     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00384"></a>00384 
+<a name="l00385"></a>00385   <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::FGR32RegClassID, RegNo);
+<a name="l00386"></a>00386   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Reg));
+<a name="l00387"></a>00387   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00388"></a>00388 }
+<a name="l00389"></a>00389 
+<a name="l00390"></a><a class="code" href="MipsDisassembler_8cpp.html#a9d7a53190eb36fdfe271bf9d4b3f2421">00390</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a9d7a53190eb36fdfe271bf9d4b3f2421">DecodeCCRRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00391"></a>00391                                            <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00392"></a>00392                                            uint64_t Address,
+<a name="l00393"></a>00393                                            <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00394"></a>00394   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(RegNo));
+<a name="l00395"></a>00395   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00396"></a>00396 }
+<a name="l00397"></a>00397 
+<a name="l00398"></a><a class="code" href="MipsDisassembler_8cpp.html#a2ca3e7ddcb7fd530253c267892b0daca">00398</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a2ca3e7ddcb7fd530253c267892b0daca">DecodeMem</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00399"></a>00399                               <span class="keywordtype">unsigned</span> Insn,
+<a name="l00400"></a>00400                               uint64_t Address,
+<a name="l00401"></a>00401                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00402"></a>00402   <span class="keywordtype">int</span> Offset = SignExtend32<16>(Insn & 0xffff);
+<a name="l00403"></a>00403   <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = fieldFromInstruction(Insn, 16, 5);
+<a name="l00404"></a>00404   <span class="keywordtype">unsigned</span> Base = fieldFromInstruction(Insn, 21, 5);
+<a name="l00405"></a>00405 
+<a name="l00406"></a>00406   Reg = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::CPURegsRegClassID, Reg);
+<a name="l00407"></a>00407   Base = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::CPURegsRegClassID, Base);
+<a name="l00408"></a>00408 
+<a name="l00409"></a>00409   <span class="keywordflow">if</span>(Inst.<a class="code" href="classllvm_1_1MCInst.html#a22542ca9978e4b90401edee109c4f263">getOpcode</a>() == Mips::SC){
+<a name="l00410"></a>00410     Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Reg));
+<a name="l00411"></a>00411   }
+<a name="l00412"></a>00412 
+<a name="l00413"></a>00413   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Reg));
+<a name="l00414"></a>00414   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Base));
+<a name="l00415"></a>00415   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#ad26f3c85c2f3b28caa4e9a7522e0d7bd">MCOperand::CreateImm</a>(Offset));
+<a name="l00416"></a>00416 
+<a name="l00417"></a>00417   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00418"></a>00418 }
+<a name="l00419"></a>00419 
+<a name="l00420"></a><a class="code" href="MipsDisassembler_8cpp.html#ae2adcc6ea0e7251a9482f79143d86964">00420</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#ae2adcc6ea0e7251a9482f79143d86964">DecodeFMem</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00421"></a>00421                                <span class="keywordtype">unsigned</span> Insn,
+<a name="l00422"></a>00422                                uint64_t Address,
+<a name="l00423"></a>00423                                <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00424"></a>00424   <span class="keywordtype">int</span> Offset = SignExtend32<16>(Insn & 0xffff);
+<a name="l00425"></a>00425   <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = fieldFromInstruction(Insn, 16, 5);
+<a name="l00426"></a>00426   <span class="keywordtype">unsigned</span> Base = fieldFromInstruction(Insn, 21, 5);
+<a name="l00427"></a>00427 
+<a name="l00428"></a>00428   Reg = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::FGR64RegClassID, Reg);
+<a name="l00429"></a>00429   Base = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::CPURegsRegClassID, Base);
+<a name="l00430"></a>00430 
+<a name="l00431"></a>00431   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Reg));
+<a name="l00432"></a>00432   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Base));
+<a name="l00433"></a>00433   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#ad26f3c85c2f3b28caa4e9a7522e0d7bd">MCOperand::CreateImm</a>(Offset));
+<a name="l00434"></a>00434 
+<a name="l00435"></a>00435   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00436"></a>00436 }
+<a name="l00437"></a>00437 
+<a name="l00438"></a>00438 
+<a name="l00439"></a><a class="code" href="MipsDisassembler_8cpp.html#a4a59a4e29e4db9081afbd832fe62f31c">00439</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a4a59a4e29e4db9081afbd832fe62f31c">DecodeHWRegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00440"></a>00440                                               <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00441"></a>00441                                               uint64_t Address,
+<a name="l00442"></a>00442                                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00443"></a>00443   <span class="comment">// Currently only hardware register 29 is supported.</span>
+<a name="l00444"></a>00444   <span class="keywordflow">if</span> (RegNo != 29)
+<a name="l00445"></a>00445     <span class="keywordflow">return</span>  <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00446"></a>00446   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Mips::HWR29));
+<a name="l00447"></a>00447   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00448"></a>00448 }
+<a name="l00449"></a>00449 
+<a name="l00450"></a><a class="code" href="MipsDisassembler_8cpp.html#a7b92bc77cb35caca98a7c620a97da8cf">00450</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a7b92bc77cb35caca98a7c620a97da8cf">DecodeCondCode</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00451"></a>00451                                    <span class="keywordtype">unsigned</span> Insn,
+<a name="l00452"></a>00452                                    uint64_t Address,
+<a name="l00453"></a>00453                                    <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00454"></a>00454   <span class="keywordtype">int</span> <a class="code" href="namespacellvm_1_1ISD.html#ac3c3cf58d6d631af6a172457304d3d07">CondCode</a> = Insn & 0xf;
+<a name="l00455"></a>00455   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#ad26f3c85c2f3b28caa4e9a7522e0d7bd">MCOperand::CreateImm</a>(CondCode));
+<a name="l00456"></a>00456   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00457"></a>00457 }
+<a name="l00458"></a>00458 
+<a name="l00459"></a><a class="code" href="MipsDisassembler_8cpp.html#a5e2d4313c48b4495ef70d46484c3546a">00459</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a5e2d4313c48b4495ef70d46484c3546a">DecodeAFGR64RegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00460"></a>00460                                               <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00461"></a>00461                                               uint64_t Address,
+<a name="l00462"></a>00462                                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00463"></a>00463   <span class="keywordflow">if</span> (RegNo > 30 || RegNo %2)
+<a name="l00464"></a>00464     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00465"></a>00465 
+<a name="l00466"></a>00466   ;
+<a name="l00467"></a>00467   <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::AFGR64RegClassID, RegNo /2);
+<a name="l00468"></a>00468   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Reg));
+<a name="l00469"></a>00469   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00470"></a>00470 }
+<a name="l00471"></a>00471 
+<a name="l00472"></a><a class="code" href="MipsDisassembler_8cpp.html#af87deb8dd9e09eaea337add4cdc1bcf6">00472</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#af87deb8dd9e09eaea337add4cdc1bcf6">DecodeHWRegs64RegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00473"></a>00473                                                 <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00474"></a>00474                                                 uint64_t Address,
+<a name="l00475"></a>00475                                                 <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00476"></a>00476   <span class="comment">//Currently only hardware register 29 is supported</span>
+<a name="l00477"></a>00477   <span class="keywordflow">if</span> (RegNo != 29)
+<a name="l00478"></a>00478     <span class="keywordflow">return</span>  <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00479"></a>00479   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Mips::HWR29_64));
+<a name="l00480"></a>00480   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00481"></a>00481 }
+<a name="l00482"></a>00482 
+<a name="l00483"></a><a class="code" href="MipsDisassembler_8cpp.html#abb4c91a5cc4224c6f346f66e9be8edd8">00483</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#abb4c91a5cc4224c6f346f66e9be8edd8">DecodeACRegsRegisterClass</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00484"></a>00484                                               <span class="keywordtype">unsigned</span> RegNo,
+<a name="l00485"></a>00485                                               uint64_t Address,
+<a name="l00486"></a>00486                                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00487"></a>00487   <span class="keywordflow">if</span> (RegNo >= 4)
+<a name="l00488"></a>00488     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aa537a26dac8694f2000c729a35e2ead30">MCDisassembler::Fail</a>;
+<a name="l00489"></a>00489 
+<a name="l00490"></a>00490   <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = <a class="code" href="MipsDisassembler_8cpp.html#a30bccd0ebacd9892c243f7bd520e4aa0">getReg</a>(Decoder, Mips::ACRegsRegClassID, RegNo);
+<a name="l00491"></a>00491   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#a53a76cafb36975cd8069ffa73beb86aa">MCOperand::CreateReg</a>(Reg));
+<a name="l00492"></a>00492   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00493"></a>00493 }
+<a name="l00494"></a>00494 
+<a name="l00495"></a><a class="code" href="MipsDisassembler_8cpp.html#af2dafbb0d4c2629716e5daf595d84393">00495</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#af2dafbb0d4c2629716e5daf595d84393">DecodeBranchTarget</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00496"></a>00496                                        <span class="keywordtype">unsigned</span> Offset,
+<a name="l00497"></a>00497                                        uint64_t Address,
+<a name="l00498"></a>00498                                        <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00499"></a>00499   <span class="keywordtype">unsigned</span> BranchOffset = Offset & 0xffff;
+<a name="l00500"></a>00500   BranchOffset = SignExtend32<18>(BranchOffset << 2) + 4;
+<a name="l00501"></a>00501   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#ad26f3c85c2f3b28caa4e9a7522e0d7bd">MCOperand::CreateImm</a>(BranchOffset));
+<a name="l00502"></a>00502   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00503"></a>00503 }
+<a name="l00504"></a>00504 
+<a name="l00505"></a><a class="code" href="MipsDisassembler_8cpp.html#ab50f60a66b334fdbf4f2d080537baec7">00505</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#ab50f60a66b334fdbf4f2d080537baec7">DecodeBC1</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00506"></a>00506                               <span class="keywordtype">unsigned</span> Insn,
+<a name="l00507"></a>00507                               uint64_t Address,
+<a name="l00508"></a>00508                               <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00509"></a>00509   <span class="keywordtype">unsigned</span> BranchOffset = Insn & 0xffff;
+<a name="l00510"></a>00510   BranchOffset = SignExtend32<18>(BranchOffset << 2) + 4;
+<a name="l00511"></a>00511   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#ad26f3c85c2f3b28caa4e9a7522e0d7bd">MCOperand::CreateImm</a>(BranchOffset));
+<a name="l00512"></a>00512   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00513"></a>00513 }
+<a name="l00514"></a>00514 
+<a name="l00515"></a><a class="code" href="MipsDisassembler_8cpp.html#a8f4958cc46d5ec7d998d0b32136107f3">00515</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a8f4958cc46d5ec7d998d0b32136107f3">DecodeJumpTarget</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00516"></a>00516                                      <span class="keywordtype">unsigned</span> Insn,
+<a name="l00517"></a>00517                                      uint64_t Address,
+<a name="l00518"></a>00518                                      <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00519"></a>00519 
+<a name="l00520"></a>00520   <span class="keywordtype">unsigned</span> JumpOffset = fieldFromInstruction(Insn, 0, 26) << 2;
+<a name="l00521"></a>00521   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#ad26f3c85c2f3b28caa4e9a7522e0d7bd">MCOperand::CreateImm</a>(JumpOffset));
+<a name="l00522"></a>00522   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00523"></a>00523 }
+<a name="l00524"></a>00524 
+<a name="l00525"></a>00525 
+<a name="l00526"></a><a class="code" href="MipsDisassembler_8cpp.html#a8d0bfd254d14a97b2ba70f90df76d4e7">00526</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a8d0bfd254d14a97b2ba70f90df76d4e7">DecodeSimm16</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00527"></a>00527                                  <span class="keywordtype">unsigned</span> Insn,
+<a name="l00528"></a>00528                                  uint64_t Address,
+<a name="l00529"></a>00529                                  <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00530"></a>00530   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#ad26f3c85c2f3b28caa4e9a7522e0d7bd">MCOperand::CreateImm</a>(SignExtend32<16>(Insn)));
+<a name="l00531"></a>00531   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00532"></a>00532 }
+<a name="l00533"></a>00533 
+<a name="l00534"></a><a class="code" href="MipsDisassembler_8cpp.html#a5a5a896c82e513dacde173f33426a1ac">00534</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#a5a5a896c82e513dacde173f33426a1ac">DecodeInsSize</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00535"></a>00535                                   <span class="keywordtype">unsigned</span> Insn,
+<a name="l00536"></a>00536                                   uint64_t Address,
+<a name="l00537"></a>00537                                   <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00538"></a>00538   <span class="comment">// First we need to grab the pos(lsb) from MCInst.</span>
+<a name="l00539"></a>00539   <span class="keywordtype">int</span> Pos = Inst.<a class="code" href="classllvm_1_1MCInst.html#a82523248f1c8145141a026cf3e57cf48">getOperand</a>(2).<a class="code" href="classllvm_1_1MCOperand.html#a650484333896fc7e8485cfa30f6d7ad5">getImm</a>();
+<a name="l00540"></a>00540   <span class="keywordtype">int</span> Size = (int) Insn - Pos + 1;
+<a name="l00541"></a>00541   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#ad26f3c85c2f3b28caa4e9a7522e0d7bd">MCOperand::CreateImm</a>(SignExtend32<16>(Size)));
+<a name="l00542"></a>00542   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00543"></a>00543 }
+<a name="l00544"></a>00544 
+<a name="l00545"></a><a class="code" href="MipsDisassembler_8cpp.html#af76eb7d3c1a1246bd3f5228120dfeb22">00545</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6a">DecodeStatus</a> <a class="code" href="MipsDisassembler_8cpp.html#af76eb7d3c1a1246bd3f5228120dfeb22">DecodeExtSize</a>(<a class="code" href="classllvm_1_1MCInst.html">MCInst</a> &Inst,
+<a name="l00546"></a>00546                                   <span class="keywordtype">unsigned</span> Insn,
+<a name="l00547"></a>00547                                   uint64_t Address,
+<a name="l00548"></a>00548                                   <span class="keyword">const</span> <span class="keywordtype">void</span> *Decoder) {
+<a name="l00549"></a>00549   <span class="keywordtype">int</span> Size = (int) Insn  + 1;
+<a name="l00550"></a>00550   Inst.<a class="code" href="classllvm_1_1MCInst.html#af5530910b07aa0c82adbc555dfc04fce">addOperand</a>(<a class="code" href="classllvm_1_1MCOperand.html#ad26f3c85c2f3b28caa4e9a7522e0d7bd">MCOperand::CreateImm</a>(SignExtend32<16>(Size)));
+<a name="l00551"></a>00551   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1MCDisassembler.html#a8eb822283e8f3200ca4b2a1ba0174e6aaabe09036b442fff9aa63ce1e844fdf60">MCDisassembler::Success</a>;
+<a name="l00552"></a>00552 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:36:12 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsELFObjectWriter_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsELFObjectWriter_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsELFObjectWriter_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsELFObjectWriter_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,33 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsBaseInfo_8h.html" title="MCTargetDesc/MipsBaseInfo.h" alt="" coords="777,84,988,111"/>
+<area shape="rect" href="$MipsFixupKinds_8h.html" title="MipsFixupKinds.h" alt="" coords="1099,161,1227,188"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1731,316,1936,343"/>
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MipsMCTargetDesc.h" alt="" coords="707,161,859,188"/>
+<area shape="rect" href="$MCExpr_8h.html" title="llvm/MC/MCExpr.h" alt="" coords="259,239,392,265"/>
+<area shape="rect" href="$MCAssembler_8h.html" title="llvm/MC/MCAssembler.h" alt="" coords="1357,161,1531,188"/>
+<area shape="rect" href="$MCELFObjectWriter_8h.html" title="llvm/MC/MCELFObjectWriter.h" alt="" coords="2061,316,2267,343"/>
+<area shape="rect" href="$MCSection_8h.html" title="llvm/MC/MCSection.h" alt="" coords="2720,84,2875,111"/>
+<area shape="rect" href="$MCValue_8h.html" title="llvm/MC/MCValue.h" alt="" coords="93,239,235,265"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="385,548,569,575"/>
+<area shape="rect" href="$MCFixup_8h.html" title="llvm/MC/MCFixup.h" alt="" coords="1093,239,1232,265"/>
+<area shape="rect" href="$SMLoc_8h.html" title="llvm/Support/SMLoc.h" alt="" coords="499,393,659,420"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2627,548,2800,575"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1512,393,1661,420"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="1251,471,1437,497"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="1176,316,1336,343"/>
+<area shape="rect" href="$Casting_8h.html" title="llvm/Support/Casting.h" alt="" coords="296,316,461,343"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="2488,471,2651,497"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="992,393,1181,420"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="824,471,1072,497"/>
+<area shape="rect" href="$DenseMapInfo_8h.html" title="llvm/ADT/DenseMapInfo.h" alt="" coords="784,393,968,420"/>
+<area shape="rect" href="$MCInst_8h.html" title="llvm/MC/MCInst.h" alt="" coords="1021,316,1152,343"/>
+<area shape="rect" href="$SmallPtrSet_8h.html" title="llvm/ADT/SmallPtrSet.h" alt="" coords="1837,393,2005,420"/>
+<area shape="rect" href="$SmallString_8h.html" title="llvm/ADT/SmallString.h" alt="" coords="1360,316,1528,343"/>
+<area shape="rect" href="$ilist_8h.html" title="llvm/ADT/ilist.h" alt="" coords="2536,393,2651,420"/>
+<area shape="rect" href="$ilist__node_8h.html" title="llvm/ADT/ilist_node.h" alt="" coords="2061,239,2213,265"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="2293,393,2461,420"/>
+<area shape="rect" href="$Triple_8h.html" title="llvm/ADT/Triple.h" alt="" coords="2877,393,3003,420"/>
+<area shape="rect" href="$Support_2ELF_8h.html" title="llvm/Support/ELF.h" alt="" coords="2080,393,2219,420"/>
+<area shape="rect" href="$SectionKind_8h.html" title="llvm/MC/SectionKind.h" alt="" coords="3163,161,3325,188"/>
+<area shape="rect" href="$MCSymbol_8h.html" title="llvm/MC/MCSymbol.h" alt="" coords="1552,316,1707,343"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsELFObjectWriter_8cpp__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsELFObjectWriter_8cpp__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsELFObjectWriter_8cpp__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsELFObjectWriter_8cpp__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+b2cc6146cdf70b85d96447e82e1bd67c
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsFixupKinds_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsFixupKinds_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsFixupKinds_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsFixupKinds_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,48 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsFixupKinds.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="llvm/MC/MCFixup.h",height=0.2,width=0.4,color="black",URL="$MCFixup_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node8 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_8h.html"];
+  Node11 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node11 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="llvm/Support/SMLoc.h",height=0.2,width=0.4,color="black",URL="$SMLoc_8h.html"];
+  Node19 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsISelDAGToDAG_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsISelDAGToDAG_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsISelDAGToDAG_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsISelDAGToDAG_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,46 @@
+<map id="G" name="G">
+<area shape="rect" href="$Mips_8h.html" title="Mips.h" alt="" coords="1915,316,1976,343"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="2753,393,2951,420"/>
+<area shape="rect" href="$MipsAnalyzeImmediate_8h.html" title="MipsAnalyzeImmediate.h" alt="" coords="685,316,867,343"/>
+<area shape="rect" href="$MipsMachineFunction_8h.html" title="MipsMachineFunction.h" alt="" coords="2235,239,2403,265"/>
+<area shape="rect" href="$MipsSubtarget_8h.html" title="MipsSubtarget.h" alt="" coords="2315,316,2440,343"/>
+<area shape="rect" href="$MachineFunction_8h.html" title="llvm/CodeGen/MachineFunction.h" alt="" coords="2579,316,2811,343"/>
+<area shape="rect" href="$MachineFrameInfo_8h.html" title="llvm/CodeGen/MachineFrameInfo.h" alt="" coords="992,316,1235,343"/>
+<area shape="rect" href="$MipsRegisterInfo_8h.html" title="MipsRegisterInfo.h" alt="" coords="1576,239,1712,265"/>
+<area shape="rect" href="$MipsTargetMachine_8h.html" title="MipsTargetMachine.h" alt="" coords="2007,84,2161,111"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1245,239,1451,265"/>
+<area shape="rect" href="$MachineConstantPool_8h.html" title="llvm/CodeGen/MachineConstantPool.h" alt="" coords="2680,239,2944,265"/>
+<area shape="rect" href="$MipsBaseInfo_8h.html" title="MCTargetDesc/MipsBaseInfo.h" alt="" coords="179,161,389,188"/>
+<area shape="rect" href="$GlobalValue_8h.html" title="llvm/GlobalValue.h" alt="" coords="3213,84,3352,111"/>
+<area shape="rect" href="$Instructions_8h.html" title="llvm/Instructions.h" alt="" coords="963,161,1099,188"/>
+<area shape="rect" href="$Type_8h.html" title="llvm/Type.h" alt="" coords="413,393,504,420"/>
+<area shape="rect" href="$Intrinsics_8h.html" title="llvm/Intrinsics.h" alt="" coords="3069,84,3189,111"/>
+<area shape="rect" href="$CFG_8h.html" title="llvm/Support/CFG.h" alt="" coords="595,161,739,188"/>
+<area shape="rect" href="$MachineInstrBuilder_8h.html" title="llvm/CodeGen/MachineInstrBuilder.h" alt="" coords="2504,161,2755,188"/>
+<area shape="rect" href="$MachineRegisterInfo_8h.html" title="llvm/CodeGen/MachineRegisterInfo.h" alt="" coords="1197,161,1451,188"/>
+<area shape="rect" href="$SelectionDAGISel_8h.html" title="llvm/CodeGen/SelectionDAGISel.h" alt="" coords="3376,84,3613,111"/>
+<area shape="rect" href="$SelectionDAGNodes_8h.html" title="llvm/CodeGen/SelectionDAGNodes.h" alt="" coords="813,84,1069,111"/>
+<area shape="rect" href="$Debug_8h.html" title="llvm/Support/Debug.h" alt="" coords="3637,84,3797,111"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="5,84,205,111"/>
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MCTargetDesc/MipsMCTargetDesc.h" alt="" coords="1572,393,1820,420"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="475,471,659,497"/>
+<area shape="rect" href="$TargetTransformImpl_8h.html" title="llvm/Target/TargetTransformImpl.h" alt="" coords="2867,471,3101,497"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="871,393,1039,420"/>
+<area shape="rect" href="$TargetFrameLowering_8h.html" title="llvm/Target/TargetFrameLowering.h" alt="" coords="2000,316,2240,343"/>
+<area shape="rect" href="$TargetSubtargetInfo_8h.html" title="llvm/Target/TargetSubtargetInfo.h" alt="" coords="2447,393,2679,420"/>
+<area shape="rect" href="$MCInstrItineraries_8h.html" title="llvm/MC/MCInstrItineraries.h" alt="" coords="2225,393,2423,420"/>
+<area shape="rect" href="$TargetRegisterInfo_8h.html" title="llvm/Target/TargetRegisterInfo.h" alt="" coords="1571,316,1789,343"/>
+<area shape="rect" href="$CallingConv_8h.html" title="llvm/CallingConv.h" alt="" coords="1412,393,1548,420"/>
+<area shape="rect" href="$MipsFrameLowering_8h.html" title="MipsFrameLowering.h" alt="" coords="1888,239,2045,265"/>
+<area shape="rect" href="$MipsInstrInfo_8h.html" title="MipsInstrInfo.h" alt="" coords="1581,161,1693,188"/>
+<area shape="rect" href="$MipsISelLowering_8h.html" title="MipsISelLowering.h" alt="" coords="2069,239,2211,265"/>
+<area shape="rect" href="$MipsJITInfo_8h.html" title="MipsJITInfo.h" alt="" coords="2779,161,2877,188"/>
+<area shape="rect" href="$MipsSelectionDAGInfo_8h.html" title="MipsSelectionDAGInfo.h" alt="" coords="1997,161,2171,188"/>
+<area shape="rect" href="$DataLayout_8h.html" title="llvm/DataLayout.h" alt="" coords="1259,316,1395,343"/>
+<area shape="rect" href="$MipsFixupKinds_8h.html" title="MipsFixupKinds.h" alt="" coords="211,239,339,265"/>
+<area shape="rect" href="$MCExpr_8h.html" title="llvm/MC/MCExpr.h" alt="" coords="53,239,187,265"/>
+<area shape="rect" href="$Constant_8h.html" title="llvm/Constant.h" alt="" coords="3223,161,3343,188"/>
+<area shape="rect" href="$InstrTypes_8h.html" title="llvm/InstrTypes.h" alt="" coords="604,239,729,265"/>
+<area shape="rect" href="$DerivedTypes_8h.html" title="llvm/DerivedTypes.h" alt="" coords="515,316,661,343"/>
+<area shape="rect" href="$Attributes_8h.html" title="llvm/Attributes.h" alt="" coords="1895,393,2020,420"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsISelDAGToDAG_8cpp__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsISelDAGToDAG_8cpp__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsISelDAGToDAG_8cpp__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsISelDAGToDAG_8cpp__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+9ed945305e7283a220592b1a22c12e5d
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,1480 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsISelLowering.cpp File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Defines</a> |
+<a href="#func-members">Functions</a> |
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">MipsISelLowering.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="MipsISelLowering_8h_source.html">MipsISelLowering.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsMachineFunction_8h_source.html">MipsMachineFunction.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsTargetMachine_8h_source.html">MipsTargetMachine.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsTargetObjectFile_8h_source.html">MipsTargetObjectFile.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsSubtarget_8h_source.html">MipsSubtarget.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsInstPrinter_8h_source.html">InstPrinter/MipsInstPrinter.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsBaseInfo_8h_source.html">MCTargetDesc/MipsBaseInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="DerivedTypes_8h_source.html">llvm/DerivedTypes.h</a>"</code><br/>
+<code>#include "<a class="el" href="Function_8h_source.html">llvm/Function.h</a>"</code><br/>
+<code>#include "<a class="el" href="GlobalVariable_8h_source.html">llvm/GlobalVariable.h</a>"</code><br/>
+<code>#include "<a class="el" href="Intrinsics_8h_source.html">llvm/Intrinsics.h</a>"</code><br/>
+<code>#include "<a class="el" href="CallingConv_8h_source.html">llvm/CallingConv.h</a>"</code><br/>
+<code>#include "<a class="el" href="Statistic_8h_source.html">llvm/ADT/Statistic.h</a>"</code><br/>
+<code>#include "<a class="el" href="CallingConvLower_8h_source.html">llvm/CodeGen/CallingConvLower.h</a>"</code><br/>
+<code>#include "<a class="el" href="MachineFrameInfo_8h_source.html">llvm/CodeGen/MachineFrameInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="MachineFunction_8h_source.html">llvm/CodeGen/MachineFunction.h</a>"</code><br/>
+<code>#include "<a class="el" href="MachineInstrBuilder_8h_source.html">llvm/CodeGen/MachineInstrBuilder.h</a>"</code><br/>
+<code>#include "<a class="el" href="MachineRegisterInfo_8h_source.html">llvm/CodeGen/MachineRegisterInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="SelectionDAGISel_8h_source.html">llvm/CodeGen/SelectionDAGISel.h</a>"</code><br/>
+<code>#include "<a class="el" href="ValueTypes_8h_source.html">llvm/CodeGen/ValueTypes.h</a>"</code><br/>
+<code>#include "<a class="el" href="CommandLine_8h_source.html">llvm/Support/CommandLine.h</a>"</code><br/>
+<code>#include "<a class="el" href="Debug_8h_source.html">llvm/Support/Debug.h</a>"</code><br/>
+<code>#include "<a class="el" href="ErrorHandling_8h_source.html">llvm/Support/ErrorHandling.h</a>"</code><br/>
+<code>#include "<a class="el" href="raw__ostream_8h_source.html">llvm/Support/raw_ostream.h</a>"</code><br/>
+<code>#include "MipsGenCallingConv.inc"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for MipsISelLowering.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsISelLowering_8cpp__incl.png" border="0" usemap="#MipsISelLowering_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="MipsISelLowering_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">DEBUG_TYPE</a>   "mips-lower"</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a196a1536c823a1875d7c17609a441286">STATISTIC</a> (NumTailCalls,"Number of tail <a class="el" href="Scalar_2SimplifyLibCalls_8cpp.html#a4c349cd4b664546b9b9eef619d58c12d">calls</a>")</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a8d2bbcfbc6432568700ef066166c0be4">IsShiftedMask</a> (uint64_t I, uint64_t &Pos, uint64_t &Size)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a19d903c0b5d0c2a832b04de61dd9fbb0">GetGlobalReg</a> (<a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="structllvm_1_1EVT.html">EVT</a> Ty)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#afe2154b4c5714e56c4f8d642a6e79fa8">getTargetNode</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="classunsigned.html">unsigned</a> Flag)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a8f34af914aedb9b23cb7bbb6b5aaf23b">getAddrNonPIC</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a7035b5019b60209fffdcf6849fe6f3d5">getAddrLocal</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> HasMips64)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#ae4e031f8c12b222b009c0d9535757966">getAddrGlobal</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="classunsigned.html">unsigned</a> Flag)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#adcc2f5494c2c3f216b3cc82f4af11484">getAddrGlobalLargeGOT</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="classunsigned.html">unsigned</a> HiFlag, <a class="el" href="classunsigned.html">unsigned</a> LoFlag)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#af5cc24dfcd38340721c354ed37ee2966">SelectMadd</a> (<a class="el" href="classllvm_1_1SDNode.html">SDNode</a> *ADDENode, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> *CurDAG)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a09504b755c31162c83600b4ab27b50a6">SelectMsub</a> (<a class="el" href="classllvm_1_1SDNode.html">SDNode</a> *SUBENode, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> *CurDAG)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a3720c044b63928d36430b8a5063232ec">PerformADDECombine</a> (<a class="el" href="classllvm_1_1SDNode.html">SDNode</a> *N, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> &DCI, const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> *Subtarget)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#ad15e7d2cf3ebc565194185eeb52ec83a">PerformSUBECombine</a> (<a class="el" href="classllvm_1_1SDNode.html">SDNode</a> *N, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> &DCI, const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> *Subtarget)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a0364d5094ff03febf9f06010e7fed3ae">PerformDivRemCombine</a> (<a class="el" href="classllvm_1_1SDNode.html">SDNode</a> *N, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> &DCI, const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> *Subtarget)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacellvm_1_1Mips.html#a4621ee6b454fcf07b8903cb0a786e359">Mips::CondCode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a5ae3bbf07b404fd51e10e56564b5d578">FPCondCCodeToFCC</a> (<a class="el" href="namespacellvm_1_1ISD.html#ac3c3cf58d6d631af6a172457304d3d07">ISD::CondCode</a> CC)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a1012198480c811405252b8feadf58cd8">InvertFPCondCode</a> (<a class="el" href="namespacellvm_1_1Mips.html#a4621ee6b454fcf07b8903cb0a786e359">Mips::CondCode</a> CC)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#aa77a206400236173246086543575c8d4">CreateFPCmp</a> (<a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, const <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> &Op)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a3168740a31092ff844252d2c658af1af">CreateCMovFP</a> (<a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Cond, <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> True, <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> False, <a class="el" href="classllvm_1_1DebugLoc.html">DebugLoc</a> DL)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#ace7228b06fd1fd4d67adc0b334d5d7df">PerformSELECTCombine</a> (<a class="el" href="classllvm_1_1SDNode.html">SDNode</a> *N, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> &DCI, const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> *Subtarget)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a98c6dbc5cf3c4780de8d57b0fc3d07be">PerformANDCombine</a> (<a class="el" href="classllvm_1_1SDNode.html">SDNode</a> *N, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> &DCI, const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> *Subtarget)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a20a6d00517ec29392cdaed377de8f414">PerformORCombine</a> (<a class="el" href="classllvm_1_1SDNode.html">SDNode</a> *N, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> &DCI, const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> *Subtarget)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a42f0b8487b009dea8aac910e5542f9dd">PerformADDCombine</a> (<a class="el" href="classllvm_1_1SDNode.html">SDNode</a> *N, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> &DCI, const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> *Subtarget)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classunsigned.html">unsigned</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a8943933b6606cec6f9ee0859198f4eed">AddLiveIn</a> (<a class="el" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF, <a class="el" href="classunsigned.html">unsigned</a> PReg, const <a class="el" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a> *RC)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="namespacellvm_1_1Mips.html#a62b63bd991ec2b44573987ab4e0b37c8">Mips::FPBranchCode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a07301e5012b755a087f5edc00d68a8a8">GetFPBranchCodeFromCond</a> (<a class="el" href="namespacellvm_1_1Mips.html#a4621ee6b454fcf07b8903cb0a786e359">Mips::CondCode</a> CC)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a32fe2993676f008abe279bfa3b9e8533">LowerFCOPYSIGN32</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> HasR2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a39eacde0b4f436b01c132783ecafe2fa">LowerFCOPYSIGN64</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> HasR2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a4c30799525bbe15eca41471f273f6895">LowerFABS32</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> HasR2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#ab5ff020fcf1a0fbce308525aa995d783">LowerFABS64</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> HasR2)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a1700c8244878beb6a64fd0496344d975">CreateLoadLR</a> (<a class="el" href="classunsigned.html">unsigned</a> Opc, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="classllvm_1_1LoadSDNode.html">LoadSDNode</a> *LD, <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Chain, <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Src, <a class="el" href="classunsigned.html">unsigned</a> Offset)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a95bb1d9e110fd4330b5014f01c7bea9b">CreateStoreLR</a> (<a class="el" href="classunsigned.html">unsigned</a> Opc, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="classllvm_1_1StoreSDNode.html">StoreSDNode</a> *SD, <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Chain, <a class="el" href="classunsigned.html">unsigned</a> Offset)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#ae0bd18fac486df823262ee4994412101">LowerDSPIntr</a> (<a class="el" href="classllvm_1_1SDValue.html">SDValue</a> Op, <a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> &DAG, <a class="el" href="classunsigned.html">unsigned</a> Opc, <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> HasI64In, <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> HasI64Out)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a7bacd5c9d7bc7b81a3cda3771a203c27">CC_MipsO32</a> (<a class="el" href="classunsigned.html">unsigned</a> ValNo, <a class="el" href="classllvm_1_1MVT.html">MVT</a> ValVT, <a class="el" href="classllvm_1_1MVT.html">MVT</a> LocVT, <a class="el" href="classllvm_1_1CCValAssign.html#a2b78fd53da0b5df7bc4eacf7df556a45">CCValAssign::LocInfo</a> LocInfo, <a class="el" href="structllvm_1_1ISD_1_1ArgFlagsTy.html">ISD::ArgFlagsTy</a> ArgFlags, <a class="el" href="classllvm_1_1CCState.html">CCState</a> &State)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classunsigned.html">unsigned</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a0746e6c3ef6f88e787ae9b6108e76c4c">getNextIntArgReg</a> (<a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a>)</td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1cl_1_1opt.html">cl::opt</a>< <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a15236d656a7aa19c06ed5a40fecef025">EnableMipsTailCalls</a> ("enable-mips-tail-<a class="el" href="Scalar_2SimplifyLibCalls_8cpp.html#a4c349cd4b664546b9b9eef619d58c12d">calls</a>", cl::Hidden, <a class="el" href="structllvm_1_1cl_1_1desc.html">cl::desc</a>("MIPS: Enable tail calls."), cl::init(<a class="el" href="SimplifyInstructions_8cpp.html#a6dd713bd88673625bb181528a61bdc85">false</a>))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1cl_1_1opt.html">cl::opt</a>< <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a3e4f3cb36e9223fa784df0728750f330">LargeGOT</a> ("mxgot", cl::Hidden, <a class="el" href="structllvm_1_1cl_1_1desc.html">cl::desc</a>("MIPS: Enable GOT larger than 64k."), cl::init(false))</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a7682f349fd1f3d1b5cc7ccc167447e42">O32IntRegs</a> [4]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a5eaba982b515ec106e46c979933f3ba9">Mips64IntRegs</a> [8]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const uint16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#a7ee27d2d7e3605e1f1523a07d1e5f4c8">Mips64DPRegs</a> [8]</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classunsigned.html">unsigned</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsISelLowering_8cpp.html#abfb80c093b36786c66c003a61182f676">O32IntRegsSize</a> = 4</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ad78e062f62e0d6e453941fb4ca843e4d"></a><!-- doxytag: member="MipsISelLowering.cpp::DEBUG_TYPE" ref="ad78e062f62e0d6e453941fb4ca843e4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define DEBUG_TYPE   "mips-lower"</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00015">15</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a8943933b6606cec6f9ee0859198f4eed"></a><!-- doxytag: member="MipsISelLowering.cpp::AddLiveIn" ref="a8943933b6606cec6f9ee0859198f4eed" args="(MachineFunction &MF, unsigned PReg, const TargetRegisterClass *RC)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classunsigned.html">unsigned</a> AddLiveIn </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1MachineFunction.html">MachineFunction</a> & </td>
+          <td class="paramname"><em>MF</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>PReg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a> * </td>
+          <td class="paramname"><em>RC</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l01003">1003</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MachineRegisterInfo_8h_source.html#l00465">llvm::MachineRegisterInfo::addLiveIn()</a>, <a class="el" href="TargetRegisterInfo_8h_source.html#l00075">llvm::TargetRegisterClass::contains()</a>, <a class="el" href="MachineRegisterInfo_8cpp_source.html#l00098">llvm::MachineRegisterInfo::createVirtualRegister()</a>, and <a class="el" href="MachineFunction_8h_source.html#l00160">llvm::MachineFunction::getRegInfo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7bacd5c9d7bc7b81a3cda3771a203c27"></a><!-- doxytag: member="MipsISelLowering.cpp::CC_MipsO32" ref="a7bacd5c9d7bc7b81a3cda3771a203c27" args="(unsigned ValNo, MVT ValVT, MVT LocVT, CCValAssign::LocInfo LocInfo, ISD::ArgFlagsTy ArgFlags, CCState &State)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> CC_MipsO32 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>ValNo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1MVT.html">MVT</a> </td>
+          <td class="paramname"><em>ValVT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1MVT.html">MVT</a> </td>
+          <td class="paramname"><em>LocVT</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1CCValAssign.html#a2b78fd53da0b5df7bc4eacf7df556a45">CCValAssign::LocInfo</a> </td>
+          <td class="paramname"><em>LocInfo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structllvm_1_1ISD_1_1ArgFlagsTy.html">ISD::ArgFlagsTy</a> </td>
+          <td class="paramname"><em>ArgFlags</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1CCState.html">CCState</a> & </td>
+          <td class="paramname"><em>State</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l02573">2573</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="CallingConvLower_8h_source.html#l00177">llvm::CCState::addLoc()</a>, <a class="el" href="CallingConvLower_8h_source.html#l00037">llvm::CCValAssign::AExt</a>, <a class="el" href="CallingConvLower_8h_source.html#l00243">llvm::CCState::AllocateReg()</a>, <a class="el" href="CallingConvLower_8h_source.html#l00287">llvm::CCState::AllocateStack()</a>, <a class="el" href="ValueTypes_8h_source.html#l00050">llvm::MVT::f32</a>, <a class="el" href="ValueTypes_8h_source.html#l00051">llvm::MVT::f64</a>, <a class="el" href="CallingConvLower_8h_source.html#l00233">llvm::CCState::getFirstUnallocated()</a>, <a class="el" href="CallingConvLower_8h_source.html#l00091">llvm::CCValAssign::getMem()</a>, <a class="el" href="TargetCallingConv_8h_source.html#l00084">llvm::ISD::ArgFlagsTy::getOrigAlign()</a>, <a class="el" href="CallingConvLower_8h_source.html#l00068">llvm::CCValAssign::getReg()</a>, <a class="el" href="ValueTypes_8h_source.html#l00324">llvm::MVT::ge
 tSizeInBits()</a>, <a class="el" href="ValueTypes_8h_source.html#l00041">llvm::MVT::i16</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="ValueTypes_8h_source.html#l00040">llvm::MVT::i8</a>, <a class="el" href="TargetCallingConv_8h_source.html#l00066">llvm::ISD::ArgFlagsTy::isByVal()</a>, <a class="el" href="ValueTypes_8h_source.html#l00163">llvm::MVT::isFloatingPoint()</a>, <a class="el" href="TargetCallingConv_8h_source.html#l00057">llvm::ISD::ArgFlagsTy::isSExt()</a>, <a class="el" href="CallingConvLower_8h_source.html#l00185">llvm::CCState::isVarArg()</a>, <a class="el" href="TargetCallingConv_8h_source.html#l00054">llvm::ISD::ArgFlagsTy::isZExt()</a>, <a class="el" href="ErrorHandling_8h_source.html#l00098">llvm_unreachable</a>, <a class="el" href="CallingConvLower_8h_source.html#l00035">llvm::CCValAssign::SExt</a>, and <a class="el" href="CallingConvLower_8h_source.html#l00036">llvm::CCValAssign::ZExt</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3168740a31092ff844252d2c658af1af"></a><!-- doxytag: member="MipsISelLowering.cpp::CreateCMovFP" ref="a3168740a31092ff844252d2c658af1af" args="(SelectionDAG &DAG, SDValue Cond, SDValue True, SDValue False, DebugLoc DL)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> CreateCMovFP </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Cond</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>True</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>False</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1DebugLoc.html">DebugLoc</a> </td>
+          <td class="paramname"><em>DL</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00751">751</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MipsISelLowering_8h_source.html#l00058">llvm::MipsISD::CMovFP_F</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00057">llvm::MipsISD::CMovFP_T</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, and <a class="el" href="MipsISelLowering_8cpp_source.html#l00717">InvertFPCondCode()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa77a206400236173246086543575c8d4"></a><!-- doxytag: member="MipsISelLowering.cpp::CreateFPCmp" ref="aa77a206400236173246086543575c8d4" args="(SelectionDAG &DAG, const SDValue &Op)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> CreateFPCmp </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> & </td>
+          <td class="paramname"><em>Op</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00729">729</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MipsISelLowering_8h_source.html#l00054">llvm::MipsISD::FPCmp</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00689">FPCondCCodeToFCC()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00771">llvm::SDValue::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="ValueTypes_8h_source.html#l00100">llvm::MVT::Glue</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="ValueTypes_8h_source.html#l00562">llvm::EVT::isFloatingPoint()</a>
 , and <a class="el" href="ISDOpcodes_8h_source.html#l00349">llvm::ISD::SETCC</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1700c8244878beb6a64fd0496344d975"></a><!-- doxytag: member="MipsISelLowering.cpp::CreateLoadLR" ref="a1700c8244878beb6a64fd0496344d975" args="(unsigned Opc, SelectionDAG &DAG, LoadSDNode *LD, SDValue Chain, SDValue Src, unsigned Offset)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> CreateLoadLR </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>Opc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1LoadSDNode.html">LoadSDNode</a> * </td>
+          <td class="paramname"><em>LD</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Chain</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Src</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>Offset</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l02256">2256</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00188">llvm::ISD::ADD</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l01642">llvm::LoadSDNode::getBasePtr()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00417">llvm::SDNode::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l04131">llvm::SelectionDAG::getMemIntrinsicNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00951">llvm::MemSDNode::getMemOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00947">llvm::MemSDNode::getMemoryVT()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00593">llvm::SDNode::getValueType()</a>, <a class="el" href="Selectio
 nDAG_8cpp_source.html#l04697">llvm::SelectionDAG::getVTList()</a>, and <a class="el" href="ValueTypes_8h_source.html#l00038">llvm::MVT::Other</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a95bb1d9e110fd4330b5014f01c7bea9b"></a><!-- doxytag: member="MipsISelLowering.cpp::CreateStoreLR" ref="a95bb1d9e110fd4330b5014f01c7bea9b" args="(unsigned Opc, SelectionDAG &DAG, StoreSDNode *SD, SDValue Chain, unsigned Offset)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> CreateStoreLR </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>Opc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1StoreSDNode.html">StoreSDNode</a> * </td>
+          <td class="paramname"><em>SD</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Chain</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>Offset</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l02335">2335</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00188">llvm::ISD::ADD</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l01672">llvm::StoreSDNode::getBasePtr()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00417">llvm::SDNode::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l04131">llvm::SelectionDAG::getMemIntrinsicNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00951">llvm::MemSDNode::getMemOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00947">llvm::MemSDNode::getMemoryVT()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l01671">llvm::StoreSDNode::getValue()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="Select
 ionDAG_8cpp_source.html#l04697">llvm::SelectionDAG::getVTList()</a>, and <a class="el" href="ValueTypes_8h_source.html#l00038">llvm::MVT::Other</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5ae3bbf07b404fd51e10e56564b5d578"></a><!-- doxytag: member="MipsISelLowering.cpp::FPCondCCodeToFCC" ref="a5ae3bbf07b404fd51e10e56564b5d578" args="(ISD::CondCode CC)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="namespacellvm_1_1Mips.html#a4621ee6b454fcf07b8903cb0a786e359">Mips::CondCode</a> FPCondCCodeToFCC </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacellvm_1_1ISD.html#ac3c3cf58d6d631af6a172457304d3d07">ISD::CondCode</a> </td>
+          <td class="paramname"><em>CC</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00689">689</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MipsInstPrinter_8h_source.html#l00037">llvm::Mips::FCOND_OEQ</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00060">llvm::Mips::FCOND_OGE</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00062">llvm::Mips::FCOND_OGT</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00041">llvm::Mips::FCOND_OLE</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00039">llvm::Mips::FCOND_OLT</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00058">llvm::Mips::FCOND_ONE</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00056">llvm::Mips::FCOND_OR</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00038">llvm::Mips::FCOND_UEQ</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00059">llvm::Mips::FCOND_UGE</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00061">llvm::Mips::FCOND_UGT</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00042">llvm::Mips::FCOND_ULE</a>, <a class="el" href="MipsInstPr
 inter_8h_source.html#l00040">llvm::Mips::FCOND_ULT</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00036">llvm::Mips::FCOND_UN</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00057">llvm::Mips::FCOND_UNE</a>, <a class="el" href="ErrorHandling_8h_source.html#l00098">llvm_unreachable</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00744">llvm::ISD::SETEQ</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00746">llvm::ISD::SETGE</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00745">llvm::ISD::SETGT</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00748">llvm::ISD::SETLE</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00747">llvm::ISD::SETLT</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00749">llvm::ISD::SETNE</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00733">llvm::ISD::SETO</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00727">llvm::ISD::SETOEQ</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00729">llvm::ISD::SETOGE</a>
 , <a class="el" href="ISDOpcodes_8h_source.html#l00728">llvm::ISD::SETOGT</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00731">llvm::ISD::SETOLE</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00730">llvm::ISD::SETOLT</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00732">llvm::ISD::SETONE</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00735">llvm::ISD::SETUEQ</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00737">llvm::ISD::SETUGE</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00736">llvm::ISD::SETUGT</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00739">llvm::ISD::SETULE</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00738">llvm::ISD::SETULT</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00740">llvm::ISD::SETUNE</a>, and <a class="el" href="ISDOpcodes_8h_source.html#l00734">llvm::ISD::SETUO</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00729">CreateFPCmp()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae4e031f8c12b222b009c0d9535757966"></a><!-- doxytag: member="MipsISelLowering.cpp::getAddrGlobal" ref="ae4e031f8c12b222b009c0d9535757966" args="(SDValue Op, SelectionDAG &DAG, unsigned Flag)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> getAddrGlobal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>Flag</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00128">128</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00293">llvm::SelectionDAG::getEntryNode()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00079">GetGlobalReg()</a>, <a class="el" href="MachineInstr_8cpp_source.html#l00413">llvm::MachinePointerInfo::getGOT()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l04316">llvm::SelectionDAG::getLoad()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00084">getTargetNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, and <a class="el" href="MipsISelLowering_8h_source.html#l00079">llvm::MipsISD::Wrapper</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="adcc2f5494c2c3f216b3cc82f4af11484"></a><!-- doxytag: member="MipsISelLowering.cpp::getAddrGlobalLargeGOT" ref="adcc2f5494c2c3f216b3cc82f4af11484" args="(SDValue Op, SelectionDAG &DAG, unsigned HiFlag, unsigned LoFlag)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> getAddrGlobalLargeGOT </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>HiFlag</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>LoFlag</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00137">137</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00188">llvm::ISD::ADD</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00293">llvm::SelectionDAG::getEntryNode()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00079">GetGlobalReg()</a>, <a class="el" href="MachineInstr_8cpp_source.html#l00413">llvm::MachinePointerInfo::getGOT()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l04316">llvm::SelectionDAG::getLoad()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00084">getTargetNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="SPUISelLowering_8h_source.html#l00031">llvm::SPUISD::Hi</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00038">llvm::MipsISD::Hi</a>, <
 a class="el" href="ARMISelLowering_8h_source.html#l00036">llvm::ARMISD::Wrapper</a>, and <a class="el" href="MipsISelLowering_8h_source.html#l00079">llvm::MipsISD::Wrapper</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7035b5019b60209fffdcf6849fe6f3d5"></a><!-- doxytag: member="MipsISelLowering.cpp::getAddrLocal" ref="a7035b5019b60209fffdcf6849fe6f3d5" args="(SDValue Op, SelectionDAG &DAG, bool HasMips64)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> getAddrLocal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td>
+          <td class="paramname"><em>HasMips64</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00114">114</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00188">llvm::ISD::ADD</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00293">llvm::SelectionDAG::getEntryNode()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00079">GetGlobalReg()</a>, <a class="el" href="MachineInstr_8cpp_source.html#l00413">llvm::MachinePointerInfo::getGOT()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l04316">llvm::SelectionDAG::getLoad()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00084">getTargetNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="ARMConstantPoolValue_8h_source.html#l00041">llvm::ARMCP::GOT</a>, <a class="el" href="SPUISelLowering_8h_source.html#l00032">llvm::SPUISD::Lo</a>
 , <a class="el" href="MipsISelLowering_8h_source.html#l00042">llvm::MipsISD::Lo</a>, <a class="el" href="SparcInstrInfo_8h_source.html#l00031">llvm::SPII::Load</a>, <a class="el" href="MipsBaseInfo_8h_source.html#l00054">llvm::MipsII::MO_ABS_LO</a>, <a class="el" href="MipsBaseInfo_8h_source.html#l00039">llvm::MipsII::MO_GOT</a>, <a class="el" href="MipsBaseInfo_8h_source.html#l00082">llvm::MipsII::MO_GOT_OFST</a>, <a class="el" href="MipsBaseInfo_8h_source.html#l00081">llvm::MipsII::MO_GOT_PAGE</a>, and <a class="el" href="MipsISelLowering_8h_source.html#l00079">llvm::MipsISD::Wrapper</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8f34af914aedb9b23cb7bbb6b5aaf23b"></a><!-- doxytag: member="MipsISelLowering.cpp::getAddrNonPIC" ref="a8f34af914aedb9b23cb7bbb6b5aaf23b" args="(SDValue Op, SelectionDAG &DAG)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> getAddrNonPIC </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00104">104</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00188">llvm::ISD::ADD</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00084">getTargetNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="SPUISelLowering_8h_source.html#l00031">llvm::SPUISD::Hi</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00038">llvm::MipsISD::Hi</a>, <a class="el" href="SPUISelLowering_8h_source.html#l00032">llvm::SPUISD::Lo</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00042">llvm::MipsISD::Lo</a>, <a class="el" href="MipsBaseInfo_8h_source.html#l00053">llvm::MipsII::MO_ABS_HI</a>, and <a class="el" href="MipsBaseInfo_8h_source.html#l00054">llvm::MipsII::MO_ABS_LO</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a07301e5012b755a087f5edc00d68a8a8"></a><!-- doxytag: member="MipsISelLowering.cpp::GetFPBranchCodeFromCond" ref="a07301e5012b755a087f5edc00d68a8a8" args="(Mips::CondCode CC)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="namespacellvm_1_1Mips.html#a62b63bd991ec2b44573987ab4e0b37c8">Mips::FPBranchCode</a> GetFPBranchCodeFromCond </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacellvm_1_1Mips.html#a4621ee6b454fcf07b8903cb0a786e359">Mips::CondCode</a> </td>
+          <td class="paramname"><em>CC</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l01012">1012</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MipsInstPrinter_8h_source.html#l00025">llvm::Mips::BRANCH_F</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00026">llvm::Mips::BRANCH_T</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00035">llvm::Mips::FCOND_F</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00070">llvm::Mips::FCOND_GT</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00050">llvm::Mips::FCOND_NGT</a>, and <a class="el" href="MipsInstPrinter_8h_source.html#l00055">llvm::Mips::FCOND_T</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a19d903c0b5d0c2a832b04de61dd9fbb0"></a><!-- doxytag: member="MipsISelLowering.cpp::GetGlobalReg" ref="a19d903c0b5d0c2a832b04de61dd9fbb0" args="(SelectionDAG &DAG, EVT Ty)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> GetGlobalReg </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structllvm_1_1EVT.html">EVT</a> </td>
+          <td class="paramname"><em>Ty</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00079">79</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MipsMachineFunction_8cpp_source.html#l00029">llvm::MipsFunctionInfo::getGlobalBaseReg()</a>, <a class="el" href="MachineFunction_8h_source.html#l00218">llvm::MachineFunction::getInfo()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00242">llvm::SelectionDAG::getMachineFunction()</a>, and <a class="el" href="SelectionDAG_8cpp_source.html#l01423">llvm::SelectionDAG::getRegister()</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00128">getAddrGlobal()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00137">getAddrGlobalLargeGOT()</a>, and <a class="el" href="MipsISelLowering_8cpp_source.html#l00114">getAddrLocal()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0746e6c3ef6f88e787ae9b6108e76c4c"></a><!-- doxytag: member="MipsISelLowering.cpp::getNextIntArgReg" ref="a0746e6c3ef6f88e787ae9b6108e76c4c" args="(unsigned Reg)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classunsigned.html">unsigned</a> getNextIntArgReg </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>Reg</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l02665">2665</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="afe2154b4c5714e56c4f8d642a6e79fa8"></a><!-- doxytag: member="MipsISelLowering.cpp::getTargetNode" ref="afe2154b4c5714e56c4f8d642a6e79fa8" args="(SDValue Op, SelectionDAG &DAG, unsigned Flag)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> getTargetNode </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>Flag</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00084">84</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00442">llvm::SelectionDAG::getTargetBlockAddress()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00412">llvm::SelectionDAG::getTargetConstantPool()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l01271">llvm::SelectionDAG::getTargetExternalSymbol()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00395">llvm::SelectionDAG::getTargetGlobalAddress()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00406">llvm::SelectionDAG::getTargetJumpTable()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="ErrorHandling_8h_source.html#l00098">llvm_unreachable</a>, and <a class="el" href="regcomp_8c.html#a0240ac851181b84ac374872dc5434ee4">N</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00128">getAddrGlobal()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00137">getAddrGlobalLargeGOT()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00114">getAddrLocal()</a>, and <a class="el" href="MipsISelLowering_8cpp_source.html#l00104">getAddrNonPIC()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a1012198480c811405252b8feadf58cd8"></a><!-- doxytag: member="MipsISelLowering.cpp::InvertFPCondCode" ref="a1012198480c811405252b8feadf58cd8" args="(Mips::CondCode CC)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> InvertFPCondCode </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="namespacellvm_1_1Mips.html#a4621ee6b454fcf07b8903cb0a786e359">Mips::CondCode</a> </td>
+          <td class="paramname"><em>CC</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00717">717</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MipsInstPrinter_8h_source.html#l00035">llvm::Mips::FCOND_F</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00070">llvm::Mips::FCOND_GT</a>, <a class="el" href="MipsInstPrinter_8h_source.html#l00050">llvm::Mips::FCOND_NGT</a>, and <a class="el" href="MipsInstPrinter_8h_source.html#l00055">llvm::Mips::FCOND_T</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00751">CreateCMovFP()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8d2bbcfbc6432568700ef066166c0be4"></a><!-- doxytag: member="MipsISelLowering.cpp::IsShiftedMask" ref="a8d2bbcfbc6432568700ef066166c0be4" args="(uint64_t I, uint64_t &Pos, uint64_t &Size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> IsShiftedMask </td>
+          <td>(</td>
+          <td class="paramtype">uint64_t </td>
+          <td class="paramname"><em>I</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint64_t & </td>
+          <td class="paramname"><em>Pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">uint64_t & </td>
+          <td class="paramname"><em>Size</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00070">70</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MathExtras_8h_source.html#l00311">llvm::CountPopulation_64()</a>, <a class="el" href="MathExtras_8h_source.html#l00273">llvm::CountTrailingZeros_64()</a>, and <a class="el" href="MathExtras_8h_source.html#l00122">llvm::isShiftedMask_64()</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00794">PerformANDCombine()</a>, and <a class="el" href="MipsISelLowering_8cpp_source.html#l00834">PerformORCombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae0bd18fac486df823262ee4994412101"></a><!-- doxytag: member="MipsISelLowering.cpp::LowerDSPIntr" ref="ae0bd18fac486df823262ee4994412101" args="(SDValue Op, SelectionDAG &DAG, unsigned Opc, bool HasI64In, bool HasI64Out)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> LowerDSPIntr </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classunsigned.html">unsigned</a> </td>
+          <td class="paramname"><em>Opc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td>
+          <td class="paramname"><em>HasI64In</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td>
+          <td class="paramname"><em>HasI64Out</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l02400">2400</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="SmallVector_8h_source.html#l00439">llvm::SmallVectorImpl< T >::append()</a>, <a class="el" href="SmallVector_8h_source.html#l00111">llvm::SmallVectorTemplateCommon< T >::begin()</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00178">llvm::ISD::BUILD_PAIR</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00172">llvm::ISD::EXTRACT_ELEMENT</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00471">llvm::SelectionDAG::getCopyFromReg()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00448">llvm::SelectionDAG::getCopyToReg()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00293">llvm::SelectionDAG::getEntryNode()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l04117">llvm::SelectionDAG::getMergeValues()</a>, <a class="e
 l" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00122">llvm::SDValue::getValue()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l04697">llvm::SelectionDAG::getVTList()</a>, <a class="el" href="ValueTypes_8h_source.html#l00100">llvm::MVT::Glue</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00038">llvm::ARMCC::HI</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="ValueTypes_8h_source.html#l00043">llvm::MVT::i64</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00033">llvm::ARMCC::LO</a>, <a class="el" href="ValueTypes_8h_source.html#l00038">llvm::MVT::Other</a>, <a class="el" href="SmallVector_8h_source.html#l00231">llvm::SmallVectorTemplat
 eBase< T, isPodLike< T >::value >::push_back()</a>, and <a class="el" href="SmallVector_8h_source.html#l00126">llvm::SmallVectorTemplateCommon< T >::size()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a4c30799525bbe15eca41471f273f6895"></a><!-- doxytag: member="MipsISelLowering.cpp::LowerFABS32" ref="a4c30799525bbe15eca41471f273f6895" args="(SDValue Op, SelectionDAG &DAG, bool HasR2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> LowerFABS32 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td>
+          <td class="paramname"><em>HasR2</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l02076">2076</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00430">llvm::ISD::BITCAST</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00076">llvm::MipsISD::BuildPairF64</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00077">llvm::MipsISD::ExtractElementF64</a>, <a class="el" href="ValueTypes_8h_source.html#l00050">llvm::MVT::f32</a>, <a class="el" href="ValueTypes_8h_source.html#l00051">llvm::MVT::f64</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l01423">llvm::SelectionDAG::getRegister()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getVal
 ueType()</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00086">llvm::MipsISD::Ins</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SHL</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SRL</a>, and <a class="el" href="namespacellvm.html#a6569d00d31a5d74e563e2f39f82271ab">llvm::X</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ab5ff020fcf1a0fbce308525aa995d783"></a><!-- doxytag: member="MipsISelLowering.cpp::LowerFABS64" ref="ab5ff020fcf1a0fbce308525aa995d783" args="(SDValue Op, SelectionDAG &DAG, bool HasR2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> LowerFABS64 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td>
+          <td class="paramname"><em>HasR2</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l02105">2105</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00430">llvm::ISD::BITCAST</a>, <a class="el" href="ValueTypes_8h_source.html#l00051">llvm::MVT::f64</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l01423">llvm::SelectionDAG::getRegister()</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="ValueTypes_8h_source.html#l00043">llvm::MVT::i64</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00086">llvm::MipsISD::Ins</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SHL</a>, <a class="el" href="ISDOpcodes_8h_source.
 html#l00316">llvm::ISD::SRL</a>, and <a class="el" href="namespacellvm.html#a6569d00d31a5d74e563e2f39f82271ab">llvm::X</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a32fe2993676f008abe279bfa3b9e8533"></a><!-- doxytag: member="MipsISelLowering.cpp::LowerFCOPYSIGN32" ref="a32fe2993676f008abe279bfa3b9e8533" args="(SDValue Op, SelectionDAG &DAG, bool HasR2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> LowerFCOPYSIGN32 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td>
+          <td class="paramname"><em>HasR2</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l01975">1975</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00430">llvm::ISD::BITCAST</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00076">llvm::MipsISD::BuildPairF64</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00085">llvm::MipsISD::Ext</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00077">llvm::MipsISD::ExtractElementF64</a>, <a class="el" href="ValueTypes_8h_source.html#l00050">llvm::MVT::f32</a>, <a class="el" href="ValueTypes_8h_source.html#l00051">llvm::MVT::f64</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>,
  <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00086">llvm::MipsISD::Ins</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00307">llvm::ISD::OR</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SHL</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SRL</a>, <a class="el" href="namespacellvm.html#a6569d00d31a5d74e563e2f39f82271ab">llvm::X</a>, and <a class="el" href="OcamlGCPrinter_8cpp.html#a1bdbcdc4205781eefd549946d40ff378">Y</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a39eacde0b4f436b01c132783ecafe2fa"></a><!-- doxytag: member="MipsISelLowering.cpp::LowerFCOPYSIGN64" ref="a39eacde0b4f436b01c132783ecafe2fa" args="(SDValue Op, SelectionDAG &DAG, bool HasR2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> LowerFCOPYSIGN64 </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDValue.html">SDValue</a> </td>
+          <td class="paramname"><em>Op</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> </td>
+          <td class="paramname"><em>HasR2</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l02020">2020</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00430">llvm::ISD::BITCAST</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00085">llvm::MipsISD::Ext</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00804">llvm::SDValue::getDebugLoc()</a>, <a class="el" href="ValueTypes_8h_source.html#l00409">llvm::MVT::getIntegerVT()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00135">llvm::SDValue::getValueSizeInBits()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00097">llvm::ARM_PROC::I</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>,
  <a class="el" href="MipsISelLowering_8h_source.html#l00086">llvm::MipsISD::Ins</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00307">llvm::ISD::OR</a>, <a class="el" href="APInt_8h_source.html#l01765">llvm::APIntOps::Or()</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SHL</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SRL</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00373">llvm::ISD::TRUNCATE</a>, <a class="el" href="namespacellvm.html#a6569d00d31a5d74e563e2f39f82271ab">llvm::X</a>, <a class="el" href="OcamlGCPrinter_8cpp.html#a1bdbcdc4205781eefd549946d40ff378">Y</a>, and <a class="el" href="ISDOpcodes_8h_source.html#l00367">llvm::ISD::ZERO_EXTEND</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a42f0b8487b009dea8aac910e5542f9dd"></a><!-- doxytag: member="MipsISelLowering.cpp::PerformADDCombine" ref="a42f0b8487b009dea8aac910e5542f9dd" args="(SDNode *N, SelectionDAG &DAG, TargetLowering::DAGCombinerInfo &DCI, const MipsSubtarget *Subtarget)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> PerformADDCombine </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDNode.html">SDNode</a> * </td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> & </td>
+          <td class="paramname"><em>DCI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> * </td>
+          <td class="paramname"><em>Subtarget</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00888">888</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00188">llvm::ISD::ADD</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00417">llvm::SDNode::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00771">llvm::SDValue::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00538">llvm::SDNode::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00593">llvm::SDNode::getValueType()</a>, <a class="el" href="TargetLowering_8h_source.html#l00952">llvm::TargetLowering::DAGCombinerInfo::isBeforeLegalizeOps()</a>, <a class="el" href="SPUISelLowering_8h_source.html#l00032">llvm::SPUISD::Lo</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00042">llvm::MipsISD::Lo</a>, and <a class="el" href="ISDOpcodes_8h_source.html#l
 00124">llvm::ISD::TargetJumpTable</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00915">llvm::MipsTargetLowering::PerformDAGCombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a3720c044b63928d36430b8a5063232ec"></a><!-- doxytag: member="MipsISelLowering.cpp::PerformADDECombine" ref="a3720c044b63928d36430b8a5063232ec" args="(SDNode *N, SelectionDAG &DAG, TargetLowering::DAGCombinerInfo &DCI, const MipsSubtarget *Subtarget)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> PerformADDECombine </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDNode.html">SDNode</a> * </td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> & </td>
+          <td class="paramname"><em>DCI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> * </td>
+          <td class="paramname"><em>Subtarget</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00626">626</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="SelectionDAGNodes_8h_source.html#l00593">llvm::SDNode::getValueType()</a>, <a class="el" href="MipsSubtarget_8h_source.html#l00124">llvm::MipsSubtarget::hasMips32()</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="TargetLowering_8h_source.html#l00951">llvm::TargetLowering::DAGCombinerInfo::isBeforeLegalize()</a>, and <a class="el" href="MipsISelLowering_8cpp_source.html#l00488">SelectMadd()</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00915">llvm::MipsTargetLowering::PerformDAGCombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a98c6dbc5cf3c4780de8d57b0fc3d07be"></a><!-- doxytag: member="MipsISelLowering.cpp::PerformANDCombine" ref="a98c6dbc5cf3c4780de8d57b0fc3d07be" args="(SDNode *N, SelectionDAG &DAG, TargetLowering::DAGCombinerInfo &DCI, const MipsSubtarget *Subtarget)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> PerformANDCombine </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDNode.html">SDNode</a> * </td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> & </td>
+          <td class="paramname"><em>DCI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> * </td>
+          <td class="paramname"><em>Subtarget</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00794">794</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MipsISelLowering_8h_source.html#l00085">llvm::MipsISD::Ext</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00417">llvm::SDNode::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00771">llvm::SDValue::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00538">llvm::SDNode::getOperand()</a>, <a class="el" href="ValueTypes_8h_source.html#l00690">llvm::EVT::getSizeInBits()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00593">llvm::SDNode::getValueType()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l01161">llvm::ConstantSDNode::getZExtValue()</a>, <a class="el" href="MipsSubtarget_8h_source
 .html#l00125">llvm::MipsSubtarget::hasMips32r2()</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="TargetLowering_8h_source.html#l00952">llvm::TargetLowering::DAGCombinerInfo::isBeforeLegalizeOps()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00070">IsShiftedMask()</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SRA</a>, and <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SRL</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00915">llvm::MipsTargetLowering::PerformDAGCombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a0364d5094ff03febf9f06010e7fed3ae"></a><!-- doxytag: member="MipsISelLowering.cpp::PerformDivRemCombine" ref="a0364d5094ff03febf9f06010e7fed3ae" args="(SDNode *N, SelectionDAG &DAG, TargetLowering::DAGCombinerInfo &DCI, const MipsSubtarget *Subtarget)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> PerformDivRemCombine </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDNode.html">SDNode</a> * </td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> & </td>
+          <td class="paramname"><em>DCI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> * </td>
+          <td class="paramname"><em>Subtarget</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00652">652</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="MipsISelLowering_8h_source.html#l00073">llvm::MipsISD::DivRem</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00074">llvm::MipsISD::DivRemU</a>, <a class="el" href="SelectionDAG_8h_source.html#l00471">llvm::SelectionDAG::getCopyFromReg()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00417">llvm::SDNode::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00293">llvm::SelectionDAG::getEntryNode()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00363">llvm::SDNode::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00538">llvm::SDNode::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00122">llvm::SDValue::getValue()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00593">llvm::SDNode::getValueType()</a>, <a class="el" href="ValueTypes_8h_source.html#l
 00100">llvm::MVT::Glue</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l05852">llvm::SDNode::hasAnyUseOfValue()</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00038">llvm::ARMCC::HI</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="TargetLowering_8h_source.html#l00952">llvm::TargetLowering::DAGCombinerInfo::isBeforeLegalizeOps()</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00033">llvm::ARMCC::LO</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l05496">llvm::SelectionDAG::ReplaceAllUsesOfValueWith()</a>, and <a class="el" href="ISDOpcodes_8h_source.html#l00197">llvm::ISD::SDIVREM</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00915">llvm::MipsTargetLowering::PerformDAGCombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a20a6d00517ec29392cdaed377de8f414"></a><!-- doxytag: member="MipsISelLowering.cpp::PerformORCombine" ref="a20a6d00517ec29392cdaed377de8f414" args="(SDNode *N, SelectionDAG &DAG, TargetLowering::DAGCombinerInfo &DCI, const MipsSubtarget *Subtarget)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> PerformORCombine </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDNode.html">SDNode</a> * </td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> & </td>
+          <td class="paramname"><em>DCI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> * </td>
+          <td class="paramname"><em>Subtarget</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00834">834</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00307">llvm::ISD::AND</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00972">llvm::SelectionDAG::getConstant()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00417">llvm::SDNode::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00771">llvm::SDValue::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00538">llvm::SDNode::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l01162">llvm::ConstantSDNode::getSExtValue()</a>, <a class="el" href="ValueTypes_8h_source.html#l00690">llvm::EVT::getSizeInBits()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00593">llvm::SDNode::getValueType()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#
 l01161">llvm::ConstantSDNode::getZExtValue()</a>, <a class="el" href="MipsSubtarget_8h_source.html#l00125">llvm::MipsSubtarget::hasMips32r2()</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00086">llvm::MipsISD::Ins</a>, <a class="el" href="TargetLowering_8h_source.html#l00952">llvm::TargetLowering::DAGCombinerInfo::isBeforeLegalizeOps()</a>, <a class="el" href="MipsISelLowering_8cpp_source.html#l00070">IsShiftedMask()</a>, and <a class="el" href="ISDOpcodes_8h_source.html#l00316">llvm::ISD::SHL</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00915">llvm::MipsTargetLowering::PerformDAGCombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ace7228b06fd1fd4d67adc0b334d5d7df"></a><!-- doxytag: member="MipsISelLowering.cpp::PerformSELECTCombine" ref="ace7228b06fd1fd4d67adc0b334d5d7df" args="(SDNode *N, SelectionDAG &DAG, TargetLowering::DAGCombinerInfo &DCI, const MipsSubtarget *Subtarget)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> PerformSELECTCombine </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDNode.html">SDNode</a> * </td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> & </td>
+          <td class="paramname"><em>DCI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> * </td>
+          <td class="paramname"><em>Subtarget</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00761">761</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="Casting_8h_source.html#l00233">llvm::dyn_cast()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00417">llvm::SDNode::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00771">llvm::SDValue::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00780">llvm::SDValue::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00538">llvm::SDNode::getOperand()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00614">llvm::SelectionDAG::getSetCC()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l00245">llvm::ISD::getSetCCInverse()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00774">llvm::SDValue::getValueType()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l01161">llvm::ConstantSDNode::getZExtValue()</a>, <a class="el" href="TargetLowering_8h_source.html#l0
 0952">llvm::TargetLowering::DAGCombinerInfo::isBeforeLegalizeOps()</a>, <a class="el" href="ValueTypes_8h_source.html#l00567">llvm::EVT::isInteger()</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00326">llvm::ISD::SELECT</a>, and <a class="el" href="ISDOpcodes_8h_source.html#l00349">llvm::ISD::SETCC</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00915">llvm::MipsTargetLowering::PerformDAGCombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad15e7d2cf3ebc565194185eeb52ec83a"></a><!-- doxytag: member="MipsISelLowering.cpp::PerformSUBECombine" ref="ad15e7d2cf3ebc565194185eeb52ec83a" args="(SDNode *N, SelectionDAG &DAG, TargetLowering::DAGCombinerInfo &DCI, const MipsSubtarget *Subtarget)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1SDValue.html">SDValue</a> PerformSUBECombine </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDNode.html">SDNode</a> * </td>
+          <td class="paramname"><em>N</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> & </td>
+          <td class="paramname"><em>DAG</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="structllvm_1_1TargetLowering_1_1DAGCombinerInfo.html">TargetLowering::DAGCombinerInfo</a> & </td>
+          <td class="paramname"><em>DCI</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> * </td>
+          <td class="paramname"><em>Subtarget</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00639">639</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="SelectionDAGNodes_8h_source.html#l00593">llvm::SDNode::getValueType()</a>, <a class="el" href="MipsSubtarget_8h_source.html#l00124">llvm::MipsSubtarget::hasMips32()</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="TargetLowering_8h_source.html#l00951">llvm::TargetLowering::DAGCombinerInfo::isBeforeLegalize()</a>, and <a class="el" href="MipsISelLowering_8cpp_source.html#l00561">SelectMsub()</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00915">llvm::MipsTargetLowering::PerformDAGCombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af5cc24dfcd38340721c354ed37ee2966"></a><!-- doxytag: member="MipsISelLowering.cpp::SelectMadd" ref="af5cc24dfcd38340721c354ed37ee2966" args="(SDNode *ADDENode, SelectionDAG *CurDAG)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> SelectMadd </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDNode.html">SDNode</a> * </td>
+          <td class="paramname"><em>ADDENode</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> * </td>
+          <td class="paramname"><em>CurDAG</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00488">488</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="ISDOpcodes_8h_source.html#l00207">llvm::ISD::ADDC</a>, <a class="el" href="SelectionDAG_8h_source.html#l00471">llvm::SelectionDAG::getCopyFromReg()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00417">llvm::SDNode::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00293">llvm::SelectionDAG::getEntryNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00105">llvm::SDValue::getNode()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00771">llvm::SDValue::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00363">llvm::SDNode::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00538">llvm::SDNode::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00102">llvm::SDValue::getResNo()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l0012
 2">llvm::SDValue::getValue()</a>, <a class="el" href="ValueTypes_8h_source.html#l00100">llvm::MVT::Glue</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00801">llvm::SDValue::hasOneUse()</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00038">llvm::ARMCC::HI</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00033">llvm::ARMCC::LO</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00067">llvm::MipsISD::MAdd</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00068">llvm::MipsISD::MAddu</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l05496">llvm::SelectionDAG::ReplaceAllUsesOfValueWith()</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00193">llvm::ISD::SMUL_LOHI</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00193">llvm::ISD::UMUL_LOHI</a>, and <a class="el" href="SelectionDAGNodes_8h_source.html#l00798">llvm::SDValue::use_empty()</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00626">PerformADDECombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a09504b755c31162c83600b4ab27b50a6"></a><!-- doxytag: member="MipsISelLowering.cpp::SelectMsub" ref="a09504b755c31162c83600b4ab27b50a6" args="(SDNode *SUBENode, SelectionDAG *CurDAG)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> SelectMsub </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SDNode.html">SDNode</a> * </td>
+          <td class="paramname"><em>SUBENode</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1SelectionDAG.html">SelectionDAG</a> * </td>
+          <td class="paramname"><em>CurDAG</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00561">561</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+<p>References <a class="el" href="SelectionDAG_8h_source.html#l00471">llvm::SelectionDAG::getCopyFromReg()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00417">llvm::SDNode::getDebugLoc()</a>, <a class="el" href="SelectionDAG_8h_source.html#l00293">llvm::SelectionDAG::getEntryNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00105">llvm::SDValue::getNode()</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l02409">llvm::SelectionDAG::getNode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00771">llvm::SDValue::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00363">llvm::SDNode::getOpcode()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00538">llvm::SDNode::getOperand()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00102">llvm::SDValue::getResNo()</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00122">llvm::SDValue::getValue()</a>, <a class="el" href="ValueTypes_8h_source.
 html#l00100">llvm::MVT::Glue</a>, <a class="el" href="SelectionDAGNodes_8h_source.html#l00801">llvm::SDValue::hasOneUse()</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00038">llvm::ARMCC::HI</a>, <a class="el" href="ValueTypes_8h_source.html#l00042">llvm::MVT::i32</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00033">llvm::ARMCC::LO</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00069">llvm::MipsISD::MSub</a>, <a class="el" href="MipsISelLowering_8h_source.html#l00070">llvm::MipsISD::MSubu</a>, <a class="el" href="SelectionDAG_8cpp_source.html#l05496">llvm::SelectionDAG::ReplaceAllUsesOfValueWith()</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00193">llvm::ISD::SMUL_LOHI</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00207">llvm::ISD::SUBC</a>, <a class="el" href="ISDOpcodes_8h_source.html#l00193">llvm::ISD::UMUL_LOHI</a>, and <a class="el" href="SelectionDAGNodes_8h_source.html#l00798">llvm::SDValue::use_empty()</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsISelLowering_8cpp_source.html#l00639">PerformSUBECombine()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a196a1536c823a1875d7c17609a441286"></a><!-- doxytag: member="MipsISelLowering.cpp::STATISTIC" ref="a196a1536c823a1875d7c17609a441286" args="(NumTailCalls,"Number of tail calls")" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">STATISTIC </td>
+          <td>(</td>
+          <td class="paramtype">NumTailCalls </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"Number of tail <a class="el" href="Scalar_2SimplifyLibCalls_8cpp.html#a4c349cd4b664546b9b9eef619d58c12d">calls</a>" </td>
+          <td class="paramname"> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a15236d656a7aa19c06ed5a40fecef025"></a><!-- doxytag: member="MipsISelLowering.cpp::EnableMipsTailCalls" ref="a15236d656a7aa19c06ed5a40fecef025" args="("enable-mips-tail-calls", cl::Hidden, cl::desc("MIPS: Enable tail calls."), cl::init(false))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classllvm_1_1cl_1_1opt.html">cl::opt</a><<a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a>> <a class="el" href="MipsISelLowering_8cpp.html#a15236d656a7aa19c06ed5a40fecef025">EnableMipsTailCalls</a>("enable-mips-tail-<a class="el" href="Scalar_2SimplifyLibCalls_8cpp.html#a4c349cd4b664546b9b9eef619d58c12d">calls</a>", cl::Hidden, <a class="el" href="structllvm_1_1cl_1_1desc.html">cl::desc</a>("MIPS: Enable tail calls."), cl::init(<a class="el" href="SimplifyInstructions_8cpp.html#a6dd713bd88673625bb181528a61bdc85">false</a>))<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a3e4f3cb36e9223fa784df0728750f330"></a><!-- doxytag: member="MipsISelLowering.cpp::LargeGOT" ref="a3e4f3cb36e9223fa784df0728750f330" args="("mxgot", cl::Hidden, cl::desc("MIPS: Enable GOT larger than 64k."), cl::init(false))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="classllvm_1_1cl_1_1opt.html">cl::opt</a><<a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a>> <a class="el" href="MipsISelLowering_8cpp.html#a3e4f3cb36e9223fa784df0728750f330">LargeGOT</a>("mxgot", cl::Hidden, <a class="el" href="structllvm_1_1cl_1_1desc.html">cl::desc</a>("MIPS: Enable GOT larger than 64k."), cl::init(false))<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7ee27d2d7e3605e1f1523a07d1e5f4c8"></a><!-- doxytag: member="MipsISelLowering.cpp::Mips64DPRegs" ref="a7ee27d2d7e3605e1f1523a07d1e5f4c8" args="[8]" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint16_t <a class="el" href="MipsISelLowering_8cpp.html#a7ee27d2d7e3605e1f1523a07d1e5f4c8">Mips64DPRegs</a>[8]<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
+  Mips::D12_64, Mips::D13_64, Mips::D14_64, Mips::D15_64,
+  Mips::D16_64, Mips::D17_64, Mips::D18_64, Mips::D19_64
+}
+</pre></div>
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00062">62</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a5eaba982b515ec106e46c979933f3ba9"></a><!-- doxytag: member="MipsISelLowering.cpp::Mips64IntRegs" ref="a5eaba982b515ec106e46c979933f3ba9" args="[8]" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint16_t <a class="el" href="MipsISelLowering_8cpp.html#a5eaba982b515ec106e46c979933f3ba9">Mips64IntRegs</a>[8]<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
+  Mips::A0_64, Mips::A1_64, Mips::A2_64, Mips::A3_64,
+  Mips::T0_64, Mips::T1_64, Mips::T2_64, Mips::T3_64
+}
+</pre></div>
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00057">57</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a7682f349fd1f3d1b5cc7ccc167447e42"></a><!-- doxytag: member="MipsISelLowering.cpp::O32IntRegs" ref="a7682f349fd1f3d1b5cc7ccc167447e42" args="[4]" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint16_t <a class="el" href="MipsISelLowering_8cpp.html#a7682f349fd1f3d1b5cc7ccc167447e42">O32IntRegs</a>[4]<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
+  Mips::A0, Mips::A1, Mips::A2, Mips::A3
+}
+</pre></div>
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l00053">53</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abfb80c093b36786c66c003a61182f676"></a><!-- doxytag: member="MipsISelLowering.cpp::O32IntRegsSize" ref="abfb80c093b36786c66c003a61182f676" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const <a class="el" href="classunsigned.html">unsigned</a> <a class="el" href="MipsISelLowering_8cpp.html#abfb80c093b36786c66c003a61182f676">O32IntRegsSize</a> = 4<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsISelLowering_8cpp_source.html#l02662">2662</a> of file <a class="el" href="MipsISelLowering_8cpp_source.html">MipsISelLowering.cpp</a>.</p>
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:36 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,47 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsISelLowering_8h.html" title="MipsISelLowering.h" alt="" coords="527,161,668,188"/>
+<area shape="rect" href="$ValueTypes_8h.html" title="llvm/CodeGen/ValueTypes.h" alt="" coords="1309,471,1504,497"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1304,548,1509,575"/>
+<area shape="rect" href="$MipsSubtarget_8h.html" title="MipsSubtarget.h" alt="" coords="465,316,591,343"/>
+<area shape="rect" href="$CallingConvLower_8h.html" title="llvm/CodeGen/CallingConvLower.h" alt="" coords="1908,239,2143,265"/>
+<area shape="rect" href="$MachineFunction_8h.html" title="llvm/CodeGen/MachineFunction.h" alt="" coords="1544,316,1776,343"/>
+<area shape="rect" href="$MachineFrameInfo_8h.html" title="llvm/CodeGen/MachineFrameInfo.h" alt="" coords="1901,316,2144,343"/>
+<area shape="rect" href="$CallingConv_8h.html" title="llvm/CallingConv.h" alt="" coords="2168,316,2304,343"/>
+<area shape="rect" href="$MipsMachineFunction_8h.html" title="MipsMachineFunction.h" alt="" coords="1340,239,1508,265"/>
+<area shape="rect" href="$MipsTargetMachine_8h.html" title="MipsTargetMachine.h" alt="" coords="984,84,1139,111"/>
+<area shape="rect" href="$MipsTargetObjectFile_8h.html" title="MipsTargetObjectFile.h" alt="" coords="1887,84,2049,111"/>
+<area shape="rect" href="$MipsInstPrinter_8h.html" title="InstPrinter/MipsInstPrinter.h" alt="" coords="2073,84,2268,111"/>
+<area shape="rect" href="$MipsBaseInfo_8h.html" title="MCTargetDesc/MipsBaseInfo.h" alt="" coords="2595,393,2805,420"/>
+<area shape="rect" href="$DerivedTypes_8h.html" title="llvm/DerivedTypes.h" alt="" coords="3003,393,3149,420"/>
+<area shape="rect" href="$Function_8h.html" title="llvm/Function.h" alt="" coords="2319,239,2433,265"/>
+<area shape="rect" href="$GlobalVariable_8h.html" title="llvm/GlobalVariable.h" alt="" coords="2292,84,2447,111"/>
+<area shape="rect" href="$Intrinsics_8h.html" title="llvm/Intrinsics.h" alt="" coords="5,548,125,575"/>
+<area shape="rect" href="$Statistic_8h.html" title="llvm/ADT/Statistic.h" alt="" coords="2521,84,2665,111"/>
+<area shape="rect" href="$MachineInstrBuilder_8h.html" title="llvm/CodeGen/MachineInstrBuilder.h" alt="" coords="1633,239,1884,265"/>
+<area shape="rect" href="$MachineRegisterInfo_8h.html" title="llvm/CodeGen/MachineRegisterInfo.h" alt="" coords="2740,84,2993,111"/>
+<area shape="rect" href="$SelectionDAGISel_8h.html" title="llvm/CodeGen/SelectionDAGISel.h" alt="" coords="265,161,503,188"/>
+<area shape="rect" href="$CommandLine_8h.html" title="llvm/Support/CommandLine.h" alt="" coords="2429,316,2640,343"/>
+<area shape="rect" href="$Debug_8h.html" title="llvm/Support/Debug.h" alt="" coords="3119,84,3279,111"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="3157,471,3357,497"/>
+<area shape="rect" href="$Mips_8h.html" title="Mips.h" alt="" coords="891,239,952,265"/>
+<area shape="rect" href="$SelectionDAG_8h.html" title="llvm/CodeGen/SelectionDAG.h" alt="" coords="277,239,491,265"/>
+<area shape="rect" href="$TargetLowering_8h.html" title="llvm/Target/TargetLowering.h" alt="" coords="667,239,867,265"/>
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MCTargetDesc/MipsMCTargetDesc.h" alt="" coords="1528,471,1776,497"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="693,316,891,343"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="2556,548,2740,575"/>
+<area shape="rect" href="$TargetTransformImpl_8h.html" title="llvm/Target/TargetTransformImpl.h" alt="" coords="880,393,1115,420"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2356,625,2529,652"/>
+<area shape="rect" href="$TargetSubtargetInfo_8h.html" title="llvm/Target/TargetSubtargetInfo.h" alt="" coords="523,393,755,420"/>
+<area shape="rect" href="$MCInstrItineraries_8h.html" title="llvm/MC/MCInstrItineraries.h" alt="" coords="301,393,499,420"/>
+<area shape="rect" href="$TargetFrameLowering_8h.html" title="llvm/Target/TargetFrameLowering.h" alt="" coords="1229,316,1469,343"/>
+<area shape="rect" href="$MipsFrameLowering_8h.html" title="MipsFrameLowering.h" alt="" coords="743,161,900,188"/>
+<area shape="rect" href="$MipsInstrInfo_8h.html" title="MipsInstrInfo.h" alt="" coords="1172,161,1284,188"/>
+<area shape="rect" href="$MipsJITInfo_8h.html" title="MipsJITInfo.h" alt="" coords="1460,161,1559,188"/>
+<area shape="rect" href="$MipsSelectionDAGInfo_8h.html" title="MipsSelectionDAGInfo.h" alt="" coords="975,161,1148,188"/>
+<area shape="rect" href="$DataLayout_8h.html" title="llvm/DataLayout.h" alt="" coords="1280,393,1416,420"/>
+<area shape="rect" href="$TargetLoweringObjectFileImpl_8h.html" title="llvm/CodeGen/TargetLoweringObjectFileImpl.h" alt="" coords="1887,161,2196,188"/>
+<area shape="rect" href="$MCInstPrinter_8h.html" title="llvm/MC/MCInstPrinter.h" alt="" coords="2220,161,2391,188"/>
+<area shape="rect" href="$MipsFixupKinds_8h.html" title="MipsFixupKinds.h" alt="" coords="2789,471,2917,497"/>
+<area shape="rect" href="$MCExpr_8h.html" title="llvm/MC/MCExpr.h" alt="" coords="2581,471,2715,497"/>
+<area shape="rect" href="$Type_8h.html" title="llvm/Type.h" alt="" coords="2941,471,3032,497"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8cpp__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+63b94e8624b69ddc6461dbd3c671ba78
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8h.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsISelLowering.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a> |
+<a href="#enum-members">Enumerations</a>  </div>
+  <div class="headertitle">
+<div class="title">MipsISelLowering.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="Mips_8h_source.html">Mips.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsSubtarget_8h_source.html">MipsSubtarget.h</a>"</code><br/>
+<code>#include "<a class="el" href="CallingConvLower_8h_source.html">llvm/CodeGen/CallingConvLower.h</a>"</code><br/>
+<code>#include "<a class="el" href="SelectionDAG_8h_source.html">llvm/CodeGen/SelectionDAG.h</a>"</code><br/>
+<code>#include "<a class="el" href="TargetLowering_8h_source.html">llvm/Target/TargetLowering.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for MipsISelLowering.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsISelLowering_8h__incl.png" border="0" usemap="#MipsISelLowering_8h" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div><div class="textblock"><div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsISelLowering_8h__dep__incl.png" border="0" usemap="#MipsISelLowering_8hdep" alt=""/></div>
+<!-- MAP 1 -->
+</div>
+</div>
+<p><a href="MipsISelLowering_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1MipsTargetLowering.html">llvm::MipsTargetLowering</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>llvm::MipsTargetLowering::ByValArgInfo</b></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">ByValArgInfo - Byval argument information. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><b>llvm::MipsTargetLowering::MipsCC</b></td></tr>
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html">llvm</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>List of target independent CodeGen pass IDs. </p>
+<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm_1_1MipsISD.html">llvm::MipsISD</a></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122">llvm::MipsISD::NodeType</a> { <br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a91597fd627e43769c09cc532f7178473">llvm::MipsISD::FIRST_NUMBER</a> =  ISD::BUILTIN_OP_END, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a6ffe3943947d5e215a842c92b923f785">llvm::MipsISD::JmpLink</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a84922260d1582a0d4f6f0925cef648d7">llvm::MipsISD::TailCall</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a71e1753b225b38eb88e67626f6cfbff0">llvm::MipsISD::Hi</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ae687521fe85a8c2b4490bba6464f5be3">llvm::MipsISD::Lo</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a48209a7d98dfb59cfd87fcdfde836d0c">llvm::MipsISD::GPRel</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a6658af4b0a62ee48eb164fca20224aa5">llvm::MipsISD::ThreadPointer</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a92a649fd8568f6f1cffd11b0886e03cb">llvm::MipsISD::FPBrcond</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a44b9c5d5769578c3a6689c52c3c9b1c1">llvm::MipsISD::FPCmp</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a828cbd76d0b9af6de505d186f3011b79">llvm::MipsISD::CMovFP_T</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a3a6a21a2d276a42c197770044394d028">llvm::MipsISD::CMovFP_F</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122afe98f4ba193831b15fd60c5c7702c9c2">llvm::MipsISD::FPRound</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a366e1eac31eeb1a1892d62ccfc0c8cf8">llvm::MipsISD::Ret</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ae4ae06d8231c915d3a38cdaa566f19e2">llvm::MipsISD::MAdd</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a024ac538f26dc815e5003dbfc7d0327b">llvm::MipsISD::MAddu</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a5a3db6784c014740498303318623d822">llvm::MipsISD::MSub</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ac72d871382f44009d2a1e136610dfb40">llvm::MipsISD::MSubu</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a78f756a9d54535a9d5c68a0566b59623">llvm::MipsISD::DivRem</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a0631b78a3ec3f07b63c0813fc261f1f5">llvm::MipsISD::DivRemU</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a88ffa8113b6c4225bf003666059d414d">llvm::MipsISD::BuildPairF64</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a1545eb8951c999495303a078459ca3e4">llvm::MipsISD::ExtractElementF64</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ab66c1ce49361a050c152c59394d0e394">llvm::MipsISD::Wrapper</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a01f63ea4f5784b419988cabeb1028e47">llvm::MipsISD::DynAlloc</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ab5291bce1e8881a9f3f1ee9981b422ed">llvm::MipsISD::Sync</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a88a797f57846adb2c382b3732b471913">llvm::MipsISD::Ext</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ad5006873d15f9569d1cf09deef3c6363">llvm::MipsISD::Ins</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a6ffafd27acd561721645cf9062649650">llvm::MipsISD::EXTP</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a160d807a08cfa50f0fe067d7b507cd4f">llvm::MipsISD::EXTPDP</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ad3624e2c68f103c6a257d2ca46ea1150">llvm::MipsISD::EXTR_S_H</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122af2e111b735626a02f75856148ac05069">llvm::MipsISD::EXTR_W</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ab21c1416d9487cf068d978d1e33c8081">llvm::MipsISD::EXTR_R_W</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a9a915233797c186132f7f0be8e219d12">llvm::MipsISD::EXTR_RS_W</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a27b6ac874e312b5f37fbc649f966c9c6">llvm::MipsISD::SHILO</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a3bc20adbd2089ad5a30d82f50be7f7fe">llvm::MipsISD::MTHLIP</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a27f29ec16a5aaa356f96ff1c1205002f">llvm::MipsISD::MULSAQ_S_W_PH</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a1063fbee44d8aea14d4569b43ce16170">llvm::MipsISD::MAQ_S_W_PHL</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a56b7f3af4e2ee597ed9534143bf901ee">llvm::MipsISD::MAQ_S_W_PHR</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122aee8772bc7c72109e060df72d0493f1f7">llvm::MipsISD::MAQ_SA_W_PHL</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a87e9e312ebaabf1a9c472bc9138120ac">llvm::MipsISD::MAQ_SA_W_PHR</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ae452b9b2a62c6666e17c1391a08b318d">llvm::MipsISD::DPAU_H_QBL</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a54dd2a2b5a29f17b022c436a563a6df1">llvm::MipsISD::DPAU_H_QBR</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ab2e20f4730b6dee393b525d5a73449f7">llvm::MipsISD::DPSU_H_QBL</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a304cd83316b5db1f958489ec4e3347e8">llvm::MipsISD::DPSU_H_QBR</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122af9bd57cd73be476056c3fa256791db13">llvm::MipsISD::DPAQ_S_W_PH</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a6fb87fbe4a280ff588b31530e8e1aed7">llvm::MipsISD::DPSQ_S_W_PH</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a0a2ea41a49ec7e1c17c4761b99d264f6">llvm::MipsISD::DPAQ_SA_L_W</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122abd56ae0a2e1453041b199a1ca7d6123a">llvm::MipsISD::DPSQ_SA_L_W</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a5012e99fb35a23c09158acee6c102aef">llvm::MipsISD::DPA_W_PH</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a5e93986f8d0b530a4b0daa3c0063fa7a">llvm::MipsISD::DPS_W_PH</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122abc1c128d43a0149d14663608966c5e05">llvm::MipsISD::DPAQX_S_W_PH</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a3272b07f2ea401b4fd0f830266b8ddb5">llvm::MipsISD::DPAQX_SA_W_PH</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122ac4dd4476003819ed217c5e0829b30c58">llvm::MipsISD::DPAX_W_PH</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a2d0562c15823fed62c781badcb3a11c3">llvm::MipsISD::DPSX_W_PH</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a769886f6ebeb03d592f12792b84129cb">llvm::MipsISD::DPSQX_S_W_PH</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122af79474ce1a2019cdcf1ad68585f5c1d9">llvm::MipsISD::DPSQX_SA_W_PH</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122aefd22c0d0f61706ab6dbd97011972a82">llvm::MipsISD::MULSA_W_PH</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a2ba8e90b1a8dff465d899e33a6404a81">llvm::MipsISD::MULT</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122aef631f9b0e1ee2e3c46a1a448d2d3efb">llvm::MipsISD::MULTU</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a178be7a8cb8b7f4cefe8887e8b8ab0ce">llvm::MipsISD::MADD_DSP</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a89c071e5a8c88386c138c430b31a95ee">llvm::MipsISD::MADDU_DSP</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a70ad31600a42c92a4924e177020fc54d">llvm::MipsISD::MSUB_DSP</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a92ddaeff1e7d980c97e9ce423c230a44">llvm::MipsISD::MSUBU_DSP</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122afe575bccaad054f296d74a527463714a">llvm::MipsISD::LWL</a> =  ISD::FIRST_TARGET_MEMORY_OPCODE, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a00d989ef11bb6ca53e1669a0780109e8">llvm::MipsISD::LWR</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a606a3ada58afda41f8d8fa0dea24762b">llvm::MipsISD::SWL</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a912bbd12a43c7565b673301ed0e0b92e">llvm::MipsISD::SWR</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a7c9bd3f26365a95215ef02f178696ca1">llvm::MipsISD::LDL</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122aa0686bd3f7b2056b4fc76d2b4ec46e17">llvm::MipsISD::LDR</a>, 
+<br/>
+  <a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a802783759d8d5f51e58652e651a2f543">llvm::MipsISD::SDL</a>, 
+<a class="el" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a98e5728321f3e1a33ebf7881011faf03">llvm::MipsISD::SDR</a>
+<br/>
+ }</td></tr>
+</table>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:36 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8h__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8h__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MipsISelLowering_8h__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsInstPrinter_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsInstPrinter_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsInstPrinter_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsInstPrinter_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,21 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsInstPrinter.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="MipsInstPrinter.cpp",height=0.2,width=0.4,color="black",URL="$MipsInstPrinter_8cpp.html"];
+  Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="MipsMCTargetDesc.cpp",height=0.2,width=0.4,color="black",URL="$MipsMCTargetDesc_8cpp.html"];
+  Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="Mips16InstrInfo.cpp",height=0.2,width=0.4,color="black",URL="$Mips16InstrInfo_8cpp.html"];
+  Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="MipsAsmPrinter.cpp",height=0.2,width=0.4,color="black",URL="$MipsAsmPrinter_8cpp.html"];
+  Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="MipsInstrInfo.cpp",height=0.2,width=0.4,color="black",URL="$MipsInstrInfo_8cpp.html"];
+  Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="MipsISelLowering.cpp",height=0.2,width=0.4,color="black",URL="$MipsISelLowering_8cpp.html"];
+  Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="MipsSEInstrInfo.cpp",height=0.2,width=0.4,color="black",URL="$MipsSEInstrInfo_8cpp.html"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsJITInfo_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsJITInfo_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsJITInfo_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsJITInfo_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,242 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsJITInfo.cpp File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Defines</a> |
+<a href="#func-members">Functions</a> |
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">MipsJITInfo.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="MipsJITInfo_8h_source.html">MipsJITInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsInstrInfo_8h_source.html">MipsInstrInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsRelocations_8h_source.html">MipsRelocations.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsSubtarget_8h_source.html">MipsSubtarget.h</a>"</code><br/>
+<code>#include "<a class="el" href="Function_8h_source.html">llvm/Function.h</a>"</code><br/>
+<code>#include "<a class="el" href="JITCodeEmitter_8h_source.html">llvm/CodeGen/JITCodeEmitter.h</a>"</code><br/>
+<code>#include "<a class="el" href="Debug_8h_source.html">llvm/Support/Debug.h</a>"</code><br/>
+<code>#include "<a class="el" href="ErrorHandling_8h_source.html">llvm/Support/ErrorHandling.h</a>"</code><br/>
+<code>#include "<a class="el" href="raw__ostream_8h_source.html">llvm/Support/raw_ostream.h</a>"</code><br/>
+<code>#include "<a class="el" href="Memory_8h_source.html">llvm/Support/Memory.h</a>"</code><br/>
+<code>#include <cstdlib></code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for MipsJITInfo.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsJITInfo_8cpp__incl.png" border="0" usemap="#MipsJITInfo_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="MipsJITInfo_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsJITInfo_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">DEBUG_TYPE</a>   "jit"</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsJITInfo_8cpp.html#aff6bf0ff0fa3b5cbd23a8ae1131c87a9">__USER_LABEL_PREFIX__</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsJITInfo_8cpp.html#a963f41eb342a309605fd3b11f767b1c5">GETASMPREFIX2</a>(<a class="el" href="Hello_8cpp.html#a8c52190361e97ffdef605d3479a11551">X</a>)   #<a class="el" href="Hello_8cpp.html#a8c52190361e97ffdef605d3479a11551">X</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsJITInfo_8cpp.html#a40ce3964d0cd83a3787467742811562a">GETASMPREFIX</a>(<a class="el" href="Hello_8cpp.html#a8c52190361e97ffdef605d3479a11551">X</a>)   GETASMPREFIX2(<a class="el" href="Hello_8cpp.html#a8c52190361e97ffdef605d3479a11551">X</a>)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsJITInfo_8cpp.html#a45571f0b66255527d7be070568a6147a">ASMPREFIX</a>   GETASMPREFIX(__USER_LABEL_PREFIX__)</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsJITInfo_8cpp.html#ad9b48cadba6c9239bdb5c22264ceaa59">MipsCompilationCallback</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsJITInfo_8cpp.html#a8a95c411cb8fc114c17d6c0b8db7f651">MipsCompilationCallbackC</a> (<a class="el" href="classintptr__t.html">intptr_t</a> StubAddr)</td></tr>
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static TargetJITInfo::JITCompilerFn </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsJITInfo_8cpp.html#ac33b1cf411a96c6bebaa8979def36977">JITCompilerFunction</a></td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="aff6bf0ff0fa3b5cbd23a8ae1131c87a9"></a><!-- doxytag: member="MipsJITInfo.cpp::__USER_LABEL_PREFIX__" ref="aff6bf0ff0fa3b5cbd23a8ae1131c87a9" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define __USER_LABEL_PREFIX__</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsJITInfo_8cpp_source.html#l00084">84</a> of file <a class="el" href="MipsJITInfo_8cpp_source.html">MipsJITInfo.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a45571f0b66255527d7be070568a6147a"></a><!-- doxytag: member="MipsJITInfo.cpp::ASMPREFIX" ref="a45571f0b66255527d7be070568a6147a" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ASMPREFIX   GETASMPREFIX(__USER_LABEL_PREFIX__)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsJITInfo_8cpp_source.html#l00088">88</a> of file <a class="el" href="MipsJITInfo_8cpp_source.html">MipsJITInfo.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad78e062f62e0d6e453941fb4ca843e4d"></a><!-- doxytag: member="MipsJITInfo.cpp::DEBUG_TYPE" ref="ad78e062f62e0d6e453941fb4ca843e4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define DEBUG_TYPE   "jit"</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsJITInfo_8cpp_source.html#l00014">14</a> of file <a class="el" href="MipsJITInfo_8cpp_source.html">MipsJITInfo.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a40ce3964d0cd83a3787467742811562a"></a><!-- doxytag: member="MipsJITInfo.cpp::GETASMPREFIX" ref="a40ce3964d0cd83a3787467742811562a" args="(X)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GETASMPREFIX</td>
+          <td>(</td>
+          <td class="paramtype"> </td>
+          <td class="paramname"><a class="el" href="Hello_8cpp.html#a8c52190361e97ffdef605d3479a11551">X</a></td><td>)</td>
+          <td>   GETASMPREFIX2(<a class="el" href="Hello_8cpp.html#a8c52190361e97ffdef605d3479a11551">X</a>)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsJITInfo_8cpp_source.html#l00087">87</a> of file <a class="el" href="MipsJITInfo_8cpp_source.html">MipsJITInfo.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a963f41eb342a309605fd3b11f767b1c5"></a><!-- doxytag: member="MipsJITInfo.cpp::GETASMPREFIX2" ref="a963f41eb342a309605fd3b11f767b1c5" args="(X)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GETASMPREFIX2</td>
+          <td>(</td>
+          <td class="paramtype"> </td>
+          <td class="paramname"><a class="el" href="Hello_8cpp.html#a8c52190361e97ffdef605d3479a11551">X</a></td><td>)</td>
+          <td>   #<a class="el" href="Hello_8cpp.html#a8c52190361e97ffdef605d3479a11551">X</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsJITInfo_8cpp_source.html#l00086">86</a> of file <a class="el" href="MipsJITInfo_8cpp_source.html">MipsJITInfo.cpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ad9b48cadba6c9239bdb5c22264ceaa59"></a><!-- doxytag: member="MipsJITInfo.cpp::MipsCompilationCallback" ref="ad9b48cadba6c9239bdb5c22264ceaa59" args="()" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void MipsCompilationCallback </td>
+          <td>(</td>
+          <td class="paramname"></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsJITInfo_8cpp_source.html#l00153">153</a> of file <a class="el" href="MipsJITInfo_8cpp_source.html">MipsJITInfo.cpp</a>.</p>
+
+<p>References <a class="el" href="ErrorHandling_8h_source.html#l00098">llvm_unreachable</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsJITInfo_8cpp_source.html#l00202">llvm::MipsJITInfo::emitFunctionStub()</a>, and <a class="el" href="MipsJITInfo_8cpp_source.html#l00189">llvm::MipsJITInfo::getLazyResolverFunction()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a8a95c411cb8fc114c17d6c0b8db7f651"></a><!-- doxytag: member="MipsJITInfo.cpp::MipsCompilationCallbackC" ref="a8a95c411cb8fc114c17d6c0b8db7f651" args="(intptr_t StubAddr)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void MipsCompilationCallbackC </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classintptr__t.html">intptr_t</a> </td>
+          <td class="paramname"><em>StubAddr</em></td><td>)</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>MipsCompilationCallbackC - This is the target-specific function invoked by the function stub when we did not know the real target of a call. This function must locate the start of the stub or call site and pass it into the JIT compiler function. </p>
+
+<p>Definition at line <a class="el" href="MipsJITInfo_8cpp_source.html#l00164">164</a> of file <a class="el" href="MipsJITInfo_8cpp_source.html">MipsJITInfo.cpp</a>.</p>
+
+<p>References <a class="el" href="SPUISelLowering_8h_source.html#l00031">llvm::SPUISD::Hi</a>, <a class="el" href="classllvm_1_1sys_1_1Memory.html#a5cfd4d2a8227a3f9ca0667f42f05f20b">llvm::sys::Memory::InvalidateInstructionCache()</a>, <a class="el" href="MipsJITInfo_8cpp_source.html#l00080">JITCompilerFunction</a>, and <a class="el" href="SPUISelLowering_8h_source.html#l00032">llvm::SPUISD::Lo</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="ac33b1cf411a96c6bebaa8979def36977"></a><!-- doxytag: member="MipsJITInfo.cpp::JITCompilerFunction" ref="ac33b1cf411a96c6bebaa8979def36977" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">TargetJITInfo::JITCompilerFn <a class="el" href="X86JITInfo_8cpp.html#ac33b1cf411a96c6bebaa8979def36977">JITCompilerFunction</a><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>JITCompilerFunction - This contains the address of the JIT function used to compile a function lazily. </p>
+
+<p>Definition at line <a class="el" href="MipsJITInfo_8cpp_source.html#l00080">80</a> of file <a class="el" href="MipsJITInfo_8cpp_source.html">MipsJITInfo.cpp</a>.</p>
+
+<p>Referenced by <a class="el" href="MipsJITInfo_8cpp_source.html#l00189">llvm::MipsJITInfo::getLazyResolverFunction()</a>, and <a class="el" href="MipsJITInfo_8cpp_source.html#l00164">MipsCompilationCallbackC()</a>.</p>
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:36 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsJITInfo_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsJITInfo_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsJITInfo_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsJITInfo_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,168 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsJITInfo.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="MipsMachineFunction.h",height=0.2,width=0.4,color="black",URL="$MipsMachineFunction_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="MipsSubtarget.h",height=0.2,width=0.4,color="black",URL="$MipsSubtarget_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/Target/TargetSubtargetInfo.h",height=0.2,width=0.4,color="black",URL="$TargetSubtargetInfo_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="llvm/MC/MCSubtargetInfo.h",height=0.2,width=0.4,color="red",URL="$MCSubtargetInfo_8h.html"];
+  Node5 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="llvm/MC/MCInstrItineraries.h",height=0.2,width=0.4,color="black",URL="$MCInstrItineraries_8h.html"];
+  Node6 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/MC/MCSchedule.h",height=0.2,width=0.4,color="black",URL="$MCSchedule_8h.html"];
+  Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node6 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node5 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="llvm/Support/CodeGen.h",height=0.2,width=0.4,color="black",URL="$CodeGen_8h.html"];
+  Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="MipsGenSubtargetInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="llvm/CodeGen/MachineFunction.h",height=0.2,width=0.4,color="black",URL="$MachineFunction_8h.html"];
+  Node18 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="llvm/CodeGen/MachineBasicBlock.h",height=0.2,width=0.4,color="black",URL="$MachineBasicBlock_8h.html"];
+  Node19 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="llvm/CodeGen/MachineInstr.h",height=0.2,width=0.4,color="red",URL="$MachineInstr_8h.html"];
+  Node20 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/ADT/ilist.h",height=0.2,width=0.4,color="black",URL="$ilist_8h.html"];
+  Node21 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node21 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node21 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node20 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="red",URL="$StringRef_8h.html"];
+  Node25 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node20 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/Support/DebugLoc.h",height=0.2,width=0.4,color="black",URL="$DebugLoc_8h.html"];
+  Node20 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node19 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/ADT/GraphTraits.h",height=0.2,width=0.4,color="black",URL="$GraphTraits_8h.html"];
+  Node19 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="functional",height=0.2,width=0.4,color="grey75"];
+  Node18 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/Support/Allocator.h",height=0.2,width=0.4,color="black",URL="$Allocator_8h.html"];
+  Node31 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_8h.html"];
+  Node32 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/Support/MathExtras.h",height=0.2,width=0.4,color="red",URL="$MathExtras_8h.html"];
+  Node31 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node31 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/Support/Recycler.h",height=0.2,width=0.4,color="black",URL="$Recycler_8h.html"];
+  Node35 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node36 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/CodeGen/MachineFrameInfo.h",height=0.2,width=0.4,color="black",URL="$MachineFrameInfo_8h.html"];
+  Node37 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="red",URL="$SmallVector_8h.html"];
+  Node38 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/Target/TargetFrameLowering.h",height=0.2,width=0.4,color="black",URL="$TargetFrameLowering_8h.html"];
+  Node39 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/Target/TargetMachine.h",height=0.2,width=0.4,color="black",URL="$Target_2TargetMachine_8h.html"];
+  Node40 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/Pass.h",height=0.2,width=0.4,color="red",URL="$Pass_8h.html"];
+  Node41 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/Target/TargetOptions.h",height=0.2,width=0.4,color="black",URL="$TargetOptions_8h.html"];
+  Node42 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/TargetTransformInfo.h",height=0.2,width=0.4,color="red",URL="$TargetTransformInfo_8h.html"];
+  Node43 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/Target/TargetTransformImpl.h",height=0.2,width=0.4,color="red",URL="$TargetTransformImpl_8h.html"];
+  Node44 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/CodeGen/MachineConstantPool.h",height=0.2,width=0.4,color="black",URL="$MachineConstantPool_8h.html"];
+  Node45 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/ADT/DenseSet.h",height=0.2,width=0.4,color="black",URL="$DenseSet_8h.html"];
+  Node46 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="red",URL="$DenseMap_8h.html"];
+  Node47 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="climits",height=0.2,width=0.4,color="grey75"];
+  Node47 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/CodeGen/MachineJumpTableInfo.h",height=0.2,width=0.4,color="black",URL="$MachineJumpTableInfo_8h.html"];
+  Node49 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="llvm/Target/TargetJITInfo.h",height=0.2,width=0.4,color="black",URL="$TargetJITInfo_8h.html"];
+  Node50 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsLongBranch_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsLongBranch_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsLongBranch_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsLongBranch_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,46 @@
+<map id="G" name="G">
+<area shape="rect" href="$Mips_8h.html" title="Mips.h" alt="" coords="1127,239,1188,265"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="861,316,1059,343"/>
+<area shape="rect" href="$MipsTargetMachine_8h.html" title="MipsTargetMachine.h" alt="" coords="1249,84,1404,111"/>
+<area shape="rect" href="$TargetInstrInfo_8h.html" title="llvm/Target/TargetInstrInfo.h" alt="" coords="1577,239,1772,265"/>
+<area shape="rect" href="$MipsBaseInfo_8h.html" title="MCTargetDesc/MipsBaseInfo.h" alt="" coords="368,316,579,343"/>
+<area shape="rect" href="$Statistic_8h.html" title="llvm/ADT/Statistic.h" alt="" coords="181,316,325,343"/>
+<area shape="rect" href="$MachineFunctionPass_8h.html" title="llvm/CodeGen/MachineFunctionPass.h" alt="" coords="508,84,769,111"/>
+<area shape="rect" href="$MachineInstrBuilder_8h.html" title="llvm/CodeGen/MachineInstrBuilder.h" alt="" coords="1847,239,2097,265"/>
+<area shape="rect" href="$Function_8h.html" title="llvm/Function.h" alt="" coords="2333,161,2448,188"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="2639,393,2828,420"/>
+<area shape="rect" href="$CommandLine_8h.html" title="llvm/Support/CommandLine.h" alt="" coords="2953,239,3164,265"/>
+<area shape="rect" href="$TargetRegisterInfo_8h.html" title="llvm/Target/TargetRegisterInfo.h" alt="" coords="2743,161,2961,188"/>
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MCTargetDesc/MipsMCTargetDesc.h" alt="" coords="564,393,812,420"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="1432,548,1616,575"/>
+<area shape="rect" href="$Pass_8h.html" title="llvm/Pass.h" alt="" coords="1345,393,1436,420"/>
+<area shape="rect" href="$CodeGen_8h.html" title="llvm/Support/CodeGen.h" alt="" coords="1095,393,1271,420"/>
+<area shape="rect" href="$TargetTransformImpl_8h.html" title="llvm/Target/TargetTransformImpl.h" alt="" coords="836,393,1071,420"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="1923,471,2096,497"/>
+<area shape="rect" href="$MipsFrameLowering_8h.html" title="MipsFrameLowering.h" alt="" coords="1248,161,1405,188"/>
+<area shape="rect" href="$MipsSubtarget_8h.html" title="MipsSubtarget.h" alt="" coords="977,239,1103,265"/>
+<area shape="rect" href="$TargetFrameLowering_8h.html" title="llvm/Target/TargetFrameLowering.h" alt="" coords="1212,239,1452,265"/>
+<area shape="rect" href="$MipsInstrInfo_8h.html" title="MipsInstrInfo.h" alt="" coords="1581,161,1693,188"/>
+<area shape="rect" href="$MipsISelLowering_8h.html" title="MipsISelLowering.h" alt="" coords="1083,161,1224,188"/>
+<area shape="rect" href="$MipsJITInfo_8h.html" title="MipsJITInfo.h" alt="" coords="1768,161,1867,188"/>
+<area shape="rect" href="$MipsSelectionDAGInfo_8h.html" title="MipsSelectionDAGInfo.h" alt="" coords="885,161,1059,188"/>
+<area shape="rect" href="$DataLayout_8h.html" title="llvm/DataLayout.h" alt="" coords="1133,316,1269,343"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1783,393,1988,420"/>
+<area shape="rect" href="$SmallSet_8h.html" title="llvm/ADT/SmallSet.h" alt="" coords="1635,316,1787,343"/>
+<area shape="rect" href="$MCInstrInfo_8h.html" title="llvm/MC/MCInstrInfo.h" alt="" coords="2012,393,2169,420"/>
+<area shape="rect" href="$DFAPacketizer_8h.html" title="llvm/CodeGen/DFAPacketizer.h" alt="" coords="1344,316,1560,343"/>
+<area shape="rect" href="$MachineFunction_8h.html" title="llvm/CodeGen/MachineFunction.h" alt="" coords="1896,316,2128,343"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="2345,393,2513,420"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="2785,471,2972,497"/>
+<area shape="rect" href="$MipsFixupKinds_8h.html" title="MipsFixupKinds.h" alt="" coords="412,393,540,420"/>
+<area shape="rect" href="$MCExpr_8h.html" title="llvm/MC/MCExpr.h" alt="" coords="200,471,333,497"/>
+<area shape="rect" href="$Atomic_8h.html" title="llvm/Support/Atomic.h" alt="" coords="5,471,168,497"/>
+<area shape="rect" href="$Valgrind_8h.html" title="llvm/Support/Valgrind.h" alt="" coords="169,393,337,420"/>
+<area shape="rect" href="$GlobalValue_8h.html" title="llvm/GlobalValue.h" alt="" coords="2479,239,2617,265"/>
+<area shape="rect" href="$CallingConv_8h.html" title="llvm/CallingConv.h" alt="" coords="2743,239,2879,265"/>
+<area shape="rect" href="$BasicBlock_8h.html" title="llvm/BasicBlock.h" alt="" coords="2172,239,2303,265"/>
+<area shape="rect" href="$Argument_8h.html" title="llvm/Argument.h" alt="" coords="2327,239,2455,265"/>
+<area shape="rect" href="$Attributes_8h.html" title="llvm/Attributes.h" alt="" coords="2541,316,2667,343"/>
+<area shape="rect" href="$Twine_8h.html" title="llvm/ADT/Twine.h" alt="" coords="2319,316,2444,343"/>
+<area shape="rect" href="$SwapByteOrder_8h.html" title="llvm/Support/SwapByteOrder.h" alt="" coords="2545,471,2761,497"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMCCodeEmitter_8cpp__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMCCodeEmitter_8cpp__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMCCodeEmitter_8cpp__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMCCodeEmitter_8cpp__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,160 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsMCCodeEmitter.cpp",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="MCTargetDesc/MipsBaseInfo.h",height=0.2,width=0.4,color="black",URL="$MipsBaseInfo_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="MipsFixupKinds.h",height=0.2,width=0.4,color="black",URL="$MipsFixupKinds_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/MC/MCFixup.h",height=0.2,width=0.4,color="black",URL="$MCFixup_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node5 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node5 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node5 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node5 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node10 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="red",URL="$StringRef_8h.html"];
+  Node12 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="red",URL="$type__traits_8h.html"];
+  Node13 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node12 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node12 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node12 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node12 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="llvm/Support/SMLoc.h",height=0.2,width=0.4,color="black",URL="$SMLoc_8h.html"];
+  Node19 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="MipsMCTargetDesc.h",height=0.2,width=0.4,color="black",URL="$MipsMCTargetDesc_8h.html"];
+  Node20 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="MipsGenRegisterInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node20 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="MipsGenInstrInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node20 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="MipsGenSubtargetInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="llvm/MC/MCExpr.h",height=0.2,width=0.4,color="black",URL="$MCExpr_8h.html"];
+  Node24 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="red",URL="$DenseMap_8h.html"];
+  Node25 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_8h.html"];
+  Node26 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/Support/MathExtras.h",height=0.2,width=0.4,color="red",URL="$MathExtras_8h.html"];
+  Node25 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node25 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="climits",height=0.2,width=0.4,color="grey75"];
+  Node25 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/Support/Casting.h",height=0.2,width=0.4,color="black",URL="$Casting_8h.html"];
+  Node30 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="MCTargetDesc/MipsDirectObjLower.h",height=0.2,width=0.4,color="black",URL="$MipsDirectObjLower_8h.html"];
+  Node31 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="black",URL="$SmallVector_8h.html"];
+  Node32 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node32 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="memory",height=0.2,width=0.4,color="grey75"];
+  Node31 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/ADT/APFloat.h",height=0.2,width=0.4,color="black",URL="$APFloat_8h.html"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/ADT/APInt.h",height=0.2,width=0.4,color="black",URL="$APInt_8h.html"];
+  Node36 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/ADT/ArrayRef.h",height=0.2,width=0.4,color="red",URL="$ArrayRef_8h.html"];
+  Node37 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/ADT/Statistic.h",height=0.2,width=0.4,color="black",URL="$Statistic_8h.html"];
+  Node38 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/Support/Atomic.h",height=0.2,width=0.4,color="black",URL="$Atomic_8h.html"];
+  Node39 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/Support/Valgrind.h",height=0.2,width=0.4,color="red",URL="$Valgrind_8h.html"];
+  Node40 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/MC/MCCodeEmitter.h",height=0.2,width=0.4,color="black",URL="$MCCodeEmitter_8h.html"];
+  Node41 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/MC/MCInst.h",height=0.2,width=0.4,color="black",URL="$MCInst_8h.html"];
+  Node42 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/MC/MCInstrInfo.h",height=0.2,width=0.4,color="black",URL="$MCInstrInfo_8h.html"];
+  Node43 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/MC/MCInstrDesc.h",height=0.2,width=0.4,color="black",URL="$MCInstrDesc_8h.html"];
+  Node44 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/MC/MCRegisterInfo.h",height=0.2,width=0.4,color="black",URL="$MCRegisterInfo_8h.html"];
+  Node45 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/MC/MCSubtargetInfo.h",height=0.2,width=0.4,color="black",URL="$MCSubtargetInfo_8h.html"];
+  Node46 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="llvm/MC/SubtargetFeature.h",height=0.2,width=0.4,color="red",URL="$SubtargetFeature_8h.html"];
+  Node47 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="llvm/MC/MCInstrItineraries.h",height=0.2,width=0.4,color="red",URL="$MCInstrItineraries_8h.html"];
+  Node48 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/Support/raw_ostream.h",height=0.2,width=0.4,color="black",URL="$raw__ostream_8h.html"];
+  Node49 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="MipsGenMCCodeEmitter.inc",height=0.2,width=0.4,color="grey75"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,48 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsMCInstLower_8h.html" title="MipsMCInstLower.h" alt="" coords="2239,393,2380,420"/>
+<area shape="rect" href="$MachineOperand_8h.html" title="llvm/CodeGen/MachineOperand.h" alt="" coords="2653,471,2888,497"/>
+<area shape="rect" href="$MipsAsmPrinter_8h.html" title="MipsAsmPrinter.h" alt="" coords="1107,84,1237,111"/>
+<area shape="rect" href="$MachineFunction_8h.html" title="llvm/CodeGen/MachineFunction.h" alt="" coords="1500,239,1732,265"/>
+<area shape="rect" href="$MachineInstr_8h.html" title="llvm/CodeGen/MachineInstr.h" alt="" coords="1331,393,1536,420"/>
+<area shape="rect" href="$MipsInstrInfo_8h.html" title="MipsInstrInfo.h" alt="" coords="2761,84,2873,111"/>
+<area shape="rect" href="$MipsBaseInfo_8h.html" title="MCTargetDesc/MipsBaseInfo.h" alt="" coords="3859,393,4069,420"/>
+<area shape="rect" href="$MCExpr_8h.html" title="llvm/MC/MCExpr.h" alt="" coords="3808,471,3941,497"/>
+<area shape="rect" href="$MCContext_8h.html" title="llvm/MC/MCContext.h" alt="" coords="2996,316,3153,343"/>
+<area shape="rect" href="$MCInst_8h.html" title="llvm/MC/MCInst.h" alt="" coords="544,471,675,497"/>
+<area shape="rect" href="$Mangler_8h.html" title="llvm/Target/Mangler.h" alt="" coords="4077,84,4232,111"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1575,548,1743,575"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2163,703,2336,729"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="2109,625,2272,652"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="2777,548,2961,575"/>
+<area shape="rect" href="$MipsMachineFunction_8h.html" title="MipsMachineFunction.h" alt="" coords="967,161,1135,188"/>
+<area shape="rect" href="$MipsSubtarget_8h.html" title="MipsSubtarget.h" alt="" coords="916,239,1041,265"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="916,316,1113,343"/>
+<area shape="rect" href="$AsmPrinter_8h.html" title="llvm/CodeGen/AsmPrinter.h" alt="" coords="865,393,1060,420"/>
+<area shape="rect" href="$MachineBasicBlock_8h.html" title="llvm/CodeGen/MachineBasicBlock.h" alt="" coords="1477,316,1725,343"/>
+<area shape="rect" href="$ilist_8h.html" title="llvm/ADT/ilist.h" alt="" coords="125,471,240,497"/>
+<area shape="rect" href="$DebugLoc_8h.html" title="llvm/Support/DebugLoc.h" alt="" coords="1939,471,2120,497"/>
+<area shape="rect" href="$Allocator_8h.html" title="llvm/Support/Allocator.h" alt="" coords="2963,471,3136,497"/>
+<area shape="rect" href="$Recycler_8h.html" title="llvm/Support/Recycler.h" alt="" coords="125,393,293,420"/>
+<area shape="rect" href="$MCInstrDesc_8h.html" title="llvm/MC/MCInstrDesc.h" alt="" coords="1747,471,1915,497"/>
+<area shape="rect" href="$TargetOpcodes_8h.html" title="llvm/Target/TargetOpcodes.h" alt="" coords="1067,471,1267,497"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="848,471,992,497"/>
+<area shape="rect" href="$ilist__node_8h.html" title="llvm/ADT/ilist_node.h" alt="" coords="1291,471,1443,497"/>
+<area shape="rect" href="$STLExtras_8h.html" title="llvm/ADT/STLExtras.h" alt="" coords="1467,471,1621,497"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="713,548,863,575"/>
+<area shape="rect" href="$DenseMapInfo_8h.html" title="llvm/ADT/DenseMapInfo.h" alt="" coords="2653,625,2837,652"/>
+<area shape="rect" href="$InlineAsm_8h.html" title="llvm/InlineAsm.h" alt="" coords="699,471,824,497"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="264,471,469,497"/>
+<area shape="rect" href="$Mips_8h.html" title="Mips.h" alt="" coords="2808,239,2869,265"/>
+<area shape="rect" href="$MipsAnalyzeImmediate_8h.html" title="MipsAnalyzeImmediate.h" alt="" coords="2347,471,2528,497"/>
+<area shape="rect" href="$MipsRegisterInfo_8h.html" title="MipsRegisterInfo.h" alt="" coords="2749,161,2885,188"/>
+<area shape="rect" href="$TargetInstrInfo_8h.html" title="llvm/Target/TargetInstrInfo.h" alt="" coords="1796,161,1991,188"/>
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MCTargetDesc/MipsMCTargetDesc.h" alt="" coords="3485,471,3733,497"/>
+<area shape="rect" href="$MipsFixupKinds_8h.html" title="MipsFixupKinds.h" alt="" coords="4016,471,4144,497"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="3848,548,4008,575"/>
+<area shape="rect" href="$Casting_8h.html" title="llvm/Support/Casting.h" alt="" coords="3659,548,3824,575"/>
+<area shape="rect" href="$SectionKind_8h.html" title="llvm/MC/SectionKind.h" alt="" coords="3137,393,3300,420"/>
+<area shape="rect" href="$MCDwarf_8h.html" title="llvm/MC/MCDwarf.h" alt="" coords="2871,393,3012,420"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="3160,471,3360,497"/>
+<area shape="rect" href="$StringMap_8h.html" title="llvm/ADT/StringMap.h" alt="" coords="2639,393,2796,420"/>
+<area shape="rect" href="$SMLoc_8h.html" title="llvm/Support/SMLoc.h" alt="" coords="529,548,689,575"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8cpp__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8cpp__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8cpp__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8cpp__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+f677d7134797f2434a80b2e1640201f1
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__dep__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__dep__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__dep__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,8 @@
+<map id="G" name="G">
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="540,84,708,111"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="907,239,1080,265"/>
+<area shape="rect" href="$MachineOperand_8h.html" title="llvm/CodeGen/MachineOperand.h" alt="" coords="872,84,1107,111"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="736,161,899,188"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="5,161,192,188"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="699,239,883,265"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+02ea0d283c908e7987eb842c73b8874e
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MipsMCInstLower_8h__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMCTargetDesc_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMCTargetDesc_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMCTargetDesc_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMCTargetDesc_8h.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,145 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsMCTargetDesc.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+      <li class="navelem"><a class="el" href="dir_a032a7051e4aa81f3209ac18b486370c.html">MCTargetDesc</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Namespaces</a> |
+<a href="#define-members">Defines</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">MipsMCTargetDesc.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="DataTypes_8h_source.html">llvm/Support/DataTypes.h</a>"</code><br/>
+<code>#include "MipsGenRegisterInfo.inc"</code><br/>
+<code>#include "MipsGenInstrInfo.inc"</code><br/>
+<code>#include "MipsGenSubtargetInfo.inc"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for MipsMCTargetDesc.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsMCTargetDesc_8h__incl.png" border="0" usemap="#MipsMCTargetDesc_8h" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div><div class="textblock"><div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsMCTargetDesc_8h__dep__incl.png" border="0" usemap="#MipsMCTargetDesc_8hdep" alt=""/></div>
+<!-- MAP 1 -->
+</div>
+</div>
+<p><a href="MipsMCTargetDesc_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html">llvm</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>List of target independent CodeGen pass IDs. </p>
+<br/></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsMCTargetDesc_8h.html#a08a185753458ada847ed2d41b47ac1d1">GET_REGINFO_ENUM</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsMCTargetDesc_8h.html#a2433e9e503264e8ca019761dad9d06d1">GET_INSTRINFO_ENUM</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="MipsMCTargetDesc_8h.html#ae8e5d5d8b20c7c3550c60ac4a04e3c64">GET_SUBTARGETINFO_ENUM</a></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1MCCodeEmitter.html">MCCodeEmitter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a035df8b452f98c2d417cc6a923469eb0">llvm::createMipsMCCodeEmitterEB</a> (const <a class="el" href="classllvm_1_1MCInstrInfo.html">MCInstrInfo</a> &MCII, const <a class="el" href="classllvm_1_1MCRegisterInfo.html">MCRegisterInfo</a> &MRI, const <a class="el" href="classllvm_1_1MCSubtargetInfo.html">MCSubtargetInfo</a> &STI, <a class="el" href="classllvm_1_1MCContext.html">MCContext</a> &Ctx)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1MCCodeEmitter.html">MCCodeEmitter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a38da12fe7c49c52565168d0db5b16a1b">llvm::createMipsMCCodeEmitterEL</a> (const <a class="el" href="classllvm_1_1MCInstrInfo.html">MCInstrInfo</a> &MCII, const <a class="el" href="classllvm_1_1MCRegisterInfo.html">MCRegisterInfo</a> &MRI, const <a class="el" href="classllvm_1_1MCSubtargetInfo.html">MCSubtargetInfo</a> &STI, <a class="el" href="classllvm_1_1MCContext.html">MCContext</a> &Ctx)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1MCAsmBackend.html">MCAsmBackend</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a80053dcab5482edfa9495a05f806e84d">llvm::createMipsAsmBackendEB32</a> (const <a class="el" href="classllvm_1_1Target.html">Target</a> &T, <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> TT, <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> CPU)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1MCAsmBackend.html">MCAsmBackend</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#ad50f760b77ba8e85e0745a858af8245b">llvm::createMipsAsmBackendEL32</a> (const <a class="el" href="classllvm_1_1Target.html">Target</a> &T, <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> TT, <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> CPU)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1MCAsmBackend.html">MCAsmBackend</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a729cf2e818c0c94c3c19ff0e75ae83d0">llvm::createMipsAsmBackendEB64</a> (const <a class="el" href="classllvm_1_1Target.html">Target</a> &T, <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> TT, <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> CPU)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1MCAsmBackend.html">MCAsmBackend</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#affebc47380d8a3476325efb1177dbd73">llvm::createMipsAsmBackendEL64</a> (const <a class="el" href="classllvm_1_1Target.html">Target</a> &T, <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> TT, <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> CPU)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1MCObjectWriter.html">MCObjectWriter</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#ab84cb1c3b08b927ca8345f5b8bfd8cd5">llvm::createMipsELFObjectWriter</a> (<a class="el" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS, uint8_t OSABI, <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> IsLittleEndian, <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> Is64Bit)</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="a2433e9e503264e8ca019761dad9d06d1"></a><!-- doxytag: member="MipsMCTargetDesc.h::GET_INSTRINFO_ENUM" ref="a2433e9e503264e8ca019761dad9d06d1" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GET_INSTRINFO_ENUM</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsMCTargetDesc_8h_source.html#l00066">66</a> of file <a class="el" href="MipsMCTargetDesc_8h_source.html">MipsMCTargetDesc.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a08a185753458ada847ed2d41b47ac1d1"></a><!-- doxytag: member="MipsMCTargetDesc.h::GET_REGINFO_ENUM" ref="a08a185753458ada847ed2d41b47ac1d1" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GET_REGINFO_ENUM</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsMCTargetDesc_8h_source.html#l00062">62</a> of file <a class="el" href="MipsMCTargetDesc_8h_source.html">MipsMCTargetDesc.h</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ae8e5d5d8b20c7c3550c60ac4a04e3c64"></a><!-- doxytag: member="MipsMCTargetDesc.h::GET_SUBTARGETINFO_ENUM" ref="ae8e5d5d8b20c7c3550c60ac4a04e3c64" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define GET_SUBTARGETINFO_ENUM</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="MipsMCTargetDesc_8h_source.html#l00069">69</a> of file <a class="el" href="MipsMCTargetDesc_8h_source.html">MipsMCTargetDesc.h</a>.</p>
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:36 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMCTargetDesc_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMCTargetDesc_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMCTargetDesc_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMCTargetDesc_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,23 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsMCTargetDesc.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="MipsGenRegisterInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="MipsGenInstrInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="MipsGenSubtargetInfo.inc",height=0.2,width=0.4,color="grey75"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsMachineFunction.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">MipsMachineFunction.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="MipsMachineFunction_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- MipsMachineFunctionInfo.cpp - Private data used for Mips ----------===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 
+<a name="l00010"></a>00010 <span class="preprocessor">#include "<a class="code" href="MipsMachineFunction_8h.html">MipsMachineFunction.h</a>"</span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="MipsInstrInfo_8h.html">MipsInstrInfo.h</a>"</span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include "<a class="code" href="MipsSubtarget_8h.html">MipsSubtarget.h</a>"</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include "<a class="code" href="MipsBaseInfo_8h.html">MCTargetDesc/MipsBaseInfo.h</a>"</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="Function_8h.html">llvm/Function.h</a>"</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="MachineInstrBuilder_8h.html">llvm/CodeGen/MachineInstrBuilder.h</a>"</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="MachineRegisterInfo_8h.html">llvm/CodeGen/MachineRegisterInfo.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="CommandLine_8h.html">llvm/Support/CommandLine.h</a>"</span>
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 <span class="keyword">using namespace </span>llvm;
+<a name="l00020"></a>00020 
+<a name="l00021"></a>00021 <span class="keyword">static</span> <a class="code" href="classllvm_1_1cl_1_1opt.html">cl::opt<bool></a>
+<a name="l00022"></a>00022 <a class="code" href="MipsMachineFunction_8cpp.html#a558463544cf5297ce1301354300cfed2">FixGlobalBaseReg</a>(<span class="stringliteral">"mips-fix-global-base-reg"</span>, <a class="code" href="namespacellvm_1_1cl.html#a68075925a54790e71ca790e1d4f21a40a263ac008d8d31f13ce460395fc4cf7e6">cl::Hidden</a>, <a class="code" href="namespacellvm_1_1cl.html#a10a041239ae1870cfcc064bfaa79fb65">cl::init</a>(<span class="keyword">true</span>),
+<a name="l00023"></a>00023                  <a class="code" href="structllvm_1_1cl_1_1desc.html">cl::desc</a>(<span class="stringliteral">"Always use $gp as the global base register."</span>));
+<a name="l00024"></a>00024 
+<a name="l00025"></a><a class="code" href="classllvm_1_1MipsFunctionInfo.html#aa4822ea1b680a89883ddbd35e0feb777">00025</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MipsFunctionInfo.html#aa4822ea1b680a89883ddbd35e0feb777">MipsFunctionInfo::globalBaseRegSet</a>()<span class="keyword"> const </span>{
+<a name="l00026"></a>00026   <span class="keywordflow">return</span> GlobalBaseReg;
+<a name="l00027"></a>00027 }
+<a name="l00028"></a>00028 
+<a name="l00029"></a><a class="code" href="classllvm_1_1MipsFunctionInfo.html#afdd864503825771dd494c6c401b5d95f">00029</a> <span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1MipsFunctionInfo.html#afdd864503825771dd494c6c401b5d95f">MipsFunctionInfo::getGlobalBaseReg</a>() {
+<a name="l00030"></a>00030   <span class="comment">// Return if it has already been initialized.</span>
+<a name="l00031"></a>00031   <span class="keywordflow">if</span> (GlobalBaseReg)
+<a name="l00032"></a>00032     <span class="keywordflow">return</span> GlobalBaseReg;
+<a name="l00033"></a>00033 
+<a name="l00034"></a>00034   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> &<a class="code" href="namespacellvm_1_1ARM__MB.html#ad70272e2a9ec2a7e3a497458e1edbc85aed0b9bef861c96eee19e89db753db7b2">ST</a> = MF.<a class="code" href="classllvm_1_1MachineFunction.html#a6745c3bfdfc5b0643b078b96df2db252">getTarget</a>().<a class="code" href="classllvm_1_1TargetMachine.html#a5af2fed99951774b6a14d30ec6e73792">getSubtarget</a><<a class="code" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a>>();
+<a name="l00035"></a>00035 
+<a name="l00036"></a>00036   <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a> *RC;
+<a name="l00037"></a>00037   <span class="keywordflow">if</span> (ST.<a class="code" href="classllvm_1_1MipsSubtarget.html#a26fc7762b5f32d2571b48120c4ba330e">inMips16Mode</a>())
+<a name="l00038"></a>00038     RC=(<span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a>*)&Mips::CPU16RegsRegClass;
+<a name="l00039"></a>00039   <span class="keywordflow">else</span>
+<a name="l00040"></a>00040     RC = ST.<a class="code" href="classllvm_1_1MipsSubtarget.html#adf2bbcacec5329d8a9805781c3c29a1d">isABI_N64</a>() ?
+<a name="l00041"></a>00041       (<span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a>*)&Mips::CPU64RegsRegClass :
+<a name="l00042"></a>00042       (<span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a>*)&Mips::CPURegsRegClass;
+<a name="l00043"></a>00043   <span class="keywordflow">return</span> GlobalBaseReg = MF.<a class="code" href="classllvm_1_1MachineFunction.html#ab4a6ca428289b667dd691a00e9f7e334">getRegInfo</a>().<a class="code" href="classllvm_1_1MachineRegisterInfo.html#a76c3c7e3d4f11b4cfad37fc0449c9635">createVirtualRegister</a>(RC);
+<a name="l00044"></a>00044 }
+<a name="l00045"></a>00045 
+<a name="l00046"></a><a class="code" href="classllvm_1_1MipsFunctionInfo.html#a54cb3b4476f8bba2828221a7265e62f2">00046</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MipsFunctionInfo.html#a54cb3b4476f8bba2828221a7265e62f2">MipsFunctionInfo::mips16SPAliasRegSet</a>()<span class="keyword"> const </span>{
+<a name="l00047"></a>00047   <span class="keywordflow">return</span> Mips16SPAliasReg;
+<a name="l00048"></a>00048 }
+<a name="l00049"></a><a class="code" href="classllvm_1_1MipsFunctionInfo.html#afa767d7d02771d73dc39d27b90cb8a9f">00049</a> <span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1MipsFunctionInfo.html#afa767d7d02771d73dc39d27b90cb8a9f">MipsFunctionInfo::getMips16SPAliasReg</a>() {
+<a name="l00050"></a>00050   <span class="comment">// Return if it has already been initialized.</span>
+<a name="l00051"></a>00051   <span class="keywordflow">if</span> (Mips16SPAliasReg)
+<a name="l00052"></a>00052     <span class="keywordflow">return</span> Mips16SPAliasReg;
+<a name="l00053"></a>00053 
+<a name="l00054"></a>00054   <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a> *RC;
+<a name="l00055"></a>00055   RC=(<span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a>*)&Mips::CPU16RegsRegClass;
+<a name="l00056"></a>00056   <span class="keywordflow">return</span> Mips16SPAliasReg = MF.<a class="code" href="classllvm_1_1MachineFunction.html#ab4a6ca428289b667dd691a00e9f7e334">getRegInfo</a>().<a class="code" href="classllvm_1_1MachineRegisterInfo.html#a76c3c7e3d4f11b4cfad37fc0449c9635">createVirtualRegister</a>(RC);
+<a name="l00057"></a>00057 }
+<a name="l00058"></a>00058 
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> MipsFunctionInfo::anchor() { }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:36:14 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,24 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsJITInfo_8h.html" title="MipsJITInfo.h" alt="" coords="1111,84,1209,111"/>
+<area shape="rect" href="$Mips16InstrInfo_8cpp.html" title="Mips16InstrInfo.cpp" alt="" coords="5,239,149,265"/>
+<area shape="rect" href="$MipsFrameLowering_8cpp.html" title="MipsFrameLowering.cpp" alt="" coords="173,239,347,265"/>
+<area shape="rect" href="$MipsInstrInfo_8cpp.html" title="MipsInstrInfo.cpp" alt="" coords="371,239,499,265"/>
+<area shape="rect" href="$MipsISelDAGToDAG_8cpp.html" title="MipsISelDAGToDAG.cpp" alt="" coords="1469,239,1640,265"/>
+<area shape="rect" href="$MipsISelLowering_8cpp.html" title="MipsISelLowering.cpp" alt="" coords="1664,239,1819,265"/>
+<area shape="rect" href="$MipsSEInstrInfo_8cpp.html" title="MipsSEInstrInfo.cpp" alt="" coords="1843,239,1987,265"/>
+<area shape="rect" href="$Mips16RegisterInfo_8cpp.html" title="Mips16RegisterInfo.cpp" alt="" coords="1392,84,1560,111"/>
+<area shape="rect" href="$MipsAsmPrinter_8h.html" title="MipsAsmPrinter.h" alt="" coords="1584,84,1715,111"/>
+<area shape="rect" href="$MipsMachineFunction_8cpp.html" title="MipsMachineFunction.cpp" alt="" coords="1739,84,1923,111"/>
+<area shape="rect" href="$MipsRegisterInfo_8cpp.html" title="MipsRegisterInfo.cpp" alt="" coords="1947,84,2099,111"/>
+<area shape="rect" href="$MipsSEFrameLowering_8cpp.html" title="MipsSEFrameLowering.cpp" alt="" coords="2123,84,2312,111"/>
+<area shape="rect" href="$MipsSERegisterInfo_8cpp.html" title="MipsSERegisterInfo.cpp" alt="" coords="2336,84,2504,111"/>
+<area shape="rect" href="$MipsTargetMachine_8h.html" title="MipsTargetMachine.h" alt="" coords="925,161,1080,188"/>
+<area shape="rect" href="$MipsJITInfo_8cpp.html" title="MipsJITInfo.cpp" alt="" coords="1104,161,1216,188"/>
+<area shape="rect" href="$MipsCodeEmitter_8cpp.html" title="MipsCodeEmitter.cpp" alt="" coords="925,239,1080,265"/>
+<area shape="rect" href="$MipsDelaySlotFiller_8cpp.html" title="MipsDelaySlotFiller.cpp" alt="" coords="1104,239,1269,265"/>
+<area shape="rect" href="$MipsLongBranch_8cpp.html" title="MipsLongBranch.cpp" alt="" coords="1293,239,1445,265"/>
+<area shape="rect" href="$MipsSelectionDAGInfo_8cpp.html" title="MipsSelectionDAGInfo.cpp" alt="" coords="523,239,709,265"/>
+<area shape="rect" href="$MipsTargetMachine_8cpp.html" title="MipsTargetMachine.cpp" alt="" coords="733,239,901,265"/>
+<area shape="rect" href="$MipsAsmPrinter_8cpp.html" title="MipsAsmPrinter.cpp" alt="" coords="1489,161,1636,188"/>
+<area shape="rect" href="$MipsMCInstLower_8cpp.html" title="MipsMCInstLower.cpp" alt="" coords="1660,161,1815,188"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8h__dep__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8h__dep__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8h__dep__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsMachineFunction_8h__dep__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+770d846a8c890aca9c9fcfb542b01777
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,45 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsRegisterInfo_8h.html" title="MipsRegisterInfo.h" alt="" coords="535,161,671,188"/>
+<area shape="rect" href="$Mips_8h.html" title="Mips.h" alt="" coords="541,239,603,265"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="227,316,424,343"/>
+<area shape="rect" href="$TargetOptions_8h.html" title="llvm/Target/TargetOptions.h" alt="" coords="5,393,200,420"/>
+<area shape="rect" href="$ValueTypes_8h.html" title="llvm/CodeGen/ValueTypes.h" alt="" coords="1125,316,1320,343"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1120,393,1325,420"/>
+<area shape="rect" href="$MipsAnalyzeImmediate_8h.html" title="MipsAnalyzeImmediate.h" alt="" coords="2112,239,2293,265"/>
+<area shape="rect" href="$MipsInstrInfo_8h.html" title="MipsInstrInfo.h" alt="" coords="736,84,848,111"/>
+<area shape="rect" href="$TargetInstrInfo_8h.html" title="llvm/Target/TargetInstrInfo.h" alt="" coords="2560,161,2755,188"/>
+<area shape="rect" href="$MachineFunction_8h.html" title="llvm/CodeGen/MachineFunction.h" alt="" coords="2573,239,2805,265"/>
+<area shape="rect" href="$MipsSubtarget_8h.html" title="MipsSubtarget.h" alt="" coords="1563,239,1688,265"/>
+<area shape="rect" href="$MipsMachineFunction_8h.html" title="MipsMachineFunction.h" alt="" coords="2368,161,2536,188"/>
+<area shape="rect" href="$MachineFrameInfo_8h.html" title="llvm/CodeGen/MachineFrameInfo.h" alt="" coords="2315,316,2557,343"/>
+<area shape="rect" href="$TargetFrameLowering_8h.html" title="llvm/Target/TargetFrameLowering.h" alt="" coords="3057,239,3297,265"/>
+<area shape="rect" href="$Constants_8h.html" title="llvm/Constants.h" alt="" coords="1596,84,1724,111"/>
+<area shape="rect" href="$DebugInfo_8h.html" title="llvm/DebugInfo.h" alt="" coords="3767,239,3895,265"/>
+<area shape="rect" href="$Type_8h.html" title="llvm/Type.h" alt="" coords="3531,316,3621,343"/>
+<area shape="rect" href="$MachineInstrBuilder_8h.html" title="llvm/CodeGen/MachineInstrBuilder.h" alt="" coords="1992,161,2243,188"/>
+<area shape="rect" href="$CommandLine_8h.html" title="llvm/Support/CommandLine.h" alt="" coords="4165,316,4376,343"/>
+<area shape="rect" href="$Debug_8h.html" title="llvm/Support/Debug.h" alt="" coords="2981,84,3141,111"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="3307,316,3507,343"/>
+<area shape="rect" href="$BitVector_8h.html" title="llvm/ADT/BitVector.h" alt="" coords="1395,316,1544,343"/>
+<area shape="rect" href="$STLExtras_8h.html" title="llvm/ADT/STLExtras.h" alt="" coords="4501,471,4656,497"/>
+<area shape="rect" href="$TargetRegisterInfo_8h.html" title="llvm/Target/TargetRegisterInfo.h" alt="" coords="1763,239,1981,265"/>
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MCTargetDesc/MipsMCTargetDesc.h" alt="" coords="448,316,696,343"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="2409,393,2593,420"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1872,471,2021,497"/>
+<area shape="rect" href="$MachineBasicBlock_8h.html" title="llvm/CodeGen/MachineBasicBlock.h" alt="" coords="3035,316,3283,343"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="2096,316,2240,343"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="1451,393,1640,420"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="2617,393,2785,420"/>
+<area shape="rect" href="$ilist_8h.html" title="llvm/ADT/ilist.h" alt="" coords="3631,471,3745,497"/>
+<area shape="rect" href="$DebugLoc_8h.html" title="llvm/Support/DebugLoc.h" alt="" coords="2632,316,2813,343"/>
+<area shape="rect" href="$Allocator_8h.html" title="llvm/Support/Allocator.h" alt="" coords="2837,316,3011,343"/>
+<area shape="rect" href="$TargetSubtargetInfo_8h.html" title="llvm/Target/TargetSubtargetInfo.h" alt="" coords="1568,316,1800,343"/>
+<area shape="rect" href="$MCInstrItineraries_8h.html" title="llvm/MC/MCInstrItineraries.h" alt="" coords="1824,316,2021,343"/>
+<area shape="rect" href="$Constant_8h.html" title="llvm/Constant.h" alt="" coords="1520,161,1640,188"/>
+<area shape="rect" href="$OperandTraits_8h.html" title="llvm/OperandTraits.h" alt="" coords="1664,161,1816,188"/>
+<area shape="rect" href="$APInt_8h.html" title="llvm/ADT/APInt.h" alt="" coords="1281,239,1407,265"/>
+<area shape="rect" href="$APFloat_8h.html" title="llvm/ADT/APFloat.h" alt="" coords="1304,161,1445,188"/>
+<area shape="rect" href="$SmallPtrSet_8h.html" title="llvm/ADT/SmallPtrSet.h" alt="" coords="3747,316,3915,343"/>
+<area shape="rect" href="$Dwarf_8h.html" title="llvm/Support/Dwarf.h" alt="" coords="3989,316,4141,343"/>
+<area shape="rect" href="$Casting_8h.html" title="llvm/Support/Casting.h" alt="" coords="3192,471,3357,497"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+d0f5c6e56d3c836f9fd85aaad4cb5bf3
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8cpp__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsRegisterInfo_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,157 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsRegisterInfo.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="Mips.h",height=0.2,width=0.4,color="black",URL="$Mips_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="MCTargetDesc/MipsMCTargetDesc.h",height=0.2,width=0.4,color="black",URL="$MipsMCTargetDesc_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="MipsGenRegisterInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="MipsGenInstrInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="MipsGenSubtargetInfo.inc",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="llvm/Target/TargetMachine.h",height=0.2,width=0.4,color="black",URL="$Target_2TargetMachine_8h.html"];
+  Node12 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="llvm/Pass.h",height=0.2,width=0.4,color="black",URL="$Pass_8h.html"];
+  Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node13 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node13 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="llvm/PassSupport.h",height=0.2,width=0.4,color="red",URL="$PassSupport_8h.html"];
+  Node16 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node13 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="llvm/PassAnalysisSupport.h",height=0.2,width=0.4,color="black",URL="$PassAnalysisSupport_8h.html"];
+  Node18 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="red",URL="$SmallVector_8h.html"];
+  Node19 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="red",URL="$AlignOf_8h.html"];
+  Node20 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="red",URL="$type__traits_8h.html"];
+  Node21 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node19 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node19 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node19 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node19 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node18 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node27 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node27 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/Support/CodeGen.h",height=0.2,width=0.4,color="black",URL="$CodeGen_8h.html"];
+  Node12 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/Target/TargetOptions.h",height=0.2,width=0.4,color="black",URL="$TargetOptions_8h.html"];
+  Node30 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/TargetTransformInfo.h",height=0.2,width=0.4,color="black",URL="$TargetTransformInfo_8h.html"];
+  Node31 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/AddressingMode.h",height=0.2,width=0.4,color="black",URL="$AddressingMode_8h.html"];
+  Node32 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/Type.h",height=0.2,width=0.4,color="red",URL="$Type_8h.html"];
+  Node33 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/Target/TargetTransformImpl.h",height=0.2,width=0.4,color="black",URL="$TargetTransformImpl_8h.html"];
+  Node34 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/CodeGen/ValueTypes.h",height=0.2,width=0.4,color="black",URL="$ValueTypes_8h.html"];
+  Node35 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node36 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/Support/MathExtras.h",height=0.2,width=0.4,color="red",URL="$MathExtras_8h.html"];
+  Node35 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/Target/TargetRegisterInfo.h",height=0.2,width=0.4,color="black",URL="$TargetRegisterInfo_8h.html"];
+  Node38 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/MC/MCRegisterInfo.h",height=0.2,width=0.4,color="black",URL="$MCRegisterInfo_8h.html"];
+  Node39 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="red",URL="$DenseMap_8h.html"];
+  Node40 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/Support/PointerLikeTypeTraits.h",height=0.2,width=0.4,color="black",URL="$PointerLikeTypeTraits_8h.html"];
+  Node41 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/ADT/DenseMapInfo.h",height=0.2,width=0.4,color="black",URL="$DenseMapInfo_8h.html"];
+  Node42 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="new",height=0.2,width=0.4,color="grey75"];
+  Node40 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="climits",height=0.2,width=0.4,color="grey75"];
+  Node40 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/CodeGen/MachineBasicBlock.h",height=0.2,width=0.4,color="black",URL="$MachineBasicBlock_8h.html"];
+  Node45 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/CodeGen/MachineInstr.h",height=0.2,width=0.4,color="red",URL="$MachineInstr_8h.html"];
+  Node46 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="llvm/ADT/ArrayRef.h",height=0.2,width=0.4,color="black",URL="$ArrayRef_8h.html"];
+  Node47 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="llvm/ADT/GraphTraits.h",height=0.2,width=0.4,color="black",URL="$GraphTraits_8h.html"];
+  Node45 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="functional",height=0.2,width=0.4,color="grey75"];
+  Node38 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="llvm/CallingConv.h",height=0.2,width=0.4,color="black",URL="$CallingConv_8h.html"];
+  Node38 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,88 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsRelocations.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#namespaces">Namespaces</a> |
+<a href="#enum-members">Enumerations</a>  </div>
+  <div class="headertitle">
+<div class="title">MipsRelocations.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="MachineRelocation_8h_source.html">llvm/CodeGen/MachineRelocation.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for MipsRelocations.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsRelocations_8h__incl.png" border="0" usemap="#MipsRelocations_8h" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div><div class="textblock"><div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsRelocations_8h__dep__incl.png" border="0" usemap="#MipsRelocations_8hdep" alt=""/></div>
+<!-- MAP 1 -->
+</div>
+</div>
+<p><a href="MipsRelocations_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html">llvm</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>List of target independent CodeGen pass IDs. </p>
+<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm_1_1Mips.html">llvm::Mips</a></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm_1_1Mips.html#a96d9464074b8bb4bb7b40666d18e8e03">llvm::Mips::RelocationType</a> { <a class="el" href="namespacellvm_1_1Mips.html#a96d9464074b8bb4bb7b40666d18e8e03ac643626c2c4e17dd1c8c7ce0e6cbfbaf">llvm::Mips::reloc_mips_pc16</a> =  1, 
+<a class="el" href="namespacellvm_1_1Mips.html#a96d9464074b8bb4bb7b40666d18e8e03aac2f2af1de6ee0d963845cfcbad82c90">llvm::Mips::reloc_mips_hi</a> =  2, 
+<a class="el" href="namespacellvm_1_1Mips.html#a96d9464074b8bb4bb7b40666d18e8e03ac0612b8dcd47622991f740998f9cff87">llvm::Mips::reloc_mips_lo</a> =  3, 
+<a class="el" href="namespacellvm_1_1Mips.html#a96d9464074b8bb4bb7b40666d18e8e03acd915b3f9966c02243f81606781d2e50">llvm::Mips::reloc_mips_26</a> =  4
+ }</td></tr>
+</table>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:36 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,4 @@
+<map id="G" name="G">
+<area shape="rect" href="$MachineRelocation_8h.html" title="llvm/CodeGen/MachineRelocation.h" alt="" coords="152,84,395,111"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="107,161,291,188"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsRelocations_8h__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+a5ce722e0066a2127a99f043bef22e83
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,84 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsSEInstrInfo.h File Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">MipsSEInstrInfo.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="MipsInstrInfo_8h_source.html">MipsInstrInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="MipsSERegisterInfo_8h_source.html">MipsSERegisterInfo.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for MipsSEInstrInfo.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsSEInstrInfo_8h__incl.png" border="0" usemap="#MipsSEInstrInfo_8h" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div><div class="textblock"><div class="dynheader">
+This graph shows which files directly or indirectly include this file:</div>
+<div class="dyncontent">
+<div class="center"><img src="MipsSEInstrInfo_8h__dep__incl.png" border="0" usemap="#MipsSEInstrInfo_8hdep" alt=""/></div>
+<!-- MAP 1 -->
+</div>
+</div>
+<p><a href="MipsSEInstrInfo_8h_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Classes</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1MipsSEInstrInfo.html">llvm::MipsSEInstrInfo</a></td></tr>
+<tr><td colspan="2"><h2><a name="namespaces"></a>
+Namespaces</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html">llvm</a></td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight"><p>List of target independent CodeGen pass IDs. </p>
+<br/></td></tr>
+</table>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:36 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,13 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsSEInstrInfo.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="MipsSEFrameLowering.cpp",height=0.2,width=0.4,color="black",URL="$MipsSEFrameLowering_8cpp.html"];
+  Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="MipsSEInstrInfo.cpp",height=0.2,width=0.4,color="black",URL="$MipsSEInstrInfo_8cpp.html"];
+  Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="MipsSERegisterInfo.cpp",height=0.2,width=0.4,color="black",URL="$MipsSERegisterInfo_8cpp.html"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MipsSEInstrInfo_8h__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
+<meta name="keywords" content="LLVM,Low Level Virtual Machine,C++,doxygen,API,documentation"/>
+<meta name="description" content="C++ source code API documentation for LLVM."/>
+<title>LLVM: MipsSERegisterInfo.cpp Source File</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css"/>
+</head><body>
+<p class="title">LLVM API Documentation</p>
+<!-- Generated by Doxygen 1.7.5.1 -->
+  <div id="navrow1" class="tabs">
+    <ul class="tablist">
+      <li><a href="index.html"><span>Main Page</span></a></li>
+      <li><a href="pages.html"><span>Related Pages</span></a></li>
+      <li><a href="modules.html"><span>Modules</span></a></li>
+      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
+      <li><a href="annotated.html"><span>Classes</span></a></li>
+      <li class="current"><a href="files.html"><span>Files</span></a></li>
+      <li><a href="dirs.html"><span>Directories</span></a></li>
+    </ul>
+  </div>
+  <div id="navrow2" class="tabs2">
+    <ul class="tablist">
+      <li><a href="files.html"><span>File List</span></a></li>
+      <li><a href="globals.html"><span>File Members</span></a></li>
+    </ul>
+  </div>
+  <div id="nav-path" class="navpath">
+    <ul>
+      <li class="navelem"><a class="el" href="dir_b41d254693bea6e92988e5bb1ad97e02.html">llvm-3.2.src</a>      </li>
+      <li class="navelem"><a class="el" href="dir_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_8a55ec9894173378e0d08f27f306eeee.html">Target</a>      </li>
+      <li class="navelem"><a class="el" href="dir_e8044aeb54b6e433ec393b1e912b002a.html">Mips</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">MipsSERegisterInfo.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="MipsSERegisterInfo_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- MipsSERegisterInfo.cpp - MIPS32/64 Register Information -== -------===//</span>
+<a name="l00002"></a>00002 <span class="comment">//</span>
+<a name="l00003"></a>00003 <span class="comment">//                     The LLVM Compiler Infrastructure</span>
+<a name="l00004"></a>00004 <span class="comment">//</span>
+<a name="l00005"></a>00005 <span class="comment">// This file is distributed under the University of Illinois Open Source</span>
+<a name="l00006"></a>00006 <span class="comment">// License. See LICENSE.TXT for details.</span>
+<a name="l00007"></a>00007 <span class="comment">//</span>
+<a name="l00008"></a>00008 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00009"></a>00009 <span class="comment">//</span>
+<a name="l00010"></a>00010 <span class="comment">// This file contains the MIPS32/64 implementation of the TargetRegisterInfo</span>
+<a name="l00011"></a>00011 <span class="comment">// class.</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00014"></a>00014 
+<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="MipsSERegisterInfo_8h.html">MipsSERegisterInfo.h</a>"</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="Mips_8h.html">Mips.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="MipsAnalyzeImmediate_8h.html">MipsAnalyzeImmediate.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="MipsSEInstrInfo_8h.html">MipsSEInstrInfo.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="MipsSubtarget_8h.html">MipsSubtarget.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="MipsMachineFunction_8h.html">MipsMachineFunction.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="Constants_8h.html">llvm/Constants.h</a>"</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="DebugInfo_8h.html">llvm/DebugInfo.h</a>"</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="Type_8h.html">llvm/Type.h</a>"</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="Function_8h.html">llvm/Function.h</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="ValueTypes_8h.html">llvm/CodeGen/ValueTypes.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="MachineInstrBuilder_8h.html">llvm/CodeGen/MachineInstrBuilder.h</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="MachineFunction_8h.html">llvm/CodeGen/MachineFunction.h</a>"</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="MachineFrameInfo_8h.html">llvm/CodeGen/MachineFrameInfo.h</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="MachineRegisterInfo_8h.html">llvm/CodeGen/MachineRegisterInfo.h</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="TargetFrameLowering_8h.html">llvm/Target/TargetFrameLowering.h</a>"</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="Target_2TargetMachine_8h.html">llvm/Target/TargetMachine.h</a>"</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="TargetOptions_8h.html">llvm/Target/TargetOptions.h</a>"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="TargetInstrInfo_8h.html">llvm/Target/TargetInstrInfo.h</a>"</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="CommandLine_8h.html">llvm/Support/CommandLine.h</a>"</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="Debug_8h.html">llvm/Support/Debug.h</a>"</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="ErrorHandling_8h.html">llvm/Support/ErrorHandling.h</a>"</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="raw__ostream_8h.html">llvm/Support/raw_ostream.h</a>"</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="BitVector_8h.html">llvm/ADT/BitVector.h</a>"</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include "<a class="code" href="STLExtras_8h.html">llvm/ADT/STLExtras.h</a>"</span>
+<a name="l00040"></a>00040 
+<a name="l00041"></a>00041 <span class="keyword">using namespace </span>llvm;
+<a name="l00042"></a>00042 
+<a name="l00043"></a><a class="code" href="classllvm_1_1MipsSERegisterInfo.html#aa4958154ce59c31f6d73b1fda1c439fe">00043</a> <a class="code" href="classllvm_1_1MipsSERegisterInfo.html#aa4958154ce59c31f6d73b1fda1c439fe">MipsSERegisterInfo::MipsSERegisterInfo</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsSubtarget.html">MipsSubtarget</a> &<a class="code" href="namespacellvm_1_1ARM__MB.html#ad70272e2a9ec2a7e3a497458e1edbc85aed0b9bef861c96eee19e89db753db7b2">ST</a>,
+<a name="l00044"></a>00044                                        <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsSEInstrInfo.html">MipsSEInstrInfo</a> &<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)
+<a name="l00045"></a>00045   : <a class="code" href="classllvm_1_1MipsRegisterInfo.html">MipsRegisterInfo</a>(ST), TII(I) {}
+<a name="l00046"></a>00046 
+<a name="l00047"></a>00047 <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MipsSERegisterInfo.html#ab38c357678749dba5c3bce950ad7260f">MipsSERegisterInfo::</a>
+<a name="l00048"></a><a class="code" href="classllvm_1_1MipsSERegisterInfo.html#ab38c357678749dba5c3bce950ad7260f">00048</a> <a class="code" href="classllvm_1_1MipsSERegisterInfo.html#ab38c357678749dba5c3bce950ad7260f">requiresRegisterScavenging</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF)<span class="keyword"> const </span>{
+<a name="l00049"></a>00049   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 
+<a name="l00052"></a>00052 <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1MipsSERegisterInfo.html#a80e5e2526adb9e8e39fc673f3ae1238d">MipsSERegisterInfo::</a>
+<a name="l00053"></a><a class="code" href="classllvm_1_1MipsSERegisterInfo.html#a80e5e2526adb9e8e39fc673f3ae1238d">00053</a> <a class="code" href="classllvm_1_1MipsSERegisterInfo.html#a80e5e2526adb9e8e39fc673f3ae1238d">requiresFrameIndexScavenging</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF)<span class="keyword"> const </span>{
+<a name="l00054"></a>00054   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00055"></a>00055 }
+<a name="l00056"></a>00056 
+<a name="l00057"></a>00057 <span class="comment">// This function eliminate ADJCALLSTACKDOWN,</span>
+<a name="l00058"></a>00058 <span class="comment">// ADJCALLSTACKUP pseudo instructions</span>
+<a name="l00059"></a>00059 <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1MipsSERegisterInfo.html#a26512f2df48281a0ae468ad765eaf973">MipsSERegisterInfo::</a>
+<a name="l00060"></a><a class="code" href="classllvm_1_1MipsSERegisterInfo.html#a26512f2df48281a0ae468ad765eaf973">00060</a> <a class="code" href="classllvm_1_1MipsSERegisterInfo.html#a26512f2df48281a0ae468ad765eaf973">eliminateCallFramePseudoInstr</a>(<a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF, <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB,
+<a name="l00061"></a>00061                               <a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)<span class="keyword"> const </span>{
+<a name="l00062"></a>00062   <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetFrameLowering.html">TargetFrameLowering</a> *TFI = MF.<a class="code" href="classllvm_1_1MachineFunction.html#a6745c3bfdfc5b0643b078b96df2db252">getTarget</a>().<a class="code" href="classllvm_1_1TargetMachine.html#a02aa9d4cbd6ffcc70dfe1143ec0995ef">getFrameLowering</a>();
+<a name="l00063"></a>00063 
+<a name="l00064"></a>00064   <span class="keywordflow">if</span> (!TFI-><a class="code" href="classllvm_1_1TargetFrameLowering.html#a8404705eb7a27e437ac51ca3730bfd7c">hasReservedCallFrame</a>(MF)) {
+<a name="l00065"></a>00065     <a class="code" href="classint64__t.html">int64_t</a> Amount = I->getOperand(0).getImm();
+<a name="l00066"></a>00066 
+<a name="l00067"></a>00067     <span class="keywordflow">if</span> (I->getOpcode() == Mips::ADJCALLSTACKDOWN)
+<a name="l00068"></a>00068       Amount = -Amount;
+<a name="l00069"></a>00069 
+<a name="l00070"></a>00070     <span class="keyword">const</span> <a class="code" href="classllvm_1_1MipsSEInstrInfo.html">MipsSEInstrInfo</a> *II = <span class="keyword">static_cast<</span><span class="keyword">const </span><a class="code" href="classllvm_1_1MipsSEInstrInfo.html">MipsSEInstrInfo</a>*<span class="keyword">></span>(&TII);
+<a name="l00071"></a>00071     <span class="keywordtype">unsigned</span> SP = <a class="code" href="classllvm_1_1MipsRegisterInfo.html#afc7a229bea38bb040921e814c7d4231e">Subtarget</a>.<a class="code" href="classllvm_1_1MipsSubtarget.html#adf2bbcacec5329d8a9805781c3c29a1d">isABI_N64</a>() ? Mips::SP_64 : Mips::SP;
+<a name="l00072"></a>00072 
+<a name="l00073"></a>00073     II-><a class="code" href="classllvm_1_1MipsSEInstrInfo.html#a8e2bfbfbee33dd9f63972fed94032389" title="Adjust SP by Amount bytes.">adjustStackPtr</a>(SP, Amount, MBB, I);
+<a name="l00074"></a>00074   }
+<a name="l00075"></a>00075 
+<a name="l00076"></a>00076   MBB.<a class="code" href="classllvm_1_1MachineBasicBlock.html#a537a9265c55392ab47d44954f27db538">erase</a>(I);
+<a name="l00077"></a>00077 }
+<a name="l00078"></a>00078 
+<a name="l00079"></a>00079 <span class="keywordtype">void</span> MipsSERegisterInfo::eliminateFI(<a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> II,
+<a name="l00080"></a>00080                                      <span class="keywordtype">unsigned</span> OpNo, <span class="keywordtype">int</span> <a class="code" href="namespacellvm_1_1ISD.html#a22ea9cec080dd5f4f47ba234c2f59110a4b437632fd9b97dd36010d85eb363efe">FrameIndex</a>,
+<a name="l00081"></a>00081                                      uint64_t StackSize,
+<a name="l00082"></a>00082                                      <a class="code" href="classint64__t.html">int64_t</a> SPOffset)<span class="keyword"> const </span>{
+<a name="l00083"></a>00083   <a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> &<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a> = *II;
+<a name="l00084"></a>00084   <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF = *MI.<a class="code" href="classllvm_1_1MachineInstr.html#aabad9b72f6d20d3462efc34020d39f73">getParent</a>()-><a class="code" href="classllvm_1_1MachineBasicBlock.html#af2e482ff2a9253ec6bc2285491496bd6">getParent</a>();
+<a name="l00085"></a>00085   <a class="code" href="classllvm_1_1MachineFrameInfo.html" title="Abstract Stack Frame Information.">MachineFrameInfo</a> *MFI = MF.<a class="code" href="classllvm_1_1MachineFunction.html#a4ad4295a88187ea1ae12ecfcfa18a70f">getFrameInfo</a>();
+<a name="l00086"></a>00086 
+<a name="l00087"></a>00087   <span class="keyword">const</span> std::vector<CalleeSavedInfo> &CSI = MFI-><a class="code" href="classllvm_1_1MachineFrameInfo.html#a5296aac05a8ccceb0d89d449611722d3">getCalleeSavedInfo</a>();
+<a name="l00088"></a>00088   <span class="keywordtype">int</span> MinCSFI = 0;
+<a name="l00089"></a>00089   <span class="keywordtype">int</span> MaxCSFI = -1;
+<a name="l00090"></a>00090 
+<a name="l00091"></a>00091   <span class="keywordflow">if</span> (CSI.size()) {
+<a name="l00092"></a>00092     MinCSFI = CSI[0].getFrameIdx();
+<a name="l00093"></a>00093     MaxCSFI = CSI[CSI.size() - 1].getFrameIdx();
+<a name="l00094"></a>00094   }
+<a name="l00095"></a>00095 
+<a name="l00096"></a>00096   <span class="comment">// The following stack frame objects are always referenced relative to $sp:</span>
+<a name="l00097"></a>00097   <span class="comment">//  1. Outgoing arguments.</span>
+<a name="l00098"></a>00098   <span class="comment">//  2. Pointer to dynamically allocated stack space.</span>
+<a name="l00099"></a>00099   <span class="comment">//  3. Locations for callee-saved registers.</span>
+<a name="l00100"></a>00100   <span class="comment">// Everything else is referenced relative to whatever register</span>
+<a name="l00101"></a>00101   <span class="comment">// getFrameRegister() returns.</span>
+<a name="l00102"></a>00102   <span class="keywordtype">unsigned</span> FrameReg;
+<a name="l00103"></a>00103 
+<a name="l00104"></a>00104   <span class="keywordflow">if</span> (FrameIndex >= MinCSFI && FrameIndex <= MaxCSFI)
+<a name="l00105"></a>00105     FrameReg = <a class="code" href="classllvm_1_1MipsRegisterInfo.html#afc7a229bea38bb040921e814c7d4231e">Subtarget</a>.<a class="code" href="classllvm_1_1MipsSubtarget.html#adf2bbcacec5329d8a9805781c3c29a1d">isABI_N64</a>() ? Mips::SP_64 : Mips::SP;
+<a name="l00106"></a>00106   <span class="keywordflow">else</span>
+<a name="l00107"></a>00107     FrameReg = <a class="code" href="classllvm_1_1MipsRegisterInfo.html#a2ad998799d6772744df215f003d7a500" title="Debug information queries.">getFrameRegister</a>(MF);
+<a name="l00108"></a>00108 
+<a name="l00109"></a>00109   <span class="comment">// Calculate final offset.</span>
+<a name="l00110"></a>00110   <span class="comment">// - There is no need to change the offset if the frame object is one of the</span>
+<a name="l00111"></a>00111   <span class="comment">//   following: an outgoing argument, pointer to a dynamically allocated</span>
+<a name="l00112"></a>00112   <span class="comment">//   stack space or a $gp restore location,</span>
+<a name="l00113"></a>00113   <span class="comment">// - If the frame object is any of the following, its offset must be adjusted</span>
+<a name="l00114"></a>00114   <span class="comment">//   by adding the size of the stack:</span>
+<a name="l00115"></a>00115   <span class="comment">//   incoming argument, callee-saved register location or local variable.</span>
+<a name="l00116"></a>00116   <span class="keywordtype">bool</span> IsKill = <span class="keyword">false</span>;
+<a name="l00117"></a>00117   <a class="code" href="classint64__t.html">int64_t</a> Offset;
+<a name="l00118"></a>00118 
+<a name="l00119"></a>00119   Offset = SPOffset + (<a class="code" href="classint64__t.html">int64_t</a>)StackSize;
+<a name="l00120"></a>00120   Offset += MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo + 1).<a class="code" href="classllvm_1_1MachineOperand.html#a7059d68a29d5ecfb37623ab45cdb4e8d">getImm</a>();
+<a name="l00121"></a>00121 
+<a name="l00122"></a>00122   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#ab8e34eca3b0817ef7a127913fbf6d9e4">errs</a>() << <span class="stringliteral">"Offset     : "</span> << Offset << <span class="stringliteral">"\n"</span> << <span class="stringliteral">"<--------->\n"</span>);
+<a name="l00123"></a>00123 
+<a name="l00124"></a>00124   <span class="comment">// If MI is not a debug value, make sure Offset fits in the 16-bit immediate</span>
+<a name="l00125"></a>00125   <span class="comment">// field.</span>
+<a name="l00126"></a>00126   <span class="keywordflow">if</span> (!MI.<a class="code" href="classllvm_1_1MachineInstr.html#a1e1d26226c627cf3dcf3c191b85e7d7d">isDebugValue</a>() && !<a class="code" href="namespacellvm.html#a3b9662928ee4d58fef185abfe20e8184">isInt<16></a>(Offset)) {
+<a name="l00127"></a>00127     <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> &MBB = *MI.<a class="code" href="classllvm_1_1MachineInstr.html#aabad9b72f6d20d3462efc34020d39f73">getParent</a>();
+<a name="l00128"></a>00128     <a class="code" href="classllvm_1_1DebugLoc.html">DebugLoc</a> DL = II->getDebugLoc();
+<a name="l00129"></a>00129     <span class="keywordtype">unsigned</span> ADDu = <a class="code" href="classllvm_1_1MipsRegisterInfo.html#afc7a229bea38bb040921e814c7d4231e">Subtarget</a>.<a class="code" href="classllvm_1_1MipsSubtarget.html#adf2bbcacec5329d8a9805781c3c29a1d">isABI_N64</a>() ? Mips::DADDu : Mips::ADDu;
+<a name="l00130"></a>00130     <span class="keywordtype">unsigned</span> NewImm;
+<a name="l00131"></a>00131 
+<a name="l00132"></a>00132     <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a> = TII.<a class="code" href="classllvm_1_1MipsSEInstrInfo.html#a17aec93c851e28f0cbd4b38bece6d4c5">loadImmediate</a>(Offset, MBB, II, DL, &NewImm);
+<a name="l00133"></a>00133     <a class="code" href="namespacellvm.html#a980570dc1410d4ef53806f82028ca381">BuildMI</a>(MBB, II, DL, TII.get(ADDu), <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a>).addReg(FrameReg)
+<a name="l00134"></a>00134       .<a class="code" href="classllvm_1_1MachineInstrBuilder.html#a5125cce72b214df09ca8f93dcbbf4c3a">addReg</a>(Reg, <a class="code" href="namespacellvm_1_1RegState.html#a079b254e749130fbe5d740f314ca92daa9ddde91ef09476d28a088fe57f8e2921">RegState::Kill</a>);
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136     FrameReg = <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a>;
+<a name="l00137"></a>00137     Offset = SignExtend64<16>(NewImm);
+<a name="l00138"></a>00138     IsKill = <span class="keyword">true</span>;
+<a name="l00139"></a>00139   }
+<a name="l00140"></a>00140 
+<a name="l00141"></a>00141   MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo).<a class="code" href="classllvm_1_1MachineOperand.html#a7db02b21d284294b8d9369803fe1c13b">ChangeToRegister</a>(FrameReg, <span class="keyword">false</span>, <span class="keyword">false</span>, IsKill);
+<a name="l00142"></a>00142   MI.<a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(OpNo + 1).<a class="code" href="classllvm_1_1MachineOperand.html#aa7e43fc5b201a1cc5b2b0f1f72963dd2">ChangeToImmediate</a>(Offset);
+<a name="l00143"></a>00143 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:36:15 for <a href="http://llvm.org/">LLVM</a> by
+<a href="http://www.doxygen.org"><img src="doxygen.png" alt="Doxygen"
+align="middle" border="0"/>1.7.5.1</a><br>
+Copyright © 2003-2012 University of Illinois at Urbana-Champaign.
+All Rights Reserved.</p>
+
+<hr>
+<!--#include virtual="/attrib.incl" -->
+
+</body>
+</html>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,16 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsSERegisterInfo.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="MipsSEInstrInfo.h",height=0.2,width=0.4,color="black",URL="$MipsSEInstrInfo_8h.html"];
+  Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="MipsSEFrameLowering.cpp",height=0.2,width=0.4,color="black",URL="$MipsSEFrameLowering_8cpp.html"];
+  Node2 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="MipsSEInstrInfo.cpp",height=0.2,width=0.4,color="black",URL="$MipsSEInstrInfo_8cpp.html"];
+  Node2 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="MipsSERegisterInfo.cpp",height=0.2,width=0.4,color="black",URL="$MipsSERegisterInfo_8cpp.html"];
+  Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,34 @@
+<map id="G" name="G">
+<area shape="rect" href="$MipsRegisterInfo_8h.html" title="MipsRegisterInfo.h" alt="" coords="767,84,903,111"/>
+<area shape="rect" href="$Mips_8h.html" title="Mips.h" alt="" coords="804,161,865,188"/>
+<area shape="rect" href="$TargetRegisterInfo_8h.html" title="llvm/Target/TargetRegisterInfo.h" alt="" coords="2043,316,2261,343"/>
+<area shape="rect" href="$MipsMCTargetDesc_8h.html" title="MCTargetDesc/MipsMCTargetDesc.h" alt="" coords="359,239,607,265"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="1101,239,1299,265"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="1096,780,1280,807"/>
+<area shape="rect" href="$Pass_8h.html" title="llvm/Pass.h" alt="" coords="1168,471,1259,497"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1837,625,1987,652"/>
+<area shape="rect" href="$CodeGen_8h.html" title="llvm/Support/CodeGen.h" alt="" coords="1237,316,1413,343"/>
+<area shape="rect" href="$TargetOptions_8h.html" title="llvm/Target/TargetOptions.h" alt="" coords="905,393,1100,420"/>
+<area shape="rect" href="$TargetTransformInfo_8h.html" title="llvm/TargetTransformInfo.h" alt="" coords="695,393,881,420"/>
+<area shape="rect" href="$TargetTransformImpl_8h.html" title="llvm/Target/TargetTransformImpl.h" alt="" coords="1775,316,2009,343"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2699,780,2872,807"/>
+<area shape="rect" href="$PassSupport_8h.html" title="llvm/PassSupport.h" alt="" coords="1141,548,1285,575"/>
+<area shape="rect" href="$PassAnalysisSupport_8h.html" title="llvm/PassAnalysisSupport.h" alt="" coords="1360,548,1555,575"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="2325,625,2493,652"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="2704,703,2867,729"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="1999,703,2185,729"/>
+<area shape="rect" href="$AddressingMode_8h.html" title="llvm/AddressingMode.h" alt="" coords="683,548,851,575"/>
+<area shape="rect" href="$Type_8h.html" title="llvm/Type.h" alt="" coords="875,548,965,575"/>
+<area shape="rect" href="$ValueTypes_8h.html" title="llvm/CodeGen/ValueTypes.h" alt="" coords="2121,471,2316,497"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="2143,548,2348,575"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="2011,625,2200,652"/>
+<area shape="rect" href="$MCRegisterInfo_8h.html" title="llvm/MC/MCRegisterInfo.h" alt="" coords="2391,471,2572,497"/>
+<area shape="rect" href="$MachineBasicBlock_8h.html" title="llvm/CodeGen/MachineBasicBlock.h" alt="" coords="1779,393,2027,420"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="1579,548,1723,575"/>
+<area shape="rect" href="$CallingConv_8h.html" title="llvm/CallingConv.h" alt="" coords="2253,393,2389,420"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="2451,548,2611,575"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="1579,703,1827,729"/>
+<area shape="rect" href="$DenseMapInfo_8h.html" title="llvm/ADT/DenseMapInfo.h" alt="" coords="1629,625,1813,652"/>
+<area shape="rect" href="$MachineInstr_8h.html" title="llvm/CodeGen/MachineInstr.h" alt="" coords="1495,471,1700,497"/>
+<area shape="rect" href="$GraphTraits_8h.html" title="llvm/ADT/GraphTraits.h" alt="" coords="1825,471,1991,497"/>
+</map>

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsSERegisterInfo_8h__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+c65c4e97691c3f6a13b54c05ff2b0e35
\ No newline at end of file

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsSelectionDAGInfo_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsSelectionDAGInfo_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/MipsSelectionDAGInfo_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/MipsSelectionDAGInfo_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,31 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="MipsSelectionDAGInfo.h",height=0.2,width=0.4,color="black", fillcolor="grey75", style="filled" fontcolor="black"];
+  Node1 -> Node2 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 [label="MipsTargetMachine.h",height=0.2,width=0.4,color="black",URL="$MipsTargetMachine_8h.html"];
+  Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="Mips16InstrInfo.cpp",height=0.2,width=0.4,color="black",URL="$Mips16InstrInfo_8cpp.html"];
+  Node2 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="MipsCodeEmitter.cpp",height=0.2,width=0.4,color="black",URL="$MipsCodeEmitter_8cpp.html"];
+  Node2 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="MipsDelaySlotFiller.cpp",height=0.2,width=0.4,color="black",URL="$MipsDelaySlotFiller_8cpp.html"];
+  Node2 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="MipsFrameLowering.cpp",height=0.2,width=0.4,color="black",URL="$MipsFrameLowering_8cpp.html"];
+  Node2 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="MipsInstrInfo.cpp",height=0.2,width=0.4,color="black",URL="$MipsInstrInfo_8cpp.html"];
+  Node2 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="MipsISelDAGToDAG.cpp",height=0.2,width=0.4,color="black",URL="$MipsISelDAGToDAG_8cpp.html"];
+  Node2 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="MipsISelLowering.cpp",height=0.2,width=0.4,color="black",URL="$MipsISelLowering_8cpp.html"];
+  Node2 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="MipsLongBranch.cpp",height=0.2,width=0.4,color="black",URL="$MipsLongBranch_8cpp.html"];
+  Node2 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="MipsSEInstrInfo.cpp",height=0.2,width=0.4,color="black",URL="$MipsSEInstrInfo_8cpp.html"];
+  Node2 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="MipsSelectionDAGInfo.cpp",height=0.2,width=0.4,color="black",URL="$MipsSelectionDAGInfo_8cpp.html"];
+  Node2 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="MipsTargetMachine.cpp",height=0.2,width=0.4,color="black",URL="$MipsTargetMachine_8cpp.html"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/MipsSubtarget_8h__dep__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/MipsSubtarget_8h__dep__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

Propchange: www-releases/trunk/3.2/docs/doxygen/html/MipsSubtarget_8h__dep__incl.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream





More information about the llvm-commits mailing list