[llvm-commits] [www-releases] r170845 [11/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/DWARFDebugAranges_8cpp__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8cpp__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,278 @@
+<!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: DWARFDebugAranges.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_4bdad7b73fba090aa2c2769f8db7d564.html">DebugInfo</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DWARFDebugAranges.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="DWARFDebugAranges_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- DWARFDebugAranges.cpp -----------------------------------*- 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">#include "<a class="code" href="DWARFDebugAranges_8h.html">DWARFDebugAranges.h</a>"</span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="DWARFCompileUnit_8h.html">DWARFCompileUnit.h</a>"</span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include "<a class="code" href="DWARFContext_8h.html">DWARFContext.h</a>"</span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include "<a class="code" href="Format_8h.html">llvm/Support/Format.h</a>"</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="raw__ostream_8h.html">llvm/Support/raw_ostream.h</a>"</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include <algorithm></span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include <cassert></span>
+<a name="l00017"></a>00017 <span class="keyword">using namespace </span>llvm;
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 <span class="comment">// Compare function DWARFDebugAranges::Range structures</span>
+<a name="l00020"></a><a class="code" href="DWARFDebugAranges_8cpp.html#a63a723cace29664997054bc3e0e07d71">00020</a> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="DWARFDebugAranges_8cpp.html#a63a723cace29664997054bc3e0e07d71">RangeLessThan</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">DWARFDebugAranges::Range</a> &range1,
+<a name="l00021"></a>00021                           <span class="keyword">const</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">DWARFDebugAranges::Range</a> &range2) {
+<a name="l00022"></a>00022   <span class="keywordflow">return</span> range1.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a> < range2.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a>;
+<a name="l00023"></a>00023 }
+<a name="l00024"></a>00024 
+<a name="l00025"></a>00025 <span class="keyword">namespace </span>{
+<a name="l00026"></a>00026   <span class="keyword">class </span>CountArangeDescriptors {
+<a name="l00027"></a>00027   <span class="keyword">public</span>:
+<a name="l00028"></a>00028     CountArangeDescriptors(uint32_t &count_ref) : Count(count_ref) {}
+<a name="l00029"></a>00029     <span class="keywordtype">void</span> operator()(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFDebugArangeSet.html">DWARFDebugArangeSet</a> &<span class="keyword">set</span>) {
+<a name="l00030"></a>00030       Count += <span class="keyword">set</span>.getNumDescriptors();
+<a name="l00031"></a>00031     }
+<a name="l00032"></a>00032     uint32_t &Count;
+<a name="l00033"></a>00033   };
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035   <span class="keyword">class </span>AddArangeDescriptors {
+<a name="l00036"></a>00036   <span class="keyword">public</span>:
+<a name="l00037"></a>00037     AddArangeDescriptors(<a class="code" href="classllvm_1_1DWARFDebugAranges.html#adb236209c1198c11ea460989a067ce88">DWARFDebugAranges::RangeColl</a> &<a class="code" href="MachineLoopRanges_8cpp.html#a0c409869f8c4c384da5bc6e83136afd1">ranges</a>)
+<a name="l00038"></a>00038       : RangeCollection(ranges) {}
+<a name="l00039"></a>00039     <span class="keywordtype">void</span> operator()(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFDebugArangeSet.html">DWARFDebugArangeSet</a>& <span class="keyword">set</span>) {
+<a name="l00040"></a>00040       <span class="keyword">const</span> <a class="code" href="structllvm_1_1DWARFDebugArangeSet_1_1Descriptor.html">DWARFDebugArangeSet::Descriptor</a>* arange_desc_ptr;
+<a name="l00041"></a>00041       <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">DWARFDebugAranges::Range</a> range;
+<a name="l00042"></a>00042       range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a9c3152f3310e987c0c11c76aff5f3bfd">Offset</a> = <span class="keyword">set</span>.getCompileUnitDIEOffset();
+<a name="l00043"></a>00043 
+<a name="l00044"></a>00044       <span class="keywordflow">for</span> (uint32_t i=0; (arange_desc_ptr = <span class="keyword">set</span>.getDescriptor(i)) != NULL; ++i){
+<a name="l00045"></a>00045         range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a> = arange_desc_ptr-><a class="code" href="structllvm_1_1DWARFDebugArangeSet_1_1Descriptor.html#a66a457d306006079ca0bf79d86e27273">Address</a>;
+<a name="l00046"></a>00046         range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">Length</a> = arange_desc_ptr-><a class="code" href="structllvm_1_1DWARFDebugArangeSet_1_1Descriptor.html#a53ef81026a16b422c906820b024b160b">Length</a>;
+<a name="l00047"></a>00047 
+<a name="l00048"></a>00048         <span class="comment">// Insert each item in increasing address order so binary searching</span>
+<a name="l00049"></a>00049         <span class="comment">// can later be done!</span>
+<a name="l00050"></a>00050         DWARFDebugAranges::RangeColl::iterator insert_pos =
+<a name="l00051"></a>00051           std::lower_bound(RangeCollection.begin(), RangeCollection.end(),
+<a name="l00052"></a>00052                            range, <a class="code" href="DWARFDebugAranges_8cpp.html#a63a723cace29664997054bc3e0e07d71">RangeLessThan</a>);
+<a name="l00053"></a>00053         RangeCollection.insert(insert_pos, range);
+<a name="l00054"></a>00054       }
+<a name="l00055"></a>00055     }
+<a name="l00056"></a>00056     <a class="code" href="classllvm_1_1DWARFDebugAranges.html#adb236209c1198c11ea460989a067ce88">DWARFDebugAranges::RangeColl</a>& RangeCollection;
+<a name="l00057"></a>00057   };
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 
+<a name="l00060"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#ab07a24c2a166be2af98662a472ebbfdb">00060</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#ab07a24c2a166be2af98662a472ebbfdb">DWARFDebugAranges::extract</a>(<a class="code" href="classllvm_1_1DataExtractor.html">DataExtractor</a> debug_aranges_data) {
+<a name="l00061"></a>00061   <span class="keywordflow">if</span> (debug_aranges_data.<a class="code" href="classllvm_1_1DataExtractor.html#aab8ab1a09e0933dea4b5eeb20dbdb72e">isValidOffset</a>(0)) {
+<a name="l00062"></a>00062     uint32_t offset = 0;
+<a name="l00063"></a>00063 
+<a name="l00064"></a>00064     <span class="keyword">typedef</span> std::vector<DWARFDebugArangeSet> SetCollection;
+<a name="l00065"></a>00065     SetCollection <a class="code" href="AliasSetTracker_8cpp.html#a71aae8a34bd0033db0b6acce7b339c2e">sets</a>;
+<a name="l00066"></a>00066 
+<a name="l00067"></a>00067     <a class="code" href="classllvm_1_1DWARFDebugArangeSet.html">DWARFDebugArangeSet</a> <span class="keyword">set</span>;
+<a name="l00068"></a>00068     <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">Range</a> range;
+<a name="l00069"></a>00069     <span class="keywordflow">while</span> (<span class="keyword">set</span>.<a class="code" href="classllvm_1_1DWARFDebugAranges.html#ab07a24c2a166be2af98662a472ebbfdb">extract</a>(debug_aranges_data, &offset))
+<a name="l00070"></a>00070       sets.push_back(<span class="keyword">set</span>);
+<a name="l00071"></a>00071 
+<a name="l00072"></a>00072     uint32_t count = 0;
+<a name="l00073"></a>00073 
+<a name="l00074"></a>00074     std::for_each(sets.begin(), sets.end(), CountArangeDescriptors(count));
+<a name="l00075"></a>00075 
+<a name="l00076"></a>00076     <span class="keywordflow">if</span> (count > 0) {
+<a name="l00077"></a>00077       Aranges.reserve(count);
+<a name="l00078"></a>00078       AddArangeDescriptors range_adder(Aranges);
+<a name="l00079"></a>00079       std::for_each(sets.begin(), sets.end(), range_adder);
+<a name="l00080"></a>00080     }
+<a name="l00081"></a>00081   }
+<a name="l00082"></a>00082   <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00083"></a>00083 }
+<a name="l00084"></a>00084 
+<a name="l00085"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#a1aeb5bf91cff6afc084b2b8006c2b7f5">00085</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a1aeb5bf91cff6afc084b2b8006c2b7f5">DWARFDebugAranges::generate</a>(<a class="code" href="classllvm_1_1DWARFContext.html">DWARFContext</a> *ctx) {
+<a name="l00086"></a>00086   <a class="code" href="classllvm_1_1DWARFDebugAranges.html#ac72df9d3011bfb51009f02d7d560f3a5">clear</a>();
+<a name="l00087"></a>00087   <span class="keywordflow">if</span> (ctx) {
+<a name="l00088"></a>00088     <span class="keyword">const</span> uint32_t num_compile_units = ctx-><a class="code" href="classllvm_1_1DWARFContext.html#a12e3dd722cf5f278baf1e0f4fe736b0b" title="Get the number of compile units in this context.">getNumCompileUnits</a>();
+<a name="l00089"></a>00089     <span class="keywordflow">for</span> (uint32_t cu_idx = 0; cu_idx < num_compile_units; ++cu_idx) {
+<a name="l00090"></a>00090       <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *cu = ctx-><a class="code" href="classllvm_1_1DWARFContext.html#a8691a70d1bafca1d8aa1fc43d8391ad3" title="Get the compile unit at the specified index for this compile unit.">getCompileUnitAtIndex</a>(cu_idx);
+<a name="l00091"></a>00091       <span class="keywordflow">if</span> (cu)
+<a name="l00092"></a>00092         cu-><a class="code" href="classllvm_1_1DWARFCompileUnit.html#a4a0cc88eae9cdd8a379bc97fbcdf83a1">buildAddressRangeTable</a>(<span class="keyword">this</span>, <span class="keyword">true</span>);
+<a name="l00093"></a>00093     }
+<a name="l00094"></a>00094   }
+<a name="l00095"></a>00095   <a class="code" href="classllvm_1_1DWARFDebugAranges.html#aec6ce55fc172502bbb1886f897c3393c">sort</a>(<span class="keyword">true</span>, <span class="comment">/* overlap size */</span> 0);
+<a name="l00096"></a>00096   <span class="keywordflow">return</span> !<a class="code" href="classllvm_1_1DWARFDebugAranges.html#a487dfc5b65c70ac9274427bd933cf546">isEmpty</a>();
+<a name="l00097"></a>00097 }
+<a name="l00098"></a>00098 
+<a name="l00099"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#af7e0b66411afe0f7b5b888a7fc4e2d3b">00099</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#af7e0b66411afe0f7b5b888a7fc4e2d3b">DWARFDebugAranges::dump</a>(<a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS)<span class="keyword"> const </span>{
+<a name="l00100"></a>00100   <span class="keyword">const</span> uint32_t num_ranges = <a class="code" href="classllvm_1_1DWARFDebugAranges.html#abc7c3a53af96833fd96f59c6ce8dc344">getNumRanges</a>();
+<a name="l00101"></a>00101   <span class="keywordflow">for</span> (uint32_t i = 0; i < num_ranges; ++i) {
+<a name="l00102"></a>00102     <span class="keyword">const</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">Range</a> &range = Aranges[i];
+<a name="l00103"></a>00103     OS << <a class="code" href="namespacellvm.html#a69dc1b119f8cb95b7e36f586c5aeb372">format</a>(<span class="stringliteral">"0x%8.8x: [0x%8.8"</span> PRIx64 <span class="stringliteral">" - 0x%8.8"</span> PRIx64 <span class="stringliteral">")\n"</span>,
+<a name="l00104"></a>00104                  range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a9c3152f3310e987c0c11c76aff5f3bfd">Offset</a>, (uint64_t)range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a>, (uint64_t)range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ac3cc26f07740fe691f016a3f4532d698">HiPC</a>());
+<a name="l00105"></a>00105   }
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107 
+<a name="l00108"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a5a2a924047bae672d51976f3059f4656">00108</a> <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a5a2a924047bae672d51976f3059f4656">DWARFDebugAranges::Range::dump</a>(<a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS)<span class="keyword"> const </span>{
+<a name="l00109"></a>00109   OS << <a class="code" href="namespacellvm.html#a69dc1b119f8cb95b7e36f586c5aeb372">format</a>(<span class="stringliteral">"{0x%8.8x}: [0x%8.8"</span> PRIx64 <span class="stringliteral">" - 0x%8.8"</span> PRIx64 <span class="stringliteral">")\n"</span>,
+<a name="l00110"></a>00110                <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a9c3152f3310e987c0c11c76aff5f3bfd">Offset</a>, <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a>, <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ac3cc26f07740fe691f016a3f4532d698">HiPC</a>());
+<a name="l00111"></a>00111 }
+<a name="l00112"></a>00112 
+<a name="l00113"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#a3de6067f686431b9a2a0cbaa4307b55a">00113</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a3de6067f686431b9a2a0cbaa4307b55a">DWARFDebugAranges::appendRange</a>(uint32_t offset, uint64_t low_pc,
+<a name="l00114"></a>00114                                     uint64_t high_pc) {
+<a name="l00115"></a>00115   <span class="keywordflow">if</span> (!Aranges.empty()) {
+<a name="l00116"></a>00116     <span class="keywordflow">if</span> (Aranges.back().Offset == offset && Aranges.back().HiPC() == low_pc) {
+<a name="l00117"></a>00117       Aranges.back().setHiPC(high_pc);
+<a name="l00118"></a>00118       <span class="keywordflow">return</span>;
+<a name="l00119"></a>00119     }
+<a name="l00120"></a>00120   }
+<a name="l00121"></a>00121   Aranges.push_back(<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">Range</a>(low_pc, high_pc, offset));
+<a name="l00122"></a>00122 }
+<a name="l00123"></a>00123 
+<a name="l00124"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#aec6ce55fc172502bbb1886f897c3393c">00124</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#aec6ce55fc172502bbb1886f897c3393c">DWARFDebugAranges::sort</a>(<span class="keywordtype">bool</span> minimize, uint32_t n) {
+<a name="l00125"></a>00125   <span class="keyword">const</span> <span class="keywordtype">size_t</span> orig_arange_size = Aranges.size();
+<a name="l00126"></a>00126   <span class="comment">// Size of one? If so, no sorting is needed</span>
+<a name="l00127"></a>00127   <span class="keywordflow">if</span> (orig_arange_size <= 1)
+<a name="l00128"></a>00128     <span class="keywordflow">return</span>;
+<a name="l00129"></a>00129   <span class="comment">// Sort our address range entries</span>
+<a name="l00130"></a>00130   std::stable_sort(Aranges.begin(), Aranges.end(), <a class="code" href="DWARFDebugAranges_8cpp.html#a63a723cace29664997054bc3e0e07d71">RangeLessThan</a>);
+<a name="l00131"></a>00131 
+<a name="l00132"></a>00132   <span class="keywordflow">if</span> (!minimize)
+<a name="l00133"></a>00133     <span class="keywordflow">return</span>;
+<a name="l00134"></a>00134 
+<a name="l00135"></a>00135   <span class="comment">// Most address ranges are contiguous from function to function</span>
+<a name="l00136"></a>00136   <span class="comment">// so our new ranges will likely be smaller. We calculate the size</span>
+<a name="l00137"></a>00137   <span class="comment">// of the new ranges since although std::vector objects can be resized,</span>
+<a name="l00138"></a>00138   <span class="comment">// the will never reduce their allocated block size and free any excesss</span>
+<a name="l00139"></a>00139   <span class="comment">// memory, so we might as well start a brand new collection so it is as</span>
+<a name="l00140"></a>00140   <span class="comment">// small as possible.</span>
+<a name="l00141"></a>00141 
+<a name="l00142"></a>00142   <span class="comment">// First calculate the size of the new minimal arange vector</span>
+<a name="l00143"></a>00143   <span class="comment">// so we don't have to do a bunch of re-allocations as we</span>
+<a name="l00144"></a>00144   <span class="comment">// copy the new minimal stuff over to the new collection.</span>
+<a name="l00145"></a>00145   <span class="keywordtype">size_t</span> minimal_size = 1;
+<a name="l00146"></a>00146   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1; i < orig_arange_size; ++i) {
+<a name="l00147"></a>00147     <span class="keywordflow">if</span> (!<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a91953c3e87a96363acc0b56e2a7f1e0e">Range::SortedOverlapCheck</a>(Aranges[i-1], Aranges[i], n))
+<a name="l00148"></a>00148       ++minimal_size;
+<a name="l00149"></a>00149   }
+<a name="l00150"></a>00150 
+<a name="l00151"></a>00151   <span class="comment">// If the sizes are the same, then no consecutive aranges can be</span>
+<a name="l00152"></a>00152   <span class="comment">// combined, we are done.</span>
+<a name="l00153"></a>00153   <span class="keywordflow">if</span> (minimal_size == orig_arange_size)
+<a name="l00154"></a>00154     <span class="keywordflow">return</span>;
+<a name="l00155"></a>00155 
+<a name="l00156"></a>00156   <span class="comment">// Else, make a new RangeColl that _only_ contains what we need.</span>
+<a name="l00157"></a>00157   <a class="code" href="classllvm_1_1DWARFDebugAranges.html#adb236209c1198c11ea460989a067ce88">RangeColl</a> minimal_aranges;
+<a name="l00158"></a>00158   minimal_aranges.resize(minimal_size);
+<a name="l00159"></a>00159   uint32_t j = 0;
+<a name="l00160"></a>00160   minimal_aranges[j] = Aranges[0];
+<a name="l00161"></a>00161   <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 1; i < orig_arange_size; ++i) {
+<a name="l00162"></a>00162     <span class="keywordflow">if</span>(<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a91953c3e87a96363acc0b56e2a7f1e0e">Range::SortedOverlapCheck</a> (minimal_aranges[j], Aranges[i], n)) {
+<a name="l00163"></a>00163       minimal_aranges[j].setHiPC (Aranges[i].HiPC());
+<a name="l00164"></a>00164     } <span class="keywordflow">else</span> {
+<a name="l00165"></a>00165       <span class="comment">// Only increment j if we aren't merging</span>
+<a name="l00166"></a>00166       minimal_aranges[++j] = Aranges[i];
+<a name="l00167"></a>00167     }
+<a name="l00168"></a>00168   }
+<a name="l00169"></a>00169   assert (j+1 == minimal_size);
+<a name="l00170"></a>00170 
+<a name="l00171"></a>00171   <span class="comment">// Now swap our new minimal aranges into place. The local</span>
+<a name="l00172"></a>00172   <span class="comment">// minimal_aranges will then contian the old big collection</span>
+<a name="l00173"></a>00173   <span class="comment">// which will get freed.</span>
+<a name="l00174"></a>00174   minimal_aranges.swap(Aranges);
+<a name="l00175"></a>00175 }
+<a name="l00176"></a>00176 
+<a name="l00177"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#a17a39f40a21c8ecfb2ba1c9e640d8c75">00177</a> uint32_t <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a17a39f40a21c8ecfb2ba1c9e640d8c75">DWARFDebugAranges::findAddress</a>(uint64_t address)<span class="keyword"> const </span>{
+<a name="l00178"></a>00178   <span class="keywordflow">if</span> (!Aranges.empty()) {
+<a name="l00179"></a>00179     <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">Range</a> range(address);
+<a name="l00180"></a>00180     <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a286d3f30a7749794bfb5d847684c524b">RangeCollIterator</a> <a class="code" href="namespacellvm_1_1sys_1_1path.html#a33706aab89e700b8f79e1fa6f4f0e3ee" title="Get begin iterator over path.">begin</a> = Aranges.begin();
+<a name="l00181"></a>00181     <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a286d3f30a7749794bfb5d847684c524b">RangeCollIterator</a> <a class="code" href="namespacellvm_1_1sys_1_1path.html#a214ec2f04ffd92636ed4bd2717607a1d" title="Get end iterator over path.">end</a> = Aranges.end();
+<a name="l00182"></a>00182     <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a286d3f30a7749794bfb5d847684c524b">RangeCollIterator</a> pos = lower_bound(begin, end, range, <a class="code" href="DWARFDebugAranges_8cpp.html#a63a723cace29664997054bc3e0e07d71">RangeLessThan</a>);
+<a name="l00183"></a>00183 
+<a name="l00184"></a>00184     <span class="keywordflow">if</span> (pos != end && pos->LoPC <= address && address < pos->HiPC()) {
+<a name="l00185"></a>00185       <span class="keywordflow">return</span> pos->Offset;
+<a name="l00186"></a>00186     } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (pos != begin) {
+<a name="l00187"></a>00187       --pos;
+<a name="l00188"></a>00188       <span class="keywordflow">if</span> (pos->LoPC <= address && address < pos->HiPC())
+<a name="l00189"></a>00189         <span class="keywordflow">return</span> (*pos).Offset;
+<a name="l00190"></a>00190     }
+<a name="l00191"></a>00191   }
+<a name="l00192"></a>00192   <span class="keywordflow">return</span> -1U;
+<a name="l00193"></a>00193 }
+<a name="l00194"></a>00194 
+<a name="l00195"></a>00195 <span class="keywordtype">bool</span>
+<a name="l00196"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#a5c1862b278dd9cc368201b1f136a26d5">00196</a> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a5c1862b278dd9cc368201b1f136a26d5">DWARFDebugAranges::allRangesAreContiguous</a>(uint64_t &LoPC, uint64_t &HiPC)<span class="keyword"> const</span>{
+<a name="l00197"></a>00197   <span class="keywordflow">if</span> (Aranges.empty())
+<a name="l00198"></a>00198     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00199"></a>00199 
+<a name="l00200"></a>00200   uint64_t next_addr = 0;
+<a name="l00201"></a>00201   <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a286d3f30a7749794bfb5d847684c524b">RangeCollIterator</a> <a class="code" href="namespacellvm_1_1sys_1_1path.html#a33706aab89e700b8f79e1fa6f4f0e3ee" title="Get begin iterator over path.">begin</a> = Aranges.begin();
+<a name="l00202"></a>00202   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1DWARFDebugAranges.html#a286d3f30a7749794bfb5d847684c524b">RangeCollIterator</a> pos = begin, <a class="code" href="namespacellvm_1_1sys_1_1path.html#a214ec2f04ffd92636ed4bd2717607a1d" title="Get end iterator over path.">end</a> = Aranges.end(); pos != <a class="code" href="namespacellvm_1_1sys_1_1path.html#a214ec2f04ffd92636ed4bd2717607a1d" title="Get end iterator over path.">end</a>;
+<a name="l00203"></a>00203        ++pos) {
+<a name="l00204"></a>00204     <span class="keywordflow">if</span> (pos != begin && pos->LoPC != next_addr)
+<a name="l00205"></a>00205       <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00206"></a>00206     next_addr = pos->HiPC();
+<a name="l00207"></a>00207   }
+<a name="l00208"></a>00208   <span class="comment">// We checked for empty at the start of function so front() will be valid.</span>
+<a name="l00209"></a>00209   LoPC = Aranges.front().LoPC;
+<a name="l00210"></a>00210   <span class="comment">// We checked for empty at the start of function so back() will be valid.</span>
+<a name="l00211"></a>00211   HiPC = Aranges.back().HiPC();
+<a name="l00212"></a>00212   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00213"></a>00213 }
+<a name="l00214"></a>00214 
+<a name="l00215"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#ac0348231834040e6309c374b898a8133">00215</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#ac0348231834040e6309c374b898a8133">DWARFDebugAranges::getMaxRange</a>(uint64_t &LoPC, uint64_t &HiPC)<span class="keyword"> const </span>{
+<a name="l00216"></a>00216   <span class="keywordflow">if</span> (Aranges.empty())
+<a name="l00217"></a>00217     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00218"></a>00218   <span class="comment">// We checked for empty at the start of function so front() will be valid.</span>
+<a name="l00219"></a>00219   LoPC = Aranges.front().LoPC;
+<a name="l00220"></a>00220   <span class="comment">// We checked for empty at the start of function so back() will be valid.</span>
+<a name="l00221"></a>00221   HiPC = Aranges.back().HiPC();
+<a name="l00222"></a>00222   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00223"></a>00223 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:30 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/DWARFDebugAranges_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,22 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DWARFDebugAranges.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="DWARFContext.h",height=0.2,width=0.4,color="black",URL="$DWARFContext_8h.html"];
+  Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="DIContext.cpp",height=0.2,width=0.4,color="black",URL="$DIContext_8cpp.html"];
+  Node2 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="DWARFCompileUnit.cpp",height=0.2,width=0.4,color="black",URL="$DWARFCompileUnit_8cpp.html"];
+  Node2 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="DWARFContext.cpp",height=0.2,width=0.4,color="black",URL="$DWARFContext_8cpp.html"];
+  Node2 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="DWARFDebugAranges.cpp",height=0.2,width=0.4,color="black",URL="$DWARFDebugAranges_8cpp.html"];
+  Node2 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="DWARFDebugInfoEntry.cpp",height=0.2,width=0.4,color="black",URL="$DWARFDebugInfoEntry_8cpp.html"];
+  Node2 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="DWARFFormValue.cpp",height=0.2,width=0.4,color="black",URL="$DWARFFormValue_8cpp.html"];
+  Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugAranges_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,153 @@
+<!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: DWARFDebugAranges.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_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_4bdad7b73fba090aa2c2769f8db7d564.html">DebugInfo</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DWARFDebugAranges.h</div>  </div>
+</div>
+<div class="contents">
+<a href="DWARFDebugAranges_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- DWARFDebugAranges.h -------------------------------------*- 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 LLVM_DEBUGINFO_DWARFDEBUGARANGES_H</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define LLVM_DEBUGINFO_DWARFDEBUGARANGES_H</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include "<a class="code" href="DWARFDebugArangeSet_8h.html">DWARFDebugArangeSet.h</a>"</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <list></span>
+<a name="l00015"></a>00015 
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>llvm {
+<a name="l00017"></a>00017 
+<a name="l00018"></a>00018 <span class="keyword">class </span>DWARFContext;
+<a name="l00019"></a>00019 
+<a name="l00020"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html">00020</a> <span class="keyword">class </span><a class="code" href="classllvm_1_1DWARFDebugAranges.html">DWARFDebugAranges</a> {
+<a name="l00021"></a>00021 <span class="keyword">public</span>:
+<a name="l00022"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">00022</a>   <span class="keyword">struct </span><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">Range</a> {
+<a name="l00023"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ab655fbf315b7db25d64940715070e27b">00023</a>     <span class="keyword">explicit</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ab655fbf315b7db25d64940715070e27b">Range</a>(uint64_t lo = -1ULL, uint64_t hi = -1ULL,
+<a name="l00024"></a>00024                    uint32_t off = -1U)
+<a name="l00025"></a>00025       : <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a>(lo), <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">Length</a>(hi-lo), <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a9c3152f3310e987c0c11c76aff5f3bfd">Offset</a>(off) {}
+<a name="l00026"></a>00026 
+<a name="l00027"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#aa6915b9a8a84e2e94fa979feba035fd4">00027</a>     <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#aa6915b9a8a84e2e94fa979feba035fd4">clear</a>() {
+<a name="l00028"></a>00028       <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a> = -1ULL;
+<a name="l00029"></a>00029       <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">Length</a> = 0;
+<a name="l00030"></a>00030       <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a9c3152f3310e987c0c11c76aff5f3bfd">Offset</a> = -1U;
+<a name="l00031"></a>00031     }
+<a name="l00032"></a>00032 
+<a name="l00033"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a85ce1211007ffbba3628c26985c4a53d">00033</a>     <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a85ce1211007ffbba3628c26985c4a53d">setHiPC</a>(uint64_t <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ac3cc26f07740fe691f016a3f4532d698">HiPC</a>) {
+<a name="l00034"></a>00034       <span class="keywordflow">if</span> (HiPC == -1ULL || HiPC <= <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a>)
+<a name="l00035"></a>00035         <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">Length</a> = 0;
+<a name="l00036"></a>00036       <span class="keywordflow">else</span>
+<a name="l00037"></a>00037         <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">Length</a> = HiPC - <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a>;
+<a name="l00038"></a>00038     }
+<a name="l00039"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ac3cc26f07740fe691f016a3f4532d698">00039</a>     uint64_t <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ac3cc26f07740fe691f016a3f4532d698">HiPC</a>()<span class="keyword"> const </span>{
+<a name="l00040"></a>00040       <span class="keywordflow">if</span> (<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">Length</a>)
+<a name="l00041"></a>00041         <span class="keywordflow">return</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a> + <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">Length</a>;
+<a name="l00042"></a>00042       <span class="keywordflow">return</span> -1ULL;
+<a name="l00043"></a>00043     }
+<a name="l00044"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a41c5d4d085c141fa8e5710dc3393e6a8">00044</a>     <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a41c5d4d085c141fa8e5710dc3393e6a8">isValidRange</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">Length</a> > 0; }
+<a name="l00045"></a>00045 
+<a name="l00046"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a91953c3e87a96363acc0b56e2a7f1e0e">00046</a>     <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a91953c3e87a96363acc0b56e2a7f1e0e">SortedOverlapCheck</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">Range</a> &curr_range,
+<a name="l00047"></a>00047                                    <span class="keyword">const</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">Range</a> &next_range, uint32_t n) {
+<a name="l00048"></a>00048       <span class="keywordflow">if</span> (curr_range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a9c3152f3310e987c0c11c76aff5f3bfd">Offset</a> != next_range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a9c3152f3310e987c0c11c76aff5f3bfd">Offset</a>)
+<a name="l00049"></a>00049         <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00050"></a>00050       <span class="keywordflow">return</span> curr_range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ac3cc26f07740fe691f016a3f4532d698">HiPC</a>() + n >= next_range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a>;
+<a name="l00051"></a>00051     }
+<a name="l00052"></a>00052 
+<a name="l00053"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a701bd5b72acf06d24098e6b3bc1ad349">00053</a>     <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a701bd5b72acf06d24098e6b3bc1ad349">contains</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">Range</a> &range)<span class="keyword"> const </span>{
+<a name="l00054"></a>00054       <span class="keywordflow">return</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a> <= range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a> && range.<a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ac3cc26f07740fe691f016a3f4532d698">HiPC</a>() <= <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ac3cc26f07740fe691f016a3f4532d698">HiPC</a>();
+<a name="l00055"></a>00055     }
+<a name="l00056"></a>00056 
+<a name="l00057"></a>00057     <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a5a2a924047bae672d51976f3059f4656">dump</a>(<a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS) <span class="keyword">const</span>;
+<a name="l00058"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">00058</a>     uint64_t <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#ad4839ba6bf0bd7b1385b9cff8ca239a6">LoPC</a>; <span class="comment">// Start of address range</span>
+<a name="l00059"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">00059</a>     uint32_t <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a4100ae2512ab5959a950dae4abd59f77">Length</a>; <span class="comment">// End of address range (not including this address)</span>
+<a name="l00060"></a><a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a9c3152f3310e987c0c11c76aff5f3bfd">00060</a>     uint32_t <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html#a9c3152f3310e987c0c11c76aff5f3bfd">Offset</a>; <span class="comment">// Offset of the compile unit or die</span>
+<a name="l00061"></a>00061   };
+<a name="l00062"></a>00062 
+<a name="l00063"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#ac72df9d3011bfb51009f02d7d560f3a5">00063</a>   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#ac72df9d3011bfb51009f02d7d560f3a5">clear</a>() { Aranges.clear(); }
+<a name="l00064"></a>00064   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a5c1862b278dd9cc368201b1f136a26d5">allRangesAreContiguous</a>(uint64_t& LoPC, uint64_t& HiPC) <span class="keyword">const</span>;
+<a name="l00065"></a>00065   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#ac0348231834040e6309c374b898a8133">getMaxRange</a>(uint64_t& LoPC, uint64_t& HiPC) <span class="keyword">const</span>;
+<a name="l00066"></a>00066   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#ab07a24c2a166be2af98662a472ebbfdb">extract</a>(<a class="code" href="classllvm_1_1DataExtractor.html">DataExtractor</a> debug_aranges_data);
+<a name="l00067"></a>00067   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a1aeb5bf91cff6afc084b2b8006c2b7f5">generate</a>(<a class="code" href="classllvm_1_1DWARFContext.html">DWARFContext</a> *ctx);
+<a name="l00068"></a>00068 
+<a name="l00069"></a>00069   <span class="comment">// Use append range multiple times and then call sort</span>
+<a name="l00070"></a>00070   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a3de6067f686431b9a2a0cbaa4307b55a">appendRange</a>(uint32_t cu_offset, uint64_t low_pc, uint64_t high_pc);
+<a name="l00071"></a>00071   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#aec6ce55fc172502bbb1886f897c3393c">sort</a>(<span class="keywordtype">bool</span> minimize, uint32_t n);
+<a name="l00072"></a>00072 
+<a name="l00073"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#a91e490c68f97057cd8c33c6a6dbe72b8">00073</a>   <span class="keyword">const</span> <a class="code" href="structllvm_1_1DWARFDebugAranges_1_1Range.html">Range</a> *<a class="code" href="classllvm_1_1DWARFDebugAranges.html#a91e490c68f97057cd8c33c6a6dbe72b8">rangeAtIndex</a>(uint32_t idx)<span class="keyword"> const </span>{
+<a name="l00074"></a>00074     <span class="keywordflow">if</span> (idx < Aranges.size())
+<a name="l00075"></a>00075       <span class="keywordflow">return</span> &Aranges[idx];
+<a name="l00076"></a>00076     <span class="keywordflow">return</span> NULL;
+<a name="l00077"></a>00077   }
+<a name="l00078"></a>00078   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#af7e0b66411afe0f7b5b888a7fc4e2d3b">dump</a>(<a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS) <span class="keyword">const</span>;
+<a name="l00079"></a>00079   uint32_t <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a17a39f40a21c8ecfb2ba1c9e640d8c75">findAddress</a>(uint64_t address) <span class="keyword">const</span>;
+<a name="l00080"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#a487dfc5b65c70ac9274427bd933cf546">00080</a>   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a487dfc5b65c70ac9274427bd933cf546">isEmpty</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Aranges.empty(); }
+<a name="l00081"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#abc7c3a53af96833fd96f59c6ce8dc344">00081</a>   uint32_t <a class="code" href="classllvm_1_1DWARFDebugAranges.html#abc7c3a53af96833fd96f59c6ce8dc344">getNumRanges</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Aranges.size(); }
+<a name="l00082"></a>00082 
+<a name="l00083"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#a5028ba1302ff2394d16da7bcd2c5dcd2">00083</a>   uint32_t <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a5028ba1302ff2394d16da7bcd2c5dcd2">offsetAtIndex</a>(uint32_t idx)<span class="keyword"> const </span>{
+<a name="l00084"></a>00084     <span class="keywordflow">if</span> (idx < Aranges.size())
+<a name="l00085"></a>00085       <span class="keywordflow">return</span> Aranges[idx].Offset;
+<a name="l00086"></a>00086     <span class="keywordflow">return</span> -1U;
+<a name="l00087"></a>00087   }
+<a name="l00088"></a>00088 
+<a name="l00089"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#adb236209c1198c11ea460989a067ce88">00089</a>   <span class="keyword">typedef</span> std::vector<Range>              <a class="code" href="classllvm_1_1DWARFDebugAranges.html#adb236209c1198c11ea460989a067ce88">RangeColl</a>;
+<a name="l00090"></a><a class="code" href="classllvm_1_1DWARFDebugAranges.html#a286d3f30a7749794bfb5d847684c524b">00090</a>   <span class="keyword">typedef</span> RangeColl::const_iterator       <a class="code" href="classllvm_1_1DWARFDebugAranges.html#a286d3f30a7749794bfb5d847684c524b">RangeCollIterator</a>;
+<a name="l00091"></a>00091 
+<a name="l00092"></a>00092 <span class="keyword">private</span>:
+<a name="l00093"></a>00093   <a class="code" href="classllvm_1_1DWARFDebugAranges.html#adb236209c1198c11ea460989a067ce88">RangeColl</a> Aranges;
+<a name="l00094"></a>00094 };
+<a name="l00095"></a>00095 
+<a name="l00096"></a>00096 }
+<a name="l00097"></a>00097 
+<a name="l00098"></a>00098 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:30 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/DWARFDebugInfoEntry_8cpp__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugInfoEntry_8cpp__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugInfoEntry_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugInfoEntry_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugInfoEntry_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugInfoEntry_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,10 @@
+<map id="G" name="G">
+<area shape="rect" href="$DWARFCompileUnit_8h.html" title="DWARFCompileUnit.h" alt="" coords="664,84,819,111"/>
+<area shape="rect" href="$DWARFDebugInfoEntry_8cpp.html" title="DWARFDebugInfoEntry.cpp" alt="" coords="896,239,1083,265"/>
+<area shape="rect" href="$DWARFContext_8h.html" title="DWARFContext.h" alt="" coords="520,161,648,188"/>
+<area shape="rect" href="$DWARFCompileUnit_8cpp.html" title="DWARFCompileUnit.cpp" alt="" coords="701,239,872,265"/>
+<area shape="rect" href="$DWARFDebugAranges_8cpp.html" title="DWARFDebugAranges.cpp" alt="" coords="491,239,677,265"/>
+<area shape="rect" href="$DWARFFormValue_8cpp.html" title="DWARFFormValue.cpp" alt="" coords="5,239,165,265"/>
+<area shape="rect" href="$DIContext_8cpp.html" title="DIContext.cpp" alt="" coords="355,239,467,265"/>
+<area shape="rect" href="$DWARFContext_8cpp.html" title="DWARFContext.cpp" alt="" coords="189,239,331,265"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugInfoEntry_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugInfoEntry_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugInfoEntry_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugInfoEntry_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,231 @@
+<!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: DWARFDebugInfoEntry.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_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_4bdad7b73fba090aa2c2769f8db7d564.html">DebugInfo</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DWARFDebugInfoEntry.h</div>  </div>
+</div>
+<div class="contents">
+<a href="DWARFDebugInfoEntry_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- DWARFDebugInfoEntry.h -----------------------------------*- 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 LLVM_DEBUGINFO_DWARFDEBUGINFOENTRY_H</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define LLVM_DEBUGINFO_DWARFDEBUGINFOENTRY_H</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include "<a class="code" href="DWARFAbbreviationDeclaration_8h.html">DWARFAbbreviationDeclaration.h</a>"</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include "<a class="code" href="SmallVector_8h.html">llvm/ADT/SmallVector.h</a>"</span>
+<a name="l00015"></a>00015 <span class="preprocessor">#include "<a class="code" href="DataTypes_8h.html">llvm/Support/DataTypes.h</a>"</span>
+<a name="l00016"></a>00016 
+<a name="l00017"></a>00017 <span class="keyword">namespace </span>llvm {
+<a name="l00018"></a>00018 
+<a name="l00019"></a>00019 <span class="keyword">class </span>DWARFDebugAranges;
+<a name="l00020"></a>00020 <span class="keyword">class </span>DWARFCompileUnit;
+<a name="l00021"></a>00021 <span class="keyword">class </span>DWARFContext;
+<a name="l00022"></a>00022 <span class="keyword">class </span>DWARFFormValue;
+<a name="l00023"></a>00023 <span class="keyword">class </span>DWARFInlinedSubroutineChain;
+<a name="l00024"></a>00024 <span class="comment"></span>
+<a name="l00025"></a>00025 <span class="comment">/// DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.</span>
+<a name="l00026"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html">00026</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html" title="DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.">DWARFDebugInfoEntryMinimal</a> {<span class="comment"></span>
+<a name="l00027"></a>00027 <span class="comment">  /// Offset within the .debug_info of the start of this entry.</span>
+<a name="l00028"></a>00028 <span class="comment"></span>  uint32_t Offset;
+<a name="l00029"></a>00029 <span class="comment"></span>
+<a name="l00030"></a>00030 <span class="comment">  /// How many to subtract from "this" to get the parent.</span>
+<a name="l00031"></a>00031 <span class="comment">  /// If zero this die has no parent.</span>
+<a name="l00032"></a>00032 <span class="comment"></span>  uint32_t ParentIdx;
+<a name="l00033"></a>00033 <span class="comment"></span>
+<a name="l00034"></a>00034 <span class="comment">  /// How many to add to "this" to get the sibling.</span>
+<a name="l00035"></a>00035 <span class="comment"></span>  uint32_t SiblingIdx;
+<a name="l00036"></a>00036 
+<a name="l00037"></a>00037   <span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFAbbreviationDeclaration.html">DWARFAbbreviationDeclaration</a> *AbbrevDecl;
+<a name="l00038"></a>00038 <span class="keyword">public</span>:
+<a name="l00039"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#aa5aa6b02883e22f1f371ce1a85740a1a">00039</a>   <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#aa5aa6b02883e22f1f371ce1a85740a1a">DWARFDebugInfoEntryMinimal</a>()
+<a name="l00040"></a>00040     : Offset(0), ParentIdx(0), SiblingIdx(0), AbbrevDecl(0) {}
+<a name="l00041"></a>00041 
+<a name="l00042"></a>00042   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#acc92e921815b182456d713bcc4ce03cd">dump</a>(<a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS, <span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *cu,
+<a name="l00043"></a>00043             <span class="keywordtype">unsigned</span> recurseDepth, <span class="keywordtype">unsigned</span> indent = 0) <span class="keyword">const</span>;
+<a name="l00044"></a>00044   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a1898112d887c06a4ff2046357c7a460c">dumpAttribute</a>(<a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS, <span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *cu,
+<a name="l00045"></a>00045                      uint32_t *offset_ptr, uint16_t attr, uint16_t form,
+<a name="l00046"></a>00046                      <span class="keywordtype">unsigned</span> indent = 0) <span class="keyword">const</span>;
+<a name="l00047"></a>00047 
+<a name="l00048"></a>00048   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a53fceebd6694b3b0251c1e42d8ebb991">extractFast</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *cu, <span class="keyword">const</span> uint8_t *fixed_form_sizes,
+<a name="l00049"></a>00049                    uint32_t *offset_ptr);
+<a name="l00050"></a>00050 <span class="comment"></span>
+<a name="l00051"></a>00051 <span class="comment">  /// Extract a debug info entry for a given compile unit from the</span>
+<a name="l00052"></a>00052 <span class="comment">  /// .debug_info and .debug_abbrev data starting at the given offset.</span>
+<a name="l00053"></a>00053 <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a678b2c2cec67cd3d9b7daed0d5094c14">extract</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *cu, uint32_t *offset_ptr);
+<a name="l00054"></a>00054 
+<a name="l00055"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#aecdc45411850301b12d9a9b2acf4c5ec">00055</a>   uint32_t <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#aecdc45411850301b12d9a9b2acf4c5ec">getTag</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> AbbrevDecl ? AbbrevDecl-><a class="code" href="classllvm_1_1DWARFAbbreviationDeclaration.html#ae05caaf3291438877193fa56a56d4b5e">getTag</a>() : 0; }
+<a name="l00056"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a769d38dee57a24a78a4061ba7a6dacaf">00056</a>   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a769d38dee57a24a78a4061ba7a6dacaf">isNULL</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> AbbrevDecl == 0; }
+<a name="l00057"></a>00057 <span class="comment"></span>
+<a name="l00058"></a>00058 <span class="comment">  /// Returns true if DIE represents a subprogram (not inlined).</span>
+<a name="l00059"></a>00059 <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a5197f20a8a18d791ff50391be7690a82" title="Returns true if DIE represents a subprogram (not inlined).">isSubprogramDIE</a>() <span class="keyword">const</span>;<span class="comment"></span>
+<a name="l00060"></a>00060 <span class="comment">  /// Returns true if DIE represents a subprogram or an inlined</span>
+<a name="l00061"></a>00061 <span class="comment">  /// subroutine.</span>
+<a name="l00062"></a>00062 <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#abf113c6d4f943f10aa0a20e9742d3990">isSubroutineDIE</a>() <span class="keyword">const</span>;
+<a name="l00063"></a>00063 
+<a name="l00064"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#ae448c0bfdccfd7513e8ef085eeab406e">00064</a>   uint32_t <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#ae448c0bfdccfd7513e8ef085eeab406e">getOffset</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Offset; }
+<a name="l00065"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a2db0ff3a42852cc436befd25e836f1e4">00065</a>   uint32_t <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a2db0ff3a42852cc436befd25e836f1e4">getNumAttributes</a>()<span class="keyword"> const </span>{
+<a name="l00066"></a>00066     <span class="keywordflow">return</span> !<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a769d38dee57a24a78a4061ba7a6dacaf">isNULL</a>() ? AbbrevDecl-><a class="code" href="classllvm_1_1DWARFAbbreviationDeclaration.html#a60c4cb3773af3e7ffcbb433a103414b2">getNumAttributes</a>() : 0;
+<a name="l00067"></a>00067   }
+<a name="l00068"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#abe4852383e06bda4207105c258a3a21c">00068</a>   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#abe4852383e06bda4207105c258a3a21c">hasChildren</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a769d38dee57a24a78a4061ba7a6dacaf">isNULL</a>() && AbbrevDecl-><a class="code" href="classllvm_1_1DWARFAbbreviationDeclaration.html#a4aab7d30b4d9a058e0e225b098e72b0e">hasChildren</a>(); }
+<a name="l00069"></a>00069 
+<a name="l00070"></a>00070   <span class="comment">// We know we are kept in a vector of contiguous entries, so we know</span>
+<a name="l00071"></a>00071   <span class="comment">// our parent will be some index behind "this".</span>
+<a name="l00072"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#afb744f57b07ddb2276b4ac67b6fcfc97">00072</a>   <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html" title="DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.">DWARFDebugInfoEntryMinimal</a> *<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#afb744f57b07ddb2276b4ac67b6fcfc97">getParent</a>() {
+<a name="l00073"></a>00073     <span class="keywordflow">return</span> ParentIdx > 0 ? <span class="keyword">this</span> - ParentIdx : 0;
+<a name="l00074"></a>00074   }
+<a name="l00075"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a7a55bbe1d96fb3c4e9c24308416739bc">00075</a>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html" title="DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.">DWARFDebugInfoEntryMinimal</a> *<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a7a55bbe1d96fb3c4e9c24308416739bc">getParent</a>()<span class="keyword"> const </span>{
+<a name="l00076"></a>00076     <span class="keywordflow">return</span> ParentIdx > 0 ? <span class="keyword">this</span> - ParentIdx : 0;
+<a name="l00077"></a>00077   }
+<a name="l00078"></a>00078   <span class="comment">// We know we are kept in a vector of contiguous entries, so we know</span>
+<a name="l00079"></a>00079   <span class="comment">// our sibling will be some index after "this".</span>
+<a name="l00080"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#afdd10eeb80f202f1d08354e674896247">00080</a>   <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html" title="DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.">DWARFDebugInfoEntryMinimal</a> *<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#afdd10eeb80f202f1d08354e674896247">getSibling</a>() {
+<a name="l00081"></a>00081     <span class="keywordflow">return</span> SiblingIdx > 0 ? <span class="keyword">this</span> + SiblingIdx : 0;
+<a name="l00082"></a>00082   }
+<a name="l00083"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#aa67b7b64d4596f6ae9d0f3102f93b96e">00083</a>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html" title="DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.">DWARFDebugInfoEntryMinimal</a> *<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#aa67b7b64d4596f6ae9d0f3102f93b96e">getSibling</a>()<span class="keyword"> const </span>{
+<a name="l00084"></a>00084     <span class="keywordflow">return</span> SiblingIdx > 0 ? <span class="keyword">this</span> + SiblingIdx : 0;
+<a name="l00085"></a>00085   }
+<a name="l00086"></a>00086   <span class="comment">// We know we are kept in a vector of contiguous entries, so we know</span>
+<a name="l00087"></a>00087   <span class="comment">// we don't need to store our child pointer, if we have a child it will</span>
+<a name="l00088"></a>00088   <span class="comment">// be the next entry in the list...</span>
+<a name="l00089"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a63b8e8f4c43dab0a49a804a4757d70bd">00089</a>   <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html" title="DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.">DWARFDebugInfoEntryMinimal</a> *<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a63b8e8f4c43dab0a49a804a4757d70bd">getFirstChild</a>() {
+<a name="l00090"></a>00090     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#abe4852383e06bda4207105c258a3a21c">hasChildren</a>() ? <span class="keyword">this</span> + 1 : 0;
+<a name="l00091"></a>00091   }
+<a name="l00092"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a2f00f18dea7ba0bbb7a79b02110a8245">00092</a>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html" title="DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.">DWARFDebugInfoEntryMinimal</a> *<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a2f00f18dea7ba0bbb7a79b02110a8245">getFirstChild</a>()<span class="keyword"> const </span>{
+<a name="l00093"></a>00093     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#abe4852383e06bda4207105c258a3a21c">hasChildren</a>() ? <span class="keyword">this</span> + 1 : 0;
+<a name="l00094"></a>00094   }
+<a name="l00095"></a>00095 
+<a name="l00096"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a40f1dfd1b18acc20b2ab85e9a32b8726">00096</a>   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a40f1dfd1b18acc20b2ab85e9a32b8726">setParent</a>(<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html" title="DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.">DWARFDebugInfoEntryMinimal</a> *parent) {
+<a name="l00097"></a>00097     <span class="keywordflow">if</span> (parent) {
+<a name="l00098"></a>00098       <span class="comment">// We know we are kept in a vector of contiguous entries, so we know</span>
+<a name="l00099"></a>00099       <span class="comment">// our parent will be some index behind "this".</span>
+<a name="l00100"></a>00100       ParentIdx = <span class="keyword">this</span> - parent;
+<a name="l00101"></a>00101     } <span class="keywordflow">else</span>
+<a name="l00102"></a>00102       ParentIdx = 0;
+<a name="l00103"></a>00103   }
+<a name="l00104"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#ab3c8d185765f16cce352553bd7704f37">00104</a>   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#ab3c8d185765f16cce352553bd7704f37">setSibling</a>(<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html" title="DWARFDebugInfoEntryMinimal - A DIE with only the minimum required data.">DWARFDebugInfoEntryMinimal</a> *sibling) {
+<a name="l00105"></a>00105     <span class="keywordflow">if</span> (sibling) {
+<a name="l00106"></a>00106       <span class="comment">// We know we are kept in a vector of contiguous entries, so we know</span>
+<a name="l00107"></a>00107       <span class="comment">// our sibling will be some index after "this".</span>
+<a name="l00108"></a>00108       SiblingIdx = sibling - <span class="keyword">this</span>;
+<a name="l00109"></a>00109       sibling-><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a40f1dfd1b18acc20b2ab85e9a32b8726">setParent</a>(<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#afb744f57b07ddb2276b4ac67b6fcfc97">getParent</a>());
+<a name="l00110"></a>00110     } <span class="keywordflow">else</span>
+<a name="l00111"></a>00111       SiblingIdx = 0;
+<a name="l00112"></a>00112   }
+<a name="l00113"></a>00113 
+<a name="l00114"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#acc46fb5983a5e78e97fca55345698bd4">00114</a>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFAbbreviationDeclaration.html">DWARFAbbreviationDeclaration</a> *<a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#acc46fb5983a5e78e97fca55345698bd4">getAbbreviationDeclarationPtr</a>()<span class="keyword"> const </span>{
+<a name="l00115"></a>00115     <span class="keywordflow">return</span> AbbrevDecl;
+<a name="l00116"></a>00116   }
+<a name="l00117"></a>00117 
+<a name="l00118"></a>00118   uint32_t <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a1bb11db184f1cef6481cad25b029783b">getAttributeValue</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *cu,
+<a name="l00119"></a>00119                              <span class="keyword">const</span> uint16_t attr, <a class="code" href="classllvm_1_1DWARFFormValue.html">DWARFFormValue</a> &formValue,
+<a name="l00120"></a>00120                              uint32_t *end_attr_offset_ptr = 0) <span class="keyword">const</span>;
+<a name="l00121"></a>00121 
+<a name="l00122"></a>00122   <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#ac2dda1f290c4d7a9332536dbb9fe2129">getAttributeValueAsString</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a>* cu,
+<a name="l00123"></a>00123                                         <span class="keyword">const</span> uint16_t attr,
+<a name="l00124"></a>00124                                         <span class="keyword">const</span> <span class="keywordtype">char</span> *fail_value) <span class="keyword">const</span>;
+<a name="l00125"></a>00125 
+<a name="l00126"></a>00126   uint64_t <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#ac8942d58faa03a94b910d0e43e12d668">getAttributeValueAsUnsigned</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *cu,
+<a name="l00127"></a>00127                                        <span class="keyword">const</span> uint16_t attr,
+<a name="l00128"></a>00128                                        uint64_t fail_value) <span class="keyword">const</span>;
+<a name="l00129"></a>00129 
+<a name="l00130"></a>00130   uint64_t <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#aa7ab4010de55d8114bc8c6f71991254c">getAttributeValueAsReference</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *cu,
+<a name="l00131"></a>00131                                         <span class="keyword">const</span> uint16_t attr,
+<a name="l00132"></a>00132                                         uint64_t fail_value) <span class="keyword">const</span>;
+<a name="l00133"></a>00133 
+<a name="l00134"></a>00134   <a class="code" href="classint64__t.html">int64_t</a> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a734e349ca977f6a5df161d9cdcc02d43">getAttributeValueAsSigned</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a>* cu,
+<a name="l00135"></a>00135                                     <span class="keyword">const</span> uint16_t attr,
+<a name="l00136"></a>00136                                     <a class="code" href="classint64__t.html">int64_t</a> fail_value) <span class="keyword">const</span>;
+<a name="l00137"></a>00137 <span class="comment"></span>
+<a name="l00138"></a>00138 <span class="comment">  /// Retrieves DW_AT_low_pc and DW_AT_high_pc from CU.</span>
+<a name="l00139"></a>00139 <span class="comment">  /// Returns true if both attributes are present.</span>
+<a name="l00140"></a>00140 <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a63a27dc315c5fc58c064e29caec193ab">getLowAndHighPC</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *CU,
+<a name="l00141"></a>00141                        uint64_t &LowPC, uint64_t &HighPC) <span class="keyword">const</span>;
+<a name="l00142"></a>00142 
+<a name="l00143"></a>00143   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a9a53cc89c9c0aadbb6f99363e1dea3dc">buildAddressRangeTable</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *CU,
+<a name="l00144"></a>00144                               <a class="code" href="classllvm_1_1DWARFDebugAranges.html">DWARFDebugAranges</a> *DebugAranges) <span class="keyword">const</span>;
+<a name="l00145"></a>00145 
+<a name="l00146"></a>00146   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a10216db577a00d87e25421bd78eb95bd">addressRangeContainsAddress</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *CU,
+<a name="l00147"></a>00147                                    <span class="keyword">const</span> uint64_t Address) <span class="keyword">const</span>;
+<a name="l00148"></a>00148 <span class="comment"></span>
+<a name="l00149"></a>00149 <span class="comment">  /// If a DIE represents a subprogram (or inlined subroutine),</span>
+<a name="l00150"></a>00150 <span class="comment">  /// returns its mangled name (or short name, if mangled is missing).</span>
+<a name="l00151"></a>00151 <span class="comment">  /// This name may be fetched from specification or abstract origin</span>
+<a name="l00152"></a>00152 <span class="comment">  /// for this subprogram. Returns null if no name is found.</span>
+<a name="l00153"></a>00153 <span class="comment"></span>  <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a2e23a716c064b5ce2443f9a13957f78e">getSubroutineName</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *CU) <span class="keyword">const</span>;
+<a name="l00154"></a>00154 <span class="comment"></span>
+<a name="l00155"></a>00155 <span class="comment">  /// Retrieves values of DW_AT_call_file, DW_AT_call_line and</span>
+<a name="l00156"></a>00156 <span class="comment">  /// DW_AT_call_column from DIE (or zeroes if they are missing).</span>
+<a name="l00157"></a>00157 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#adcc5d13387477a933470a01d090a2f61">getCallerFrame</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *CU, uint32_t &CallFile,
+<a name="l00158"></a>00158                       uint32_t &CallLine, uint32_t &CallColumn) <span class="keyword">const</span>;
+<a name="l00159"></a>00159 <span class="comment"></span>
+<a name="l00160"></a>00160 <span class="comment">  /// InlinedChain - represents a chain of inlined_subroutine</span>
+<a name="l00161"></a>00161 <span class="comment">  /// DIEs, (possibly ending with subprogram DIE), all of which are contained</span>
+<a name="l00162"></a>00162 <span class="comment">  /// in some concrete inlined instance tree. Address range for each DIE</span>
+<a name="l00163"></a>00163 <span class="comment">  /// (except the last DIE) in this chain is contained in address</span>
+<a name="l00164"></a>00164 <span class="comment">  /// range for next DIE in the chain.</span>
+<a name="l00165"></a><a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a032ccf7537b66faa09748f35519809b7">00165</a> <span class="comment"></span>  <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<DWARFDebugInfoEntryMinimal, 4></a> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#a032ccf7537b66faa09748f35519809b7">InlinedChain</a>;
+<a name="l00166"></a>00166 <span class="comment"></span>
+<a name="l00167"></a>00167 <span class="comment">  /// Get inlined chain for a given address, rooted at the current DIE.</span>
+<a name="l00168"></a>00168 <span class="comment">  /// Returns empty chain if address is not contained in address range</span>
+<a name="l00169"></a>00169 <span class="comment">  /// of current DIE.</span>
+<a name="l00170"></a>00170 <span class="comment"></span>  <a class="code" href="classllvm_1_1SmallVector.html">InlinedChain</a> <a class="code" href="classllvm_1_1DWARFDebugInfoEntryMinimal.html#ab468c793f108c8b3d1aebd7f9e6c83ef">getInlinedChainForAddress</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1DWARFCompileUnit.html">DWARFCompileUnit</a> *CU,
+<a name="l00171"></a>00171                                          <span class="keyword">const</span> uint64_t Address) <span class="keyword">const</span>;
+<a name="l00172"></a>00172 };
+<a name="l00173"></a>00173 
+<a name="l00174"></a>00174 }
+<a name="l00175"></a>00175 
+<a name="l00176"></a>00176 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:30 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/DWARFDebugLine_8cpp__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugLine_8cpp__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugLine_8cpp__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugLine_8cpp__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,139 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DWARFDebugLine.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="DWARFDebugLine.h",height=0.2,width=0.4,color="black",URL="$DWARFDebugLine_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/Support/DataExtractor.h",height=0.2,width=0.4,color="black",URL="$DataExtractor_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="black",URL="$DenseMap_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_8h.html"];
+  Node6 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="llvm/Support/MathExtras.h",height=0.2,width=0.4,color="black",URL="$MathExtras_8h.html"];
+  Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="llvm/Support/SwapByteOrder.h",height=0.2,width=0.4,color="black",URL="$SwapByteOrder_8h.html"];
+  Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="llvm/Support/PointerLikeTypeTraits.h",height=0.2,width=0.4,color="black",URL="$PointerLikeTypeTraits_8h.html"];
+  Node16 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_8h.html"];
+  Node17 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="llvm/ADT/DenseMapInfo.h",height=0.2,width=0.4,color="black",URL="$DenseMapInfo_8h.html"];
+  Node19 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="new",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="climits",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node26 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node26 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="map",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/Support/Dwarf.h",height=0.2,width=0.4,color="black",URL="$Dwarf_8h.html"];
+  Node1 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/Support/Format.h",height=0.2,width=0.4,color="black",URL="$Format_8h.html"];
+  Node31 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="cstdio",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/Support/Path.h",height=0.2,width=0.4,color="black",URL="$Path_8h.html"];
+  Node33 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/Support/PathV1.h",height=0.2,width=0.4,color="black",URL="$PathV1_8h.html"];
+  Node34 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/Support/TimeValue.h",height=0.2,width=0.4,color="black",URL="$TimeValue_8h.html"];
+  Node35 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="set",height=0.2,width=0.4,color="grey75"];
+  Node34 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/Support/PathV2.h",height=0.2,width=0.4,color="black",URL="$PathV2_8h.html"];
+  Node37 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/ADT/SmallString.h",height=0.2,width=0.4,color="black",URL="$SmallString_8h.html"];
+  Node38 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="black",URL="$SmallVector_8h.html"];
+  Node39 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node39 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="memory",height=0.2,width=0.4,color="grey75"];
+  Node38 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/ADT/Twine.h",height=0.2,width=0.4,color="black",URL="$Twine_8h.html"];
+  Node42 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node43 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/Support/raw_ostream.h",height=0.2,width=0.4,color="black",URL="$raw__ostream_8h.html"];
+  Node44 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugLine_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugLine_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugLine_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugLine_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,10 @@
+<map id="G" name="G">
+<area shape="rect" href="$DWARFContext_8h.html" title="DWARFContext.h" alt="" coords="436,84,564,111"/>
+<area shape="rect" href="$DWARFDebugLine_8cpp.html" title="DWARFDebugLine.cpp" alt="" coords="588,84,748,111"/>
+<area shape="rect" href="$DIContext_8cpp.html" title="DIContext.cpp" alt="" coords="5,161,117,188"/>
+<area shape="rect" href="$DWARFCompileUnit_8cpp.html" title="DWARFCompileUnit.cpp" alt="" coords="141,161,312,188"/>
+<area shape="rect" href="$DWARFContext_8cpp.html" title="DWARFContext.cpp" alt="" coords="336,161,477,188"/>
+<area shape="rect" href="$DWARFDebugAranges_8cpp.html" title="DWARFDebugAranges.cpp" alt="" coords="501,161,688,188"/>
+<area shape="rect" href="$DWARFDebugInfoEntry_8cpp.html" title="DWARFDebugInfoEntry.cpp" alt="" coords="712,161,899,188"/>
+<area shape="rect" href="$DWARFFormValue_8cpp.html" title="DWARFFormValue.cpp" alt="" coords="923,161,1083,188"/>
+</map>

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

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

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

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

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,122 @@
+<!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: DWARFDebugRangeList.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_4bdad7b73fba090aa2c2769f8db7d564.html">DebugInfo</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DWARFDebugRangeList.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="DWARFDebugRangeList_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- DWARFDebugRangesList.cpp ------------------------------------------===//</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="DWARFDebugRangeList_8h.html">DWARFDebugRangeList.h</a>"</span>
+<a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="Format_8h.html">llvm/Support/Format.h</a>"</span>
+<a name="l00012"></a>00012 <span class="preprocessor">#include "<a class="code" href="raw__ostream_8h.html">llvm/Support/raw_ostream.h</a>"</span>
+<a name="l00013"></a>00013 
+<a name="l00014"></a>00014 <span class="keyword">using namespace </span>llvm;
+<a name="l00015"></a>00015 
+<a name="l00016"></a><a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3dffeedde1dc4fc34655ee7829a626d3">00016</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3dffeedde1dc4fc34655ee7829a626d3">DWARFDebugRangeList::clear</a>() {
+<a name="l00017"></a>00017   Offset = -1U;
+<a name="l00018"></a>00018   AddressSize = 0;
+<a name="l00019"></a>00019   Entries.clear();
+<a name="l00020"></a>00020 }
+<a name="l00021"></a>00021 
+<a name="l00022"></a><a class="code" href="classllvm_1_1DWARFDebugRangeList.html#ad6f059a1d557727bf86236f6fd613f18">00022</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#ad6f059a1d557727bf86236f6fd613f18">DWARFDebugRangeList::extract</a>(<a class="code" href="classllvm_1_1DataExtractor.html">DataExtractor</a> data, uint32_t *offset_ptr) {
+<a name="l00023"></a>00023   <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3dffeedde1dc4fc34655ee7829a626d3">clear</a>();
+<a name="l00024"></a>00024   <span class="keywordflow">if</span> (!data.<a class="code" href="classllvm_1_1DataExtractor.html#aab8ab1a09e0933dea4b5eeb20dbdb72e">isValidOffset</a>(*offset_ptr))
+<a name="l00025"></a>00025     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00026"></a>00026   AddressSize = data.<a class="code" href="classllvm_1_1DataExtractor.html#a035b63ba41bd2de61187472a1223b545" title="getAddressSize - Get the address size for this extractor.">getAddressSize</a>();
+<a name="l00027"></a>00027   <span class="keywordflow">if</span> (AddressSize != 4 && AddressSize != 8)
+<a name="l00028"></a>00028     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00029"></a>00029   Offset = *offset_ptr;
+<a name="l00030"></a>00030   <span class="keywordflow">while</span> (<span class="keyword">true</span>) {
+<a name="l00031"></a>00031     <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html">RangeListEntry</a> entry;
+<a name="l00032"></a>00032     uint32_t prev_offset = *offset_ptr;
+<a name="l00033"></a>00033     entry.<a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#afa95d135ac835ee0ca83041eccee588e">StartAddress</a> = data.<a class="code" href="classllvm_1_1DataExtractor.html#a1f5564070782833b0dce16d2e979daa7">getAddress</a>(offset_ptr);
+<a name="l00034"></a>00034     entry.<a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#af6fe00f34df9ba6fbd7f315f74d8cce9">EndAddress</a> = data.<a class="code" href="classllvm_1_1DataExtractor.html#a1f5564070782833b0dce16d2e979daa7">getAddress</a>(offset_ptr);
+<a name="l00035"></a>00035     <span class="comment">// Check that both values were extracted correctly.</span>
+<a name="l00036"></a>00036     <span class="keywordflow">if</span> (*offset_ptr != prev_offset + 2 * AddressSize) {
+<a name="l00037"></a>00037       <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3dffeedde1dc4fc34655ee7829a626d3">clear</a>();
+<a name="l00038"></a>00038       <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00039"></a>00039     }
+<a name="l00040"></a>00040     <span class="keywordflow">if</span> (entry.<a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#a62c5ae4f1665d1214a64c65950c9dc49">isEndOfListEntry</a>())
+<a name="l00041"></a>00041       <span class="keywordflow">break</span>;
+<a name="l00042"></a>00042     Entries.push_back(entry);
+<a name="l00043"></a>00043   }
+<a name="l00044"></a>00044   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00045"></a>00045 }
+<a name="l00046"></a>00046 
+<a name="l00047"></a><a class="code" href="classllvm_1_1DWARFDebugRangeList.html#ab13ca24b7fa01a485aca97c9bbd361f2">00047</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#ab13ca24b7fa01a485aca97c9bbd361f2">DWARFDebugRangeList::dump</a>(<a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS)<span class="keyword"> const </span>{
+<a name="l00048"></a>00048   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0, n = Entries.size(); i != n; ++i) {
+<a name="l00049"></a>00049     <span class="keyword">const</span> <span class="keywordtype">char</span> *format_str = (AddressSize == 4
+<a name="l00050"></a>00050                               ? <span class="stringliteral">"%08x %08"</span>  PRIx64 <span class="stringliteral">" %08"</span>  PRIx64 <span class="stringliteral">"\n"</span>
+<a name="l00051"></a>00051                               : <span class="stringliteral">"%08x %016"</span> PRIx64 <span class="stringliteral">" %016"</span> PRIx64 <span class="stringliteral">"\n"</span>);
+<a name="l00052"></a>00052     OS << <a class="code" href="namespacellvm.html#a69dc1b119f8cb95b7e36f586c5aeb372">format</a>(format_str, Offset, Entries[i].StartAddress,
+<a name="l00053"></a>00053                                      Entries[i].EndAddress);
+<a name="l00054"></a>00054   }
+<a name="l00055"></a>00055   OS << <a class="code" href="namespacellvm.html#a69dc1b119f8cb95b7e36f586c5aeb372">format</a>(<span class="stringliteral">"%08x <End of list>\n"</span>, Offset);
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 
+<a name="l00058"></a><a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3bcff0d81daaaaafa477ec34594278e4">00058</a> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3bcff0d81daaaaafa477ec34594278e4">DWARFDebugRangeList::containsAddress</a>(uint64_t BaseAddress,
+<a name="l00059"></a>00059                                           uint64_t Address)<span class="keyword"> const </span>{
+<a name="l00060"></a>00060   <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0, n = Entries.size(); i != n; ++i) {
+<a name="l00061"></a>00061     <span class="keywordflow">if</span> (Entries[i].isBaseAddressSelectionEntry(AddressSize))
+<a name="l00062"></a>00062       BaseAddress = Entries[i].EndAddress;
+<a name="l00063"></a>00063     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Entries[i].<a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3bcff0d81daaaaafa477ec34594278e4">containsAddress</a>(BaseAddress, Address))
+<a name="l00064"></a>00064       <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00065"></a>00065   }
+<a name="l00066"></a>00066   <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00067"></a>00067 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:30 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/DWARFDebugRangeList_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_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: DWARFDebugRangeList.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_4bdad7b73fba090aa2c2769f8db7d564.html">DebugInfo</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">DWARFDebugRangeList.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="DataExtractor_8h_source.html">llvm/Support/DataExtractor.h</a>"</code><br/>
+<code>#include <vector></code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for DWARFDebugRangeList.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="DWARFDebugRangeList_8h__incl.png" border="0" usemap="#DWARFDebugRangeList_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="DWARFDebugRangeList_8h__dep__incl.png" border="0" usemap="#DWARFDebugRangeList_8hdep" alt=""/></div>
+<!-- MAP 1 -->
+</div>
+</div>
+<p><a href="DWARFDebugRangeList_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_1DWARFDebugRangeList.html">llvm::DWARFDebugRangeList</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html">llvm::DWARFDebugRangeList::RangeListEntry</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:29 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/DWARFDebugRangeList_8h__dep__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8h__dep__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFDebugRangeList_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,133 @@
+<!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: DWARFDebugRangeList.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_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_4bdad7b73fba090aa2c2769f8db7d564.html">DebugInfo</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DWARFDebugRangeList.h</div>  </div>
+</div>
+<div class="contents">
+<a href="DWARFDebugRangeList_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- DWARFDebugRangeList.h -----------------------------------*- 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 LLVM_DEBUGINFO_DWARFDEBUGRANGELIST_H</span>
+<a name="l00011"></a>00011 <span class="preprocessor"></span><span class="preprocessor">#define LLVM_DEBUGINFO_DWARFDEBUGRANGELIST_H</span>
+<a name="l00012"></a>00012 <span class="preprocessor"></span>
+<a name="l00013"></a>00013 <span class="preprocessor">#include "<a class="code" href="DataExtractor_8h.html">llvm/Support/DataExtractor.h</a>"</span>
+<a name="l00014"></a>00014 <span class="preprocessor">#include <vector></span>
+<a name="l00015"></a>00015 
+<a name="l00016"></a>00016 <span class="keyword">namespace </span>llvm {
+<a name="l00017"></a>00017 
+<a name="l00018"></a>00018 <span class="keyword">class </span>raw_ostream;
+<a name="l00019"></a>00019 
+<a name="l00020"></a><a class="code" href="classllvm_1_1DWARFDebugRangeList.html">00020</a> <span class="keyword">class </span><a class="code" href="classllvm_1_1DWARFDebugRangeList.html">DWARFDebugRangeList</a> {
+<a name="l00021"></a>00021 <span class="keyword">public</span>:
+<a name="l00022"></a><a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html">00022</a>   <span class="keyword">struct </span><a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html">RangeListEntry</a> {
+<a name="l00023"></a>00023     <span class="comment">// A beginning address offset. This address offset has the size of an</span>
+<a name="l00024"></a>00024     <span class="comment">// address and is relative to the applicable base address of the</span>
+<a name="l00025"></a>00025     <span class="comment">// compilation unit referencing this range list. It marks the beginning</span>
+<a name="l00026"></a>00026     <span class="comment">// of an address range.</span>
+<a name="l00027"></a><a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#afa95d135ac835ee0ca83041eccee588e">00027</a>     uint64_t <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#afa95d135ac835ee0ca83041eccee588e">StartAddress</a>;
+<a name="l00028"></a>00028     <span class="comment">// An ending address offset. This address offset again has the size of</span>
+<a name="l00029"></a>00029     <span class="comment">// an address and is relative to the applicable base address of the</span>
+<a name="l00030"></a>00030     <span class="comment">// compilation unit referencing this range list. It marks the first</span>
+<a name="l00031"></a>00031     <span class="comment">// address past the end of the address range. The ending address must</span>
+<a name="l00032"></a>00032     <span class="comment">// be greater than or equal to the beginning address.</span>
+<a name="l00033"></a><a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#af6fe00f34df9ba6fbd7f315f74d8cce9">00033</a>     uint64_t <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#af6fe00f34df9ba6fbd7f315f74d8cce9">EndAddress</a>;
+<a name="l00034"></a>00034     <span class="comment">// The end of any given range list is marked by an end of list entry,</span>
+<a name="l00035"></a>00035     <span class="comment">// which consists of a 0 for the beginning address offset</span>
+<a name="l00036"></a>00036     <span class="comment">// and a 0 for the ending address offset.</span>
+<a name="l00037"></a><a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#a62c5ae4f1665d1214a64c65950c9dc49">00037</a>     <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#a62c5ae4f1665d1214a64c65950c9dc49">isEndOfListEntry</a>()<span class="keyword"> const </span>{
+<a name="l00038"></a>00038       <span class="keywordflow">return</span> (<a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#afa95d135ac835ee0ca83041eccee588e">StartAddress</a> == 0) && (<a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#af6fe00f34df9ba6fbd7f315f74d8cce9">EndAddress</a> == 0);
+<a name="l00039"></a>00039     }
+<a name="l00040"></a>00040     <span class="comment">// A base address selection entry consists of:</span>
+<a name="l00041"></a>00041     <span class="comment">// 1. The value of the largest representable address offset</span>
+<a name="l00042"></a>00042     <span class="comment">// (for example, 0xffffffff when the size of an address is 32 bits).</span>
+<a name="l00043"></a>00043     <span class="comment">// 2. An address, which defines the appropriate base address for</span>
+<a name="l00044"></a>00044     <span class="comment">// use in interpreting the beginning and ending address offsets of</span>
+<a name="l00045"></a>00045     <span class="comment">// subsequent entries of the location list.</span>
+<a name="l00046"></a><a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#ab723f7ea3ef85198dbb460a00acff227">00046</a>     <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#ab723f7ea3ef85198dbb460a00acff227">isBaseAddressSelectionEntry</a>(uint8_t AddressSize)<span class="keyword"> const </span>{
+<a name="l00047"></a>00047       assert(AddressSize == 4 || AddressSize == 8);
+<a name="l00048"></a>00048       <span class="keywordflow">if</span> (AddressSize == 4)
+<a name="l00049"></a>00049         <span class="keywordflow">return</span> <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#afa95d135ac835ee0ca83041eccee588e">StartAddress</a> == -1U;
+<a name="l00050"></a>00050       <span class="keywordflow">else</span>
+<a name="l00051"></a>00051         <span class="keywordflow">return</span> <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#afa95d135ac835ee0ca83041eccee588e">StartAddress</a> == -1ULL;
+<a name="l00052"></a>00052     }
+<a name="l00053"></a><a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#a1f54a6a800fcdea911c40d41494d1e9b">00053</a>     <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#a1f54a6a800fcdea911c40d41494d1e9b">containsAddress</a>(uint64_t BaseAddress, uint64_t Address)<span class="keyword"> const </span>{
+<a name="l00054"></a>00054       <span class="keywordflow">return</span> (BaseAddress + <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#afa95d135ac835ee0ca83041eccee588e">StartAddress</a> <= Address) &&
+<a name="l00055"></a>00055              (Address < BaseAddress + <a class="code" href="structllvm_1_1DWARFDebugRangeList_1_1RangeListEntry.html#af6fe00f34df9ba6fbd7f315f74d8cce9">EndAddress</a>);
+<a name="l00056"></a>00056     }
+<a name="l00057"></a>00057   };
+<a name="l00058"></a>00058 
+<a name="l00059"></a>00059 <span class="keyword">private</span>:
+<a name="l00060"></a>00060   <span class="comment">// Offset in .debug_ranges section.</span>
+<a name="l00061"></a>00061   uint32_t Offset;
+<a name="l00062"></a>00062   uint8_t AddressSize;
+<a name="l00063"></a>00063   std::vector<RangeListEntry> Entries;
+<a name="l00064"></a>00064 
+<a name="l00065"></a>00065 <span class="keyword">public</span>:
+<a name="l00066"></a><a class="code" href="classllvm_1_1DWARFDebugRangeList.html#aef759d53de453cd7140b861279675f9c">00066</a>   <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#aef759d53de453cd7140b861279675f9c">DWARFDebugRangeList</a>() { <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3dffeedde1dc4fc34655ee7829a626d3">clear</a>(); }
+<a name="l00067"></a>00067   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3dffeedde1dc4fc34655ee7829a626d3">clear</a>();
+<a name="l00068"></a>00068   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#ab13ca24b7fa01a485aca97c9bbd361f2">dump</a>(<a class="code" href="classllvm_1_1raw__ostream.html">raw_ostream</a> &OS) <span class="keyword">const</span>;
+<a name="l00069"></a>00069   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#ad6f059a1d557727bf86236f6fd613f18">extract</a>(<a class="code" href="classllvm_1_1DataExtractor.html">DataExtractor</a> data, uint32_t *offset_ptr);<span class="comment"></span>
+<a name="l00070"></a>00070 <span class="comment">  /// containsAddress - Returns true if range list contains the given</span>
+<a name="l00071"></a>00071 <span class="comment">  /// address. Has to be passed base address of the compile unit that</span>
+<a name="l00072"></a>00072 <span class="comment">  /// references this range list.</span>
+<a name="l00073"></a>00073 <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DWARFDebugRangeList.html#a3bcff0d81daaaaafa477ec34594278e4">containsAddress</a>(uint64_t BaseAddress, uint64_t Address) <span class="keyword">const</span>;
+<a name="l00074"></a>00074 };
+<a name="l00075"></a>00075 
+<a name="l00076"></a>00076 }  <span class="comment">// namespace llvm</span>
+<a name="l00077"></a>00077 
+<a name="l00078"></a>00078 <span class="preprocessor">#endif  // LLVM_DEBUGINFO_DWARFDEBUGRANGELIST_H</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:30 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/DWARFFormValue_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFFormValue_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFFormValue_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFFormValue_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,171 @@
+<!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: DWARFFormValue.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_4bdad7b73fba090aa2c2769f8db7d564.html">DebugInfo</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">DWARFFormValue.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="DWARFFormValue_8h_source.html">DWARFFormValue.h</a>"</code><br/>
+<code>#include "<a class="el" href="DWARFCompileUnit_8h_source.html">DWARFCompileUnit.h</a>"</code><br/>
+<code>#include "<a class="el" href="DWARFContext_8h_source.html">DWARFContext.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="Dwarf_8h_source.html">llvm/Support/Dwarf.h</a>"</code><br/>
+<code>#include "<a class="el" href="Format_8h_source.html">llvm/Support/Format.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 <cassert></code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for DWARFFormValue.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="DWARFFormValue_8cpp__incl.png" border="0" usemap="#DWARFFormValue_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="DWARFFormValue_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="DWARFFormValue_8cpp.html#a8d3d76b8eac8f587578f3806f95aa392">form_sizes_addr4</a> []</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="DWARFFormValue_8cpp.html#ac88e76a8fe255d4ff49206169c738b60">form_sizes_addr8</a> []</td></tr>
+</table>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a8d3d76b8eac8f587578f3806f95aa392"></a><!-- doxytag: member="DWARFFormValue.cpp::form_sizes_addr4" ref="a8d3d76b8eac8f587578f3806f95aa392" args="[]" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint8_t <a class="el" href="DWARFFormValue_8cpp.html#a8d3d76b8eac8f587578f3806f95aa392">form_sizes_addr4</a>[]<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
+  0, 
+  4, 
+  0, 
+  0, 
+  0, 
+  2, 
+  4, 
+  8, 
+  0, 
+  0, 
+  0, 
+  1, 
+  1, 
+  0, 
+  4, 
+  0, 
+  4, 
+  1, 
+  2, 
+  4, 
+  8, 
+  0, 
+  0, 
+  4, 
+  0, 
+  0, 
+  8, 
+}
+</pre></div>
+<p>Definition at line <a class="el" href="DWARFFormValue_8cpp_source.html#l00021">21</a> of file <a class="el" href="DWARFFormValue_8cpp_source.html">DWARFFormValue.cpp</a>.</p>
+
+<p>Referenced by <a class="el" href="DWARFFormValue_8cpp_source.html#l00082">llvm::DWARFFormValue::getFixedFormSizesForAddressSize()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac88e76a8fe255d4ff49206169c738b60"></a><!-- doxytag: member="DWARFFormValue.cpp::form_sizes_addr8" ref="ac88e76a8fe255d4ff49206169c738b60" args="[]" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const uint8_t <a class="el" href="DWARFFormValue_8cpp.html#ac88e76a8fe255d4ff49206169c738b60">form_sizes_addr8</a>[]<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
+  0, 
+  8, 
+  0, 
+  0, 
+  0, 
+  2, 
+  4, 
+  8, 
+  0, 
+  0, 
+  0, 
+  1, 
+  1, 
+  0, 
+  4, 
+  0, 
+  8, 
+  1, 
+  2, 
+  4, 
+  8, 
+  0, 
+  0, 
+  8, 
+  0, 
+  0, 
+  8, 
+}
+</pre></div>
+<p>Definition at line <a class="el" href="DWARFFormValue_8cpp_source.html#l00051">51</a> of file <a class="el" href="DWARFFormValue_8cpp_source.html">DWARFFormValue.cpp</a>.</p>
+
+<p>Referenced by <a class="el" href="DWARFFormValue_8cpp_source.html#l00082">llvm::DWARFFormValue::getFixedFormSizesForAddressSize()</a>.</p>
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/DWARFFormValue_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DWARFFormValue_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DWARFFormValue_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DWARFFormValue_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,31 @@
+<map id="G" name="G">
+<area shape="rect" href="$DWARFFormValue_8h.html" title="DWARFFormValue.h" alt="" coords="1700,161,1844,188"/>
+<area shape="rect" href="$DWARFCompileUnit_8h.html" title="DWARFCompileUnit.h" alt="" coords="839,161,993,188"/>
+<area shape="rect" href="$DWARFContext_8h.html" title="DWARFContext.h" alt="" coords="1395,84,1523,111"/>
+<area shape="rect" href="$Debug_8h.html" title="llvm/Support/Debug.h" alt="" coords="2156,84,2316,111"/>
+<area shape="rect" href="$Dwarf_8h.html" title="llvm/Support/Dwarf.h" alt="" coords="2340,84,2492,111"/>
+<area shape="rect" href="$Format_8h.html" title="llvm/Support/Format.h" alt="" coords="1919,84,2081,111"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="2169,393,2369,420"/>
+<area shape="rect" href="$DataExtractor_8h.html" title="llvm/Support/DataExtractor.h" alt="" coords="939,393,1144,420"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="961,471,1121,497"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="171,703,355,729"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1380,471,1529,497"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2075,625,2248,652"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="1727,548,1889,575"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="559,548,748,575"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="300,625,548,652"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="1097,625,1284,652"/>
+<area shape="rect" href="$DenseMapInfo_8h.html" title="llvm/ADT/DenseMapInfo.h" alt="" coords="351,548,535,575"/>
+<area shape="rect" href="$DWARFDebugAbbrev_8h.html" title="DWARFDebugAbbrev.h" alt="" coords="819,239,981,265"/>
+<area shape="rect" href="$DWARFDebugInfoEntry_8h.html" title="DWARFDebugInfoEntry.h" alt="" coords="416,239,589,265"/>
+<area shape="rect" href="$DWARFDebugRangeList_8h.html" title="DWARFDebugRangeList.h" alt="" coords="613,239,795,265"/>
+<area shape="rect" href="$DWARFAbbreviationDeclaration_8h.html" title="DWARFAbbreviationDeclaration.h" alt="" coords="576,316,805,343"/>
+<area shape="rect" href="$DWARFAttribute_8h.html" title="DWARFAttribute.h" alt="" coords="44,625,175,652"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1553,471,1721,497"/>
+<area shape="rect" href="$DWARFDebugAranges_8h.html" title="DWARFDebugAranges.h" alt="" coords="1115,161,1285,188"/>
+<area shape="rect" href="$DWARFDebugLine_8h.html" title="DWARFDebugLine.h" alt="" coords="1317,239,1461,265"/>
+<area shape="rect" href="$DIContext_8h.html" title="llvm/DebugInfo/DIContext.h" alt="" coords="1401,316,1596,343"/>
+<area shape="rect" href="$OwningPtr_8h.html" title="llvm/ADT/OwningPtr.h" alt="" coords="2157,471,2312,497"/>
+<area shape="rect" href="$DWARFDebugArangeSet_8h.html" title="DWARFDebugArangeSet.h" alt="" coords="1107,239,1293,265"/>
+<area shape="rect" href="$SmallString_8h.html" title="llvm/ADT/SmallString.h" alt="" coords="1379,393,1547,420"/>
+</map>

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

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

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DataExtractor_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DataExtractor_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DataExtractor_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DataExtractor_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,17 @@
+<map id="G" name="G">
+<area shape="rect" href="$DataExtractor_8h.html" title="llvm/Support/DataExtractor.h" alt="" coords="853,161,1059,188"/>
+<area shape="rect" href="$SwapByteOrder_8h.html" title="llvm/Support/SwapByteOrder.h" alt="" coords="1533,393,1749,420"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1584,161,1789,188"/>
+<area shape="rect" href="$Host_8h.html" title="llvm/Support/Host.h" alt="" coords="1503,84,1649,111"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="556,239,716,265"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="287,471,471,497"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1568,239,1717,265"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="728,393,901,420"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="825,316,988,343"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="1012,316,1201,343"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="93,393,341,420"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="416,393,603,420"/>
+<area shape="rect" href="$DenseMapInfo_8h.html" title="llvm/ADT/DenseMapInfo.h" alt="" coords="313,316,497,343"/>
+<area shape="rect" href="$StringMap_8h.html" title="llvm/ADT/StringMap.h" alt="" coords="1403,161,1560,188"/>
+<area shape="rect" href="$Allocator_8h.html" title="llvm/Support/Allocator.h" alt="" coords="1229,239,1403,265"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DataFlow_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DataFlow_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DataFlow_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DataFlow_8h.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,81 @@
+<!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: DataFlow.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_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="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">DataFlow.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="User_8h_source.html">llvm/User.h</a>"</code><br/>
+<code>#include "<a class="el" href="GraphTraits_8h_source.html">llvm/ADT/GraphTraits.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for DataFlow.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="DataFlow_8h__incl.png" border="0" usemap="#DataFlow_8h" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="DataFlow_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">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html">llvm::GraphTraits< const Value * ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html">llvm::GraphTraits< Value * ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html">llvm::GraphTraits< Inverse< const User * > ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html">llvm::GraphTraits< Inverse< User * > ></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:28 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/DataFlow_8h__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DataFlow_8h__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DataFlow_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DataFlow_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DataFlow_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DataFlow_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,159 @@
+<!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: DataFlow.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">DataFlow.h</div>  </div>
+</div>
+<div class="contents">
+<a href="DataFlow_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/Support/DataFlow.h - dataflow as graphs ------------*- 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 specializations of GraphTraits that allows Use-Def and</span>
+<a name="l00011"></a>00011 <span class="comment">// Def-Use relations to be treated as proper graphs for generic algorithms.</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_SUPPORT_DATAFLOW_H</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define LLVM_SUPPORT_DATAFLOW_H</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="User_8h.html">llvm/User.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="GraphTraits_8h.html">llvm/ADT/GraphTraits.h</a>"</span>
+<a name="l00019"></a>00019 
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>llvm {
+<a name="l00021"></a>00021 
+<a name="l00022"></a>00022 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00023"></a>00023 <span class="comment">// Provide specializations of GraphTraits to be able to treat def-use/use-def</span>
+<a name="l00024"></a>00024 <span class="comment">// chains as graphs</span>
+<a name="l00025"></a>00025 
+<a name="l00026"></a><a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html">00026</a> <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structllvm_1_1GraphTraits.html">GraphTraits</a><const <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>*> {
+<a name="l00027"></a><a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#ad1c141bccba978e3789b4db84676cf70">00027</a>   <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> <a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#ad1c141bccba978e3789b4db84676cf70">NodeType</a>;
+<a name="l00028"></a><a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#afecc6cba6da8f3f65f2e1b524da92805">00028</a>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1value__use__iterator.html">Value::const_use_iterator</a> <a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#afecc6cba6da8f3f65f2e1b524da92805">ChildIteratorType</a>;
+<a name="l00029"></a>00029 
+<a name="l00030"></a><a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#a340376682a8e97f66a608a167deb00aa">00030</a>   <span class="keyword">static</span> NodeType *<a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#a340376682a8e97f66a608a167deb00aa">getEntryNode</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *G) {
+<a name="l00031"></a>00031     <span class="keywordflow">return</span> G;
+<a name="l00032"></a>00032   }
+<a name="l00033"></a>00033 
+<a name="l00034"></a><a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#aef56ccd8eb5a416db71654046cedda30">00034</a>   <span class="keyword">static</span> <span class="keyword">inline</span> ChildIteratorType <a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#aef56ccd8eb5a416db71654046cedda30">child_begin</a>(NodeType *N) {
+<a name="l00035"></a>00035     <span class="keywordflow">return</span> N-><a class="code" href="classllvm_1_1Value.html#a413abcab8dbc3900fc2fde96a5d8fca6">use_begin</a>();
+<a name="l00036"></a>00036   }
+<a name="l00037"></a>00037 
+<a name="l00038"></a><a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#af88670187eefddbe7743c9b0ce682c93">00038</a>   <span class="keyword">static</span> <span class="keyword">inline</span> ChildIteratorType <a class="code" href="structllvm_1_1GraphTraits_3_01const_01Value_01_5_01_4.html#af88670187eefddbe7743c9b0ce682c93">child_end</a>(NodeType *N) {
+<a name="l00039"></a>00039     <span class="keywordflow">return</span> N-><a class="code" href="classllvm_1_1Value.html#ad86469939d2a8bdd4169be9403b89f5a">use_end</a>();
+<a name="l00040"></a>00040   }
+<a name="l00041"></a>00041 };
+<a name="l00042"></a>00042 
+<a name="l00043"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html">00043</a> <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structllvm_1_1GraphTraits.html">GraphTraits</a><<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>*> {
+<a name="l00044"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#adfef0469568841eeb25063c30a8e5b75">00044</a>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> <a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#adfef0469568841eeb25063c30a8e5b75">NodeType</a>;
+<a name="l00045"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#a0d96d38b9c13cbdd99b71770d27094f3">00045</a>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1value__use__iterator.html">Value::use_iterator</a> <a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#a0d96d38b9c13cbdd99b71770d27094f3">ChildIteratorType</a>;
+<a name="l00046"></a>00046 
+<a name="l00047"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#aaef0200ead1b338e1068bf8ae1a3400d">00047</a>   <span class="keyword">static</span> NodeType *<a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#aaef0200ead1b338e1068bf8ae1a3400d">getEntryNode</a>(<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *G) {
+<a name="l00048"></a>00048     <span class="keywordflow">return</span> G;
+<a name="l00049"></a>00049   }
+<a name="l00050"></a>00050 
+<a name="l00051"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#a26d18f9aff66dadeb18fb871219c88e1">00051</a>   <span class="keyword">static</span> <span class="keyword">inline</span> ChildIteratorType <a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#a26d18f9aff66dadeb18fb871219c88e1">child_begin</a>(NodeType *N) {
+<a name="l00052"></a>00052     <span class="keywordflow">return</span> N-><a class="code" href="classllvm_1_1Value.html#a413abcab8dbc3900fc2fde96a5d8fca6">use_begin</a>();
+<a name="l00053"></a>00053   }
+<a name="l00054"></a>00054 
+<a name="l00055"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#ac45a25e3e6901efe1566af533b3946ee">00055</a>   <span class="keyword">static</span> <span class="keyword">inline</span> ChildIteratorType <a class="code" href="structllvm_1_1GraphTraits_3_01Value_01_5_01_4.html#ac45a25e3e6901efe1566af533b3946ee">child_end</a>(NodeType *N) {
+<a name="l00056"></a>00056     <span class="keywordflow">return</span> N-><a class="code" href="classllvm_1_1Value.html#ad86469939d2a8bdd4169be9403b89f5a">use_end</a>();
+<a name="l00057"></a>00057   }
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059 
+<a name="l00060"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html">00060</a> <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structllvm_1_1GraphTraits.html">GraphTraits</a><<a class="code" href="structllvm_1_1Inverse.html">Inverse</a><const <a class="code" href="classllvm_1_1User.html">User</a>*> > {
+<a name="l00061"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#ae249a6277de235dc7685d5b148100c43">00061</a>   <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> <a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#ae249a6277de235dc7685d5b148100c43">NodeType</a>;
+<a name="l00062"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#a8a5c8b111c74f49b93139abf213b9bb8">00062</a>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1Use.html">User::const_op_iterator</a> <a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#a8a5c8b111c74f49b93139abf213b9bb8">ChildIteratorType</a>;
+<a name="l00063"></a>00063 
+<a name="l00064"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#a982e6d1d185b1db9a1c15a4fe1938f7f">00064</a>   <span class="keyword">static</span> NodeType *<a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#a982e6d1d185b1db9a1c15a4fe1938f7f">getEntryNode</a>(<a class="code" href="structllvm_1_1Inverse.html">Inverse<const User*></a> G) {
+<a name="l00065"></a>00065     <span class="keywordflow">return</span> G.<a class="code" href="structllvm_1_1Inverse.html#a169e126ff147c68b5f1cfd6a1d2c8286">Graph</a>;
+<a name="l00066"></a>00066   }
+<a name="l00067"></a>00067 
+<a name="l00068"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#ab9e234c768cdd287b0e7d979db14343d">00068</a>   <span class="keyword">static</span> <span class="keyword">inline</span> ChildIteratorType <a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#ab9e234c768cdd287b0e7d979db14343d">child_begin</a>(NodeType *N) {
+<a name="l00069"></a>00069     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1User.html">User</a> *U = dyn_cast<User>(N))
+<a name="l00070"></a>00070       <span class="keywordflow">return</span> U->op_begin();
+<a name="l00071"></a>00071     <span class="keywordflow">return</span> NULL;
+<a name="l00072"></a>00072   }
+<a name="l00073"></a>00073 
+<a name="l00074"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#a70576a4e7f5f1c82b2f3b84f78f95cc8">00074</a>   <span class="keyword">static</span> <span class="keyword">inline</span> ChildIteratorType <a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01const_01User_01_5_01_4_01_4.html#a70576a4e7f5f1c82b2f3b84f78f95cc8">child_end</a>(NodeType *N) {
+<a name="l00075"></a>00075     <span class="keywordflow">if</span>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1User.html">User</a> *U = dyn_cast<User>(N))
+<a name="l00076"></a>00076       <span class="keywordflow">return</span> U->op_end();
+<a name="l00077"></a>00077     <span class="keywordflow">return</span> NULL;
+<a name="l00078"></a>00078   }
+<a name="l00079"></a>00079 };
+<a name="l00080"></a>00080 
+<a name="l00081"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html">00081</a> <span class="keyword">template</span> <> <span class="keyword">struct </span><a class="code" href="structllvm_1_1GraphTraits.html">GraphTraits</a><<a class="code" href="structllvm_1_1Inverse.html">Inverse</a><<a class="code" href="classllvm_1_1User.html">User</a>*> > {
+<a name="l00082"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#afa158f1fef98d82261b5423d07b23de4">00082</a>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> <a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#afa158f1fef98d82261b5423d07b23de4">NodeType</a>;
+<a name="l00083"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#a3438b59fecc7fb59f9559993c634f19f">00083</a>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1Use.html">User::op_iterator</a> <a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#a3438b59fecc7fb59f9559993c634f19f">ChildIteratorType</a>;
+<a name="l00084"></a>00084 
+<a name="l00085"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#a6d7398245d31a5054743943aeb5d4c9b">00085</a>   <span class="keyword">static</span> NodeType *<a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#a6d7398245d31a5054743943aeb5d4c9b">getEntryNode</a>(<a class="code" href="structllvm_1_1Inverse.html">Inverse<User*></a> G) {
+<a name="l00086"></a>00086     <span class="keywordflow">return</span> G.<a class="code" href="structllvm_1_1Inverse.html#a169e126ff147c68b5f1cfd6a1d2c8286">Graph</a>;
+<a name="l00087"></a>00087   }
+<a name="l00088"></a>00088 
+<a name="l00089"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#a974b9cf0fbc0397f3c5da79b70068085">00089</a>   <span class="keyword">static</span> <span class="keyword">inline</span> ChildIteratorType <a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#a974b9cf0fbc0397f3c5da79b70068085">child_begin</a>(NodeType *N) {
+<a name="l00090"></a>00090     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1User.html">User</a> *U = dyn_cast<User>(N))
+<a name="l00091"></a>00091       <span class="keywordflow">return</span> U->op_begin();
+<a name="l00092"></a>00092     <span class="keywordflow">return</span> NULL;
+<a name="l00093"></a>00093   }
+<a name="l00094"></a>00094 
+<a name="l00095"></a><a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#a874dc08babcf8d4490c7606d90001c78">00095</a>   <span class="keyword">static</span> <span class="keyword">inline</span> ChildIteratorType <a class="code" href="structllvm_1_1GraphTraits_3_01Inverse_3_01User_01_5_01_4_01_4.html#a874dc08babcf8d4490c7606d90001c78">child_end</a>(NodeType *N) {
+<a name="l00096"></a>00096     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1User.html">User</a> *U = dyn_cast<User>(N))
+<a name="l00097"></a>00097       <span class="keywordflow">return</span> U->op_end();
+<a name="l00098"></a>00098     <span class="keywordflow">return</span> NULL;
+<a name="l00099"></a>00099   }
+<a name="l00100"></a>00100 };
+<a name="l00101"></a>00101 
+<a name="l00102"></a>00102 }
+<a name="l00103"></a>00103 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33: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/DataStream_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DataStream_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DataStream_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DataStream_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,22 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DataStream.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="StreamableMemoryObject.h",height=0.2,width=0.4,color="black",URL="$StreamableMemoryObject_8h.html"];
+  Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="BitstreamReader.h",height=0.2,width=0.4,color="black",URL="$BitstreamReader_8h.html"];
+  Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="BitcodeReader.h",height=0.2,width=0.4,color="black",URL="$BitcodeReader_8h.html"];
+  Node4 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="BitcodeReader.cpp",height=0.2,width=0.4,color="black",URL="$BitcodeReader_8cpp.html"];
+  Node2 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="StreamableMemoryObject.cpp",height=0.2,width=0.4,color="black",URL="$StreamableMemoryObject_8cpp.html"];
+  Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="DataStream.cpp",height=0.2,width=0.4,color="black",URL="$DataStream_8cpp.html"];
+  Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="Host.cpp",height=0.2,width=0.4,color="black",URL="$Host_8cpp.html"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DataTypes_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DataTypes_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DataTypes_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DataTypes_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,15 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DataTypes.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="math.h",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DbgInfoPrinter_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DbgInfoPrinter_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DbgInfoPrinter_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DbgInfoPrinter_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,281 @@
+<!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: DbgInfoPrinter.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_59dd179f705c75b7b821c61754f4942c.html">Analysis</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a> |
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">DbgInfoPrinter.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="DebugInfo_8h_source.html">llvm/DebugInfo.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="IntrinsicInst_8h_source.html">llvm/IntrinsicInst.h</a>"</code><br/>
+<code>#include "<a class="el" href="Metadata_8h_source.html">llvm/Metadata.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="Analysis_2Passes_8h_source.html">llvm/Analysis/Passes.h</a>"</code><br/>
+<code>#include "<a class="el" href="Writer_8h_source.html">llvm/Assembly/Writer.h</a>"</code><br/>
+<code>#include "<a class="el" href="CFG_8h_source.html">llvm/Support/CFG.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="raw__ostream_8h_source.html">llvm/Support/raw_ostream.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for DbgInfoPrinter.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="DbgInfoPrinter_8cpp__incl.png" border="0" usemap="#DbgInfoPrinter_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="DbgInfoPrinter_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="DbgInfoPrinter_8cpp.html#a82258d83cab36fca25de1e2797b7825b">INITIALIZE_PASS</a> (PrintDbgInfo,"print-dbginfo","Print debug <a class="el" href="LazyValueInfo_8cpp.html#ad7f64bcc544dcefb2e068282af1c549d">info</a> in human readable form", false, <a class="el" href="SimplifyInstructions_8cpp.html#a6dd713bd88673625bb181528a61bdc85">false</a>) <a class="el" href="classllvm_1_1FunctionPass.html">FunctionPass</a> *llvm</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1Value.html">Value</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="DbgInfoPrinter_8cpp.html#ad94d2a0dd68234dc2e26c379c5f41a4f">findDbgGlobalDeclare</a> (<a class="el" href="classllvm_1_1GlobalVariable.html">GlobalVariable</a> *V)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Find the debug info descriptor corresponding to this global variable.  <a href="#ad94d2a0dd68234dc2e26c379c5f41a4f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1Value.html">Value</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="DbgInfoPrinter_8cpp.html#aa14e25f780e7599490a75b5c1c8781a9">findDbgSubprogramDeclare</a> (<a class="el" href="classllvm_1_1Function.html">Function</a> *V)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">Find the debug info descriptor corresponding to this function.  <a href="#aa14e25f780e7599490a75b5c1c8781a9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classllvm_1_1DbgDeclareInst.html">DbgDeclareInst</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="DbgInfoPrinter_8cpp.html#a2ebde3b164d69de71bdc0ba7a67ebbd9">findDbgDeclare</a> (const <a class="el" href="classllvm_1_1Value.html">Value</a> *V)</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="DbgInfoPrinter_8cpp.html#ac3581745bd14a077a98cb4a981dfd5b9">getLocationInfo</a> (const <a class="el" href="classllvm_1_1Value.html">Value</a> *V, std::string &DisplayName, std::string &<a class="el" href="classllvm_1_1Type.html">Type</a>, <a class="el" href="classunsigned.html">unsigned</a> &LineNo, std::string &File, std::string &Dir)</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="DbgInfoPrinter_8cpp.html#a5fc125490b3e0c4dacc1682b8576dbe6">PrintDirectory</a> ("print-fullpath", cl::desc("Print fullpath when printing debug <a class="el" href="LazyValueInfo_8cpp.html#ad7f64bcc544dcefb2e068282af1c549d">info</a>"), cl::Hidden)</td></tr>
+</table>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a2ebde3b164d69de71bdc0ba7a67ebbd9"></a><!-- doxytag: member="DbgInfoPrinter.cpp::findDbgDeclare" ref="a2ebde3b164d69de71bdc0ba7a67ebbd9" args="(const Value *V)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static const <a class="el" href="classllvm_1_1DbgDeclareInst.html">DbgDeclareInst</a>* findDbgDeclare </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1Value.html">Value</a> * </td>
+          <td class="paramname"><em>V</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>Finds the llvm.dbg.declare intrinsic corresponding to this value if any. It looks through pointer casts too. </p>
+
+<p>Definition at line <a class="el" href="DbgInfoPrinter_8cpp_source.html#l00097">97</a> of file <a class="el" href="DbgInfoPrinter_8cpp_source.html">DbgInfoPrinter.cpp</a>.</p>
+
+<p>References <a class="el" href="ARMBaseInfo_8h_source.html#l00098">llvm::ARM_PROC::A</a>, <a class="el" href="Function_8h_source.html#l00350">llvm::Function::begin()</a>, <a class="el" href="Function_8h_source.html#l00352">llvm::Function::end()</a>, <a class="el" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F()</a>, <a class="el" href="ARMBaseInfo_8h_source.html#l00097">llvm::ARM_PROC::I</a>, and <a class="el" href="Value_8cpp_source.html#l00376">llvm::Value::stripPointerCasts()</a>.</p>
+
+<p>Referenced by <a class="el" href="DbgInfoPrinter_8cpp_source.html#l00119">getLocationInfo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ad94d2a0dd68234dc2e26c379c5f41a4f"></a><!-- doxytag: member="DbgInfoPrinter.cpp::findDbgGlobalDeclare" ref="ad94d2a0dd68234dc2e26c379c5f41a4f" args="(GlobalVariable *V)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1Value.html">Value</a>* findDbgGlobalDeclare </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1GlobalVariable.html">GlobalVariable</a> * </td>
+          <td class="paramname"><em>V</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Find the debug info descriptor corresponding to this global variable. </p>
+
+<p>Definition at line <a class="el" href="DbgInfoPrinter_8cpp_source.html#l00062">62</a> of file <a class="el" href="DbgInfoPrinter_8cpp_source.html">DbgInfoPrinter.cpp</a>.</p>
+
+<p>References <a class="el" href="DebugInfo_8h_source.html#l00611">llvm::DIGlobalVariable::getGlobal()</a>, <a class="el" href="Module_8cpp_source.html#l00303">llvm::Module::getNamedMetadata()</a>, <a class="el" href="Metadata_8cpp_source.html#l00573">llvm::NamedMDNode::getNumOperands()</a>, <a class="el" href="Metadata_8cpp_source.html#l00578">llvm::NamedMDNode::getOperand()</a>, <a class="el" href="GlobalValue_8h_source.html#l00286">llvm::GlobalValue::getParent()</a>, and <a class="el" href="DebugInfo_8cpp_source.html#l00221">llvm::DIDescriptor::isGlobalVariable()</a>.</p>
+
+<p>Referenced by <a class="el" href="DbgInfoPrinter_8cpp_source.html#l00119">getLocationInfo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="aa14e25f780e7599490a75b5c1c8781a9"></a><!-- doxytag: member="DbgInfoPrinter.cpp::findDbgSubprogramDeclare" ref="aa14e25f780e7599490a75b5c1c8781a9" args="(Function *V)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1Value.html">Value</a>* findDbgSubprogramDeclare </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1Function.html">Function</a> * </td>
+          <td class="paramname"><em>V</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Find the debug info descriptor corresponding to this function. </p>
+
+<p>Definition at line <a class="el" href="DbgInfoPrinter_8cpp_source.html#l00079">79</a> of file <a class="el" href="DbgInfoPrinter_8cpp_source.html">DbgInfoPrinter.cpp</a>.</p>
+
+<p>References <a class="el" href="DebugInfo_8h_source.html#l00565">llvm::DISubprogram::getFunction()</a>, <a class="el" href="Module_8cpp_source.html#l00303">llvm::Module::getNamedMetadata()</a>, <a class="el" href="Metadata_8cpp_source.html#l00573">llvm::NamedMDNode::getNumOperands()</a>, <a class="el" href="Metadata_8cpp_source.html#l00578">llvm::NamedMDNode::getOperand()</a>, <a class="el" href="GlobalValue_8h_source.html#l00286">llvm::GlobalValue::getParent()</a>, and <a class="el" href="DebugInfo_8cpp_source.html#l00215">llvm::DIDescriptor::isSubprogram()</a>.</p>
+
+<p>Referenced by <a class="el" href="DbgInfoPrinter_8cpp_source.html#l00119">getLocationInfo()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac3581745bd14a077a98cb4a981dfd5b9"></a><!-- doxytag: member="DbgInfoPrinter.cpp::getLocationInfo" ref="ac3581745bd14a077a98cb4a981dfd5b9" args="(const Value *V, std::string &DisplayName, std::string &Type, unsigned &LineNo, std::string &File, std::string &Dir)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> getLocationInfo </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1Value.html">Value</a> * </td>
+          <td class="paramname"><em>V</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::string & </td>
+          <td class="paramname"><em>DisplayName</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::string & </td>
+          <td class="paramname"><em>Type</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>LineNo</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::string & </td>
+          <td class="paramname"><em>File</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">std::string & </td>
+          <td class="paramname"><em>Dir</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="DbgInfoPrinter_8cpp_source.html#l00119">119</a> of file <a class="el" href="DbgInfoPrinter_8cpp_source.html">DbgInfoPrinter.cpp</a>.</p>
+
+<p>References <a class="el" href="StringRef_8h_source.html#l00111">llvm::StringRef::empty()</a>, <a class="el" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F()</a>, <a class="el" href="DbgInfoPrinter_8cpp_source.html#l00097">findDbgDeclare()</a>, <a class="el" href="DbgInfoPrinter_8cpp_source.html#l00062">findDbgGlobalDeclare()</a>, <a class="el" href="DbgInfoPrinter_8cpp_source.html#l00079">findDbgSubprogramDeclare()</a>, <a class="el" href="DebugInfo_8h_source.html#l00470">llvm::DISubprogram::getCompileUnit()</a>, <a class="el" href="DebugInfo_8h_source.html#l00586">llvm::DIGlobalVariable::getCompileUnit()</a>, <a class="el" href="DebugInfo_8h_source.html#l00629">llvm::DIVariable::getCompileUnit()</a>, <a class="el" href="DebugInfo_8h_source.html#l00181">llvm::DICompileUnit::getDirectory()</a>, <a class="el" href="DebugInfo_8h_source.html#l00468">llvm::DISubprogram::getDisplayName()</a>, <a class="el" href="DebugInfo_8h_source.html#l00584">llvm::DIGlobalVari
 able::getDisplayName()</a>, <a class="el" href="DebugInfo_8h_source.html#l00180">llvm::DICompileUnit::getFilename()</a>, <a class="el" href="DebugInfo_8h_source.html#l00477">llvm::DISubprogram::getLineNumber()</a>, <a class="el" href="DebugInfo_8h_source.html#l00606">llvm::DIGlobalVariable::getLineNumber()</a>, <a class="el" href="DebugInfo_8h_source.html#l00637">llvm::DIVariable::getLineNumber()</a>, <a class="el" href="DebugInfo_8h_source.html#l00254">llvm::DIType::getName()</a>, <a class="el" href="DebugInfo_8h_source.html#l00628">llvm::DIVariable::getName()</a>, <a class="el" href="DebugInfo_8h_source.html#l00478">llvm::DISubprogram::getType()</a>, <a class="el" href="DebugInfo_8h_source.html#l00607">llvm::DIGlobalVariable::getType()</a>, <a class="el" href="DebugInfo_8h_source.html#l00644">llvm::DIVariable::getType()</a>, and <a class="el" href="IntrinsicInst_8h_source.html#l00084">llvm::DbgDeclareInst::getVariable()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="a82258d83cab36fca25de1e2797b7825b"></a><!-- doxytag: member="DbgInfoPrinter.cpp::INITIALIZE_PASS" ref="a82258d83cab36fca25de1e2797b7825b" args="(PrintDbgInfo,"print-dbginfo","Print debug info in human readable form", false, false) FunctionPass *llvm" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">INITIALIZE_PASS </td>
+          <td>(</td>
+          <td class="paramtype">PrintDbgInfo </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"print-dbginfo" </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"Print debug <a class="el" href="LazyValueInfo_8cpp.html#ad7f64bcc544dcefb2e068282af1c549d">info</a> in human readable form" </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="DbgInfoPrinter_8cpp_source.html#l00056">56</a> of file <a class="el" href="DbgInfoPrinter_8cpp_source.html">DbgInfoPrinter.cpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a5fc125490b3e0c4dacc1682b8576dbe6"></a><!-- doxytag: member="DbgInfoPrinter.cpp::PrintDirectory" ref="a5fc125490b3e0c4dacc1682b8576dbe6" args="("print-fullpath", cl::desc("Print fullpath when printing debug info"), cl::Hidden)" -->
+<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="DbgInfoPrinter_8cpp.html#a5fc125490b3e0c4dacc1682b8576dbe6">PrintDirectory</a>("print-fullpath", cl::desc("Print fullpath when printing debug <a class="el" href="LazyValueInfo_8cpp.html#ad7f64bcc544dcefb2e068282af1c549d">info</a>"), cl::Hidden)<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:28 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/DbgInfoPrinter_8cpp__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DbgInfoPrinter_8cpp__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DeadArgumentElimination_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DeadArgumentElimination_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DeadArgumentElimination_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DeadArgumentElimination_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,1124 @@
+<!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: DeadArgumentElimination.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_22ea62e2015f6a823fddac4ac38ba517.html">Transforms</a>      </li>
+      <li class="navelem"><a class="el" href="dir_a5a75fb0df8cea8d1a0a6c9d8a132571.html">IPO</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DeadArgumentElimination.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="DeadArgumentElimination_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- DeadArgumentElimination.cpp - Eliminate dead arguments ------------===//</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 pass deletes dead arguments from internal functions.  Dead argument</span>
+<a name="l00011"></a>00011 <span class="comment">// elimination removes arguments which are directly dead, as well as arguments</span>
+<a name="l00012"></a>00012 <span class="comment">// only passed into function calls as dead arguments of other functions.  This</span>
+<a name="l00013"></a>00013 <span class="comment">// pass also deletes dead return values in a similar way.</span>
+<a name="l00014"></a>00014 <span class="comment">//</span>
+<a name="l00015"></a>00015 <span class="comment">// This pass is often useful as a cleanup pass to run after aggressive</span>
+<a name="l00016"></a>00016 <span class="comment">// interprocedural passes, which add possibly-dead arguments or return values.</span>
+<a name="l00017"></a>00017 <span class="comment">//</span>
+<a name="l00018"></a>00018 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00019"></a>00019 
+<a name="l00020"></a><a class="code" href="DeadArgumentElimination_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">00020</a> <span class="preprocessor">#define DEBUG_TYPE "deadargelim"</span>
+<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="Transforms_2IPO_8h.html">llvm/Transforms/IPO.h</a>"</span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="CallingConv_8h.html">llvm/CallingConv.h</a>"</span>
+<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="Constant_8h.html">llvm/Constant.h</a>"</span>
+<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="DebugInfo_8h.html">llvm/DebugInfo.h</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="DerivedTypes_8h.html">llvm/DerivedTypes.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="DIBuilder_8h.html">llvm/DIBuilder.h</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="Instructions_8h.html">llvm/Instructions.h</a>"</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="IntrinsicInst_8h.html">llvm/IntrinsicInst.h</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="LLVMContext_8h.html">llvm/LLVMContext.h</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="Module_8h.html">llvm/Module.h</a>"</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="Pass_8h.html">llvm/Pass.h</a>"</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="CallSite_8h.html">llvm/Support/CallSite.h</a>"</span>
+<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="Debug_8h.html">llvm/Support/Debug.h</a>"</span>
+<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="raw__ostream_8h.html">llvm/Support/raw_ostream.h</a>"</span>
+<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="DenseMap_8h.html">llvm/ADT/DenseMap.h</a>"</span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="SmallVector_8h.html">llvm/ADT/SmallVector.h</a>"</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="Statistic_8h.html">llvm/ADT/Statistic.h</a>"</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="StringExtras_8h.html">llvm/ADT/StringExtras.h</a>"</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include <map></span>
+<a name="l00040"></a>00040 <span class="preprocessor">#include <set></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>(NumArgumentsEliminated, <span class="stringliteral">"Number of unread args removed"</span>);
+<a name="l00044"></a>00044 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumRetValsEliminated  , <span class="stringliteral">"Number of unused return values removed"</span>);
+<a name="l00045"></a>00045 <a class="code" href="Statistic_8h.html#ad6117415b93e5675d5a6c8e1855b3b2f">STATISTIC</a>(NumArgumentsReplacedWithUndef, 
+<a name="l00046"></a>00046           <span class="stringliteral">"Number of unread args replaced with undef"</span>);
+<a name="l00047"></a>00047 <span class="keyword">namespace </span>{<span class="comment"></span>
+<a name="l00048"></a>00048 <span class="comment">  /// DAE - The dead argument elimination pass.</span>
+<a name="l00049"></a>00049 <span class="comment">  ///</span>
+<a name="l00050"></a>00050 <span class="comment"></span>  <span class="keyword">class </span>DAE : <span class="keyword">public</span> <a class="code" href="classllvm_1_1ModulePass.html">ModulePass</a> {
+<a name="l00051"></a>00051   <span class="keyword">public</span>:
+<a name="l00052"></a>00052 <span class="comment"></span>
+<a name="l00053"></a>00053 <span class="comment">    /// Struct that represents (part of) either a return value or a function</span>
+<a name="l00054"></a>00054 <span class="comment">    /// argument.  Used so that arguments and return values can be used</span>
+<a name="l00055"></a>00055 <span class="comment">    /// interchangeably.</span>
+<a name="l00056"></a>00056 <span class="comment"></span>    <span class="keyword">struct </span>RetOrArg {
+<a name="l00057"></a>00057       RetOrArg(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> *<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>, <span class="keywordtype">unsigned</span> Idx, <span class="keywordtype">bool</span> IsArg) : F(F), Idx(Idx),
+<a name="l00058"></a>00058                IsArg(IsArg) {}
+<a name="l00059"></a>00059       <span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> *<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>;
+<a name="l00060"></a>00060       <span class="keywordtype">unsigned</span> Idx;
+<a name="l00061"></a>00061       <span class="keywordtype">bool</span> IsArg;
+<a name="l00062"></a>00062 <span class="comment"></span>
+<a name="l00063"></a>00063 <span class="comment">      /// Make RetOrArg comparable, so we can put it into a map.</span>
+<a name="l00064"></a>00064 <span class="comment"></span>      <span class="keywordtype">bool</span> <a class="code" href="namespacellvm.html#a7c469a194119a14e5a018ebb9b847cf0" title="Poison comparison between two Optional objects. Clients needs to explicitly compare the underlying va...">operator<</a>(<span class="keyword">const</span> RetOrArg &O)<span class="keyword"> const </span>{
+<a name="l00065"></a>00065         <span class="keywordflow">if</span> (<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a> != O.F)
+<a name="l00066"></a>00066           <span class="keywordflow">return</span> <a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a> < O.F;
+<a name="l00067"></a>00067         <span class="keywordflow">else</span> <span class="keywordflow">if</span> (Idx != O.Idx)
+<a name="l00068"></a>00068           <span class="keywordflow">return</span> Idx < O.Idx;
+<a name="l00069"></a>00069         <span class="keywordflow">else</span>
+<a name="l00070"></a>00070           <span class="keywordflow">return</span> IsArg < O.IsArg;
+<a name="l00071"></a>00071       }
+<a name="l00072"></a>00072 <span class="comment"></span>
+<a name="l00073"></a>00073 <span class="comment">      /// Make RetOrArg comparable, so we can easily iterate the multimap.</span>
+<a name="l00074"></a>00074 <span class="comment"></span>      <span class="keywordtype">bool</span> <a class="code" href="namespacellvm.html#a162c90bc179a6359438d060722bee35f">operator==</a>(<span class="keyword">const</span> RetOrArg &O)<span class="keyword"> const </span>{
+<a name="l00075"></a>00075         <span class="keywordflow">return</span> <a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a> == O.F && Idx == O.Idx && IsArg == O.IsArg;
+<a name="l00076"></a>00076       }
+<a name="l00077"></a>00077 
+<a name="l00078"></a>00078       std::string getDescription()<span class="keyword"> const </span>{
+<a name="l00079"></a>00079         <span class="keywordflow">return</span> std::string((IsArg ? <span class="stringliteral">"Argument #"</span> : <span class="stringliteral">"Return value #"</span>))
+<a name="l00080"></a>00080                + <a class="code" href="namespacellvm.html#ae094b310153c30b08dcec1b40459d385">utostr</a>(Idx) + <span class="stringliteral">" of function "</span> + <a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>->getName().str();
+<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">    /// Liveness enum - During our initial pass over the program, we determine</span>
+<a name="l00085"></a>00085 <span class="comment">    /// that things are either alive or maybe alive. We don't mark anything</span>
+<a name="l00086"></a>00086 <span class="comment">    /// explicitly dead (even if we know they are), since anything not alive</span>
+<a name="l00087"></a>00087 <span class="comment">    /// with no registered uses (in Uses) will never be marked alive and will</span>
+<a name="l00088"></a>00088 <span class="comment">    /// thus become dead in the end.</span>
+<a name="l00089"></a>00089 <span class="comment"></span>    <span class="keyword">enum</span> Liveness { Live, MaybeLive };
+<a name="l00090"></a>00090 <span class="comment"></span>
+<a name="l00091"></a>00091 <span class="comment">    /// Convenience wrapper</span>
+<a name="l00092"></a>00092 <span class="comment"></span>    RetOrArg CreateRet(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> *<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>, <span class="keywordtype">unsigned</span> Idx) {
+<a name="l00093"></a>00093       <span class="keywordflow">return</span> RetOrArg(F, Idx, <span class="keyword">false</span>);
+<a name="l00094"></a>00094     }<span class="comment"></span>
+<a name="l00095"></a>00095 <span class="comment">    /// Convenience wrapper</span>
+<a name="l00096"></a>00096 <span class="comment"></span>    RetOrArg CreateArg(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> *<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>, <span class="keywordtype">unsigned</span> Idx) {
+<a name="l00097"></a>00097       <span class="keywordflow">return</span> RetOrArg(F, Idx, <span class="keyword">true</span>);
+<a name="l00098"></a>00098     }
+<a name="l00099"></a>00099 
+<a name="l00100"></a>00100     <span class="keyword">typedef</span> std::multimap<RetOrArg, RetOrArg> UseMap;<span class="comment"></span>
+<a name="l00101"></a>00101 <span class="comment">    /// This maps a return value or argument to any MaybeLive return values or</span>
+<a name="l00102"></a>00102 <span class="comment">    /// arguments it uses. This allows the MaybeLive values to be marked live</span>
+<a name="l00103"></a>00103 <span class="comment">    /// when any of its users is marked live.</span>
+<a name="l00104"></a>00104 <span class="comment">    /// For example (indices are left out for clarity):</span>
+<a name="l00105"></a>00105 <span class="comment">    ///  - Uses[ret F] = ret G</span>
+<a name="l00106"></a>00106 <span class="comment">    ///    This means that F calls G, and F returns the value returned by G.</span>
+<a name="l00107"></a>00107 <span class="comment">    ///  - Uses[arg F] = ret G</span>
+<a name="l00108"></a>00108 <span class="comment">    ///    This means that some function calls G and passes its result as an</span>
+<a name="l00109"></a>00109 <span class="comment">    ///    argument to F.</span>
+<a name="l00110"></a>00110 <span class="comment">    ///  - Uses[ret F] = arg F</span>
+<a name="l00111"></a>00111 <span class="comment">    ///    This means that F returns one of its own arguments.</span>
+<a name="l00112"></a>00112 <span class="comment">    ///  - Uses[arg F] = arg G</span>
+<a name="l00113"></a>00113 <span class="comment">    ///    This means that G calls F and passes one of its own (G's) arguments</span>
+<a name="l00114"></a>00114 <span class="comment">    ///    directly to F.</span>
+<a name="l00115"></a>00115 <span class="comment"></span>    UseMap Uses;
+<a name="l00116"></a>00116 
+<a name="l00117"></a>00117     <span class="keyword">typedef</span> std::set<RetOrArg> LiveSet;
+<a name="l00118"></a>00118     <span class="keyword">typedef</span> std::set<const Function*> LiveFuncSet;
+<a name="l00119"></a>00119 <span class="comment"></span>
+<a name="l00120"></a>00120 <span class="comment">    /// This set contains all values that have been determined to be live.</span>
+<a name="l00121"></a>00121 <span class="comment"></span>    LiveSet LiveValues;<span class="comment"></span>
+<a name="l00122"></a>00122 <span class="comment">    /// This set contains all values that are cannot be changed in any way.</span>
+<a name="l00123"></a>00123 <span class="comment"></span>    LiveFuncSet LiveFunctions;
+<a name="l00124"></a>00124 
+<a name="l00125"></a>00125     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<RetOrArg, 5></a> UseVector;
+<a name="l00126"></a>00126 
+<a name="l00127"></a>00127     <span class="comment">// Map each LLVM function to corresponding metadata with debug info. If</span>
+<a name="l00128"></a>00128     <span class="comment">// the function is replaced with another one, we should patch the pointer</span>
+<a name="l00129"></a>00129     <span class="comment">// to LLVM function in metadata.</span>
+<a name="l00130"></a>00130     <span class="comment">// As the code generation for module is finished (and DIBuilder is</span>
+<a name="l00131"></a>00131     <span class="comment">// finalized) we assume that subprogram descriptors won't be changed, and</span>
+<a name="l00132"></a>00132     <span class="comment">// they are stored in map for short duration anyway.</span>
+<a name="l00133"></a>00133     <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<Function*, DISubprogram></a> FunctionDIMap;
+<a name="l00134"></a>00134     FunctionDIMap FunctionDIs;
+<a name="l00135"></a>00135 
+<a name="l00136"></a>00136   <span class="keyword">protected</span>:
+<a name="l00137"></a>00137     <span class="comment">// DAH uses this to specify a different ID.</span>
+<a name="l00138"></a>00138     <span class="keyword">explicit</span> DAE(<span class="keywordtype">char</span> &<a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">ID</a>) : <a class="code" href="classllvm_1_1ModulePass.html">ModulePass</a>(ID) {}
+<a name="l00139"></a>00139 
+<a name="l00140"></a>00140   <span class="keyword">public</span>:
+<a name="l00141"></a>00141     <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>; <span class="comment">// Pass identification, replacement for typeid</span>
+<a name="l00142"></a>00142     DAE() : <a class="code" href="classllvm_1_1ModulePass.html">ModulePass</a>(<a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">ID</a>) {
+<a name="l00143"></a>00143       <a class="code" href="namespacellvm.html#acba49a9fdebd32e2613c2a3da9e7d5d2">initializeDAEPass</a>(*<a class="code" href="classllvm_1_1PassRegistry.html#a05a729900b76c89e808c6c3094921b2f">PassRegistry::getPassRegistry</a>());
+<a name="l00144"></a>00144     }
+<a name="l00145"></a>00145 
+<a name="l00146"></a>00146     <span class="keywordtype">bool</span> runOnModule(<a class="code" href="classllvm_1_1Module.html" title="The main container class for the LLVM Intermediate Representation.">Module</a> &M);
+<a name="l00147"></a>00147 
+<a name="l00148"></a>00148     <span class="keyword">virtual</span> <span class="keywordtype">bool</span> ShouldHackArguments()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">false</span>; }
+<a name="l00149"></a>00149 
+<a name="l00150"></a>00150   <span class="keyword">private</span>:
+<a name="l00151"></a>00151     Liveness MarkIfNotLive(RetOrArg <a class="code" href="classllvm_1_1Use.html">Use</a>, UseVector &MaybeLiveUses);
+<a name="l00152"></a>00152     Liveness SurveyUse(<a class="code" href="classllvm_1_1value__use__iterator.html">Value::const_use_iterator</a> U, UseVector &MaybeLiveUses,
+<a name="l00153"></a>00153                        <span class="keywordtype">unsigned</span> RetValNum = 0);
+<a name="l00154"></a>00154     Liveness SurveyUses(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *V, UseVector &MaybeLiveUses);
+<a name="l00155"></a>00155 
+<a name="l00156"></a>00156     <span class="keywordtype">void</span> CollectFunctionDIs(<a class="code" href="classllvm_1_1Module.html" title="The main container class for the LLVM Intermediate Representation.">Module</a> &M);
+<a name="l00157"></a>00157     <span class="keywordtype">void</span> SurveyFunction(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> &<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>);
+<a name="l00158"></a>00158     <span class="keywordtype">void</span> MarkValue(<span class="keyword">const</span> RetOrArg &RA, Liveness L,
+<a name="l00159"></a>00159                    <span class="keyword">const</span> UseVector &MaybeLiveUses);
+<a name="l00160"></a>00160     <span class="keywordtype">void</span> MarkLive(<span class="keyword">const</span> RetOrArg &RA);
+<a name="l00161"></a>00161     <span class="keywordtype">void</span> MarkLive(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> &<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>);
+<a name="l00162"></a>00162     <span class="keywordtype">void</span> PropagateLiveness(<span class="keyword">const</span> RetOrArg &RA);
+<a name="l00163"></a>00163     <span class="keywordtype">bool</span> RemoveDeadStuffFromFunction(<a class="code" href="classllvm_1_1Function.html">Function</a> *<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>);
+<a name="l00164"></a>00164     <span class="keywordtype">bool</span> DeleteDeadVarargs(<a class="code" href="classllvm_1_1Function.html">Function</a> &Fn);
+<a name="l00165"></a>00165     <span class="keywordtype">bool</span> RemoveDeadArgumentsFromCallers(<a class="code" href="classllvm_1_1Function.html">Function</a> &Fn);
+<a name="l00166"></a>00166   };
+<a name="l00167"></a>00167 }
+<a name="l00168"></a>00168 
+<a name="l00169"></a>00169 
+<a name="l00170"></a>00170 <span class="keywordtype">char</span> <a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">DAE::ID</a> = 0;
+<a name="l00171"></a>00171 <a class="code" href="PassSupport_8h.html#af807c9595d50b45c0008924c4679c85c">INITIALIZE_PASS</a>(DAE, <span class="stringliteral">"deadargelim"</span>, <span class="stringliteral">"Dead Argument Elimination"</span>, <span class="keyword">false</span>, <span class="keyword">false</span>)
+<a name="l00172"></a>00172 
+<a name="l00173"></a>00173 namespace {<span class="comment"></span>
+<a name="l00174"></a>00174 <span class="comment">  /// DAH - DeadArgumentHacking pass - Same as dead argument elimination, but</span>
+<a name="l00175"></a>00175 <span class="comment">  /// deletes arguments to functions which are external.  This is only for use</span>
+<a name="l00176"></a>00176 <span class="comment">  /// by bugpoint.</span>
+<a name="l00177"></a>00177 <span class="comment"></span>  <span class="keyword">struct </span>DAH : <span class="keyword">public</span> DAE {
+<a name="l00178"></a>00178     <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="l00179"></a>00179     DAH() : DAE(<a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">ID</a>) {}
+<a name="l00180"></a>00180 
+<a name="l00181"></a>00181     <span class="keyword">virtual</span> <span class="keywordtype">bool</span> ShouldHackArguments()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">true</span>; }
+<a name="l00182"></a>00182   };
+<a name="l00183"></a>00183 }
+<a name="l00184"></a>00184 
+<a name="l00185"></a>00185 <span class="keywordtype">char</span> <a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">DAH::ID</a> = 0;
+<a name="l00186"></a><a class="code" href="DeadArgumentElimination_8cpp.html#a6be32cfa10efb9f5de6e980582f8e088">00186</a> <a class="code" href="PassSupport_8h.html#af807c9595d50b45c0008924c4679c85c">INITIALIZE_PASS</a>(DAH, <span class="stringliteral">"deadarghaX0r"</span>, 
+<a name="l00187"></a>00187                 <span class="stringliteral">"Dead Argument Hacking (BUGPOINT USE ONLY; DO NOT USE)"</span>,
+<a name="l00188"></a>00188                 <span class="keyword">false</span>, <span class="keyword">false</span>)
+<a name="l00189"></a>00189 
+<a name="l00190"></a>00190 <span class="comment">/// createDeadArgEliminationPass - This pass removes arguments from functions</span>
+<a name="l00191"></a>00191 <span class="comment"></span><span class="comment">/// which are not used by the body of the function.</span>
+<a name="l00192"></a>00192 <span class="comment"></span><span class="comment">///</span>
+<a name="l00193"></a>00193 <span class="comment"></span><a class="code" href="classllvm_1_1ModulePass.html">ModulePass</a> *llvm::<a class="code" href="namespacellvm.html#aa2dd61067e690ea927b852fa7e0b4317">createDeadArgEliminationPass</a>() { <span class="keywordflow">return</span> <span class="keyword">new</span> DAE(); }
+<a name="l00194"></a><a class="code" href="namespacellvm.html#ae6cc56f0b4b54792d6733188c7c49e92">00194</a> <a class="code" href="classllvm_1_1ModulePass.html">ModulePass</a> *<a class="code" href="namespacellvm.html#ae6cc56f0b4b54792d6733188c7c49e92">llvm::createDeadArgHackingPass</a>() { <span class="keywordflow">return</span> <span class="keyword">new</span> DAH(); }
+<a name="l00195"></a>00195 <span class="comment"></span>
+<a name="l00196"></a>00196 <span class="comment">/// CollectFunctionDIs - Map each function in the module to its debug info</span>
+<a name="l00197"></a>00197 <span class="comment">/// descriptor.</span>
+<a name="l00198"></a>00198 <span class="comment"></span><span class="keywordtype">void</span> DAE::CollectFunctionDIs(<a class="code" href="classllvm_1_1Module.html" title="The main container class for the LLVM Intermediate Representation.">Module</a> &M) {
+<a name="l00199"></a>00199   FunctionDIs.clear();
+<a name="l00200"></a>00200 
+<a name="l00201"></a>00201   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1Module.html#a06dca74a66b3e9cae0cc8035aa42167f" title="The named metadata iterators.">Module::named_metadata_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = M.<a class="code" href="classllvm_1_1Module.html#a5d052342d8cb7a6952a4c123b5385f90">named_metadata_begin</a>(),
+<a name="l00202"></a>00202        E = M.<a class="code" href="classllvm_1_1Module.html#ab52eefaf4892829072b70e0e2e3d88bf">named_metadata_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="l00203"></a>00203     <a class="code" href="classllvm_1_1NamedMDNode.html">NamedMDNode</a> &NMD = *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>;
+<a name="l00204"></a>00204     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> MDIndex = 0, MDNum = NMD.<a class="code" href="classllvm_1_1NamedMDNode.html#a24a3512f374b3f29b573a223dfd13f2a" title="getNumOperands - Return the number of NamedMDNode operands.">getNumOperands</a>();
+<a name="l00205"></a>00205          MDIndex < MDNum; ++MDIndex) {
+<a name="l00206"></a>00206       <a class="code" href="classllvm_1_1MDNode.html" title="MDNode - a tuple of other values.">MDNode</a> *Node = NMD.<a class="code" href="classllvm_1_1NamedMDNode.html#acf77b1de56fc46b8a5118ff95fae1403" title="getOperand - Return specified operand.">getOperand</a>(MDIndex);
+<a name="l00207"></a>00207       <span class="keywordflow">if</span> (!<a class="code" href="classllvm_1_1DIDescriptor.html">DIDescriptor</a>(Node).isCompileUnit())
+<a name="l00208"></a>00208         <span class="keywordflow">continue</span>;
+<a name="l00209"></a>00209       <a class="code" href="classllvm_1_1DICompileUnit.html" title="DICompileUnit - A wrapper for a compile unit.">DICompileUnit</a> CU(Node);
+<a name="l00210"></a>00210       <span class="keyword">const</span> <a class="code" href="classllvm_1_1DIArray.html" title="DIArray - This descriptor holds an array of descriptors.">DIArray</a> &SPs = CU.getSubprograms();
+<a name="l00211"></a>00211       <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> SPIndex = 0, SPNum = SPs.<a class="code" href="classllvm_1_1DIArray.html#a1682be4e8828c033e2f2b4e2bd5ac95c">getNumElements</a>();
+<a name="l00212"></a>00212            SPIndex < SPNum; ++SPIndex) {
+<a name="l00213"></a>00213         <a class="code" href="classllvm_1_1DISubprogram.html" title="DISubprogram - This is a wrapper for a subprogram (e.g. a function).">DISubprogram</a> SP(SPs.<a class="code" href="classllvm_1_1DIArray.html#a22a66d1d4f5e1a339d3a6d8ee7fa2dab">getElement</a>(SPIndex));
+<a name="l00214"></a>00214         <span class="keywordflow">if</span> (!SP.Verify())
+<a name="l00215"></a>00215           <span class="keywordflow">continue</span>;
+<a name="l00216"></a>00216         <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Function.html">Function</a> *<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a> = SP.getFunction())
+<a name="l00217"></a>00217           FunctionDIs[<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>] = SP;
+<a name="l00218"></a>00218       }
+<a name="l00219"></a>00219     }
+<a name="l00220"></a>00220   }
+<a name="l00221"></a>00221 }
+<a name="l00222"></a>00222 <span class="comment"></span>
+<a name="l00223"></a>00223 <span class="comment">/// DeleteDeadVarargs - If this is an function that takes a ... list, and if</span>
+<a name="l00224"></a>00224 <span class="comment">/// llvm.vastart is never called, the varargs list is dead for the function.</span>
+<a name="l00225"></a>00225 <span class="comment"></span><span class="keywordtype">bool</span> DAE::DeleteDeadVarargs(<a class="code" href="classllvm_1_1Function.html">Function</a> &Fn) {
+<a name="l00226"></a>00226   assert(Fn.<a class="code" href="classllvm_1_1Function.html#adf66d58e85fb4e46e9c1ae55186a6930">getFunctionType</a>()-><a class="code" href="classllvm_1_1FunctionType.html#ab9b67f93a2231970abb3d95636660ffc">isVarArg</a>() && <span class="stringliteral">"Function isn't varargs!"</span>);
+<a name="l00227"></a>00227   <span class="keywordflow">if</span> (Fn.<a class="code" href="classllvm_1_1GlobalValue.html#a4640d98233102674ddb6d6efaf2b7f97">isDeclaration</a>() || !Fn.<a class="code" href="classllvm_1_1GlobalValue.html#abefc2d8baa67d6f9e49c95912cfde480">hasLocalLinkage</a>()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00228"></a>00228 
+<a name="l00229"></a>00229   <span class="comment">// Ensure that the function is only directly called.</span>
+<a name="l00230"></a>00230   <span class="keywordflow">if</span> (Fn.<a class="code" href="classllvm_1_1Function.html#aafc2232f97cd2d2fae9b4f5bda77a363">hasAddressTaken</a>())
+<a name="l00231"></a>00231     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00232"></a>00232 
+<a name="l00233"></a>00233   <span class="comment">// Okay, we know we can transform this function if safe.  Scan its body</span>
+<a name="l00234"></a>00234   <span class="comment">// looking for calls to llvm.vastart.</span>
+<a name="l00235"></a>00235   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Function::iterator</a> BB = Fn.<a class="code" href="classllvm_1_1Function.html#a88a5e60837674780a9d812d661897ac5">begin</a>(), E = Fn.<a class="code" href="classllvm_1_1Function.html#ae4ca2261b8b901e415fda7feac5051ea">end</a>(); BB != E; ++BB) {
+<a name="l00236"></a>00236     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = BB->begin(), E = BB->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="l00237"></a>00237       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1IntrinsicInst.html">IntrinsicInst</a> *II = dyn_cast<IntrinsicInst>(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)) {
+<a name="l00238"></a>00238         <span class="keywordflow">if</span> (II->getIntrinsicID() == Intrinsic::vastart)
+<a name="l00239"></a>00239           <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00240"></a>00240       }
+<a name="l00241"></a>00241     }
+<a name="l00242"></a>00242   }
+<a name="l00243"></a>00243 
+<a name="l00244"></a>00244   <span class="comment">// If we get here, there are no calls to llvm.vastart in the function body,</span>
+<a name="l00245"></a>00245   <span class="comment">// remove the "..." and adjust all the calls.</span>
+<a name="l00246"></a>00246 
+<a name="l00247"></a>00247   <span class="comment">// Start by computing a new prototype for the function, which is the same as</span>
+<a name="l00248"></a>00248   <span class="comment">// the old function, but doesn't have isVarArg set.</span>
+<a name="l00249"></a>00249   <a class="code" href="classllvm_1_1FunctionType.html">FunctionType</a> *FTy = Fn.<a class="code" href="classllvm_1_1Function.html#adf66d58e85fb4e46e9c1ae55186a6930">getFunctionType</a>();
+<a name="l00250"></a>00250 
+<a name="l00251"></a>00251   std::vector<Type*> Params(FTy-><a class="code" href="classllvm_1_1FunctionType.html#ae80a20e450d3c835ba9d2422b7ff5d24">param_begin</a>(), FTy-><a class="code" href="classllvm_1_1FunctionType.html#afd679fbb50dac6b114f8df0e0f2876f3">param_end</a>());
+<a name="l00252"></a>00252   <a class="code" href="classllvm_1_1FunctionType.html">FunctionType</a> *NFTy = <a class="code" href="classllvm_1_1FunctionType.html#a7e89b55242c964ae61b7850e99cacef0">FunctionType::get</a>(FTy-><a class="code" href="classllvm_1_1FunctionType.html#a9eda832d6e80bc19b98f22f4ec714e3f">getReturnType</a>(),
+<a name="l00253"></a>00253                                                 Params, <span class="keyword">false</span>);
+<a name="l00254"></a>00254   <span class="keywordtype">unsigned</span> NumArgs = Params.size();
+<a name="l00255"></a>00255 
+<a name="l00256"></a>00256   <span class="comment">// Create the new function body and insert it into the module...</span>
+<a name="l00257"></a>00257   <a class="code" href="classllvm_1_1Function.html">Function</a> *NF = <a class="code" href="classllvm_1_1Function.html#a162a63c89ac118c8ffef75b3a892efa0">Function::Create</a>(NFTy, Fn.<a class="code" href="classllvm_1_1GlobalValue.html#a38ea691c2eeaf3facd74d5cfb0c725b0">getLinkage</a>());
+<a name="l00258"></a>00258   NF-><a class="code" href="classllvm_1_1Function.html#a05e6f4dd6bc551b79995792404af490b">copyAttributesFrom</a>(&Fn);
+<a name="l00259"></a>00259   Fn.<a class="code" href="classllvm_1_1GlobalValue.html#a9e1fc23a17e97d2d1732e753ae9251ac">getParent</a>()-><a class="code" href="classllvm_1_1Module.html#a020ed4dc4297b07bdad741f18cf369ae" title="Get the Module's list of functions (constant).">getFunctionList</a>().insert(&Fn, NF);
+<a name="l00260"></a>00260   NF-><a class="code" href="classllvm_1_1Value.html#ae855357b6c5e6e7ed1869272708a3a84">takeName</a>(&Fn);
+<a name="l00261"></a>00261 
+<a name="l00262"></a>00262   <span class="comment">// Loop over all of the callers of the function, transforming the call sites</span>
+<a name="l00263"></a>00263   <span class="comment">// to pass in a smaller number of arguments into the new function.</span>
+<a name="l00264"></a>00264   <span class="comment">//</span>
+<a name="l00265"></a>00265   std::vector<Value*> Args;
+<a name="l00266"></a>00266   <span class="keywordflow">while</span> (!Fn.<a class="code" href="classllvm_1_1Value.html#ac38c53f76ef532f91f1666c8a87370e9">use_empty</a>()) {
+<a name="l00267"></a>00267     <a class="code" href="classllvm_1_1CallSite.html">CallSite</a> CS(Fn.<a class="code" href="classllvm_1_1Value.html#ad9a329f9f85bc896a726a628aa3f4e9d">use_back</a>());
+<a name="l00268"></a>00268     <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *<a class="code" href="namespacellvm.html#af6d6a791770bad2303c4399986979e3eae411369b2f0d8f484fec62c3291b1b51">Call</a> = CS.getInstruction();
+<a name="l00269"></a>00269 
+<a name="l00270"></a>00270     <span class="comment">// Pass all the same arguments.</span>
+<a name="l00271"></a>00271     Args.assign(CS.arg_begin(), CS.arg_begin() + NumArgs);
+<a name="l00272"></a>00272 
+<a name="l00273"></a>00273     <span class="comment">// Drop any attributes that were on the vararg arguments.</span>
+<a name="l00274"></a>00274     <a class="code" href="classllvm_1_1AttrListPtr.html">AttrListPtr</a> PAL = CS.getAttributes();
+<a name="l00275"></a>00275     <span class="keywordflow">if</span> (!PAL.<a class="code" href="classllvm_1_1AttrListPtr.html#a79030297696dc92b62cac5e9ae1e5cd0">isEmpty</a>() && PAL.<a class="code" href="classllvm_1_1AttrListPtr.html#ab36f713752744b77e9f08c30e77047bf">getSlot</a>(PAL.<a class="code" href="classllvm_1_1AttrListPtr.html#ad34ac4250e6efe404c9b466d1d0f1a35">getNumSlots</a>() - 1).Index > NumArgs) {
+<a name="l00276"></a>00276       <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<AttributeWithIndex, 8></a> AttributesVec;
+<a name="l00277"></a>00277       <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; PAL.<a class="code" href="classllvm_1_1AttrListPtr.html#ab36f713752744b77e9f08c30e77047bf">getSlot</a>(i).<a class="code" href="structllvm_1_1AttributeWithIndex.html#ac521257770d78baff265563e545f14d3">Index</a> <= NumArgs; ++i)
+<a name="l00278"></a>00278         AttributesVec.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(PAL.<a class="code" href="classllvm_1_1AttrListPtr.html#ab36f713752744b77e9f08c30e77047bf">getSlot</a>(i));
+<a name="l00279"></a>00279       <a class="code" href="classllvm_1_1Attributes.html" title="Attributes - A bitset of attributes.">Attributes</a> FnAttrs = PAL.<a class="code" href="classllvm_1_1AttrListPtr.html#a60fc14387402931888f363ed42ef909a" title="getFnAttributes - The function attributes are returned.">getFnAttributes</a>();
+<a name="l00280"></a>00280       <span class="keywordflow">if</span> (FnAttrs.<a class="code" href="classllvm_1_1Attributes.html#ac0393170c2b76cd5e9035225d5acf2f3" title="Return true if attributes exist.">hasAttributes</a>())
+<a name="l00281"></a>00281         AttributesVec.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="structllvm_1_1AttributeWithIndex.html#ab2c694b0c09cd5c1b50c88b6bc84053e">AttributeWithIndex::get</a>(<a class="code" href="classllvm_1_1AttrListPtr.html#ae891c2fafc52690f5192fd14b7d92866aa0ca5b17b28c0c286bc17f82606d5129">AttrListPtr::FunctionIndex</a>,
+<a name="l00282"></a>00282                                                         FnAttrs));
+<a name="l00283"></a>00283       PAL = <a class="code" href="classllvm_1_1AttrListPtr.html#a441f1b8947965a28166f853d9bdcc0c4" title="get - Return a Attributes list with the specified parameters in it.">AttrListPtr::get</a>(Fn.<a class="code" href="classllvm_1_1Function.html#a2da53ac53516a3f16191f4c8a8eaa3e5">getContext</a>(), AttributesVec);
+<a name="l00284"></a>00284     }
+<a name="l00285"></a>00285 
+<a name="l00286"></a>00286     <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *New;
+<a name="l00287"></a>00287     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1InvokeInst.html">InvokeInst</a> *II = dyn_cast<InvokeInst>(Call)) {
+<a name="l00288"></a>00288       New = <a class="code" href="classllvm_1_1InvokeInst.html#a03007b982a936464f7116e3c47df89ee">InvokeInst::Create</a>(NF, II->getNormalDest(), II->getUnwindDest(),
+<a name="l00289"></a>00289                                Args, <span class="stringliteral">""</span>, <a class="code" href="namespacellvm.html#af6d6a791770bad2303c4399986979e3eae411369b2f0d8f484fec62c3291b1b51">Call</a>);
+<a name="l00290"></a>00290       cast<InvokeInst>(New)->setCallingConv(CS.getCallingConv());
+<a name="l00291"></a>00291       cast<InvokeInst>(New)->setAttributes(PAL);
+<a name="l00292"></a>00292     } <span class="keywordflow">else</span> {
+<a name="l00293"></a>00293       New = <a class="code" href="classllvm_1_1CallInst.html#a861226dd056dd2438da26760b8e7a9a0">CallInst::Create</a>(NF, Args, <span class="stringliteral">""</span>, Call);
+<a name="l00294"></a>00294       cast<CallInst>(New)->setCallingConv(CS.getCallingConv());
+<a name="l00295"></a>00295       cast<CallInst>(New)->setAttributes(PAL);
+<a name="l00296"></a>00296       <span class="keywordflow">if</span> (cast<CallInst>(Call)->isTailCall())
+<a name="l00297"></a>00297         cast<CallInst>(New)->setTailCall();
+<a name="l00298"></a>00298     }
+<a name="l00299"></a>00299     New-><a class="code" href="classllvm_1_1Instruction.html#a7bd545769621a0a9d2cfb074f86f4295" title="setDebugLoc - Set the debug location information for this instruction.">setDebugLoc</a>(Call->getDebugLoc());
+<a name="l00300"></a>00300 
+<a name="l00301"></a>00301     Args.clear();
+<a name="l00302"></a>00302 
+<a name="l00303"></a>00303     <span class="keywordflow">if</span> (!Call->use_empty())
+<a name="l00304"></a>00304       Call->replaceAllUsesWith(New);
+<a name="l00305"></a>00305 
+<a name="l00306"></a>00306     New-><a class="code" href="classllvm_1_1Value.html#ae855357b6c5e6e7ed1869272708a3a84">takeName</a>(Call);
+<a name="l00307"></a>00307 
+<a name="l00308"></a>00308     <span class="comment">// Finally, remove the old call from the program, reducing the use-count of</span>
+<a name="l00309"></a>00309     <span class="comment">// F.</span>
+<a name="l00310"></a>00310     Call->eraseFromParent();
+<a name="l00311"></a>00311   }
+<a name="l00312"></a>00312 
+<a name="l00313"></a>00313   <span class="comment">// Since we have now created the new function, splice the body of the old</span>
+<a name="l00314"></a>00314   <span class="comment">// function right into the new function, leaving the old rotting hulk of the</span>
+<a name="l00315"></a>00315   <span class="comment">// function empty.</span>
+<a name="l00316"></a>00316   NF-><a class="code" href="classllvm_1_1Function.html#a4d34a40b2667246539b80589adf2028e">getBasicBlockList</a>().splice(NF-><a class="code" href="classllvm_1_1Function.html#a88a5e60837674780a9d812d661897ac5">begin</a>(), Fn.<a class="code" href="classllvm_1_1Function.html#a4d34a40b2667246539b80589adf2028e">getBasicBlockList</a>());
+<a name="l00317"></a>00317 
+<a name="l00318"></a>00318   <span class="comment">// Loop over the argument list, transferring uses of the old arguments over to</span>
+<a name="l00319"></a>00319   <span class="comment">// the new arguments, also transferring over the names as well.  While we're at</span>
+<a name="l00320"></a>00320   <span class="comment">// it, remove the dead arguments from the DeadArguments list.</span>
+<a name="l00321"></a>00321   <span class="comment">//</span>
+<a name="l00322"></a>00322   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Function::arg_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Fn.<a class="code" href="classllvm_1_1Function.html#a8bf193a781a92cae52d7f9216d0824f8">arg_begin</a>(), E = Fn.<a class="code" href="classllvm_1_1Function.html#a8300ac1ef141b8a7c63c13fa9369d976">arg_end</a>(),
+<a name="l00323"></a>00323        I2 = NF-><a class="code" href="classllvm_1_1Function.html#a8bf193a781a92cae52d7f9216d0824f8">arg_begin</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>, ++I2) {
+<a name="l00324"></a>00324     <span class="comment">// Move the name and users over to the new version.</span>
+<a name="l00325"></a>00325     <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->replaceAllUsesWith(I2);
+<a name="l00326"></a>00326     I2->takeName(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>);
+<a name="l00327"></a>00327   }
+<a name="l00328"></a>00328 
+<a name="l00329"></a>00329   <span class="comment">// Patch the pointer to LLVM function in debug info descriptor.</span>
+<a name="l00330"></a>00330   FunctionDIMap::iterator DI = FunctionDIs.find(&Fn);
+<a name="l00331"></a>00331   <span class="keywordflow">if</span> (DI != FunctionDIs.end())
+<a name="l00332"></a>00332     DI->second.replaceFunction(NF);
+<a name="l00333"></a>00333 
+<a name="l00334"></a>00334   <span class="comment">// Finally, nuke the old function.</span>
+<a name="l00335"></a>00335   Fn.<a class="code" href="classllvm_1_1Function.html#a8969dec86d24dd579f8ecc963e1dc8b4">eraseFromParent</a>();
+<a name="l00336"></a>00336   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00337"></a>00337 }
+<a name="l00338"></a>00338 <span class="comment"></span>
+<a name="l00339"></a>00339 <span class="comment">/// RemoveDeadArgumentsFromCallers - Checks if the given function has any </span>
+<a name="l00340"></a>00340 <span class="comment">/// arguments that are unused, and changes the caller parameters to be undefined</span>
+<a name="l00341"></a>00341 <span class="comment">/// instead.</span>
+<a name="l00342"></a>00342 <span class="comment"></span><span class="keywordtype">bool</span> DAE::RemoveDeadArgumentsFromCallers(<a class="code" href="classllvm_1_1Function.html">Function</a> &Fn)
+<a name="l00343"></a>00343 {
+<a name="l00344"></a>00344   <span class="keywordflow">if</span> (Fn.<a class="code" href="classllvm_1_1GlobalValue.html#a4640d98233102674ddb6d6efaf2b7f97">isDeclaration</a>() || Fn.<a class="code" href="classllvm_1_1GlobalValue.html#a211c14a84be4519439d616f9027d86c9">mayBeOverridden</a>())
+<a name="l00345"></a>00345     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00346"></a>00346 
+<a name="l00347"></a>00347   <span class="comment">// Functions with local linkage should already have been handled.</span>
+<a name="l00348"></a>00348   <span class="keywordflow">if</span> (Fn.<a class="code" href="classllvm_1_1GlobalValue.html#abefc2d8baa67d6f9e49c95912cfde480">hasLocalLinkage</a>())
+<a name="l00349"></a>00349     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00350"></a>00350 
+<a name="l00351"></a>00351   <span class="keywordflow">if</span> (Fn.<a class="code" href="classllvm_1_1Value.html#ac38c53f76ef532f91f1666c8a87370e9">use_empty</a>())
+<a name="l00352"></a>00352     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00353"></a>00353 
+<a name="l00354"></a>00354   <a class="code" href="classllvm_1_1SmallVector.html">llvm::SmallVector<unsigned, 8></a> UnusedArgs;
+<a name="l00355"></a>00355   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Function::arg_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Fn.<a class="code" href="classllvm_1_1Function.html#a8bf193a781a92cae52d7f9216d0824f8">arg_begin</a>(), E = Fn.<a class="code" href="classllvm_1_1Function.html#a8300ac1ef141b8a7c63c13fa9369d976">arg_end</a>(); 
+<a name="l00356"></a>00356        <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="l00357"></a>00357     <a class="code" href="classllvm_1_1Argument.html" title="LLVM Argument representation.">Argument</a> *Arg = <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>;
+<a name="l00358"></a>00358 
+<a name="l00359"></a>00359     <span class="keywordflow">if</span> (Arg-><a class="code" href="classllvm_1_1Value.html#ac38c53f76ef532f91f1666c8a87370e9">use_empty</a>() && !Arg-><a class="code" href="classllvm_1_1Argument.html#aee2867e0d1b4332055f536ac3d521d40">hasByValAttr</a>())
+<a name="l00360"></a>00360       UnusedArgs.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(Arg-><a class="code" href="classllvm_1_1Argument.html#ac70153649461940646eeb8b9ce50e416">getArgNo</a>());
+<a name="l00361"></a>00361   }
+<a name="l00362"></a>00362 
+<a name="l00363"></a>00363   <span class="keywordflow">if</span> (UnusedArgs.<a class="code" href="classllvm_1_1SmallVectorBase.html#afdecfccba9b1fd8c9fd8eb27ae69e9a0">empty</a>())
+<a name="l00364"></a>00364     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00365"></a>00365 
+<a name="l00366"></a>00366   <span class="keywordtype">bool</span> Changed = <span class="keyword">false</span>;
+<a name="l00367"></a>00367 
+<a name="l00368"></a>00368   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1Value.html#ac33c7ecbf1c0f1e8bf93403522e6976b">Function::use_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = Fn.<a class="code" href="classllvm_1_1Value.html#a413abcab8dbc3900fc2fde96a5d8fca6">use_begin</a>(), E = Fn.<a class="code" href="classllvm_1_1Value.html#ad86469939d2a8bdd4169be9403b89f5a">use_end</a>(); 
+<a name="l00369"></a>00369        <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="l00370"></a>00370     <a class="code" href="classllvm_1_1CallSite.html">CallSite</a> CS(*<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>);
+<a name="l00371"></a>00371     <span class="keywordflow">if</span> (!CS || !CS.isCallee(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>))
+<a name="l00372"></a>00372       <span class="keywordflow">continue</span>;
+<a name="l00373"></a>00373 
+<a name="l00374"></a>00374     <span class="comment">// Now go through all unused args and replace them with "undef".</span>
+<a name="l00375"></a>00375     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = 0, E = UnusedArgs.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a22a311dfe4c28a897de8a9365a4f0a84">size</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="l00376"></a>00376       <span class="keywordtype">unsigned</span> ArgNo = UnusedArgs[<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>];
+<a name="l00377"></a>00377 
+<a name="l00378"></a>00378       <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *Arg = CS.getArgument(ArgNo);
+<a name="l00379"></a>00379       CS.setArgument(ArgNo, <a class="code" href="classllvm_1_1UndefValue.html#a4ae5ff22b700a42bcc5d889233721335">UndefValue::get</a>(Arg-><a class="code" href="classllvm_1_1Value.html#a0cf3748dba54f931bb1241ae4adc76bc">getType</a>()));
+<a name="l00380"></a>00380       ++NumArgumentsReplacedWithUndef;
+<a name="l00381"></a>00381       Changed = <span class="keyword">true</span>;
+<a name="l00382"></a>00382     }
+<a name="l00383"></a>00383   }
+<a name="l00384"></a>00384 
+<a name="l00385"></a>00385   <span class="keywordflow">return</span> Changed;
+<a name="l00386"></a>00386 }
+<a name="l00387"></a>00387 <span class="comment"></span>
+<a name="l00388"></a>00388 <span class="comment">/// Convenience function that returns the number of return values. It returns 0</span>
+<a name="l00389"></a>00389 <span class="comment">/// for void functions and 1 for functions not returning a struct. It returns</span>
+<a name="l00390"></a>00390 <span class="comment">/// the number of struct elements for functions returning a struct.</span>
+<a name="l00391"></a><a class="code" href="DeadArgumentElimination_8cpp.html#af58bcf4638a758d6a487fb9211e4cfca">00391</a> <span class="comment"></span><span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="DeadArgumentElimination_8cpp.html#af58bcf4638a758d6a487fb9211e4cfca">NumRetVals</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> *<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>) {
+<a name="l00392"></a>00392   <span class="keywordflow">if</span> (F-><a class="code" href="classllvm_1_1Function.html#a26ccf11b81c01a45cb40137c775f7cad">getReturnType</a>()-><a class="code" href="classllvm_1_1Type.html#af5c7041df3ad5edffe5da17b5264c1fc" title="isVoidTy - Return true if this is 'void'.">isVoidTy</a>())
+<a name="l00393"></a>00393     <span class="keywordflow">return</span> 0;
+<a name="l00394"></a>00394   <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1StructType.html">StructType</a> *STy = dyn_cast<StructType>(F-><a class="code" href="classllvm_1_1Function.html#a26ccf11b81c01a45cb40137c775f7cad">getReturnType</a>()))
+<a name="l00395"></a>00395     <span class="keywordflow">return</span> STy->getNumElements();
+<a name="l00396"></a>00396   <span class="keywordflow">else</span>
+<a name="l00397"></a>00397     <span class="keywordflow">return</span> 1;
+<a name="l00398"></a>00398 }
+<a name="l00399"></a>00399 <span class="comment"></span>
+<a name="l00400"></a>00400 <span class="comment">/// MarkIfNotLive - This checks Use for liveness in LiveValues. If Use is not</span>
+<a name="l00401"></a>00401 <span class="comment">/// live, it adds Use to the MaybeLiveUses argument. Returns the determined</span>
+<a name="l00402"></a>00402 <span class="comment">/// liveness of Use.</span>
+<a name="l00403"></a>00403 <span class="comment"></span>DAE::Liveness DAE::MarkIfNotLive(RetOrArg <a class="code" href="classllvm_1_1Use.html">Use</a>, UseVector &MaybeLiveUses) {
+<a name="l00404"></a>00404   <span class="comment">// We're live if our use or its Function is already marked as live.</span>
+<a name="l00405"></a>00405   <span class="keywordflow">if</span> (LiveFunctions.count(Use.F) || LiveValues.count(Use))
+<a name="l00406"></a>00406     <span class="keywordflow">return</span> Live;
+<a name="l00407"></a>00407 
+<a name="l00408"></a>00408   <span class="comment">// We're maybe live otherwise, but remember that we must become live if</span>
+<a name="l00409"></a>00409   <span class="comment">// Use becomes live.</span>
+<a name="l00410"></a>00410   MaybeLiveUses.push_back(Use);
+<a name="l00411"></a>00411   <span class="keywordflow">return</span> MaybeLive;
+<a name="l00412"></a>00412 }
+<a name="l00413"></a>00413 
+<a name="l00414"></a>00414 <span class="comment"></span>
+<a name="l00415"></a>00415 <span class="comment">/// SurveyUse - This looks at a single use of an argument or return value</span>
+<a name="l00416"></a>00416 <span class="comment">/// and determines if it should be alive or not. Adds this use to MaybeLiveUses</span>
+<a name="l00417"></a>00417 <span class="comment">/// if it causes the used value to become MaybeLive.</span>
+<a name="l00418"></a>00418 <span class="comment">///</span>
+<a name="l00419"></a>00419 <span class="comment">/// RetValNum is the return value number to use when this use is used in a</span>
+<a name="l00420"></a>00420 <span class="comment">/// return instruction. This is used in the recursion, you should always leave</span>
+<a name="l00421"></a>00421 <span class="comment">/// it at 0.</span>
+<a name="l00422"></a>00422 <span class="comment"></span>DAE::Liveness DAE::SurveyUse(<a class="code" href="classllvm_1_1value__use__iterator.html">Value::const_use_iterator</a> U,
+<a name="l00423"></a>00423                              UseVector &MaybeLiveUses, <span class="keywordtype">unsigned</span> RetValNum) {
+<a name="l00424"></a>00424     <span class="keyword">const</span> <a class="code" href="classllvm_1_1User.html">User</a> *V = *U;
+<a name="l00425"></a>00425     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1ReturnInst.html">ReturnInst</a> *RI = dyn_cast<ReturnInst>(V)) {
+<a name="l00426"></a>00426       <span class="comment">// The value is returned from a function. It's only live when the</span>
+<a name="l00427"></a>00427       <span class="comment">// function's return value is live. We use RetValNum here, for the case</span>
+<a name="l00428"></a>00428       <span class="comment">// that U is really a use of an insertvalue instruction that uses the</span>
+<a name="l00429"></a>00429       <span class="comment">// original Use.</span>
+<a name="l00430"></a>00430       RetOrArg Use = CreateRet(RI->getParent()->getParent(), RetValNum);
+<a name="l00431"></a>00431       <span class="comment">// We might be live, depending on the liveness of Use.</span>
+<a name="l00432"></a>00432       <span class="keywordflow">return</span> MarkIfNotLive(Use, MaybeLiveUses);
+<a name="l00433"></a>00433     }
+<a name="l00434"></a>00434     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1InsertValueInst.html">InsertValueInst</a> *IV = dyn_cast<InsertValueInst>(V)) {
+<a name="l00435"></a>00435       <span class="keywordflow">if</span> (U.<a class="code" href="classllvm_1_1value__use__iterator.html#a63957f9b09cf3a322d42be336980ec35">getOperandNo</a>() != <a class="code" href="classllvm_1_1InsertValueInst.html#a3bf1a0496b2ea77618b25d8286e10a27">InsertValueInst::getAggregateOperandIndex</a>()
+<a name="l00436"></a>00436           && IV->hasIndices())
+<a name="l00437"></a>00437         <span class="comment">// The use we are examining is inserted into an aggregate. Our liveness</span>
+<a name="l00438"></a>00438         <span class="comment">// depends on all uses of that aggregate, but if it is used as a return</span>
+<a name="l00439"></a>00439         <span class="comment">// value, only index at which we were inserted counts.</span>
+<a name="l00440"></a>00440         RetValNum = *IV->idx_begin();
+<a name="l00441"></a>00441 
+<a name="l00442"></a>00442       <span class="comment">// Note that if we are used as the aggregate operand to the insertvalue,</span>
+<a name="l00443"></a>00443       <span class="comment">// we don't change RetValNum, but do survey all our uses.</span>
+<a name="l00444"></a>00444 
+<a name="l00445"></a>00445       Liveness Result = MaybeLive;
+<a name="l00446"></a>00446       <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1value__use__iterator.html">Value::const_use_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = IV->use_begin(),
+<a name="l00447"></a>00447            E = V-><a class="code" href="classllvm_1_1Value.html#ad86469939d2a8bdd4169be9403b89f5a">use_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="l00448"></a>00448         Result = SurveyUse(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, MaybeLiveUses, RetValNum);
+<a name="l00449"></a>00449         <span class="keywordflow">if</span> (Result == Live)
+<a name="l00450"></a>00450           <span class="keywordflow">break</span>;
+<a name="l00451"></a>00451       }
+<a name="l00452"></a>00452       <span class="keywordflow">return</span> Result;
+<a name="l00453"></a>00453     }
+<a name="l00454"></a>00454 
+<a name="l00455"></a>00455     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1ImmutableCallSite.html" title="ImmutableCallSite - establish a view to a call site for examination.">ImmutableCallSite</a> CS = V) {
+<a name="l00456"></a>00456       <span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> *<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a> = CS.getCalledFunction();
+<a name="l00457"></a>00457       <span class="keywordflow">if</span> (F) {
+<a name="l00458"></a>00458         <span class="comment">// Used in a direct call.</span>
+<a name="l00459"></a>00459 
+<a name="l00460"></a>00460         <span class="comment">// Find the argument number. We know for sure that this use is an</span>
+<a name="l00461"></a>00461         <span class="comment">// argument, since if it was the function argument this would be an</span>
+<a name="l00462"></a>00462         <span class="comment">// indirect call and the we know can't be looking at a value of the</span>
+<a name="l00463"></a>00463         <span class="comment">// label type (for the invoke instruction).</span>
+<a name="l00464"></a>00464         <span class="keywordtype">unsigned</span> ArgNo = CS.getArgumentNo(U);
+<a name="l00465"></a>00465 
+<a name="l00466"></a>00466         <span class="keywordflow">if</span> (ArgNo >= F-><a class="code" href="classllvm_1_1Function.html#adf66d58e85fb4e46e9c1ae55186a6930">getFunctionType</a>()-><a class="code" href="classllvm_1_1FunctionType.html#a97cf043af111c14bb4d03a99cf42af03">getNumParams</a>())
+<a name="l00467"></a>00467           <span class="comment">// The value is passed in through a vararg! Must be live.</span>
+<a name="l00468"></a>00468           <span class="keywordflow">return</span> Live;
+<a name="l00469"></a>00469 
+<a name="l00470"></a>00470         assert(CS.getArgument(ArgNo)
+<a name="l00471"></a>00471                == CS->getOperand(U.<a class="code" href="classllvm_1_1value__use__iterator.html#a63957f9b09cf3a322d42be336980ec35">getOperandNo</a>())
+<a name="l00472"></a>00472                && <span class="stringliteral">"Argument is not where we expected it"</span>);
+<a name="l00473"></a>00473 
+<a name="l00474"></a>00474         <span class="comment">// Value passed to a normal call. It's only live when the corresponding</span>
+<a name="l00475"></a>00475         <span class="comment">// argument to the called function turns out live.</span>
+<a name="l00476"></a>00476         RetOrArg Use = CreateArg(F, ArgNo);
+<a name="l00477"></a>00477         <span class="keywordflow">return</span> MarkIfNotLive(Use, MaybeLiveUses);
+<a name="l00478"></a>00478       }
+<a name="l00479"></a>00479     }
+<a name="l00480"></a>00480     <span class="comment">// Used in any other way? Value must be live.</span>
+<a name="l00481"></a>00481     <span class="keywordflow">return</span> Live;
+<a name="l00482"></a>00482 }
+<a name="l00483"></a>00483 <span class="comment"></span>
+<a name="l00484"></a>00484 <span class="comment">/// SurveyUses - This looks at all the uses of the given value</span>
+<a name="l00485"></a>00485 <span class="comment">/// Returns the Liveness deduced from the uses of this value.</span>
+<a name="l00486"></a>00486 <span class="comment">///</span>
+<a name="l00487"></a>00487 <span class="comment">/// Adds all uses that cause the result to be MaybeLive to MaybeLiveRetUses. If</span>
+<a name="l00488"></a>00488 <span class="comment">/// the result is Live, MaybeLiveUses might be modified but its content should</span>
+<a name="l00489"></a>00489 <span class="comment">/// be ignored (since it might not be complete).</span>
+<a name="l00490"></a>00490 <span class="comment"></span>DAE::Liveness DAE::SurveyUses(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *V, UseVector &MaybeLiveUses) {
+<a name="l00491"></a>00491   <span class="comment">// Assume it's dead (which will only hold if there are no uses at all..).</span>
+<a name="l00492"></a>00492   Liveness Result = MaybeLive;
+<a name="l00493"></a>00493   <span class="comment">// Check each use.</span>
+<a name="l00494"></a>00494   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1value__use__iterator.html">Value::const_use_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = V-><a class="code" href="classllvm_1_1Value.html#a413abcab8dbc3900fc2fde96a5d8fca6">use_begin</a>(),
+<a name="l00495"></a>00495        E = V-><a class="code" href="classllvm_1_1Value.html#ad86469939d2a8bdd4169be9403b89f5a">use_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="l00496"></a>00496     Result = SurveyUse(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, MaybeLiveUses);
+<a name="l00497"></a>00497     <span class="keywordflow">if</span> (Result == Live)
+<a name="l00498"></a>00498       <span class="keywordflow">break</span>;
+<a name="l00499"></a>00499   }
+<a name="l00500"></a>00500   <span class="keywordflow">return</span> Result;
+<a name="l00501"></a>00501 }
+<a name="l00502"></a>00502 
+<a name="l00503"></a>00503 <span class="comment">// SurveyFunction - This performs the initial survey of the specified function,</span>
+<a name="l00504"></a>00504 <span class="comment">// checking out whether or not it uses any of its incoming arguments or whether</span>
+<a name="l00505"></a>00505 <span class="comment">// any callers use the return value.  This fills in the LiveValues set and Uses</span>
+<a name="l00506"></a>00506 <span class="comment">// map.</span>
+<a name="l00507"></a>00507 <span class="comment">//</span>
+<a name="l00508"></a>00508 <span class="comment">// We consider arguments of non-internal functions to be intrinsically alive as</span>
+<a name="l00509"></a>00509 <span class="comment">// well as arguments to functions which have their "address taken".</span>
+<a name="l00510"></a>00510 <span class="comment">//</span>
+<a name="l00511"></a>00511 <span class="keywordtype">void</span> DAE::SurveyFunction(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> &F) {
+<a name="l00512"></a>00512   <span class="keywordtype">unsigned</span> RetCount = <a class="code" href="DeadArgumentElimination_8cpp.html#af58bcf4638a758d6a487fb9211e4cfca">NumRetVals</a>(&F);
+<a name="l00513"></a>00513   <span class="comment">// Assume all return values are dead</span>
+<a name="l00514"></a>00514   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<Liveness, 5></a> RetVals;
+<a name="l00515"></a>00515   RetVals RetValLiveness(RetCount, MaybeLive);
+<a name="l00516"></a>00516 
+<a name="l00517"></a>00517   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<UseVector, 5></a> RetUses;
+<a name="l00518"></a>00518   <span class="comment">// These vectors map each return value to the uses that make it MaybeLive, so</span>
+<a name="l00519"></a>00519   <span class="comment">// we can add those to the Uses map if the return value really turns out to be</span>
+<a name="l00520"></a>00520   <span class="comment">// MaybeLive. Initialized to a list of RetCount empty lists.</span>
+<a name="l00521"></a>00521   RetUses MaybeLiveRetUses(RetCount);
+<a name="l00522"></a>00522 
+<a name="l00523"></a>00523   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Function::const_iterator</a> BB = F.<a class="code" href="classllvm_1_1Function.html#a88a5e60837674780a9d812d661897ac5">begin</a>(), E = F.<a class="code" href="classllvm_1_1Function.html#ae4ca2261b8b901e415fda7feac5051ea">end</a>(); BB != E; ++BB)
+<a name="l00524"></a>00524     <span class="keywordflow">if</span> (<span class="keyword">const</span> <a class="code" href="classllvm_1_1ReturnInst.html">ReturnInst</a> *RI = dyn_cast<ReturnInst>(BB->getTerminator()))
+<a name="l00525"></a>00525       <span class="keywordflow">if</span> (RI->getNumOperands() != 0 && RI->getOperand(0)->getType()
+<a name="l00526"></a>00526           != F.<a class="code" href="classllvm_1_1Function.html#adf66d58e85fb4e46e9c1ae55186a6930">getFunctionType</a>()-><a class="code" href="classllvm_1_1FunctionType.html#a9eda832d6e80bc19b98f22f4ec714e3f">getReturnType</a>()) {
+<a name="l00527"></a>00527         <span class="comment">// We don't support old style multiple return values.</span>
+<a name="l00528"></a>00528         MarkLive(F);
+<a name="l00529"></a>00529         <span class="keywordflow">return</span>;
+<a name="l00530"></a>00530       }
+<a name="l00531"></a>00531 
+<a name="l00532"></a>00532   <span class="keywordflow">if</span> (!F.<a class="code" href="classllvm_1_1GlobalValue.html#abefc2d8baa67d6f9e49c95912cfde480">hasLocalLinkage</a>() && (!ShouldHackArguments() || F.<a class="code" href="classllvm_1_1Function.html#a4b37898a6d26b0d5fcee66548f2621d3">isIntrinsic</a>())) {
+<a name="l00533"></a>00533     MarkLive(F);
+<a name="l00534"></a>00534     <span class="keywordflow">return</span>;
+<a name="l00535"></a>00535   }
+<a name="l00536"></a>00536 
+<a name="l00537"></a>00537   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"DAE - Inspecting callers for fn: "</span> << F.<a class="code" href="classllvm_1_1Value.html#ad452febc1ac0b394876e640ec03ffa38">getName</a>() << <span class="stringliteral">"\n"</span>);
+<a name="l00538"></a>00538   <span class="comment">// Keep track of the number of live retvals, so we can skip checks once all</span>
+<a name="l00539"></a>00539   <span class="comment">// of them turn out to be live.</span>
+<a name="l00540"></a>00540   <span class="keywordtype">unsigned</span> NumLiveRetVals = 0;
+<a name="l00541"></a>00541   <a class="code" href="classllvm_1_1Type.html">Type</a> *STy = <a class="code" href="namespacellvm.html#a8d8db3a5b2508f7086ef2d43036007b3">dyn_cast</a><<a class="code" href="classllvm_1_1StructType.html">StructType</a>>(F.<a class="code" href="classllvm_1_1Function.html#a26ccf11b81c01a45cb40137c775f7cad">getReturnType</a>());
+<a name="l00542"></a>00542   <span class="comment">// Loop all uses of the function.</span>
+<a name="l00543"></a>00543   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1value__use__iterator.html">Value::const_use_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = F.<a class="code" href="classllvm_1_1Value.html#a413abcab8dbc3900fc2fde96a5d8fca6">use_begin</a>(), E = F.<a class="code" href="classllvm_1_1Value.html#ad86469939d2a8bdd4169be9403b89f5a">use_end</a>();
+<a name="l00544"></a>00544        <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="l00545"></a>00545     <span class="comment">// If the function is PASSED IN as an argument, its address has been</span>
+<a name="l00546"></a>00546     <span class="comment">// taken.</span>
+<a name="l00547"></a>00547     <a class="code" href="classllvm_1_1ImmutableCallSite.html" title="ImmutableCallSite - establish a view to a call site for examination.">ImmutableCallSite</a> CS(*<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>);
+<a name="l00548"></a>00548     <span class="keywordflow">if</span> (!CS || !CS.isCallee(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)) {
+<a name="l00549"></a>00549       MarkLive(F);
+<a name="l00550"></a>00550       <span class="keywordflow">return</span>;
+<a name="l00551"></a>00551     }
+<a name="l00552"></a>00552 
+<a name="l00553"></a>00553     <span class="comment">// If this use is anything other than a call site, the function is alive.</span>
+<a name="l00554"></a>00554     <span class="keyword">const</span> <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *TheCall = CS.getInstruction();
+<a name="l00555"></a>00555     <span class="keywordflow">if</span> (!TheCall) {   <span class="comment">// Not a direct call site?</span>
+<a name="l00556"></a>00556       MarkLive(F);
+<a name="l00557"></a>00557       <span class="keywordflow">return</span>;
+<a name="l00558"></a>00558     }
+<a name="l00559"></a>00559 
+<a name="l00560"></a>00560     <span class="comment">// If we end up here, we are looking at a direct call to our function.</span>
+<a name="l00561"></a>00561 
+<a name="l00562"></a>00562     <span class="comment">// Now, check how our return value(s) is/are used in this caller. Don't</span>
+<a name="l00563"></a>00563     <span class="comment">// bother checking return values if all of them are live already.</span>
+<a name="l00564"></a>00564     <span class="keywordflow">if</span> (NumLiveRetVals != RetCount) {
+<a name="l00565"></a>00565       <span class="keywordflow">if</span> (STy) {
+<a name="l00566"></a>00566         <span class="comment">// Check all uses of the return value.</span>
+<a name="l00567"></a>00567         <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1value__use__iterator.html">Value::const_use_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = TheCall-><a class="code" href="classllvm_1_1Value.html#a413abcab8dbc3900fc2fde96a5d8fca6">use_begin</a>(),
+<a name="l00568"></a>00568              E = TheCall-><a class="code" href="classllvm_1_1Value.html#ad86469939d2a8bdd4169be9403b89f5a">use_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="l00569"></a>00569           <span class="keyword">const</span> <a class="code" href="classllvm_1_1ExtractValueInst.html">ExtractValueInst</a> *<a class="code" href="namespacellvm_1_1MipsISD.html#a7a7035feda1dc16252a7a15a7e230122a88a797f57846adb2c382b3732b471913">Ext</a> = <a class="code" href="namespacellvm.html#a8d8db3a5b2508f7086ef2d43036007b3">dyn_cast</a><<a class="code" href="classllvm_1_1ExtractValueInst.html">ExtractValueInst</a>>(*I);
+<a name="l00570"></a>00570           <span class="keywordflow">if</span> (Ext && Ext-><a class="code" href="classllvm_1_1ExtractValueInst.html#a44c87e8da8c79e2fdb74e4feef0b9ad6">hasIndices</a>()) {
+<a name="l00571"></a>00571             <span class="comment">// This use uses a part of our return value, survey the uses of</span>
+<a name="l00572"></a>00572             <span class="comment">// that part and store the results for this index only.</span>
+<a name="l00573"></a>00573             <span class="keywordtype">unsigned</span> Idx = *Ext-><a class="code" href="classllvm_1_1ExtractValueInst.html#a7f9b7f9abcc0d7c98df4c00dc2ae6e7e">idx_begin</a>();
+<a name="l00574"></a>00574             <span class="keywordflow">if</span> (RetValLiveness[Idx] != Live) {
+<a name="l00575"></a>00575               RetValLiveness[Idx] = SurveyUses(Ext, MaybeLiveRetUses[Idx]);
+<a name="l00576"></a>00576               <span class="keywordflow">if</span> (RetValLiveness[Idx] == Live)
+<a name="l00577"></a>00577                 NumLiveRetVals++;
+<a name="l00578"></a>00578             }
+<a name="l00579"></a>00579           } <span class="keywordflow">else</span> {
+<a name="l00580"></a>00580             <span class="comment">// Used by something else than extractvalue. Mark all return</span>
+<a name="l00581"></a>00581             <span class="comment">// values as live.</span>
+<a name="l00582"></a>00582             <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != RetCount; ++i )
+<a name="l00583"></a>00583               RetValLiveness[i] = Live;
+<a name="l00584"></a>00584             NumLiveRetVals = RetCount;
+<a name="l00585"></a>00585             <span class="keywordflow">break</span>;
+<a name="l00586"></a>00586           }
+<a name="l00587"></a>00587         }
+<a name="l00588"></a>00588       } <span class="keywordflow">else</span> {
+<a name="l00589"></a>00589         <span class="comment">// Single return value</span>
+<a name="l00590"></a>00590         RetValLiveness[0] = SurveyUses(TheCall, MaybeLiveRetUses[0]);
+<a name="l00591"></a>00591         <span class="keywordflow">if</span> (RetValLiveness[0] == Live)
+<a name="l00592"></a>00592           NumLiveRetVals = RetCount;
+<a name="l00593"></a>00593       }
+<a name="l00594"></a>00594     }
+<a name="l00595"></a>00595   }
+<a name="l00596"></a>00596 
+<a name="l00597"></a>00597   <span class="comment">// Now we've inspected all callers, record the liveness of our return values.</span>
+<a name="l00598"></a>00598   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != RetCount; ++i)
+<a name="l00599"></a>00599     MarkValue(CreateRet(&F, i), RetValLiveness[i], MaybeLiveRetUses[i]);
+<a name="l00600"></a>00600 
+<a name="l00601"></a>00601   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"DAE - Inspecting args for fn: "</span> << F.<a class="code" href="classllvm_1_1Value.html#ad452febc1ac0b394876e640ec03ffa38">getName</a>() << <span class="stringliteral">"\n"</span>);
+<a name="l00602"></a>00602 
+<a name="l00603"></a>00603   <span class="comment">// Now, check all of our arguments.</span>
+<a name="l00604"></a>00604   <span class="keywordtype">unsigned</span> i = 0;
+<a name="l00605"></a>00605   UseVector MaybeLiveArgUses;
+<a name="l00606"></a>00606   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Function::const_arg_iterator</a> AI = F.<a class="code" href="classllvm_1_1Function.html#a8bf193a781a92cae52d7f9216d0824f8">arg_begin</a>(),
+<a name="l00607"></a>00607        E = F.<a class="code" href="classllvm_1_1Function.html#a8300ac1ef141b8a7c63c13fa9369d976">arg_end</a>(); AI != E; ++AI, ++i) {
+<a name="l00608"></a>00608     <span class="comment">// See what the effect of this use is (recording any uses that cause</span>
+<a name="l00609"></a>00609     <span class="comment">// MaybeLive in MaybeLiveArgUses).</span>
+<a name="l00610"></a>00610     Liveness Result = SurveyUses(AI, MaybeLiveArgUses);
+<a name="l00611"></a>00611     <span class="comment">// Mark the result.</span>
+<a name="l00612"></a>00612     MarkValue(CreateArg(&F, i), Result, MaybeLiveArgUses);
+<a name="l00613"></a>00613     <span class="comment">// Clear the vector again for the next iteration.</span>
+<a name="l00614"></a>00614     MaybeLiveArgUses.clear();
+<a name="l00615"></a>00615   }
+<a name="l00616"></a>00616 }
+<a name="l00617"></a>00617 <span class="comment"></span>
+<a name="l00618"></a>00618 <span class="comment">/// MarkValue - This function marks the liveness of RA depending on L. If L is</span>
+<a name="l00619"></a>00619 <span class="comment">/// MaybeLive, it also takes all uses in MaybeLiveUses and records them in Uses,</span>
+<a name="l00620"></a>00620 <span class="comment">/// such that RA will be marked live if any use in MaybeLiveUses gets marked</span>
+<a name="l00621"></a>00621 <span class="comment">/// live later on.</span>
+<a name="l00622"></a>00622 <span class="comment"></span><span class="keywordtype">void</span> DAE::MarkValue(<span class="keyword">const</span> RetOrArg &RA, Liveness L,
+<a name="l00623"></a>00623                     <span class="keyword">const</span> UseVector &MaybeLiveUses) {
+<a name="l00624"></a>00624   <span class="keywordflow">switch</span> (L) {
+<a name="l00625"></a>00625     <span class="keywordflow">case</span> Live: MarkLive(RA); <span class="keywordflow">break</span>;
+<a name="l00626"></a>00626     <span class="keywordflow">case</span> MaybeLive:
+<a name="l00627"></a>00627     {
+<a name="l00628"></a>00628       <span class="comment">// Note any uses of this value, so this return value can be</span>
+<a name="l00629"></a>00629       <span class="comment">// marked live whenever one of the uses becomes live.</span>
+<a name="l00630"></a>00630       <span class="keywordflow">for</span> (UseVector::const_iterator UI = MaybeLiveUses.begin(),
+<a name="l00631"></a>00631            UE = MaybeLiveUses.end(); UI != UE; ++UI)
+<a name="l00632"></a>00632         Uses.insert(std::make_pair(*UI, RA));
+<a name="l00633"></a>00633       <span class="keywordflow">break</span>;
+<a name="l00634"></a>00634     }
+<a name="l00635"></a>00635   }
+<a name="l00636"></a>00636 }
+<a name="l00637"></a>00637 <span class="comment"></span>
+<a name="l00638"></a>00638 <span class="comment">/// MarkLive - Mark the given Function as alive, meaning that it cannot be</span>
+<a name="l00639"></a>00639 <span class="comment">/// changed in any way. Additionally,</span>
+<a name="l00640"></a>00640 <span class="comment">/// mark any values that are used as this function's parameters or by its return</span>
+<a name="l00641"></a>00641 <span class="comment">/// values (according to Uses) live as well.</span>
+<a name="l00642"></a>00642 <span class="comment"></span><span class="keywordtype">void</span> DAE::MarkLive(<span class="keyword">const</span> <a class="code" href="classllvm_1_1Function.html">Function</a> &F) {
+<a name="l00643"></a>00643   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"DAE - Intrinsically live fn: "</span> << F.<a class="code" href="classllvm_1_1Value.html#ad452febc1ac0b394876e640ec03ffa38">getName</a>() << <span class="stringliteral">"\n"</span>);
+<a name="l00644"></a>00644   <span class="comment">// Mark the function as live.</span>
+<a name="l00645"></a>00645   LiveFunctions.insert(&F);
+<a name="l00646"></a>00646   <span class="comment">// Mark all arguments as live.</span>
+<a name="l00647"></a>00647   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = F.<a class="code" href="classllvm_1_1Function.html#aef89c402976e04c0abe4b10a963d35e3">arg_size</a>(); i != e; ++i)
+<a name="l00648"></a>00648     PropagateLiveness(CreateArg(&F, i));
+<a name="l00649"></a>00649   <span class="comment">// Mark all return values as live.</span>
+<a name="l00650"></a>00650   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = <a class="code" href="DeadArgumentElimination_8cpp.html#af58bcf4638a758d6a487fb9211e4cfca">NumRetVals</a>(&F); i != e; ++i)
+<a name="l00651"></a>00651     PropagateLiveness(CreateRet(&F, i));
+<a name="l00652"></a>00652 }
+<a name="l00653"></a>00653 <span class="comment"></span>
+<a name="l00654"></a>00654 <span class="comment">/// MarkLive - Mark the given return value or argument as live. Additionally,</span>
+<a name="l00655"></a>00655 <span class="comment">/// mark any values that are used by this value (according to Uses) live as</span>
+<a name="l00656"></a>00656 <span class="comment">/// well.</span>
+<a name="l00657"></a>00657 <span class="comment"></span><span class="keywordtype">void</span> DAE::MarkLive(<span class="keyword">const</span> RetOrArg &RA) {
+<a name="l00658"></a>00658   <span class="keywordflow">if</span> (LiveFunctions.count(RA.F))
+<a name="l00659"></a>00659     <span class="keywordflow">return</span>; <span class="comment">// Function was already marked Live.</span>
+<a name="l00660"></a>00660 
+<a name="l00661"></a>00661   <span class="keywordflow">if</span> (!LiveValues.insert(RA).second)
+<a name="l00662"></a>00662     <span class="keywordflow">return</span>; <span class="comment">// We were already marked Live.</span>
+<a name="l00663"></a>00663 
+<a name="l00664"></a>00664   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"DAE - Marking "</span> << RA.getDescription() << <span class="stringliteral">" live\n"</span>);
+<a name="l00665"></a>00665   PropagateLiveness(RA);
+<a name="l00666"></a>00666 }
+<a name="l00667"></a>00667 <span class="comment"></span>
+<a name="l00668"></a>00668 <span class="comment">/// PropagateLiveness - Given that RA is a live value, propagate it's liveness</span>
+<a name="l00669"></a>00669 <span class="comment">/// to any other values it uses (according to Uses).</span>
+<a name="l00670"></a>00670 <span class="comment"></span><span class="keywordtype">void</span> DAE::PropagateLiveness(<span class="keyword">const</span> RetOrArg &RA) {
+<a name="l00671"></a>00671   <span class="comment">// We don't use upper_bound (or equal_range) here, because our recursive call</span>
+<a name="l00672"></a>00672   <span class="comment">// to ourselves is likely to cause the upper_bound (which is the first value</span>
+<a name="l00673"></a>00673   <span class="comment">// not belonging to RA) to become erased and the iterator invalidated.</span>
+<a name="l00674"></a>00674   UseMap::iterator Begin = Uses.lower_bound(RA);
+<a name="l00675"></a>00675   UseMap::iterator E = Uses.end();
+<a name="l00676"></a>00676   UseMap::iterator <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>;
+<a name="l00677"></a>00677   <span class="keywordflow">for</span> (I = Begin; I != E && I->first == RA; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)
+<a name="l00678"></a>00678     MarkLive(I->second);
+<a name="l00679"></a>00679 
+<a name="l00680"></a>00680   <span class="comment">// Erase RA from the Uses map (from the lower bound to wherever we ended up</span>
+<a name="l00681"></a>00681   <span class="comment">// after the loop).</span>
+<a name="l00682"></a>00682   Uses.erase(Begin, I);
+<a name="l00683"></a>00683 }
+<a name="l00684"></a>00684 
+<a name="l00685"></a>00685 <span class="comment">// RemoveDeadStuffFromFunction - Remove any arguments and return values from F</span>
+<a name="l00686"></a>00686 <span class="comment">// that are not in LiveValues. Transform the function and all of the callees of</span>
+<a name="l00687"></a>00687 <span class="comment">// the function to not have these arguments and return values.</span>
+<a name="l00688"></a>00688 <span class="comment">//</span>
+<a name="l00689"></a>00689 <span class="keywordtype">bool</span> DAE::RemoveDeadStuffFromFunction(<a class="code" href="classllvm_1_1Function.html">Function</a> *F) {
+<a name="l00690"></a>00690   <span class="comment">// Don't modify fully live functions</span>
+<a name="l00691"></a>00691   <span class="keywordflow">if</span> (LiveFunctions.count(F))
+<a name="l00692"></a>00692     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00693"></a>00693 
+<a name="l00694"></a>00694   <span class="comment">// Start by computing a new prototype for the function, which is the same as</span>
+<a name="l00695"></a>00695   <span class="comment">// the old function, but has fewer arguments and a different return type.</span>
+<a name="l00696"></a>00696   <a class="code" href="classllvm_1_1FunctionType.html">FunctionType</a> *FTy = F-><a class="code" href="classllvm_1_1Function.html#adf66d58e85fb4e46e9c1ae55186a6930">getFunctionType</a>();
+<a name="l00697"></a>00697   std::vector<Type*> Params;
+<a name="l00698"></a>00698 
+<a name="l00699"></a>00699   <span class="comment">// Set up to build a new list of parameter attributes.</span>
+<a name="l00700"></a>00700   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<AttributeWithIndex, 8></a> AttributesVec;
+<a name="l00701"></a>00701   <span class="keyword">const</span> <a class="code" href="classllvm_1_1AttrListPtr.html">AttrListPtr</a> &PAL = F-><a class="code" href="classllvm_1_1Function.html#a04b883953d9706a93075c90c09fe1059">getAttributes</a>();
+<a name="l00702"></a>00702 
+<a name="l00703"></a>00703   <span class="comment">// The existing function return attributes.</span>
+<a name="l00704"></a>00704   <a class="code" href="classllvm_1_1Attributes.html" title="Attributes - A bitset of attributes.">Attributes</a> RAttrs = PAL.<a class="code" href="classllvm_1_1AttrListPtr.html#a3e0d7269de82cafcae2596985b1e6fc9">getRetAttributes</a>();
+<a name="l00705"></a>00705   <a class="code" href="classllvm_1_1Attributes.html" title="Attributes - A bitset of attributes.">Attributes</a> FnAttrs = PAL.<a class="code" href="classllvm_1_1AttrListPtr.html#a60fc14387402931888f363ed42ef909a" title="getFnAttributes - The function attributes are returned.">getFnAttributes</a>();
+<a name="l00706"></a>00706 
+<a name="l00707"></a>00707   <span class="comment">// Find out the new return value.</span>
+<a name="l00708"></a>00708 
+<a name="l00709"></a>00709   <a class="code" href="classllvm_1_1Type.html">Type</a> *<a class="code" href="namespacellvm.html#ab83a048107217f63353d29f525d4794b">RetTy</a> = FTy-><a class="code" href="classllvm_1_1FunctionType.html#a9eda832d6e80bc19b98f22f4ec714e3f">getReturnType</a>();
+<a name="l00710"></a>00710   <a class="code" href="classllvm_1_1Type.html">Type</a> *NRetTy = NULL;
+<a name="l00711"></a>00711   <span class="keywordtype">unsigned</span> RetCount = <a class="code" href="DeadArgumentElimination_8cpp.html#af58bcf4638a758d6a487fb9211e4cfca">NumRetVals</a>(F);
+<a name="l00712"></a>00712 
+<a name="l00713"></a>00713   <span class="comment">// -1 means unused, other numbers are the new index</span>
+<a name="l00714"></a>00714   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<int, 5></a> NewRetIdxs(RetCount, -1);
+<a name="l00715"></a>00715   std::vector<Type*> RetTypes;
+<a name="l00716"></a>00716   <span class="keywordflow">if</span> (RetTy-><a class="code" href="classllvm_1_1Type.html#af5c7041df3ad5edffe5da17b5264c1fc" title="isVoidTy - Return true if this is 'void'.">isVoidTy</a>()) {
+<a name="l00717"></a>00717     NRetTy = <a class="code" href="namespacellvm.html#ab83a048107217f63353d29f525d4794b">RetTy</a>;
+<a name="l00718"></a>00718   } <span class="keywordflow">else</span> {
+<a name="l00719"></a>00719     <a class="code" href="classllvm_1_1StructType.html">StructType</a> *STy = <a class="code" href="namespacellvm.html#a8d8db3a5b2508f7086ef2d43036007b3">dyn_cast</a><<a class="code" href="classllvm_1_1StructType.html">StructType</a>>(<a class="code" href="namespacellvm.html#ab83a048107217f63353d29f525d4794b">RetTy</a>);
+<a name="l00720"></a>00720     <span class="keywordflow">if</span> (STy)
+<a name="l00721"></a>00721       <span class="comment">// Look at each of the original return values individually.</span>
+<a name="l00722"></a>00722       <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != RetCount; ++i) {
+<a name="l00723"></a>00723         RetOrArg <a class="code" href="namespacellvm_1_1MBlazeISD.html#a4cbef502356ec86269d324dc7be5cbf7a4e52b775450b88b95f31bae9c160fe01">Ret</a> = CreateRet(F, i);
+<a name="l00724"></a>00724         <span class="keywordflow">if</span> (LiveValues.erase(Ret)) {
+<a name="l00725"></a>00725           RetTypes.push_back(STy-><a class="code" href="classllvm_1_1StructType.html#a2f54639fcb5162f6f51192eb1697d2ad">getElementType</a>(i));
+<a name="l00726"></a>00726           NewRetIdxs[i] = RetTypes.size() - 1;
+<a name="l00727"></a>00727         } <span class="keywordflow">else</span> {
+<a name="l00728"></a>00728           ++NumRetValsEliminated;
+<a name="l00729"></a>00729           <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"DAE - Removing return value "</span> << i << <span class="stringliteral">" from "</span>
+<a name="l00730"></a>00730                 << F-><a class="code" href="classllvm_1_1Value.html#ad452febc1ac0b394876e640ec03ffa38">getName</a>() << <span class="stringliteral">"\n"</span>);
+<a name="l00731"></a>00731         }
+<a name="l00732"></a>00732       }
+<a name="l00733"></a>00733     <span class="keywordflow">else</span>
+<a name="l00734"></a>00734       <span class="comment">// We used to return a single value.</span>
+<a name="l00735"></a>00735       <span class="keywordflow">if</span> (LiveValues.erase(CreateRet(F, 0))) {
+<a name="l00736"></a>00736         RetTypes.push_back(RetTy);
+<a name="l00737"></a>00737         NewRetIdxs[0] = 0;
+<a name="l00738"></a>00738       } <span class="keywordflow">else</span> {
+<a name="l00739"></a>00739         <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"DAE - Removing return value from "</span> << F-><a class="code" href="classllvm_1_1Value.html#ad452febc1ac0b394876e640ec03ffa38">getName</a>()
+<a name="l00740"></a>00740               << <span class="stringliteral">"\n"</span>);
+<a name="l00741"></a>00741         ++NumRetValsEliminated;
+<a name="l00742"></a>00742       }
+<a name="l00743"></a>00743     <span class="keywordflow">if</span> (RetTypes.size() > 1)
+<a name="l00744"></a>00744       <span class="comment">// More than one return type? Return a struct with them. Also, if we used</span>
+<a name="l00745"></a>00745       <span class="comment">// to return a struct and didn't change the number of return values,</span>
+<a name="l00746"></a>00746       <span class="comment">// return a struct again. This prevents changing {something} into</span>
+<a name="l00747"></a>00747       <span class="comment">// something and {} into void.</span>
+<a name="l00748"></a>00748       <span class="comment">// Make the new struct packed if we used to return a packed struct</span>
+<a name="l00749"></a>00749       <span class="comment">// already.</span>
+<a name="l00750"></a>00750       NRetTy = <a class="code" href="classllvm_1_1StructType.html#a18fc4545474c6ebb6f7c547f64f4fb31">StructType::get</a>(STy-><a class="code" href="classllvm_1_1Type.html#af348d5ea83429d08ba891ca3dd0e92b2" title="getContext - Return the LLVMContext in which this type was uniqued.">getContext</a>(), RetTypes, STy-><a class="code" href="classllvm_1_1StructType.html#a883dd52cca7097874337641ca44473a0">isPacked</a>());
+<a name="l00751"></a>00751     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (RetTypes.size() == 1)
+<a name="l00752"></a>00752       <span class="comment">// One return type? Just a simple value then, but only if we didn't use to</span>
+<a name="l00753"></a>00753       <span class="comment">// return a struct with that simple value before.</span>
+<a name="l00754"></a>00754       NRetTy = RetTypes.front();
+<a name="l00755"></a>00755     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (RetTypes.size() == 0)
+<a name="l00756"></a>00756       <span class="comment">// No return types? Make it void, but only if we didn't use to return {}.</span>
+<a name="l00757"></a>00757       NRetTy = <a class="code" href="classllvm_1_1Type.html#a6e20e76960d952de088354cbcd14c3ab">Type::getVoidTy</a>(F-><a class="code" href="classllvm_1_1Function.html#a2da53ac53516a3f16191f4c8a8eaa3e5">getContext</a>());
+<a name="l00758"></a>00758   }
+<a name="l00759"></a>00759 
+<a name="l00760"></a>00760   assert(NRetTy && <span class="stringliteral">"No new return type found?"</span>);
+<a name="l00761"></a>00761 
+<a name="l00762"></a>00762   <span class="comment">// Remove any incompatible attributes, but only if we removed all return</span>
+<a name="l00763"></a>00763   <span class="comment">// values. Otherwise, ensure that we don't have any conflicting attributes</span>
+<a name="l00764"></a>00764   <span class="comment">// here. Currently, this should not be possible, but special handling might be</span>
+<a name="l00765"></a>00765   <span class="comment">// required when new return value attributes are added.</span>
+<a name="l00766"></a>00766   <span class="keywordflow">if</span> (NRetTy-><a class="code" href="classllvm_1_1Type.html#af5c7041df3ad5edffe5da17b5264c1fc" title="isVoidTy - Return true if this is 'void'.">isVoidTy</a>())
+<a name="l00767"></a>00767     RAttrs =
+<a name="l00768"></a>00768       <a class="code" href="classllvm_1_1Attributes.html#ad65c1e9ddb0cbc60da3fe67a0c695e32">Attributes::get</a>(NRetTy-><a class="code" href="classllvm_1_1Type.html#af348d5ea83429d08ba891ca3dd0e92b2" title="getContext - Return the LLVMContext in which this type was uniqued.">getContext</a>(), <a class="code" href="classllvm_1_1AttrBuilder.html">AttrBuilder</a>(RAttrs).
+<a name="l00769"></a>00769                       removeAttributes(<a class="code" href="classllvm_1_1Attributes.html#a557333819ca596487763d5b440f3a253" title="Which attributes cannot be applied to a type.">Attributes::typeIncompatible</a>(NRetTy)));
+<a name="l00770"></a>00770   <span class="keywordflow">else</span>
+<a name="l00771"></a>00771     assert(!<a class="code" href="classllvm_1_1AttrBuilder.html">AttrBuilder</a>(RAttrs).
+<a name="l00772"></a>00772              hasAttributes(<a class="code" href="classllvm_1_1Attributes.html#a557333819ca596487763d5b440f3a253" title="Which attributes cannot be applied to a type.">Attributes::typeIncompatible</a>(NRetTy)) &&
+<a name="l00773"></a>00773            <span class="stringliteral">"Return attributes no longer compatible?"</span>);
+<a name="l00774"></a>00774 
+<a name="l00775"></a>00775   <span class="keywordflow">if</span> (RAttrs.<a class="code" href="classllvm_1_1Attributes.html#ac0393170c2b76cd5e9035225d5acf2f3" title="Return true if attributes exist.">hasAttributes</a>())
+<a name="l00776"></a>00776     AttributesVec.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="structllvm_1_1AttributeWithIndex.html#ab2c694b0c09cd5c1b50c88b6bc84053e">AttributeWithIndex::get</a>(<a class="code" href="classllvm_1_1AttrListPtr.html#ae891c2fafc52690f5192fd14b7d92866a454fc274ceb4da303c60c2a34826b085">AttrListPtr::ReturnIndex</a>,
+<a name="l00777"></a>00777                                                     RAttrs));
+<a name="l00778"></a>00778 
+<a name="l00779"></a>00779   <span class="comment">// Remember which arguments are still alive.</span>
+<a name="l00780"></a>00780   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<bool, 10></a> ArgAlive(FTy-><a class="code" href="classllvm_1_1FunctionType.html#a97cf043af111c14bb4d03a99cf42af03">getNumParams</a>(), <span class="keyword">false</span>);
+<a name="l00781"></a>00781   <span class="comment">// Construct the new parameter list from non-dead arguments. Also construct</span>
+<a name="l00782"></a>00782   <span class="comment">// a new set of parameter attributes to correspond. Skip the first parameter</span>
+<a name="l00783"></a>00783   <span class="comment">// attribute, since that belongs to the return value.</span>
+<a name="l00784"></a>00784   <span class="keywordtype">unsigned</span> i = 0;
+<a name="l00785"></a>00785   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Function::arg_iterator</a> I = F-><a class="code" href="classllvm_1_1Function.html#a8bf193a781a92cae52d7f9216d0824f8">arg_begin</a>(), E = F-><a class="code" href="classllvm_1_1Function.html#a8300ac1ef141b8a7c63c13fa9369d976">arg_end</a>();
+<a name="l00786"></a>00786        I != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, ++i) {
+<a name="l00787"></a>00787     RetOrArg Arg = CreateArg(F, i);
+<a name="l00788"></a>00788     <span class="keywordflow">if</span> (LiveValues.erase(Arg)) {
+<a name="l00789"></a>00789       Params.push_back(I->getType());
+<a name="l00790"></a>00790       ArgAlive[i] = <span class="keyword">true</span>;
+<a name="l00791"></a>00791 
+<a name="l00792"></a>00792       <span class="comment">// Get the original parameter attributes (skipping the first one, that is</span>
+<a name="l00793"></a>00793       <span class="comment">// for the return value.</span>
+<a name="l00794"></a>00794       <a class="code" href="classllvm_1_1Attributes.html" title="Attributes - A bitset of attributes.">Attributes</a> Attrs = PAL.<a class="code" href="classllvm_1_1AttrListPtr.html#a3e508c92ff04476e16c9738dc2197e73">getParamAttributes</a>(i + 1);
+<a name="l00795"></a>00795       <span class="keywordflow">if</span> (Attrs.<a class="code" href="classllvm_1_1Attributes.html#ac0393170c2b76cd5e9035225d5acf2f3" title="Return true if attributes exist.">hasAttributes</a>())
+<a name="l00796"></a>00796         AttributesVec.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="structllvm_1_1AttributeWithIndex.html#ab2c694b0c09cd5c1b50c88b6bc84053e">AttributeWithIndex::get</a>(Params.size(), Attrs));
+<a name="l00797"></a>00797     } <span class="keywordflow">else</span> {
+<a name="l00798"></a>00798       ++NumArgumentsEliminated;
+<a name="l00799"></a>00799       <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"DAE - Removing argument "</span> << i << <span class="stringliteral">" ("</span> << I->getName()
+<a name="l00800"></a>00800             << <span class="stringliteral">") from "</span> << F-><a class="code" href="classllvm_1_1Value.html#ad452febc1ac0b394876e640ec03ffa38">getName</a>() << <span class="stringliteral">"\n"</span>);
+<a name="l00801"></a>00801     }
+<a name="l00802"></a>00802   }
+<a name="l00803"></a>00803 
+<a name="l00804"></a>00804   <span class="keywordflow">if</span> (FnAttrs.<a class="code" href="classllvm_1_1Attributes.html#ac0393170c2b76cd5e9035225d5acf2f3" title="Return true if attributes exist.">hasAttributes</a>())
+<a name="l00805"></a>00805     AttributesVec.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="structllvm_1_1AttributeWithIndex.html#ab2c694b0c09cd5c1b50c88b6bc84053e">AttributeWithIndex::get</a>(<a class="code" href="classllvm_1_1AttrListPtr.html#ae891c2fafc52690f5192fd14b7d92866aa0ca5b17b28c0c286bc17f82606d5129">AttrListPtr::FunctionIndex</a>,
+<a name="l00806"></a>00806                                                     FnAttrs));
+<a name="l00807"></a>00807 
+<a name="l00808"></a>00808   <span class="comment">// Reconstruct the AttributesList based on the vector we constructed.</span>
+<a name="l00809"></a>00809   <a class="code" href="classllvm_1_1AttrListPtr.html">AttrListPtr</a> NewPAL = <a class="code" href="classllvm_1_1AttrListPtr.html#a441f1b8947965a28166f853d9bdcc0c4" title="get - Return a Attributes list with the specified parameters in it.">AttrListPtr::get</a>(F-><a class="code" href="classllvm_1_1Function.html#a2da53ac53516a3f16191f4c8a8eaa3e5">getContext</a>(), AttributesVec);
+<a name="l00810"></a>00810 
+<a name="l00811"></a>00811   <span class="comment">// Create the new function type based on the recomputed parameters.</span>
+<a name="l00812"></a>00812   <a class="code" href="classllvm_1_1FunctionType.html">FunctionType</a> *NFTy = <a class="code" href="classllvm_1_1FunctionType.html#a7e89b55242c964ae61b7850e99cacef0">FunctionType::get</a>(NRetTy, Params, FTy-><a class="code" href="classllvm_1_1FunctionType.html#ab9b67f93a2231970abb3d95636660ffc">isVarArg</a>());
+<a name="l00813"></a>00813 
+<a name="l00814"></a>00814   <span class="comment">// No change?</span>
+<a name="l00815"></a>00815   <span class="keywordflow">if</span> (NFTy == FTy)
+<a name="l00816"></a>00816     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00817"></a>00817 
+<a name="l00818"></a>00818   <span class="comment">// Create the new function body and insert it into the module...</span>
+<a name="l00819"></a>00819   <a class="code" href="classllvm_1_1Function.html">Function</a> *NF = <a class="code" href="classllvm_1_1Function.html#a162a63c89ac118c8ffef75b3a892efa0">Function::Create</a>(NFTy, F-><a class="code" href="classllvm_1_1GlobalValue.html#a38ea691c2eeaf3facd74d5cfb0c725b0">getLinkage</a>());
+<a name="l00820"></a>00820   NF-><a class="code" href="classllvm_1_1Function.html#a05e6f4dd6bc551b79995792404af490b">copyAttributesFrom</a>(F);
+<a name="l00821"></a>00821   NF-><a class="code" href="classllvm_1_1Function.html#aa540fa87d67489a1d0805550b46cfd32">setAttributes</a>(NewPAL);
+<a name="l00822"></a>00822   <span class="comment">// Insert the new function before the old function, so we won't be processing</span>
+<a name="l00823"></a>00823   <span class="comment">// it again.</span>
+<a name="l00824"></a>00824   F-><a class="code" href="classllvm_1_1GlobalValue.html#a9e1fc23a17e97d2d1732e753ae9251ac">getParent</a>()-><a class="code" href="classllvm_1_1Module.html#a020ed4dc4297b07bdad741f18cf369ae" title="Get the Module's list of functions (constant).">getFunctionList</a>().insert(F, NF);
+<a name="l00825"></a>00825   NF-><a class="code" href="classllvm_1_1Value.html#ae855357b6c5e6e7ed1869272708a3a84">takeName</a>(F);
+<a name="l00826"></a>00826 
+<a name="l00827"></a>00827   <span class="comment">// Loop over all of the callers of the function, transforming the call sites</span>
+<a name="l00828"></a>00828   <span class="comment">// to pass in a smaller number of arguments into the new function.</span>
+<a name="l00829"></a>00829   <span class="comment">//</span>
+<a name="l00830"></a>00830   std::vector<Value*> Args;
+<a name="l00831"></a>00831   <span class="keywordflow">while</span> (!F-><a class="code" href="classllvm_1_1Value.html#ac38c53f76ef532f91f1666c8a87370e9">use_empty</a>()) {
+<a name="l00832"></a>00832     <a class="code" href="classllvm_1_1CallSite.html">CallSite</a> CS(F-><a class="code" href="classllvm_1_1Value.html#ad9a329f9f85bc896a726a628aa3f4e9d">use_back</a>());
+<a name="l00833"></a>00833     <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *Call = CS.getInstruction();
+<a name="l00834"></a>00834 
+<a name="l00835"></a>00835     AttributesVec.<a class="code" href="classllvm_1_1SmallVectorImpl.html#aac0ea55010b7b1a301e65a0baea057aa">clear</a>();
+<a name="l00836"></a>00836     <span class="keyword">const</span> <a class="code" href="classllvm_1_1AttrListPtr.html">AttrListPtr</a> &CallPAL = CS.getAttributes();
+<a name="l00837"></a>00837 
+<a name="l00838"></a>00838     <span class="comment">// The call return attributes.</span>
+<a name="l00839"></a>00839     <a class="code" href="classllvm_1_1Attributes.html" title="Attributes - A bitset of attributes.">Attributes</a> RAttrs = CallPAL.<a class="code" href="classllvm_1_1AttrListPtr.html#a3e0d7269de82cafcae2596985b1e6fc9">getRetAttributes</a>();
+<a name="l00840"></a>00840     <a class="code" href="classllvm_1_1Attributes.html" title="Attributes - A bitset of attributes.">Attributes</a> FnAttrs = CallPAL.<a class="code" href="classllvm_1_1AttrListPtr.html#a60fc14387402931888f363ed42ef909a" title="getFnAttributes - The function attributes are returned.">getFnAttributes</a>();
+<a name="l00841"></a>00841     <span class="comment">// Adjust in case the function was changed to return void.</span>
+<a name="l00842"></a>00842     RAttrs =
+<a name="l00843"></a>00843       <a class="code" href="classllvm_1_1Attributes.html#ad65c1e9ddb0cbc60da3fe67a0c695e32">Attributes::get</a>(NF-><a class="code" href="classllvm_1_1Function.html#a2da53ac53516a3f16191f4c8a8eaa3e5">getContext</a>(), <a class="code" href="classllvm_1_1AttrBuilder.html">AttrBuilder</a>(RAttrs).
+<a name="l00844"></a>00844            removeAttributes(<a class="code" href="classllvm_1_1Attributes.html#a557333819ca596487763d5b440f3a253" title="Which attributes cannot be applied to a type.">Attributes::typeIncompatible</a>(NF-><a class="code" href="classllvm_1_1Function.html#a26ccf11b81c01a45cb40137c775f7cad">getReturnType</a>())));
+<a name="l00845"></a>00845     <span class="keywordflow">if</span> (RAttrs.<a class="code" href="classllvm_1_1Attributes.html#ac0393170c2b76cd5e9035225d5acf2f3" title="Return true if attributes exist.">hasAttributes</a>())
+<a name="l00846"></a>00846       AttributesVec.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="structllvm_1_1AttributeWithIndex.html#ab2c694b0c09cd5c1b50c88b6bc84053e">AttributeWithIndex::get</a>(<a class="code" href="classllvm_1_1AttrListPtr.html#ae891c2fafc52690f5192fd14b7d92866a454fc274ceb4da303c60c2a34826b085">AttrListPtr::ReturnIndex</a>,
+<a name="l00847"></a>00847                                                       RAttrs));
+<a name="l00848"></a>00848 
+<a name="l00849"></a>00849     <span class="comment">// Declare these outside of the loops, so we can reuse them for the second</span>
+<a name="l00850"></a>00850     <span class="comment">// loop, which loops the varargs.</span>
+<a name="l00851"></a>00851     <a class="code" href="classllvm_1_1CallSiteBase.html#a9c293af587813d72fdc976697dd07f23">CallSite::arg_iterator</a> I = CS.arg_begin();
+<a name="l00852"></a>00852     <span class="keywordtype">unsigned</span> i = 0;
+<a name="l00853"></a>00853     <span class="comment">// Loop over those operands, corresponding to the normal arguments to the</span>
+<a name="l00854"></a>00854     <span class="comment">// original function, and add those that are still alive.</span>
+<a name="l00855"></a>00855     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> e = FTy-><a class="code" href="classllvm_1_1FunctionType.html#a97cf043af111c14bb4d03a99cf42af03">getNumParams</a>(); i != e; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, ++i)
+<a name="l00856"></a>00856       <span class="keywordflow">if</span> (ArgAlive[i]) {
+<a name="l00857"></a>00857         Args.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(*I);
+<a name="l00858"></a>00858         <span class="comment">// Get original parameter attributes, but skip return attributes.</span>
+<a name="l00859"></a>00859         <a class="code" href="classllvm_1_1Attributes.html" title="Attributes - A bitset of attributes.">Attributes</a> Attrs = CallPAL.<a class="code" href="classllvm_1_1AttrListPtr.html#a3e508c92ff04476e16c9738dc2197e73">getParamAttributes</a>(i + 1);
+<a name="l00860"></a>00860         <span class="keywordflow">if</span> (Attrs.<a class="code" href="classllvm_1_1Attributes.html#ac0393170c2b76cd5e9035225d5acf2f3" title="Return true if attributes exist.">hasAttributes</a>())
+<a name="l00861"></a>00861           AttributesVec.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="structllvm_1_1AttributeWithIndex.html#ab2c694b0c09cd5c1b50c88b6bc84053e">AttributeWithIndex::get</a>(Args.size(), Attrs));
+<a name="l00862"></a>00862       }
+<a name="l00863"></a>00863 
+<a name="l00864"></a>00864     <span class="comment">// Push any varargs arguments on the list. Don't forget their attributes.</span>
+<a name="l00865"></a>00865     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1CallSiteBase.html#a9c293af587813d72fdc976697dd07f23">CallSite::arg_iterator</a> E = CS.arg_end(); I != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, ++i) {
+<a name="l00866"></a>00866       Args.push_back(*I);
+<a name="l00867"></a>00867       <a class="code" href="classllvm_1_1Attributes.html" title="Attributes - A bitset of attributes.">Attributes</a> Attrs = CallPAL.<a class="code" href="classllvm_1_1AttrListPtr.html#a3e508c92ff04476e16c9738dc2197e73">getParamAttributes</a>(i + 1);
+<a name="l00868"></a>00868       <span class="keywordflow">if</span> (Attrs.<a class="code" href="classllvm_1_1Attributes.html#ac0393170c2b76cd5e9035225d5acf2f3" title="Return true if attributes exist.">hasAttributes</a>())
+<a name="l00869"></a>00869         AttributesVec.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="structllvm_1_1AttributeWithIndex.html#ab2c694b0c09cd5c1b50c88b6bc84053e">AttributeWithIndex::get</a>(Args.size(), Attrs));
+<a name="l00870"></a>00870     }
+<a name="l00871"></a>00871 
+<a name="l00872"></a>00872     <span class="keywordflow">if</span> (FnAttrs.<a class="code" href="classllvm_1_1Attributes.html#ac0393170c2b76cd5e9035225d5acf2f3" title="Return true if attributes exist.">hasAttributes</a>())
+<a name="l00873"></a>00873       AttributesVec.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(<a class="code" href="structllvm_1_1AttributeWithIndex.html#ab2c694b0c09cd5c1b50c88b6bc84053e">AttributeWithIndex::get</a>(<a class="code" href="classllvm_1_1AttrListPtr.html#ae891c2fafc52690f5192fd14b7d92866aa0ca5b17b28c0c286bc17f82606d5129">AttrListPtr::FunctionIndex</a>,
+<a name="l00874"></a>00874                                                       FnAttrs));
+<a name="l00875"></a>00875 
+<a name="l00876"></a>00876     <span class="comment">// Reconstruct the AttributesList based on the vector we constructed.</span>
+<a name="l00877"></a>00877     <a class="code" href="classllvm_1_1AttrListPtr.html">AttrListPtr</a> NewCallPAL = <a class="code" href="classllvm_1_1AttrListPtr.html#a441f1b8947965a28166f853d9bdcc0c4" title="get - Return a Attributes list with the specified parameters in it.">AttrListPtr::get</a>(F-><a class="code" href="classllvm_1_1Function.html#a2da53ac53516a3f16191f4c8a8eaa3e5">getContext</a>(), AttributesVec);
+<a name="l00878"></a>00878 
+<a name="l00879"></a>00879     <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *New;
+<a name="l00880"></a>00880     <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1InvokeInst.html">InvokeInst</a> *II = dyn_cast<InvokeInst>(Call)) {
+<a name="l00881"></a>00881       New = <a class="code" href="classllvm_1_1InvokeInst.html#a03007b982a936464f7116e3c47df89ee">InvokeInst::Create</a>(NF, II->getNormalDest(), II->getUnwindDest(),
+<a name="l00882"></a>00882                                Args, <span class="stringliteral">""</span>, <a class="code" href="namespacellvm.html#af6d6a791770bad2303c4399986979e3eae411369b2f0d8f484fec62c3291b1b51">Call</a>);
+<a name="l00883"></a>00883       cast<InvokeInst>(New)->setCallingConv(CS.getCallingConv());
+<a name="l00884"></a>00884       cast<InvokeInst>(New)->setAttributes(NewCallPAL);
+<a name="l00885"></a>00885     } <span class="keywordflow">else</span> {
+<a name="l00886"></a>00886       New = <a class="code" href="classllvm_1_1CallInst.html#a861226dd056dd2438da26760b8e7a9a0">CallInst::Create</a>(NF, Args, <span class="stringliteral">""</span>, Call);
+<a name="l00887"></a>00887       cast<CallInst>(New)->setCallingConv(CS.getCallingConv());
+<a name="l00888"></a>00888       cast<CallInst>(New)->setAttributes(NewCallPAL);
+<a name="l00889"></a>00889       <span class="keywordflow">if</span> (cast<CallInst>(Call)->isTailCall())
+<a name="l00890"></a>00890         cast<CallInst>(New)->setTailCall();
+<a name="l00891"></a>00891     }
+<a name="l00892"></a>00892     New->setDebugLoc(Call->getDebugLoc());
+<a name="l00893"></a>00893 
+<a name="l00894"></a>00894     Args.clear();
+<a name="l00895"></a>00895 
+<a name="l00896"></a>00896     <span class="keywordflow">if</span> (!Call->use_empty()) {
+<a name="l00897"></a>00897       <span class="keywordflow">if</span> (New->getType() == Call->getType()) {
+<a name="l00898"></a>00898         <span class="comment">// Return type not changed? Just replace users then.</span>
+<a name="l00899"></a>00899         Call->replaceAllUsesWith(New);
+<a name="l00900"></a>00900         New->takeName(Call);
+<a name="l00901"></a>00901       } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (New->getType()->isVoidTy()) {
+<a name="l00902"></a>00902         <span class="comment">// Our return value has uses, but they will get removed later on.</span>
+<a name="l00903"></a>00903         <span class="comment">// Replace by null for now.</span>
+<a name="l00904"></a>00904         <span class="keywordflow">if</span> (!Call->getType()->isX86_MMXTy())
+<a name="l00905"></a>00905           Call->replaceAllUsesWith(<a class="code" href="classllvm_1_1Constant.html#aa6574d526b3e38a28f688a7bb4325c2c">Constant::getNullValue</a>(Call->getType()));
+<a name="l00906"></a>00906       } <span class="keywordflow">else</span> {
+<a name="l00907"></a>00907         assert(RetTy-><a class="code" href="classllvm_1_1Type.html#aed87738661d539150b3fc4bb46e36aa3">isStructTy</a>() &&
+<a name="l00908"></a>00908                <span class="stringliteral">"Return type changed, but not into a void. The old return type"</span>
+<a name="l00909"></a>00909                <span class="stringliteral">" must have been a struct!"</span>);
+<a name="l00910"></a>00910         <a class="code" href="classllvm_1_1Instruction.html">Instruction</a> *InsertPt = <a class="code" href="namespacellvm.html#af6d6a791770bad2303c4399986979e3eae411369b2f0d8f484fec62c3291b1b51">Call</a>;
+<a name="l00911"></a>00911         <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1InvokeInst.html">InvokeInst</a> *II = dyn_cast<InvokeInst>(Call)) {
+<a name="l00912"></a>00912           <a class="code" href="classllvm_1_1ilist__iterator.html">BasicBlock::iterator</a> IP = II->getNormalDest()->begin();
+<a name="l00913"></a>00913           <span class="keywordflow">while</span> (isa<PHINode>(IP)) ++IP;
+<a name="l00914"></a>00914           InsertPt = IP;
+<a name="l00915"></a>00915         }
+<a name="l00916"></a>00916 
+<a name="l00917"></a>00917         <span class="comment">// We used to return a struct. Instead of doing smart stuff with all the</span>
+<a name="l00918"></a>00918         <span class="comment">// uses of this struct, we will just rebuild it using</span>
+<a name="l00919"></a>00919         <span class="comment">// extract/insertvalue chaining and let instcombine clean that up.</span>
+<a name="l00920"></a>00920         <span class="comment">//</span>
+<a name="l00921"></a>00921         <span class="comment">// Start out building up our return value from undef</span>
+<a name="l00922"></a>00922         <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *RetVal = <a class="code" href="classllvm_1_1UndefValue.html#a4ae5ff22b700a42bcc5d889233721335">UndefValue::get</a>(RetTy);
+<a name="l00923"></a>00923         <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != RetCount; ++i)
+<a name="l00924"></a>00924           <span class="keywordflow">if</span> (NewRetIdxs[i] != -1) {
+<a name="l00925"></a>00925             <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *V;
+<a name="l00926"></a>00926             <span class="keywordflow">if</span> (RetTypes.size() > 1)
+<a name="l00927"></a>00927               <span class="comment">// We are still returning a struct, so extract the value from our</span>
+<a name="l00928"></a>00928               <span class="comment">// return value</span>
+<a name="l00929"></a>00929               V = <a class="code" href="classllvm_1_1ExtractValueInst.html#a8e7f8107cfcd8c4f169185e70a3d64ff">ExtractValueInst::Create</a>(New, NewRetIdxs[i], <span class="stringliteral">"newret"</span>,
+<a name="l00930"></a>00930                                            InsertPt);
+<a name="l00931"></a>00931             <span class="keywordflow">else</span>
+<a name="l00932"></a>00932               <span class="comment">// We are now returning a single element, so just insert that</span>
+<a name="l00933"></a>00933               V = New;
+<a name="l00934"></a>00934             <span class="comment">// Insert the value at the old position</span>
+<a name="l00935"></a>00935             RetVal = <a class="code" href="classllvm_1_1InsertValueInst.html#a6df8a5db1907e4cfed3029c0c786a40b">InsertValueInst::Create</a>(RetVal, V, i, <span class="stringliteral">"oldret"</span>, InsertPt);
+<a name="l00936"></a>00936           }
+<a name="l00937"></a>00937         <span class="comment">// Now, replace all uses of the old call instruction with the return</span>
+<a name="l00938"></a>00938         <span class="comment">// struct we built</span>
+<a name="l00939"></a>00939         Call->replaceAllUsesWith(RetVal);
+<a name="l00940"></a>00940         New->takeName(Call);
+<a name="l00941"></a>00941       }
+<a name="l00942"></a>00942     }
+<a name="l00943"></a>00943 
+<a name="l00944"></a>00944     <span class="comment">// Finally, remove the old call from the program, reducing the use-count of</span>
+<a name="l00945"></a>00945     <span class="comment">// F.</span>
+<a name="l00946"></a>00946     Call->eraseFromParent();
+<a name="l00947"></a>00947   }
+<a name="l00948"></a>00948 
+<a name="l00949"></a>00949   <span class="comment">// Since we have now created the new function, splice the body of the old</span>
+<a name="l00950"></a>00950   <span class="comment">// function right into the new function, leaving the old rotting hulk of the</span>
+<a name="l00951"></a>00951   <span class="comment">// function empty.</span>
+<a name="l00952"></a>00952   NF-><a class="code" href="classllvm_1_1Function.html#a4d34a40b2667246539b80589adf2028e">getBasicBlockList</a>().splice(NF-><a class="code" href="classllvm_1_1Function.html#a88a5e60837674780a9d812d661897ac5">begin</a>(), F-><a class="code" href="classllvm_1_1Function.html#a4d34a40b2667246539b80589adf2028e">getBasicBlockList</a>());
+<a name="l00953"></a>00953 
+<a name="l00954"></a>00954   <span class="comment">// Loop over the argument list, transferring uses of the old arguments over to</span>
+<a name="l00955"></a>00955   <span class="comment">// the new arguments, also transferring over the names as well.</span>
+<a name="l00956"></a>00956   i = 0;
+<a name="l00957"></a>00957   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Function::arg_iterator</a> I = F-><a class="code" href="classllvm_1_1Function.html#a8bf193a781a92cae52d7f9216d0824f8">arg_begin</a>(), E = F-><a class="code" href="classllvm_1_1Function.html#a8300ac1ef141b8a7c63c13fa9369d976">arg_end</a>(),
+<a name="l00958"></a>00958        I2 = NF-><a class="code" href="classllvm_1_1Function.html#a8bf193a781a92cae52d7f9216d0824f8">arg_begin</a>(); I != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, ++i)
+<a name="l00959"></a>00959     <span class="keywordflow">if</span> (ArgAlive[i]) {
+<a name="l00960"></a>00960       <span class="comment">// If this is a live argument, move the name and users over to the new</span>
+<a name="l00961"></a>00961       <span class="comment">// version.</span>
+<a name="l00962"></a>00962       I->replaceAllUsesWith(I2);
+<a name="l00963"></a>00963       I2->takeName(I);
+<a name="l00964"></a>00964       ++I2;
+<a name="l00965"></a>00965     } <span class="keywordflow">else</span> {
+<a name="l00966"></a>00966       <span class="comment">// If this argument is dead, replace any uses of it with null constants</span>
+<a name="l00967"></a>00967       <span class="comment">// (these are guaranteed to become unused later on).</span>
+<a name="l00968"></a>00968       <span class="keywordflow">if</span> (!I->getType()->isX86_MMXTy())
+<a name="l00969"></a>00969         I->replaceAllUsesWith(<a class="code" href="classllvm_1_1Constant.html#aa6574d526b3e38a28f688a7bb4325c2c">Constant::getNullValue</a>(I->getType()));
+<a name="l00970"></a>00970     }
+<a name="l00971"></a>00971 
+<a name="l00972"></a>00972   <span class="comment">// If we change the return value of the function we must rewrite any return</span>
+<a name="l00973"></a>00973   <span class="comment">// instructions.  Check this now.</span>
+<a name="l00974"></a>00974   <span class="keywordflow">if</span> (F-><a class="code" href="classllvm_1_1Function.html#a26ccf11b81c01a45cb40137c775f7cad">getReturnType</a>() != NF-><a class="code" href="classllvm_1_1Function.html#a26ccf11b81c01a45cb40137c775f7cad">getReturnType</a>())
+<a name="l00975"></a>00975     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Function::iterator</a> BB = NF-><a class="code" href="classllvm_1_1Function.html#a88a5e60837674780a9d812d661897ac5">begin</a>(), E = NF-><a class="code" href="classllvm_1_1Function.html#ae4ca2261b8b901e415fda7feac5051ea">end</a>(); BB != E; ++BB)
+<a name="l00976"></a>00976       <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1ReturnInst.html">ReturnInst</a> *RI = dyn_cast<ReturnInst>(BB->getTerminator())) {
+<a name="l00977"></a>00977         <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *RetVal;
+<a name="l00978"></a>00978 
+<a name="l00979"></a>00979         <span class="keywordflow">if</span> (NFTy->getReturnType()->isVoidTy()) {
+<a name="l00980"></a>00980           RetVal = 0;
+<a name="l00981"></a>00981         } <span class="keywordflow">else</span> {
+<a name="l00982"></a>00982           assert (RetTy-><a class="code" href="classllvm_1_1Type.html#aed87738661d539150b3fc4bb46e36aa3">isStructTy</a>());
+<a name="l00983"></a>00983           <span class="comment">// The original return value was a struct, insert</span>
+<a name="l00984"></a>00984           <span class="comment">// extractvalue/insertvalue chains to extract only the values we need</span>
+<a name="l00985"></a>00985           <span class="comment">// to return and insert them into our new result.</span>
+<a name="l00986"></a>00986           <span class="comment">// This does generate messy code, but we'll let it to instcombine to</span>
+<a name="l00987"></a>00987           <span class="comment">// clean that up.</span>
+<a name="l00988"></a>00988           <a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> *OldRet = RI->getOperand(0);
+<a name="l00989"></a>00989           <span class="comment">// Start out building up our return value from undef</span>
+<a name="l00990"></a>00990           RetVal = <a class="code" href="classllvm_1_1UndefValue.html#a4ae5ff22b700a42bcc5d889233721335">UndefValue::get</a>(NRetTy);
+<a name="l00991"></a>00991           <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i != RetCount; ++i)
+<a name="l00992"></a>00992             <span class="keywordflow">if</span> (NewRetIdxs[i] != -1) {
+<a name="l00993"></a>00993               <a class="code" href="classllvm_1_1ExtractValueInst.html">ExtractValueInst</a> *EV = <a class="code" href="classllvm_1_1ExtractValueInst.html#a8e7f8107cfcd8c4f169185e70a3d64ff">ExtractValueInst::Create</a>(OldRet, i,
+<a name="l00994"></a>00994                                                               <span class="stringliteral">"oldret"</span>, RI);
+<a name="l00995"></a>00995               <span class="keywordflow">if</span> (RetTypes.size() > 1) {
+<a name="l00996"></a>00996                 <span class="comment">// We're still returning a struct, so reinsert the value into</span>
+<a name="l00997"></a>00997                 <span class="comment">// our new return value at the new index</span>
+<a name="l00998"></a>00998 
+<a name="l00999"></a>00999                 RetVal = <a class="code" href="classllvm_1_1InsertValueInst.html#a6df8a5db1907e4cfed3029c0c786a40b">InsertValueInst::Create</a>(RetVal, EV, NewRetIdxs[i],
+<a name="l01000"></a>01000                                                  <span class="stringliteral">"newret"</span>, RI);
+<a name="l01001"></a>01001               } <span class="keywordflow">else</span> {
+<a name="l01002"></a>01002                 <span class="comment">// We are now only returning a simple value, so just return the</span>
+<a name="l01003"></a>01003                 <span class="comment">// extracted value.</span>
+<a name="l01004"></a>01004                 RetVal = EV;
+<a name="l01005"></a>01005               }
+<a name="l01006"></a>01006             }
+<a name="l01007"></a>01007         }
+<a name="l01008"></a>01008         <span class="comment">// Replace the return instruction with one returning the new return</span>
+<a name="l01009"></a>01009         <span class="comment">// value (possibly 0 if we became void).</span>
+<a name="l01010"></a>01010         <a class="code" href="classllvm_1_1ReturnInst.html#ace9225fc27f77c5078f56027ed5421a6">ReturnInst::Create</a>(F-><a class="code" href="classllvm_1_1Function.html#a2da53ac53516a3f16191f4c8a8eaa3e5">getContext</a>(), RetVal, RI);
+<a name="l01011"></a>01011         BB->getInstList().erase(RI);
+<a name="l01012"></a>01012       }
+<a name="l01013"></a>01013 
+<a name="l01014"></a>01014   <span class="comment">// Patch the pointer to LLVM function in debug info descriptor.</span>
+<a name="l01015"></a>01015   FunctionDIMap::iterator DI = FunctionDIs.find(F);
+<a name="l01016"></a>01016   <span class="keywordflow">if</span> (DI != FunctionDIs.end())
+<a name="l01017"></a>01017     DI->second.replaceFunction(NF);
+<a name="l01018"></a>01018 
+<a name="l01019"></a>01019   <span class="comment">// Now that the old function is dead, delete it.</span>
+<a name="l01020"></a>01020   F-><a class="code" href="classllvm_1_1Function.html#a8969dec86d24dd579f8ecc963e1dc8b4">eraseFromParent</a>();
+<a name="l01021"></a>01021 
+<a name="l01022"></a>01022   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l01023"></a>01023 }
+<a name="l01024"></a>01024 
+<a name="l01025"></a>01025 <span class="keywordtype">bool</span> DAE::runOnModule(<a class="code" href="classllvm_1_1Module.html" title="The main container class for the LLVM Intermediate Representation.">Module</a> &M) {
+<a name="l01026"></a>01026   <span class="keywordtype">bool</span> Changed = <span class="keyword">false</span>;
+<a name="l01027"></a>01027 
+<a name="l01028"></a>01028   <span class="comment">// Collect debug info descriptors for functions.</span>
+<a name="l01029"></a>01029   CollectFunctionDIs(M);
+<a name="l01030"></a>01030 
+<a name="l01031"></a>01031   <span class="comment">// First pass: Do a simple check to see if any functions can have their "..."</span>
+<a name="l01032"></a>01032   <span class="comment">// removed.  We can do this if they never call va_start.  This loop cannot be</span>
+<a name="l01033"></a>01033   <span class="comment">// fused with the next loop, because deleting a function invalidates</span>
+<a name="l01034"></a>01034   <span class="comment">// information computed while surveying other functions.</span>
+<a name="l01035"></a>01035   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"DAE - Deleting dead varargs\n"</span>);
+<a name="l01036"></a>01036   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Module::iterator</a> I = M.<a class="code" href="classllvm_1_1Module.html#a279174d137c1ef32aa5b627f5e06620f">begin</a>(), E = M.<a class="code" href="classllvm_1_1Module.html#aa608a2d900dd6c15c18f4236b6548496">end</a>(); I != E; ) {
+<a name="l01037"></a>01037     <a class="code" href="classllvm_1_1Function.html">Function</a> &F = *I++;
+<a name="l01038"></a>01038     <span class="keywordflow">if</span> (F.<a class="code" href="classllvm_1_1Function.html#adf66d58e85fb4e46e9c1ae55186a6930">getFunctionType</a>()-><a class="code" href="classllvm_1_1FunctionType.html#ab9b67f93a2231970abb3d95636660ffc">isVarArg</a>())
+<a name="l01039"></a>01039       Changed |= DeleteDeadVarargs(F);
+<a name="l01040"></a>01040   }
+<a name="l01041"></a>01041 
+<a name="l01042"></a>01042   <span class="comment">// Second phase:loop through the module, determining which arguments are live.</span>
+<a name="l01043"></a>01043   <span class="comment">// We assume all arguments are dead unless proven otherwise (allowing us to</span>
+<a name="l01044"></a>01044   <span class="comment">// determine that dead arguments passed into recursive functions are dead).</span>
+<a name="l01045"></a>01045   <span class="comment">//</span>
+<a name="l01046"></a>01046   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"DAE - Determining liveness\n"</span>);
+<a name="l01047"></a>01047   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Module::iterator</a> I = M.<a class="code" href="classllvm_1_1Module.html#a279174d137c1ef32aa5b627f5e06620f">begin</a>(), E = M.<a class="code" href="classllvm_1_1Module.html#aa608a2d900dd6c15c18f4236b6548496">end</a>(); I != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)
+<a name="l01048"></a>01048     SurveyFunction(*I);
+<a name="l01049"></a>01049 
+<a name="l01050"></a>01050   <span class="comment">// Now, remove all dead arguments and return values from each function in</span>
+<a name="l01051"></a>01051   <span class="comment">// turn.</span>
+<a name="l01052"></a>01052   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Module::iterator</a> I = M.<a class="code" href="classllvm_1_1Module.html#a279174d137c1ef32aa5b627f5e06620f">begin</a>(), E = M.<a class="code" href="classllvm_1_1Module.html#aa608a2d900dd6c15c18f4236b6548496">end</a>(); I != E; ) {
+<a name="l01053"></a>01053     <span class="comment">// Increment now, because the function will probably get removed (ie.</span>
+<a name="l01054"></a>01054     <span class="comment">// replaced by a new one).</span>
+<a name="l01055"></a>01055     <a class="code" href="classllvm_1_1Function.html">Function</a> *F = I++;
+<a name="l01056"></a>01056     Changed |= RemoveDeadStuffFromFunction(F);
+<a name="l01057"></a>01057   }
+<a name="l01058"></a>01058 
+<a name="l01059"></a>01059   <span class="comment">// Finally, look for any unused parameters in functions with non-local</span>
+<a name="l01060"></a>01060   <span class="comment">// linkage and replace the passed in parameters with undef.</span>
+<a name="l01061"></a>01061   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ilist__iterator.html">Module::iterator</a> I = M.<a class="code" href="classllvm_1_1Module.html#a279174d137c1ef32aa5b627f5e06620f">begin</a>(), E = M.<a class="code" href="classllvm_1_1Module.html#aa608a2d900dd6c15c18f4236b6548496">end</a>(); I != E; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>) {
+<a name="l01062"></a>01062     <a class="code" href="classllvm_1_1Function.html">Function</a>& F = *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>;
+<a name="l01063"></a>01063 
+<a name="l01064"></a>01064     Changed |= RemoveDeadArgumentsFromCallers(F);
+<a name="l01065"></a>01065   }
+<a name="l01066"></a>01066 
+<a name="l01067"></a>01067   <span class="keywordflow">return</span> Changed;
+<a name="l01068"></a>01068 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33: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/DebugInfo_8cpp__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DebugInfo_8cpp__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DebugInfo_8cpp__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DebugInfo_8cpp__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,176 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DebugInfo.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/DebugInfo.h",height=0.2,width=0.4,color="black",URL="$DebugInfo_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="red",URL="$SmallVector_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_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="red",URL="$DataTypes_8h.html"];
+  Node7 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="llvm/ADT/SmallPtrSet.h",height=0.2,width=0.4,color="black",URL="$SmallPtrSet_8h.html"];
+  Node15 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="llvm/Support/PointerLikeTypeTraits.h",height=0.2,width=0.4,color="black",URL="$PointerLikeTypeTraits_8h.html"];
+  Node16 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="red",URL="$StringRef_8h.html"];
+  Node17 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node17 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="llvm/Support/Dwarf.h",height=0.2,width=0.4,color="black",URL="$Dwarf_8h.html"];
+  Node1 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="llvm/Constants.h",height=0.2,width=0.4,color="black",URL="$Constants_8h.html"];
+  Node20 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/Constant.h",height=0.2,width=0.4,color="red",URL="$Constant_8h.html"];
+  Node20 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="llvm/OperandTraits.h",height=0.2,width=0.4,color="red",URL="$OperandTraits_8h.html"];
+  Node20 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="llvm/ADT/APInt.h",height=0.2,width=0.4,color="red",URL="$APInt_8h.html"];
+  Node23 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="llvm/ADT/ArrayRef.h",height=0.2,width=0.4,color="black",URL="$ArrayRef_8h.html"];
+  Node24 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node23 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/ADT/APFloat.h",height=0.2,width=0.4,color="black",URL="$APFloat_8h.html"];
+  Node26 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/DerivedTypes.h",height=0.2,width=0.4,color="black",URL="$DerivedTypes_8h.html"];
+  Node27 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="llvm/Type.h",height=0.2,width=0.4,color="red",URL="$Type_8h.html"];
+  Node28 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/Intrinsics.h",height=0.2,width=0.4,color="black",URL="$Intrinsics_8h.html"];
+  Node29 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/Intrinsics.gen",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/IntrinsicInst.h",height=0.2,width=0.4,color="black",URL="$IntrinsicInst_8h.html"];
+  Node31 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/Function.h",height=0.2,width=0.4,color="red",URL="$Function_8h.html"];
+  Node32 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/CallingConv.h",height=0.2,width=0.4,color="black",URL="$CallingConv_8h.html"];
+  Node32 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/Attributes.h",height=0.2,width=0.4,color="red",URL="$Attributes_8h.html"];
+  Node34 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/Instructions.h",height=0.2,width=0.4,color="black",URL="$Instructions_8h.html"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/InstrTypes.h",height=0.2,width=0.4,color="red",URL="$InstrTypes_8h.html"];
+  Node36 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/Support/IntegersSubset.h",height=0.2,width=0.4,color="red",URL="$IntegersSubset_8h.html"];
+  Node37 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/Support/IntegersSubsetMapping.h",height=0.2,width=0.4,color="red",URL="$IntegersSubsetMapping_8h.html"];
+  Node38 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node39 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/Module.h",height=0.2,width=0.4,color="black",URL="$Module_8h.html"];
+  Node40 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/GlobalVariable.h",height=0.2,width=0.4,color="red",URL="$GlobalVariable_8h.html"];
+  Node41 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/GlobalAlias.h",height=0.2,width=0.4,color="red",URL="$GlobalAlias_8h.html"];
+  Node42 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/Metadata.h",height=0.2,width=0.4,color="red",URL="$Metadata_8h.html"];
+  Node43 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/ADT/OwningPtr.h",height=0.2,width=0.4,color="black",URL="$OwningPtr_8h.html"];
+  Node44 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/Analysis/ValueTracking.h",height=0.2,width=0.4,color="black",URL="$ValueTracking_8h.html"];
+  Node45 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/ADT/SmallString.h",height=0.2,width=0.4,color="black",URL="$SmallString_8h.html"];
+  Node46 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> 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 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="functional",height=0.2,width=0.4,color="grey75"];
+  Node47 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/Support/Debug.h",height=0.2,width=0.4,color="black",URL="$Debug_8h.html"];
+  Node1 -> Node19 [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 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DefaultPasses_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DefaultPasses_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DefaultPasses_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DefaultPasses_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,83 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DefaultPasses.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/PassSupport.h",height=0.2,width=0.4,color="black",URL="$PassSupport_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="Pass.h",height=0.2,width=0.4,color="black",URL="$Pass_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="string",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="llvm/PassAnalysisSupport.h",height=0.2,width=0.4,color="black",URL="$PassAnalysisSupport_8h.html"];
+  Node6 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="black",URL="$SmallVector_8h.html"];
+  Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_8h.html"];
+  Node8 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_8h.html"];
+  Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node11 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node11 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node11 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node11 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="memory",height=0.2,width=0.4,color="grey75"];
+  Node6 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node23 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node23 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/PassRegistry.h",height=0.2,width=0.4,color="black",URL="$PassRegistry_8h.html"];
+  Node26 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/InitializePasses.h",height=0.2,width=0.4,color="black",URL="$InitializePasses_8h.html"];
+  Node2 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="llvm/Support/Atomic.h",height=0.2,width=0.4,color="black",URL="$Atomic_8h.html"];
+  Node28 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/Support/Valgrind.h",height=0.2,width=0.4,color="black",URL="$Valgrind_8h.html"];
+  Node29 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/Config/llvm-config.h",height=0.2,width=0.4,color="black",URL="$llvm-config_8h.html"];
+  Node29 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="stddef.h",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DeltaAlgorithm_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DeltaAlgorithm_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DeltaAlgorithm_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DeltaAlgorithm_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,3 @@
+<map id="G" name="G">
+<area shape="rect" href="$DeltaAlgorithm_8h.html" title="llvm/ADT/DeltaAlgorithm.h" alt="" coords="5,84,195,111"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DemoteRegToStack_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DemoteRegToStack_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DemoteRegToStack_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DemoteRegToStack_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,43 @@
+<map id="G" name="G">
+<area shape="rect" href="$Local_8h.html" title="llvm/Transforms/Utils/Local.h" alt="" coords="1143,84,1345,111"/>
+<area shape="rect" href="$Instructions_8h.html" title="llvm/Instructions.h" alt="" coords="2273,239,2409,265"/>
+<area shape="rect" href="$Type_8h.html" title="llvm/Type.h" alt="" coords="928,548,1019,575"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="744,703,904,729"/>
+<area shape="rect" href="$Function_8h.html" title="llvm/Function.h" alt="" coords="2196,393,2311,420"/>
+<area shape="rect" href="$IRBuilder_8h.html" title="llvm/IRBuilder.h" alt="" coords="1780,161,1897,188"/>
+<area shape="rect" href="$DataLayout_8h.html" title="llvm/DataLayout.h" alt="" coords="1148,625,1284,652"/>
+<area shape="rect" href="$Operator_8h.html" title="llvm/Operator.h" alt="" coords="1504,393,1624,420"/>
+<area shape="rect" href="$GetElementPtrTypeIterator_8h.html" title="llvm/Support/GetElementPtrTypeIterator.h" alt="" coords="1195,393,1480,420"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="963,780,1112,807"/>
+<area shape="rect" href="$Twine_8h.html" title="llvm/ADT/Twine.h" alt="" coords="1317,625,1443,652"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="2225,625,2369,652"/>
+<area shape="rect" href="$LLVMContext_8h.html" title="llvm/LLVMContext.h" alt="" coords="2805,471,2952,497"/>
+<area shape="rect" href="$BasicBlock_8h.html" title="llvm/BasicBlock.h" alt="" coords="1619,471,1749,497"/>
+<area shape="rect" href="$ConstantFolder_8h.html" title="llvm/Support/ConstantFolder.h" alt="" coords="1732,316,1945,343"/>
+<area shape="rect" href="$InstrTypes_8h.html" title="llvm/InstrTypes.h" alt="" coords="1699,393,1824,420"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1432,703,1637,729"/>
+<area shape="rect" href="$DerivedTypes_8h.html" title="llvm/DerivedTypes.h" alt="" coords="1347,471,1493,497"/>
+<area shape="rect" href="$Attributes_8h.html" title="llvm/Attributes.h" alt="" coords="2235,548,2360,575"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1840,703,2008,729"/>
+<area shape="rect" href="$CallingConv_8h.html" title="llvm/CallingConv.h" alt="" coords="2341,471,2477,497"/>
+<area shape="rect" href="$IntegersSubset_8h.html" title="llvm/Support/IntegersSubset.h" alt="" coords="1956,393,2172,420"/>
+<area shape="rect" href="$IntegersSubsetMapping_8h.html" title="llvm/Support/IntegersSubsetMapping.h" alt="" coords="2121,316,2391,343"/>
+<area shape="rect" href="$Instruction_8h.html" title="llvm/Instruction.h" alt="" coords="1360,548,1491,575"/>
+<area shape="rect" href="$User_8h.html" title="llvm/User.h" alt="" coords="1489,625,1580,652"/>
+<area shape="rect" href="$Value_8h.html" title="llvm/Value.h" alt="" coords="1664,703,1763,729"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2191,857,2364,884"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="701,857,888,884"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="65,935,249,961"/>
+<area shape="rect" href="$Casting_8h.html" title="llvm/Support/Casting.h" alt="" coords="1187,780,1352,807"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="1477,780,1667,807"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="1843,780,2005,807"/>
+<area shape="rect" href="$Constants_8h.html" title="llvm/Constants.h" alt="" coords="1773,471,1901,497"/>
+<area shape="rect" href="$Constant_8h.html" title="llvm/Constant.h" alt="" coords="1939,548,2059,575"/>
+<area shape="rect" href="$SymbolTableListTraits_8h.html" title="llvm/SymbolTableListTraits.h" alt="" coords="1717,548,1915,575"/>
+<area shape="rect" href="$ilist_8h.html" title="llvm/ADT/ilist.h" alt="" coords="2380,703,2495,729"/>
+<area shape="rect" href="$Pass_8h.html" title="llvm/Pass.h" alt="" coords="2124,703,2215,729"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="289,857,537,884"/>
+<area shape="rect" href="$DenseMapInfo_8h.html" title="llvm/ADT/DenseMapInfo.h" alt="" coords="451,780,635,807"/>
+<area shape="rect" href="$GlobalValue_8h.html" title="llvm/GlobalValue.h" alt="" coords="1925,471,2064,497"/>
+<area shape="rect" href="$Argument_8h.html" title="llvm/Argument.h" alt="" coords="2088,471,2216,497"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,5 @@
+<map id="G" name="G">
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="51,84,299,111"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="323,84,509,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/DenseMapInfo_8h__incl.md5
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h__incl.md5?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h__incl.md5 (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h__incl.md5 Fri Dec 21 00:57:24 2012
@@ -0,0 +1 @@
+7387f3af1953b455709bf1871a15695c
\ No newline at end of file

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DenseMapInfo_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,224 @@
+<!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: DenseMapInfo.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_5760af5717174facf3d4fa63878994a9.html">ADT</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DenseMapInfo.h</div>  </div>
+</div>
+<div class="contents">
+<a href="DenseMapInfo_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/ADT/DenseMapInfo.h - Type traits for DenseMap -------*- 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 DenseMapInfo traits for DenseMap.</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_ADT_DENSEMAPINFO_H</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define LLVM_ADT_DENSEMAPINFO_H</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="PointerLikeTypeTraits_8h.html">llvm/Support/PointerLikeTypeTraits.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="type__traits_8h.html">llvm/Support/type_traits.h</a>"</span>
+<a name="l00019"></a>00019 
+<a name="l00020"></a>00020 <span class="keyword">namespace </span>llvm {
+<a name="l00021"></a>00021 
+<a name="l00022"></a>00022 <span class="keyword">template</span><<span class="keyword">typename</span> T>
+<a name="l00023"></a><a class="code" href="structllvm_1_1DenseMapInfo.html">00023</a> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a> {
+<a name="l00024"></a>00024   <span class="comment">//static inline T getEmptyKey();</span>
+<a name="l00025"></a>00025   <span class="comment">//static inline T getTombstoneKey();</span>
+<a name="l00026"></a>00026   <span class="comment">//static unsigned getHashValue(const T &Val);</span>
+<a name="l00027"></a>00027   <span class="comment">//static bool isEqual(const T &LHS, const T &RHS);</span>
+<a name="l00028"></a>00028 };
+<a name="l00029"></a>00029 
+<a name="l00030"></a>00030 <span class="comment">// Provide DenseMapInfo for all pointers.</span>
+<a name="l00031"></a>00031 <span class="keyword">template</span><<span class="keyword">typename</span> T>
+<a name="l00032"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01T_01_5_01_4.html">00032</a> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><T*> {
+<a name="l00033"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01T_01_5_01_4.html#af9e0a47445192f1d977502ee31fb2c4d">00033</a>   <span class="keyword">static</span> <span class="keyword">inline</span> T* <a class="code" href="structllvm_1_1DenseMapInfo_3_01T_01_5_01_4.html#af9e0a47445192f1d977502ee31fb2c4d">getEmptyKey</a>() {
+<a name="l00034"></a>00034     uintptr_t Val = <span class="keyword">static_cast<</span>uintptr_t<span class="keyword">></span>(-1);
+<a name="l00035"></a>00035     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
+<a name="l00036"></a>00036     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span>T*<span class="keyword">></span>(Val);
+<a name="l00037"></a>00037   }
+<a name="l00038"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01T_01_5_01_4.html#ab2077c91f82843acf259b5778d2c4a48">00038</a>   <span class="keyword">static</span> <span class="keyword">inline</span> T* <a class="code" href="structllvm_1_1DenseMapInfo_3_01T_01_5_01_4.html#ab2077c91f82843acf259b5778d2c4a48">getTombstoneKey</a>() {
+<a name="l00039"></a>00039     uintptr_t Val = <span class="keyword">static_cast<</span>uintptr_t<span class="keyword">></span>(-2);
+<a name="l00040"></a>00040     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
+<a name="l00041"></a>00041     <span class="keywordflow">return</span> <span class="keyword">reinterpret_cast<</span>T*<span class="keyword">></span>(Val);
+<a name="l00042"></a>00042   }
+<a name="l00043"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01T_01_5_01_4.html#aa891dfa7c7d769a8da2a6f55de9f8210">00043</a>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01T_01_5_01_4.html#aa891dfa7c7d769a8da2a6f55de9f8210">getHashValue</a>(<span class="keyword">const</span> T *PtrVal) {
+<a name="l00044"></a>00044     <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>((uintptr_t)PtrVal) >> 4) ^
+<a name="l00045"></a>00045            (<a class="code" href="classunsigned.html">unsigned</a>((uintptr_t)PtrVal) >> 9);
+<a name="l00046"></a>00046   }
+<a name="l00047"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01T_01_5_01_4.html#ad0f99ae7f5c0828bbf9296ca620d6cf2">00047</a>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01T_01_5_01_4.html#ad0f99ae7f5c0828bbf9296ca620d6cf2">isEqual</a>(<span class="keyword">const</span> T *LHS, <span class="keyword">const</span> T *RHS) { <span class="keywordflow">return</span> LHS == RHS; }
+<a name="l00048"></a>00048 };
+<a name="l00049"></a>00049 
+<a name="l00050"></a>00050 <span class="comment">// Provide DenseMapInfo for chars.</span>
+<a name="l00051"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01char_01_4.html">00051</a> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><<a class="code" href="classchar.html">char</a>> {
+<a name="l00052"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01char_01_4.html#a23e3c02bc0c882d34526d61daccf8ed5">00052</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">char</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01char_01_4.html#a23e3c02bc0c882d34526d61daccf8ed5">getEmptyKey</a>() { <span class="keywordflow">return</span> ~0; }
+<a name="l00053"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01char_01_4.html#af35b735d9d50efa3767bc8f67e9a9787">00053</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">char</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01char_01_4.html#af35b735d9d50efa3767bc8f67e9a9787">getTombstoneKey</a>() { <span class="keywordflow">return</span> ~0 - 1; }
+<a name="l00054"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01char_01_4.html#a98f8c74372c9264d0fa576162a51b830">00054</a>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01char_01_4.html#a98f8c74372c9264d0fa576162a51b830">getHashValue</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>& Val) { <span class="keywordflow">return</span> Val * 37U; }
+<a name="l00055"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01char_01_4.html#a21e52de186593db6b4473b9bbd5ce0d9">00055</a>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01char_01_4.html#a21e52de186593db6b4473b9bbd5ce0d9">isEqual</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> &LHS, <span class="keyword">const</span> <span class="keywordtype">char</span> &RHS) {
+<a name="l00056"></a>00056     <span class="keywordflow">return</span> LHS == RHS;
+<a name="l00057"></a>00057   }
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059   
+<a name="l00060"></a>00060 <span class="comment">// Provide DenseMapInfo for unsigned ints.</span>
+<a name="l00061"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01_4.html">00061</a> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><<a class="code" href="classunsigned.html">unsigned</a>> {
+<a name="l00062"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01_4.html#a85ec01cea8f6a476de7691453d26fe23">00062</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01_4.html#a85ec01cea8f6a476de7691453d26fe23">getEmptyKey</a>() { <span class="keywordflow">return</span> ~0U; }
+<a name="l00063"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01_4.html#a479a013c123439a282e5cc384105374a">00063</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01_4.html#a479a013c123439a282e5cc384105374a">getTombstoneKey</a>() { <span class="keywordflow">return</span> ~0U - 1; }
+<a name="l00064"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01_4.html#ac652da9ef145c9878da160af0b52c511">00064</a>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01_4.html#ac652da9ef145c9878da160af0b52c511">getHashValue</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span>& Val) { <span class="keywordflow">return</span> Val * 37U; }
+<a name="l00065"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01_4.html#a0baf48a66e8eaa8286cd20de0fae6445">00065</a>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01_4.html#a0baf48a66e8eaa8286cd20de0fae6445">isEqual</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span>& LHS, <span class="keyword">const</span> <span class="keywordtype">unsigned</span>& RHS) {
+<a name="l00066"></a>00066     <span class="keywordflow">return</span> LHS == RHS;
+<a name="l00067"></a>00067   }
+<a name="l00068"></a>00068 };
+<a name="l00069"></a>00069 
+<a name="l00070"></a>00070 <span class="comment">// Provide DenseMapInfo for unsigned longs.</span>
+<a name="l00071"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01_4.html">00071</a> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><<a class="code" href="classunsigned.html">unsigned</a> long> {
+<a name="l00072"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01_4.html#a58da9c0e6063076c7b554186824eb36d">00072</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01_4.html#a58da9c0e6063076c7b554186824eb36d">getEmptyKey</a>() { <span class="keywordflow">return</span> ~0UL; }
+<a name="l00073"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01_4.html#a88485d966ca88de4856d867c150a83f7">00073</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01_4.html#a88485d966ca88de4856d867c150a83f7">getTombstoneKey</a>() { <span class="keywordflow">return</span> ~0UL - 1L; }
+<a name="l00074"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01_4.html#a7959006a8f245a63d252d5f436c8c173">00074</a>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01_4.html#a7959006a8f245a63d252d5f436c8c173">getHashValue</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>& Val) {
+<a name="l00075"></a>00075     <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>)(Val * 37UL);
+<a name="l00076"></a>00076   }
+<a name="l00077"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01_4.html#a5035fb5ff59973059b644d5be122d73b">00077</a>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01_4.html#a5035fb5ff59973059b644d5be122d73b">isEqual</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>& LHS, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span>& RHS) {
+<a name="l00078"></a>00078     <span class="keywordflow">return</span> LHS == RHS;
+<a name="l00079"></a>00079   }
+<a name="l00080"></a>00080 };
+<a name="l00081"></a>00081 
+<a name="l00082"></a>00082 <span class="comment">// Provide DenseMapInfo for unsigned long longs.</span>
+<a name="l00083"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01long_01_4.html">00083</a> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><<a class="code" href="classunsigned.html">unsigned</a> long long> {
+<a name="l00084"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01long_01_4.html#a98e4774973ea44c2b19ad50b3465cc5e">00084</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01long_01_4.html#a98e4774973ea44c2b19ad50b3465cc5e">getEmptyKey</a>() { <span class="keywordflow">return</span> ~0ULL; }
+<a name="l00085"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01long_01_4.html#a19ec7b66c97f218cdadaed4d047483fd">00085</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01long_01_4.html#a19ec7b66c97f218cdadaed4d047483fd">getTombstoneKey</a>() { <span class="keywordflow">return</span> ~0ULL - 1ULL; }
+<a name="l00086"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01long_01_4.html#abe06c1c86bd37b7f5b407d7a64225964">00086</a>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01long_01_4.html#abe06c1c86bd37b7f5b407d7a64225964">getHashValue</a>(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>& Val) {
+<a name="l00087"></a>00087     <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>)(Val * 37ULL);
+<a name="l00088"></a>00088   }
+<a name="l00089"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01unsigned_01long_01long_01_4.html#a7055cdea1373330def5aea2cfdbc26ec">00089</a>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isEqual(<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>& LHS,
+<a name="l00090"></a>00090                       <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>& RHS) {
+<a name="l00091"></a>00091     <span class="keywordflow">return</span> LHS == RHS;
+<a name="l00092"></a>00092   }
+<a name="l00093"></a>00093 };
+<a name="l00094"></a>00094 
+<a name="l00095"></a>00095 <span class="comment">// Provide DenseMapInfo for ints.</span>
+<a name="l00096"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01int_01_4.html">00096</a> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><int> {
+<a name="l00097"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01int_01_4.html#a5cf2cf7b6ca5b18ddc705c46a73cf12a">00097</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01int_01_4.html#a5cf2cf7b6ca5b18ddc705c46a73cf12a">getEmptyKey</a>() { <span class="keywordflow">return</span> 0x7fffffff; }
+<a name="l00098"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01int_01_4.html#a274184e880d679b34763e26c63530334">00098</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01int_01_4.html#a274184e880d679b34763e26c63530334">getTombstoneKey</a>() { <span class="keywordflow">return</span> -0x7fffffff - 1; }
+<a name="l00099"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01int_01_4.html#ae5153f0cbb53ffdc0b38ca7bb2af1212">00099</a>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01int_01_4.html#ae5153f0cbb53ffdc0b38ca7bb2af1212">getHashValue</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>& Val) { <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>)(Val * 37U); }
+<a name="l00100"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01int_01_4.html#a7a1bf9b99673b478d869608ce9c2953a">00100</a>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01int_01_4.html#a7a1bf9b99673b478d869608ce9c2953a">isEqual</a>(<span class="keyword">const</span> <span class="keywordtype">int</span>& LHS, <span class="keyword">const</span> <span class="keywordtype">int</span>& RHS) {
+<a name="l00101"></a>00101     <span class="keywordflow">return</span> LHS == RHS;
+<a name="l00102"></a>00102   }
+<a name="l00103"></a>00103 };
+<a name="l00104"></a>00104 
+<a name="l00105"></a>00105 <span class="comment">// Provide DenseMapInfo for longs.</span>
+<a name="l00106"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01_4.html">00106</a> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><long> {
+<a name="l00107"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01_4.html#a6879c9dfe9a550ea019fed0fc8a5ca78">00107</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01_4.html#a6879c9dfe9a550ea019fed0fc8a5ca78">getEmptyKey</a>() {
+<a name="l00108"></a>00108     <span class="keywordflow">return</span> (1UL << (<span class="keyword">sizeof</span>(<span class="keywordtype">long</span>) * 8 - 1)) - 1UL;
+<a name="l00109"></a>00109   }
+<a name="l00110"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01_4.html#a997c9a86ad6b2a6ce914ac0e32ae76ec">00110</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">long</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01_4.html#a997c9a86ad6b2a6ce914ac0e32ae76ec">getTombstoneKey</a>() { <span class="keywordflow">return</span> getEmptyKey() - 1L; }
+<a name="l00111"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01_4.html#ad42c1e6d3a287de478eefedd1cf5ed52">00111</a>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01_4.html#ad42c1e6d3a287de478eefedd1cf5ed52">getHashValue</a>(<span class="keyword">const</span> <span class="keywordtype">long</span>& Val) {
+<a name="l00112"></a>00112     <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>)(Val * 37UL);
+<a name="l00113"></a>00113   }
+<a name="l00114"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01_4.html#a1c3263d3358675c5d98899905275e16a">00114</a>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01_4.html#a1c3263d3358675c5d98899905275e16a">isEqual</a>(<span class="keyword">const</span> <span class="keywordtype">long</span>& LHS, <span class="keyword">const</span> <span class="keywordtype">long</span>& RHS) {
+<a name="l00115"></a>00115     <span class="keywordflow">return</span> LHS == RHS;
+<a name="l00116"></a>00116   }
+<a name="l00117"></a>00117 };
+<a name="l00118"></a>00118 
+<a name="l00119"></a>00119 <span class="comment">// Provide DenseMapInfo for long longs.</span>
+<a name="l00120"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01long_01_4.html">00120</a> <span class="keyword">template</span><> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><long long> {
+<a name="l00121"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01long_01_4.html#aacfb8b7e43addbf56df34fb72580bb72">00121</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01long_01_4.html#aacfb8b7e43addbf56df34fb72580bb72">getEmptyKey</a>() { <span class="keywordflow">return</span> 0x7fffffffffffffffLL; }
+<a name="l00122"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01long_01_4.html#ae01874a6413d7017e4e688fd2e2e6ede">00122</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01long_01_4.html#ae01874a6413d7017e4e688fd2e2e6ede">getTombstoneKey</a>() { <span class="keywordflow">return</span> -0x7fffffffffffffffLL-1; }
+<a name="l00123"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01long_01_4.html#a42e14c883578542663e27d2a5c9defc1">00123</a>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01long_01_4.html#a42e14c883578542663e27d2a5c9defc1">getHashValue</a>(<span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>& Val) {
+<a name="l00124"></a>00124     <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>)(Val * 37ULL);
+<a name="l00125"></a>00125   }
+<a name="l00126"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01long_01long_01_4.html#a477c675a2e7aa803e691299eb56a45fd">00126</a>   <span class="keyword">static</span> <span class="keywordtype">bool</span> isEqual(<span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>& LHS,
+<a name="l00127"></a>00127                       <span class="keyword">const</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span>& RHS) {
+<a name="l00128"></a>00128     <span class="keywordflow">return</span> LHS == RHS;
+<a name="l00129"></a>00129   }
+<a name="l00130"></a>00130 };
+<a name="l00131"></a>00131 
+<a name="l00132"></a>00132 <span class="comment">// Provide DenseMapInfo for all pairs whose members have info.</span>
+<a name="l00133"></a>00133 <span class="keyword">template</span><<span class="keyword">typename</span> T, <span class="keyword">typename</span> U>
+<a name="l00134"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html">00134</a> <span class="keyword">struct </span><a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo</a><std::pair<T, U> > {
+<a name="l00135"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a1e8705200023146b016a4ea0667dc5e6">00135</a>   <span class="keyword">typedef</span> std::pair<T, U> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a1e8705200023146b016a4ea0667dc5e6">Pair</a>;
+<a name="l00136"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a5139587ce8a24505a1875724b64094a6">00136</a>   <span class="keyword">typedef</span> <a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo<T></a> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a5139587ce8a24505a1875724b64094a6">FirstInfo</a>;
+<a name="l00137"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a81930a5e26c4a75e45190fbebd6bd89e">00137</a>   <span class="keyword">typedef</span> <a class="code" href="structllvm_1_1DenseMapInfo.html">DenseMapInfo<U></a> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a81930a5e26c4a75e45190fbebd6bd89e">SecondInfo</a>;
+<a name="l00138"></a>00138 
+<a name="l00139"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a4cf9c3e47188e6e0b8a63e5727ec9592">00139</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a1e8705200023146b016a4ea0667dc5e6">Pair</a> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a4cf9c3e47188e6e0b8a63e5727ec9592">getEmptyKey</a>() {
+<a name="l00140"></a>00140     <span class="keywordflow">return</span> std::make_pair(FirstInfo::getEmptyKey(),
+<a name="l00141"></a>00141                           SecondInfo::getEmptyKey());
+<a name="l00142"></a>00142   }
+<a name="l00143"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a9c6e787d463b0f2230c63765658e00b2">00143</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a1e8705200023146b016a4ea0667dc5e6">Pair</a> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a9c6e787d463b0f2230c63765658e00b2">getTombstoneKey</a>() {
+<a name="l00144"></a>00144     <span class="keywordflow">return</span> std::make_pair(FirstInfo::getTombstoneKey(),
+<a name="l00145"></a>00145                           SecondInfo::getTombstoneKey());
+<a name="l00146"></a>00146   }
+<a name="l00147"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a77aeca5730a2d738661c757cecc9ad7d">00147</a>   <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a77aeca5730a2d738661c757cecc9ad7d">getHashValue</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a1e8705200023146b016a4ea0667dc5e6">Pair</a>& PairVal) {
+<a name="l00148"></a>00148     uint64_t key = (uint64_t)FirstInfo::getHashValue(PairVal.first) << 32
+<a name="l00149"></a>00149           | (uint64_t)SecondInfo::getHashValue(PairVal.second);
+<a name="l00150"></a>00150     key += ~(key << 32);
+<a name="l00151"></a>00151     key ^= (key >> 22);
+<a name="l00152"></a>00152     key += ~(key << 13);
+<a name="l00153"></a>00153     key ^= (key >> 8);
+<a name="l00154"></a>00154     key += (key << 3);
+<a name="l00155"></a>00155     key ^= (key >> 15);
+<a name="l00156"></a>00156     key += ~(key << 27);
+<a name="l00157"></a>00157     key ^= (key >> 31);
+<a name="l00158"></a>00158     <span class="keywordflow">return</span> (<span class="keywordtype">unsigned</span>)key;
+<a name="l00159"></a>00159   }
+<a name="l00160"></a><a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#af3d2c1b2b51562eb1322a0dbf6286c73">00160</a>   <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#af3d2c1b2b51562eb1322a0dbf6286c73">isEqual</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a1e8705200023146b016a4ea0667dc5e6">Pair</a> &LHS, <span class="keyword">const</span> <a class="code" href="structllvm_1_1DenseMapInfo_3_01std_1_1pair_3_01T_00_01U_01_4_01_4.html#a1e8705200023146b016a4ea0667dc5e6">Pair</a> &RHS) {
+<a name="l00161"></a>00161     <span class="keywordflow">return</span> FirstInfo::isEqual(LHS.first, RHS.first) &&
+<a name="l00162"></a>00162            SecondInfo::isEqual(LHS.second, RHS.second);
+<a name="l00163"></a>00163   }
+<a name="l00164"></a>00164 };
+<a name="l00165"></a>00165 
+<a name="l00166"></a>00166 } <span class="comment">// end namespace llvm</span>
+<a name="l00167"></a>00167 
+<a name="l00168"></a>00168 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:21 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/DependenceAnalysis_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DependenceAnalysis_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DependenceAnalysis_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DependenceAnalysis_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,4 @@
+<map id="G" name="G">
+<area shape="rect" href="$DependenceAnalysis_8cpp.html" title="DependenceAnalysis.cpp" alt="" coords="5,84,187,111"/>
+<area shape="rect" href="$LoopSimplify_8cpp.html" title="LoopSimplify.cpp" alt="" coords="211,84,339,111"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DepthFirstIterator_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DepthFirstIterator_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DepthFirstIterator_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DepthFirstIterator_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,133 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DepthFirstIterator.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="Dominators.h",height=0.2,width=0.4,color="red",URL="$Dominators_8h.html"];
+  Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="DominanceFrontier.h",height=0.2,width=0.4,color="red",URL="$DominanceFrontier_8h.html"];
+  Node2 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="DominatorInternals.h",height=0.2,width=0.4,color="black",URL="$DominatorInternals_8h.html"];
+  Node4 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="MachineDominators.h",height=0.2,width=0.4,color="red",URL="$MachineDominators_8h.html"];
+  Node5 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="MachinePostDominators.h",height=0.2,width=0.4,color="red",URL="$MachinePostDominators_8h.html"];
+  Node5 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="StackColoring.cpp",height=0.2,width=0.4,color="black",URL="$StackColoring_8cpp.html"];
+  Node5 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="UnreachableBlockElim.cpp",height=0.2,width=0.4,color="black",URL="$UnreachableBlockElim_8cpp.html"];
+  Node4 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="PostDominators.cpp",height=0.2,width=0.4,color="black",URL="$PostDominators_8cpp.html"];
+  Node4 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="GCStrategy.cpp",height=0.2,width=0.4,color="black",URL="$GCStrategy_8cpp.html"];
+  Node4 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="CodeGenPrepare.cpp",height=0.2,width=0.4,color="black",URL="$CodeGenPrepare_8cpp.html"];
+  Node4 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="Dominators.cpp",height=0.2,width=0.4,color="black",URL="$Dominators_8cpp.html"];
+  Node2 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="LoopInfo.h",height=0.2,width=0.4,color="red",URL="$LoopInfo_8h.html"];
+  Node13 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="LoopIterator.h",height=0.2,width=0.4,color="red",URL="$LoopIterator_8h.html"];
+  Node14 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="LoopInfo.cpp",height=0.2,width=0.4,color="black",URL="$LoopInfo_8cpp.html"];
+  Node13 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="ScalarEvolution.cpp",height=0.2,width=0.4,color="black",URL="$ScalarEvolution_8cpp.html"];
+  Node13 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="ScalarEvolutionNormalization.cpp",height=0.2,width=0.4,color="black",URL="$ScalarEvolutionNormalization_8cpp.html"];
+  Node13 -> Node18 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="IndVarSimplify.cpp",height=0.2,width=0.4,color="black",URL="$IndVarSimplify_8cpp.html"];
+  Node13 -> Node19 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="LICM.cpp",height=0.2,width=0.4,color="black",URL="$LICM_8cpp.html"];
+  Node13 -> Node20 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="LoopInstSimplify.cpp",height=0.2,width=0.4,color="black",URL="$LoopInstSimplify_8cpp.html"];
+  Node13 -> Node21 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="LoopUnswitch.cpp",height=0.2,width=0.4,color="black",URL="$LoopUnswitch_8cpp.html"];
+  Node13 -> Node22 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="Sink.cpp",height=0.2,width=0.4,color="black",URL="$Sink_8cpp.html"];
+  Node2 -> Node23 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="PostDominators.h",height=0.2,width=0.4,color="red",URL="$PostDominators_8h.html"];
+  Node23 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node24 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="AliasAnalysis.cpp",height=0.2,width=0.4,color="black",URL="$AliasAnalysis_8cpp.html"];
+  Node2 -> Node25 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="InstructionSimplify.cpp",height=0.2,width=0.4,color="black",URL="$InstructionSimplify_8cpp.html"];
+  Node2 -> Node26 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="IVUsers.cpp",height=0.2,width=0.4,color="black",URL="$IVUsers_8cpp.html"];
+  Node2 -> Node27 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="Lint.cpp",height=0.2,width=0.4,color="black",URL="$Lint_8cpp.html"];
+  Node2 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node28 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="MemoryDependenceAnalysis.cpp",height=0.2,width=0.4,color="black",URL="$MemoryDependenceAnalysis_8cpp.html"];
+  Node2 -> Node29 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="PHITransAddr.cpp",height=0.2,width=0.4,color="black",URL="$PHITransAddr_8cpp.html"];
+  Node2 -> Node16 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node17 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node30 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="DwarfEHPrepare.cpp",height=0.2,width=0.4,color="black",URL="$DwarfEHPrepare_8cpp.html"];
+  Node2 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node31 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="StackProtector.cpp",height=0.2,width=0.4,color="black",URL="$StackProtector_8cpp.html"];
+  Node2 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node32 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="LoopExtractor.cpp",height=0.2,width=0.4,color="black",URL="$LoopExtractor_8cpp.html"];
+  Node2 -> Node33 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="PartialInlining.cpp",height=0.2,width=0.4,color="black",URL="$PartialInlining_8cpp.html"];
+  Node2 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node34 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="DeadStoreElimination.cpp",height=0.2,width=0.4,color="black",URL="$DeadStoreElimination_8cpp.html"];
+  Node2 -> Node35 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="EarlyCSE.cpp",height=0.2,width=0.4,color="black",URL="$EarlyCSE_8cpp.html"];
+  Node2 -> Node36 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="GVN.cpp",height=0.2,width=0.4,color="black",URL="$GVN_8cpp.html"];
+  Node2 -> Node18 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node19 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node37 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="LoopDeletion.cpp",height=0.2,width=0.4,color="black",URL="$LoopDeletion_8cpp.html"];
+  Node2 -> Node20 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node38 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="LoopStrengthReduce.cpp",height=0.2,width=0.4,color="black",URL="$LoopStrengthReduce_8cpp.html"];
+  Node2 -> Node21 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node39 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="MemCpyOptimizer.cpp",height=0.2,width=0.4,color="black",URL="$MemCpyOptimizer_8cpp.html"];
+  Node2 -> Node40 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="ObjCARC.cpp",height=0.2,width=0.4,color="black",URL="$ObjCARC_8cpp.html"];
+  Node2 -> Node41 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="ScalarReplAggregates.cpp",height=0.2,width=0.4,color="black",URL="$ScalarReplAggregates_8cpp.html"];
+  Node2 -> Node22 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node42 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="SROA.cpp",height=0.2,width=0.4,color="black",URL="$SROA_8cpp.html"];
+  Node2 -> Node43 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="LoopSimplify.cpp",height=0.2,width=0.4,color="black",URL="$LoopSimplify_8cpp.html"];
+  Node2 -> Node44 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="SimplifyInstructions.cpp",height=0.2,width=0.4,color="black",URL="$SimplifyInstructions_8cpp.html"];
+  Node2 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node45 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="RegionPrinter.cpp",height=0.2,width=0.4,color="black",URL="$RegionPrinter_8cpp.html"];
+  Node1 -> Node46 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="LiveVariables.cpp",height=0.2,width=0.4,color="black",URL="$LiveVariables_8cpp.html"];
+  Node1 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node47 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="VectorElementize.cpp",height=0.2,width=0.4,color="black",URL="$VectorElementize_8cpp.html"];
+  Node1 -> Node48 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="X86FloatingPoint.cpp",height=0.2,width=0.4,color="black",URL="$X86FloatingPoint_8cpp.html"];
+  Node1 -> Node49 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="ArgumentPromotion.cpp",height=0.2,width=0.4,color="black",URL="$ArgumentPromotion_8cpp.html"];
+  Node1 -> Node50 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="ADCE.cpp",height=0.2,width=0.4,color="black",URL="$ADCE_8cpp.html"];
+  Node1 -> Node36 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node43 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node44 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DepthFirstIterator_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DepthFirstIterator_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DepthFirstIterator_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DepthFirstIterator_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,324 @@
+<!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: DepthFirstIterator.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_5760af5717174facf3d4fa63878994a9.html">ADT</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DepthFirstIterator.h</div>  </div>
+</div>
+<div class="contents">
+<a href="DepthFirstIterator_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/ADT/DepthFirstIterator.h - Depth First iterator -----*- 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 builds on the ADT/GraphTraits.h file to build generic depth</span>
+<a name="l00011"></a>00011 <span class="comment">// first graph iterator.  This file exposes the following functions/types:</span>
+<a name="l00012"></a>00012 <span class="comment">//</span>
+<a name="l00013"></a>00013 <span class="comment">// df_begin/df_end/df_iterator</span>
+<a name="l00014"></a>00014 <span class="comment">//   * Normal depth-first iteration - visit a node and then all of its children.</span>
+<a name="l00015"></a>00015 <span class="comment">//</span>
+<a name="l00016"></a>00016 <span class="comment">// idf_begin/idf_end/idf_iterator</span>
+<a name="l00017"></a>00017 <span class="comment">//   * Depth-first iteration on the 'inverse' graph.</span>
+<a name="l00018"></a>00018 <span class="comment">//</span>
+<a name="l00019"></a>00019 <span class="comment">// df_ext_begin/df_ext_end/df_ext_iterator</span>
+<a name="l00020"></a>00020 <span class="comment">//   * Normal depth-first iteration - visit a node and then all of its children.</span>
+<a name="l00021"></a>00021 <span class="comment">//     This iterator stores the 'visited' set in an external set, which allows</span>
+<a name="l00022"></a>00022 <span class="comment">//     it to be more efficient, and allows external clients to use the set for</span>
+<a name="l00023"></a>00023 <span class="comment">//     other purposes.</span>
+<a name="l00024"></a>00024 <span class="comment">//</span>
+<a name="l00025"></a>00025 <span class="comment">// idf_ext_begin/idf_ext_end/idf_ext_iterator</span>
+<a name="l00026"></a>00026 <span class="comment">//   * Depth-first iteration on the 'inverse' graph.</span>
+<a name="l00027"></a>00027 <span class="comment">//     This iterator stores the 'visited' set in an external set, which allows</span>
+<a name="l00028"></a>00028 <span class="comment">//     it to be more efficient, and allows external clients to use the set for</span>
+<a name="l00029"></a>00029 <span class="comment">//     other purposes.</span>
+<a name="l00030"></a>00030 <span class="comment">//</span>
+<a name="l00031"></a>00031 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00032"></a>00032 
+<a name="l00033"></a>00033 <span class="preprocessor">#ifndef LLVM_ADT_DEPTHFIRSTITERATOR_H</span>
+<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor">#define LLVM_ADT_DEPTHFIRSTITERATOR_H</span>
+<a name="l00035"></a>00035 <span class="preprocessor"></span>
+<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="GraphTraits_8h.html">llvm/ADT/GraphTraits.h</a>"</span>
+<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="SmallPtrSet_8h.html">llvm/ADT/SmallPtrSet.h</a>"</span>
+<a name="l00038"></a>00038 <span class="preprocessor">#include "<a class="code" href="PointerIntPair_8h.html">llvm/ADT/PointerIntPair.h</a>"</span>
+<a name="l00039"></a>00039 <span class="preprocessor">#include <set></span>
+<a name="l00040"></a>00040 <span class="preprocessor">#include <vector></span>
+<a name="l00041"></a>00041 
+<a name="l00042"></a>00042 <span class="keyword">namespace </span>llvm {
+<a name="l00043"></a>00043 
+<a name="l00044"></a>00044 <span class="comment">// df_iterator_storage - A private class which is used to figure out where to</span>
+<a name="l00045"></a>00045 <span class="comment">// store the visited set.</span>
+<a name="l00046"></a>00046 <span class="keyword">template</span><<span class="keyword">class</span> SetType, <span class="keywordtype">bool</span> External>   <span class="comment">// Non-external set</span>
+<a name="l00047"></a><a class="code" href="classllvm_1_1df__iterator__storage.html">00047</a> <span class="keyword">class </span><a class="code" href="classllvm_1_1df__iterator__storage.html">df_iterator_storage</a> {
+<a name="l00048"></a>00048 <span class="keyword">public</span>:
+<a name="l00049"></a><a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">00049</a>   SetType <a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">Visited</a>;
+<a name="l00050"></a>00050 };
+<a name="l00051"></a>00051 
+<a name="l00052"></a>00052 <span class="keyword">template</span><<span class="keyword">class</span> SetType>
+<a name="l00053"></a><a class="code" href="classllvm_1_1df__iterator__storage_3_01SetType_00_01true_01_4.html">00053</a> <span class="keyword">class </span><a class="code" href="classllvm_1_1df__iterator__storage.html">df_iterator_storage</a><SetType, <a class="code" href="BasicAliasAnalysis_8cpp.html#a80603f23207dd836075c078e6264204a">true</a>> {
+<a name="l00054"></a>00054 <span class="keyword">public</span>:
+<a name="l00055"></a><a class="code" href="classllvm_1_1df__iterator__storage_3_01SetType_00_01true_01_4.html#ac13a9517d7cf0ac1c2855318117ab246">00055</a>   <a class="code" href="classllvm_1_1df__iterator__storage_3_01SetType_00_01true_01_4.html#ac13a9517d7cf0ac1c2855318117ab246">df_iterator_storage</a>(SetType &VSet) : <a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">Visited</a>(VSet) {}
+<a name="l00056"></a><a class="code" href="classllvm_1_1df__iterator__storage_3_01SetType_00_01true_01_4.html#aa0c1dbb55f37fd63e4c0be0e7fbcf927">00056</a>   <a class="code" href="classllvm_1_1df__iterator__storage_3_01SetType_00_01true_01_4.html#aa0c1dbb55f37fd63e4c0be0e7fbcf927">df_iterator_storage</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1df__iterator__storage.html">df_iterator_storage</a> &S) : <a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">Visited</a>(S.<a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">Visited</a>) {}
+<a name="l00057"></a><a class="code" href="classllvm_1_1df__iterator__storage_3_01SetType_00_01true_01_4.html#ad1a9f08de57df527d4003d4aeef847a8">00057</a>   SetType &<a class="code" href="classllvm_1_1df__iterator__storage_3_01SetType_00_01true_01_4.html#ad1a9f08de57df527d4003d4aeef847a8">Visited</a>;
+<a name="l00058"></a>00058 };
+<a name="l00059"></a>00059 
+<a name="l00060"></a>00060 
+<a name="l00061"></a>00061 <span class="comment">// Generic Depth First Iterator</span>
+<a name="l00062"></a>00062 <span class="keyword">template</span><<span class="keyword">class </span>GraphT,
+<a name="l00063"></a>00063 <span class="keyword">class </span>SetType = <a class="code" href="classllvm_1_1SmallPtrSet.html">llvm::SmallPtrSet<typename GraphTraits<GraphT>::NodeType</a>*, 8>,
+<a name="l00064"></a>00064          <span class="keywordtype">bool</span> ExtStorage = <span class="keyword">false</span>, <span class="keyword">class </span><a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6ace020af050937ea3b758ed0f2c07af50">GT</a> = <a class="code" href="structllvm_1_1GraphTraits.html">GraphTraits<GraphT></a> >
+<a name="l00065"></a><a class="code" href="classllvm_1_1df__iterator.html">00065</a> <span class="keyword">class </span><a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a> : <span class="keyword">public</span> std::iterator<std::forward_iterator_tag,
+<a name="l00066"></a>00066                                          typename GT::NodeType, ptrdiff_t>,
+<a name="l00067"></a>00067                     <span class="keyword">public</span> <a class="code" href="classllvm_1_1df__iterator__storage.html">df_iterator_storage</a><SetType, ExtStorage> {
+<a name="l00068"></a>00068   <span class="keyword">typedef</span> std::iterator<std::forward_iterator_tag,
+<a name="l00069"></a>00069                         <span class="keyword">typename</span> <a class="code" href="namespacellvm_1_1ISD.html#a22ea9cec080dd5f4f47ba234c2f59110">GT::NodeType</a>, ptrdiff_t> super;
+<a name="l00070"></a>00070 
+<a name="l00071"></a>00071   <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="namespacellvm_1_1ISD.html#a22ea9cec080dd5f4f47ba234c2f59110">GT::NodeType</a>          NodeType;
+<a name="l00072"></a>00072   <span class="keyword">typedef</span> <span class="keyword">typename</span> GT::ChildIteratorType ChildItTy;
+<a name="l00073"></a>00073   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1PointerIntPair.html">PointerIntPair<NodeType*, 1></a>   <a class="code" href="classllvm_1_1PointerIntPair.html">PointerIntTy</a>;
+<a name="l00074"></a>00074 
+<a name="l00075"></a>00075   <span class="comment">// VisitStack - Used to maintain the ordering.  Top = current block</span>
+<a name="l00076"></a>00076   <span class="comment">// First element is node pointer, second is the 'next child' to visit</span>
+<a name="l00077"></a>00077   <span class="comment">// if the int in PointerIntTy is 0, the 'next child' to visit is invalid</span>
+<a name="l00078"></a>00078   std::vector<std::pair<PointerIntTy, ChildItTy> > VisitStack;
+<a name="l00079"></a>00079 <span class="keyword">private</span>:
+<a name="l00080"></a>00080   <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a>(NodeType *Node) {
+<a name="l00081"></a>00081     this-><a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">Visited</a>.insert(Node);
+<a name="l00082"></a>00082     VisitStack.push_back(std::make_pair(<a class="code" href="classllvm_1_1PointerIntPair.html">PointerIntTy</a>(Node, 0), 
+<a name="l00083"></a>00083                                         GT::child_begin(Node)));
+<a name="l00084"></a>00084   }
+<a name="l00085"></a>00085   <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a>() { 
+<a name="l00086"></a>00086     <span class="comment">// End is when stack is empty </span>
+<a name="l00087"></a>00087   }
+<a name="l00088"></a>00088   <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a>(NodeType *Node, SetType &S)
+<a name="l00089"></a>00089     : <a class="code" href="classllvm_1_1df__iterator__storage.html">df_iterator_storage<SetType, ExtStorage></a>(S) {
+<a name="l00090"></a>00090     <span class="keywordflow">if</span> (!S.count(Node)) {
+<a name="l00091"></a>00091       VisitStack.push_back(std::make_pair(<a class="code" href="classllvm_1_1PointerIntPair.html">PointerIntTy</a>(Node, 0), 
+<a name="l00092"></a>00092                                           GT::child_begin(Node)));
+<a name="l00093"></a>00093       this-><a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">Visited</a>.insert(Node);
+<a name="l00094"></a>00094     }
+<a name="l00095"></a>00095   }
+<a name="l00096"></a>00096   <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a>(SetType &S)
+<a name="l00097"></a>00097     : <a class="code" href="classllvm_1_1df__iterator__storage.html">df_iterator_storage<SetType, ExtStorage></a>(S) {
+<a name="l00098"></a>00098     <span class="comment">// End is when stack is empty</span>
+<a name="l00099"></a>00099   }
+<a name="l00100"></a>00100 
+<a name="l00101"></a>00101   <span class="keyword">inline</span> <span class="keywordtype">void</span> toNext() {
+<a name="l00102"></a>00102     <span class="keywordflow">do</span> {
+<a name="l00103"></a>00103       std::pair<PointerIntTy, ChildItTy> &Top = VisitStack.back();
+<a name="l00104"></a>00104       NodeType *Node = Top.first.getPointer();
+<a name="l00105"></a>00105       ChildItTy &It  = Top.second;
+<a name="l00106"></a>00106       <span class="keywordflow">if</span> (!Top.first.getInt()) {
+<a name="l00107"></a>00107         <span class="comment">// now retrieve the real begin of the children before we dive in</span>
+<a name="l00108"></a>00108         It = GT::child_begin(Node);
+<a name="l00109"></a>00109         Top.first.setInt(1);
+<a name="l00110"></a>00110       }
+<a name="l00111"></a>00111 
+<a name="l00112"></a>00112       <span class="keywordflow">while</span> (It != GT::child_end(Node)) {
+<a name="l00113"></a>00113         NodeType *Next = *It++;
+<a name="l00114"></a>00114         <span class="comment">// Has our next sibling been visited?</span>
+<a name="l00115"></a>00115         <span class="keywordflow">if</span> (Next && !this-><a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">Visited</a>.count(Next)) {  
+<a name="l00116"></a>00116           <span class="comment">// No, do it now.</span>
+<a name="l00117"></a>00117           this-><a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">Visited</a>.insert(Next);
+<a name="l00118"></a>00118           VisitStack.push_back(std::make_pair(<a class="code" href="classllvm_1_1PointerIntPair.html">PointerIntTy</a>(Next, 0), 
+<a name="l00119"></a>00119                                               GT::child_begin(Next)));
+<a name="l00120"></a>00120           <span class="keywordflow">return</span>;
+<a name="l00121"></a>00121         }
+<a name="l00122"></a>00122       }
+<a name="l00123"></a>00123 
+<a name="l00124"></a>00124       <span class="comment">// Oops, ran out of successors... go up a level on the stack.</span>
+<a name="l00125"></a>00125       VisitStack.pop_back();
+<a name="l00126"></a>00126     } <span class="keywordflow">while</span> (!VisitStack.empty());
+<a name="l00127"></a>00127   }
+<a name="l00128"></a>00128 
+<a name="l00129"></a>00129 <span class="keyword">public</span>:
+<a name="l00130"></a><a class="code" href="classllvm_1_1df__iterator.html#aa0392c1a5db39cb64b7ef54fc0ce5c4c">00130</a>   <span class="keyword">typedef</span> <span class="keyword">typename</span> super::pointer <a class="code" href="classllvm_1_1df__iterator.html#aa0392c1a5db39cb64b7ef54fc0ce5c4c">pointer</a>;
+<a name="l00131"></a><a class="code" href="classllvm_1_1df__iterator.html#a224372df590aecb3a0e79b599d480e0a">00131</a>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator<GraphT, SetType, ExtStorage, GT></a> <a class="code" href="classllvm_1_1df__iterator.html#a224372df590aecb3a0e79b599d480e0a">_Self</a>;
+<a name="l00132"></a>00132 
+<a name="l00133"></a>00133   <span class="comment">// Provide static begin and end methods as our public "constructors"</span>
+<a name="l00134"></a><a class="code" href="classllvm_1_1df__iterator.html#a408b13db40034624fdac42a2b9dbf26d">00134</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">_Self</a> <a class="code" href="classllvm_1_1df__iterator.html#a408b13db40034624fdac42a2b9dbf26d">begin</a>(<span class="keyword">const</span> GraphT& G) {
+<a name="l00135"></a>00135     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a224372df590aecb3a0e79b599d480e0a">_Self</a>(GT::getEntryNode(G));
+<a name="l00136"></a>00136   }
+<a name="l00137"></a><a class="code" href="classllvm_1_1df__iterator.html#a615d74198a88a38bfd321ab8a7dfafc8">00137</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">_Self</a> <a class="code" href="classllvm_1_1df__iterator.html#a615d74198a88a38bfd321ab8a7dfafc8">end</a>(<span class="keyword">const</span> GraphT& G) { <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a224372df590aecb3a0e79b599d480e0a">_Self</a>(); }
+<a name="l00138"></a>00138 
+<a name="l00139"></a>00139   <span class="comment">// Static begin and end methods as our public ctors for external iterators</span>
+<a name="l00140"></a><a class="code" href="classllvm_1_1df__iterator.html#a52f53dcc3b48bd8faa7f8694574f572a">00140</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">_Self</a> <a class="code" href="classllvm_1_1df__iterator.html#a52f53dcc3b48bd8faa7f8694574f572a">begin</a>(<span class="keyword">const</span> GraphT& G, SetType &S) {
+<a name="l00141"></a>00141     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a224372df590aecb3a0e79b599d480e0a">_Self</a>(GT::getEntryNode(G), S);
+<a name="l00142"></a>00142   }
+<a name="l00143"></a><a class="code" href="classllvm_1_1df__iterator.html#adcc09c0e7cebee0d3ba9d761defd3e37">00143</a>   <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">_Self</a> <a class="code" href="classllvm_1_1df__iterator.html#adcc09c0e7cebee0d3ba9d761defd3e37">end</a>(<span class="keyword">const</span> GraphT& G, SetType &S) { <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a224372df590aecb3a0e79b599d480e0a">_Self</a>(S); }
+<a name="l00144"></a>00144 
+<a name="l00145"></a><a class="code" href="classllvm_1_1df__iterator.html#ae64ddacdf9515369badf213384162d8b">00145</a>   <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1df__iterator.html#ae64ddacdf9515369badf213384162d8b">operator==</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1df__iterator.html">_Self</a>& x)<span class="keyword"> const </span>{
+<a name="l00146"></a>00146     <span class="keywordflow">return</span> VisitStack == x.VisitStack;
+<a name="l00147"></a>00147   }
+<a name="l00148"></a><a class="code" href="classllvm_1_1df__iterator.html#a85b1786dea5920ee1c2b60f3131570df">00148</a>   <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1df__iterator.html#a85b1786dea5920ee1c2b60f3131570df">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1df__iterator.html">_Self</a>& x)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !<a class="code" href="classllvm_1_1df__iterator.html#ae64ddacdf9515369badf213384162d8b">operator==</a>(x); }
+<a name="l00149"></a>00149 
+<a name="l00150"></a><a class="code" href="classllvm_1_1df__iterator.html#a24aa1937739ca420cafcdc230954b0aa">00150</a>   <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html#aa0392c1a5db39cb64b7ef54fc0ce5c4c">pointer</a> <a class="code" href="classllvm_1_1df__iterator.html#a24aa1937739ca420cafcdc230954b0aa">operator*</a>()<span class="keyword"> const </span>{
+<a name="l00151"></a>00151     <span class="keywordflow">return</span> VisitStack.back().first.getPointer();
+<a name="l00152"></a>00152   }
+<a name="l00153"></a>00153 
+<a name="l00154"></a>00154   <span class="comment">// This is a nonstandard operator-> that dereferences the pointer an extra</span>
+<a name="l00155"></a>00155   <span class="comment">// time... so that you can actually call methods ON the Node, because</span>
+<a name="l00156"></a>00156   <span class="comment">// the contained type is a pointer.  This allows BBIt->getTerminator() f.e.</span>
+<a name="l00157"></a>00157   <span class="comment">//</span>
+<a name="l00158"></a><a class="code" href="classllvm_1_1df__iterator.html#a93551a9d718ac0d32f70338fc63b1267">00158</a>   <span class="keyword">inline</span> NodeType *<a class="code" href="classllvm_1_1df__iterator.html#a93551a9d718ac0d32f70338fc63b1267">operator-></a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a24aa1937739ca420cafcdc230954b0aa">operator*</a>(); }
+<a name="l00159"></a>00159 
+<a name="l00160"></a><a class="code" href="classllvm_1_1df__iterator.html#a1dc76ec2343fbab11778c8f050034d49">00160</a>   <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">_Self</a>& <a class="code" href="classllvm_1_1df__iterator.html#a1dc76ec2343fbab11778c8f050034d49">operator++</a>() {   <span class="comment">// Preincrement</span>
+<a name="l00161"></a>00161     toNext();
+<a name="l00162"></a>00162     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00163"></a>00163   }
+<a name="l00164"></a>00164 
+<a name="l00165"></a>00165   <span class="comment">// skips all children of the current node and traverses to next node</span>
+<a name="l00166"></a>00166   <span class="comment">//</span>
+<a name="l00167"></a><a class="code" href="classllvm_1_1df__iterator.html#a9bb7411da39cb890c5d913915a807da5">00167</a>   <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">_Self</a>& <a class="code" href="classllvm_1_1df__iterator.html#a9bb7411da39cb890c5d913915a807da5">skipChildren</a>() {  
+<a name="l00168"></a>00168     VisitStack.pop_back();
+<a name="l00169"></a>00169     <span class="keywordflow">if</span> (!VisitStack.empty())
+<a name="l00170"></a>00170       toNext();
+<a name="l00171"></a>00171     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
+<a name="l00172"></a>00172   }
+<a name="l00173"></a>00173 
+<a name="l00174"></a><a class="code" href="classllvm_1_1df__iterator.html#a03a4cd7708346155d18c0eb1cfb6d80b">00174</a>   <span class="keyword">inline</span> <a class="code" href="classllvm_1_1df__iterator.html">_Self</a> <a class="code" href="classllvm_1_1df__iterator.html#a03a4cd7708346155d18c0eb1cfb6d80b">operator++</a>(<span class="keywordtype">int</span>) { <span class="comment">// Postincrement</span>
+<a name="l00175"></a>00175     <a class="code" href="classllvm_1_1df__iterator.html">_Self</a> tmp = *<span class="keyword">this</span>; ++*<span class="keyword">this</span>; <span class="keywordflow">return</span> tmp;
+<a name="l00176"></a>00176   }
+<a name="l00177"></a>00177 
+<a name="l00178"></a>00178   <span class="comment">// nodeVisited - return true if this iterator has already visited the</span>
+<a name="l00179"></a>00179   <span class="comment">// specified node.  This is public, and will probably be used to iterate over</span>
+<a name="l00180"></a>00180   <span class="comment">// nodes that a depth first iteration did not find: ie unreachable nodes.</span>
+<a name="l00181"></a>00181   <span class="comment">//</span>
+<a name="l00182"></a><a class="code" href="classllvm_1_1df__iterator.html#a80b9512ca86f64fb2011ee79313961a9">00182</a>   <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1df__iterator.html#a80b9512ca86f64fb2011ee79313961a9">nodeVisited</a>(NodeType *Node)<span class="keyword"> const </span>{
+<a name="l00183"></a>00183     <span class="keywordflow">return</span> this-><a class="code" href="classllvm_1_1df__iterator__storage.html#aa4c051075e65e2ab4d5bb9664083581f">Visited</a>.count(Node) != 0;
+<a name="l00184"></a>00184   }
+<a name="l00185"></a>00185 <span class="comment"></span>
+<a name="l00186"></a>00186 <span class="comment">  /// getPathLength - Return the length of the path from the entry node to the</span>
+<a name="l00187"></a>00187 <span class="comment">  /// current node, counting both nodes.</span>
+<a name="l00188"></a><a class="code" href="classllvm_1_1df__iterator.html#a10fc7ec4d5acb373ce0ad8972a8547cb">00188</a> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1df__iterator.html#a10fc7ec4d5acb373ce0ad8972a8547cb">getPathLength</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> VisitStack.size(); }
+<a name="l00189"></a>00189 <span class="comment"></span>
+<a name="l00190"></a>00190 <span class="comment">  /// getPath - Return the n'th node in the path from the entry node to the</span>
+<a name="l00191"></a>00191 <span class="comment">  /// current node.</span>
+<a name="l00192"></a><a class="code" href="classllvm_1_1df__iterator.html#a36bdff1ab00a1a94e23229dfb0edb8fd">00192</a> <span class="comment"></span>  NodeType *<a class="code" href="classllvm_1_1df__iterator.html#a36bdff1ab00a1a94e23229dfb0edb8fd">getPath</a>(<span class="keywordtype">unsigned</span> n)<span class="keyword"> const </span>{
+<a name="l00193"></a>00193     <span class="keywordflow">return</span> VisitStack[n].first.getPointer();
+<a name="l00194"></a>00194   }
+<a name="l00195"></a>00195 };
+<a name="l00196"></a>00196 
+<a name="l00197"></a>00197 
+<a name="l00198"></a>00198 <span class="comment">// Provide global constructors that automatically figure out correct types...</span>
+<a name="l00199"></a>00199 <span class="comment">//</span>
+<a name="l00200"></a>00200 <span class="keyword">template</span> <<span class="keyword">class</span> T>
+<a name="l00201"></a><a class="code" href="namespacellvm.html#afb9c37d2aea316c81a0b2b63c6b480e7">00201</a> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator<T></a> <a class="code" href="namespacellvm.html#afb9c37d2aea316c81a0b2b63c6b480e7">df_begin</a>(<span class="keyword">const</span> T& G) {
+<a name="l00202"></a>00202   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a408b13db40034624fdac42a2b9dbf26d">df_iterator<T>::begin</a>(G);
+<a name="l00203"></a>00203 }
+<a name="l00204"></a>00204 
+<a name="l00205"></a>00205 <span class="keyword">template</span> <<span class="keyword">class</span> T>
+<a name="l00206"></a><a class="code" href="namespacellvm.html#a849b445fe6bce862c395ea6b97c1f658">00206</a> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator<T></a> <a class="code" href="namespacellvm.html#a849b445fe6bce862c395ea6b97c1f658">df_end</a>(<span class="keyword">const</span> T& G) {
+<a name="l00207"></a>00207   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a615d74198a88a38bfd321ab8a7dfafc8">df_iterator<T>::end</a>(G);
+<a name="l00208"></a>00208 }
+<a name="l00209"></a>00209 
+<a name="l00210"></a>00210 <span class="comment">// Provide global definitions of external depth first iterators...</span>
+<a name="l00211"></a>00211 <a class="code" href="namespacellvm_1_1ISD.html#a22ea9cec080dd5f4f47ba234c2f59110">template <class T, class SetTy = std::set<typename GraphTraits<T>::NodeType</a>*> >
+<a name="l00212"></a><a class="code" href="structllvm_1_1df__ext__iterator.html">00212</a> <span class="keyword">struct </span><a class="code" href="structllvm_1_1df__ext__iterator.html">df_ext_iterator</a> : <span class="keyword">public</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a><T, SetTy, true> {
+<a name="l00213"></a><a class="code" href="structllvm_1_1df__ext__iterator.html#a5a8f0dc0a80b6969ed92905ba34bf6c6">00213</a>   <a class="code" href="structllvm_1_1df__ext__iterator.html#a5a8f0dc0a80b6969ed92905ba34bf6c6">df_ext_iterator</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator<T, SetTy, true></a> &V)
+<a name="l00214"></a>00214     : <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a><T, <a class="code" href="classSetTy.html">SetTy</a>, <a class="code" href="BasicAliasAnalysis_8cpp.html#a80603f23207dd836075c078e6264204a">true</a>>(V) {}
+<a name="l00215"></a>00215 };
+<a name="l00216"></a>00216 
+<a name="l00217"></a>00217 <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> SetTy>
+<a name="l00218"></a><a class="code" href="namespacellvm.html#a79d4face7022f4be1d51b785a83de44f">00218</a> <a class="code" href="structllvm_1_1df__ext__iterator.html">df_ext_iterator<T, SetTy></a> <a class="code" href="namespacellvm.html#a79d4face7022f4be1d51b785a83de44f">df_ext_begin</a>(<span class="keyword">const</span> T& G, <a class="code" href="classSetTy.html">SetTy</a> &S) {
+<a name="l00219"></a>00219   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a408b13db40034624fdac42a2b9dbf26d">df_ext_iterator<T, SetTy>::begin</a>(G, S);
+<a name="l00220"></a>00220 }
+<a name="l00221"></a>00221 
+<a name="l00222"></a>00222 <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> SetTy>
+<a name="l00223"></a><a class="code" href="namespacellvm.html#aaa67df70b3bc20ef65f8fe523c41da0e">00223</a> <a class="code" href="structllvm_1_1df__ext__iterator.html">df_ext_iterator<T, SetTy></a> <a class="code" href="namespacellvm.html#aaa67df70b3bc20ef65f8fe523c41da0e">df_ext_end</a>(<span class="keyword">const</span> T& G, <a class="code" href="classSetTy.html">SetTy</a> &S) {
+<a name="l00224"></a>00224   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a615d74198a88a38bfd321ab8a7dfafc8">df_ext_iterator<T, SetTy>::end</a>(G, S);
+<a name="l00225"></a>00225 }
+<a name="l00226"></a>00226 
+<a name="l00227"></a>00227 
+<a name="l00228"></a>00228 <span class="comment">// Provide global definitions of inverse depth first iterators...</span>
+<a name="l00229"></a>00229 <span class="keyword">template</span> <<span class="keyword">class </span>T,
+<a name="l00230"></a>00230   <span class="keyword">class </span><a class="code" href="classSetTy.html">SetTy</a> = <a class="code" href="classllvm_1_1SmallPtrSet.html">llvm::SmallPtrSet<typename GraphTraits<T>::NodeType</a>*, 8>,
+<a name="l00231"></a>00231           <span class="keywordtype">bool</span> External = <span class="keyword">false</span>>
+<a name="l00232"></a><a class="code" href="structllvm_1_1idf__iterator.html">00232</a> <span class="keyword">struct </span><a class="code" href="structllvm_1_1idf__iterator.html">idf_iterator</a> : <span class="keyword">public</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a><Inverse<T>, SetTy, External> {
+<a name="l00233"></a><a class="code" href="structllvm_1_1idf__iterator.html#ac730add8bf4906bd6fef208c31d52d74">00233</a>   <a class="code" href="structllvm_1_1idf__iterator.html#ac730add8bf4906bd6fef208c31d52d74">idf_iterator</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a><<a class="code" href="structllvm_1_1Inverse.html">Inverse<T></a>, <a class="code" href="classSetTy.html">SetTy</a>, External> &V)
+<a name="l00234"></a>00234     : <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a><<a class="code" href="structllvm_1_1Inverse.html">Inverse</a><T>, <a class="code" href="classSetTy.html">SetTy</a>, External>(V) {}
+<a name="l00235"></a>00235 };
+<a name="l00236"></a>00236 
+<a name="l00237"></a>00237 <span class="keyword">template</span> <<span class="keyword">class</span> T>
+<a name="l00238"></a><a class="code" href="namespacellvm.html#aa7c5c6115d77b832d859ba427f3198e5">00238</a> <a class="code" href="structllvm_1_1idf__iterator.html">idf_iterator<T></a> <a class="code" href="namespacellvm.html#aa7c5c6115d77b832d859ba427f3198e5">idf_begin</a>(<span class="keyword">const</span> T& G) {
+<a name="l00239"></a>00239   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a408b13db40034624fdac42a2b9dbf26d">idf_iterator<T>::begin</a>(<a class="code" href="structllvm_1_1Inverse.html">Inverse<T></a>(G));
+<a name="l00240"></a>00240 }
+<a name="l00241"></a>00241 
+<a name="l00242"></a>00242 <span class="keyword">template</span> <<span class="keyword">class</span> T>
+<a name="l00243"></a><a class="code" href="namespacellvm.html#aae2b485114b9d30e057feedcc84feae6">00243</a> <a class="code" href="structllvm_1_1idf__iterator.html">idf_iterator<T></a> <a class="code" href="namespacellvm.html#aae2b485114b9d30e057feedcc84feae6">idf_end</a>(<span class="keyword">const</span> T& G){
+<a name="l00244"></a>00244   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a615d74198a88a38bfd321ab8a7dfafc8">idf_iterator<T>::end</a>(<a class="code" href="structllvm_1_1Inverse.html">Inverse<T></a>(G));
+<a name="l00245"></a>00245 }
+<a name="l00246"></a>00246 
+<a name="l00247"></a>00247 <span class="comment">// Provide global definitions of external inverse depth first iterators...</span>
+<a name="l00248"></a>00248 <a class="code" href="namespacellvm_1_1ISD.html#a22ea9cec080dd5f4f47ba234c2f59110">template <class T, class SetTy = std::set<typename GraphTraits<T>::NodeType</a>*> >
+<a name="l00249"></a><a class="code" href="structllvm_1_1idf__ext__iterator.html">00249</a> <span class="keyword">struct </span><a class="code" href="structllvm_1_1idf__ext__iterator.html">idf_ext_iterator</a> : <span class="keyword">public</span> <a class="code" href="structllvm_1_1idf__iterator.html">idf_iterator</a><T, SetTy, true> {
+<a name="l00250"></a><a class="code" href="structllvm_1_1idf__ext__iterator.html#a341a7c4b3537c508dc74132a4f27f430">00250</a>   <a class="code" href="structllvm_1_1idf__ext__iterator.html#a341a7c4b3537c508dc74132a4f27f430">idf_ext_iterator</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1idf__iterator.html">idf_iterator<T, SetTy, true></a> &V)
+<a name="l00251"></a>00251     : <a class="code" href="structllvm_1_1idf__iterator.html">idf_iterator</a><T, <a class="code" href="classSetTy.html">SetTy</a>, <a class="code" href="BasicAliasAnalysis_8cpp.html#a80603f23207dd836075c078e6264204a">true</a>>(V) {}
+<a name="l00252"></a><a class="code" href="structllvm_1_1idf__ext__iterator.html#a8f09fbc96b9fd66d6759f4f61579e29f">00252</a>   <a class="code" href="structllvm_1_1idf__ext__iterator.html#a341a7c4b3537c508dc74132a4f27f430">idf_ext_iterator</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1df__iterator.html">df_iterator</a><<a class="code" href="structllvm_1_1Inverse.html">Inverse<T></a>, <a class="code" href="classSetTy.html">SetTy</a>, <span class="keyword">true</span>> &V)
+<a name="l00253"></a>00253     : <a class="code" href="structllvm_1_1idf__iterator.html">idf_iterator</a><T, <a class="code" href="classSetTy.html">SetTy</a>, <a class="code" href="BasicAliasAnalysis_8cpp.html#a80603f23207dd836075c078e6264204a">true</a>>(V) {}
+<a name="l00254"></a>00254 };
+<a name="l00255"></a>00255 
+<a name="l00256"></a>00256 <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> SetTy>
+<a name="l00257"></a><a class="code" href="namespacellvm.html#a4ddfe0438b44a385c93e68dd3b37c2aa">00257</a> <a class="code" href="structllvm_1_1idf__ext__iterator.html">idf_ext_iterator<T, SetTy></a> <a class="code" href="namespacellvm.html#a4ddfe0438b44a385c93e68dd3b37c2aa">idf_ext_begin</a>(<span class="keyword">const</span> T& G, <a class="code" href="classSetTy.html">SetTy</a> &S) {
+<a name="l00258"></a>00258   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a408b13db40034624fdac42a2b9dbf26d">idf_ext_iterator<T, SetTy>::begin</a>(<a class="code" href="structllvm_1_1Inverse.html">Inverse<T></a>(G), S);
+<a name="l00259"></a>00259 }
+<a name="l00260"></a>00260 
+<a name="l00261"></a>00261 <span class="keyword">template</span> <<span class="keyword">class</span> T, <span class="keyword">class</span> SetTy>
+<a name="l00262"></a><a class="code" href="namespacellvm.html#acdac968e816d011aeabbf609469d21e4">00262</a> <a class="code" href="structllvm_1_1idf__ext__iterator.html">idf_ext_iterator<T, SetTy></a> <a class="code" href="namespacellvm.html#acdac968e816d011aeabbf609469d21e4">idf_ext_end</a>(<span class="keyword">const</span> T& G, <a class="code" href="classSetTy.html">SetTy</a> &S) {
+<a name="l00263"></a>00263   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1df__iterator.html#a615d74198a88a38bfd321ab8a7dfafc8">idf_ext_iterator<T, SetTy>::end</a>(<a class="code" href="structllvm_1_1Inverse.html">Inverse<T></a>(G), S);
+<a name="l00264"></a>00264 }
+<a name="l00265"></a>00265 
+<a name="l00266"></a>00266 } <span class="comment">// End llvm namespace</span>
+<a name="l00267"></a>00267 
+<a name="l00268"></a>00268 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:23 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/DerivedTypes_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DerivedTypes_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DerivedTypes_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DerivedTypes_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,33 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DerivedTypes.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/Type.h",height=0.2,width=0.4,color="black",URL="$Type_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/Support/Casting.h",height=0.2,width=0.4,color="black",URL="$Casting_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_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="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DomPrinter_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DomPrinter_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DomPrinter_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DomPrinter_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,46 @@
+<map id="G" name="G">
+<area shape="rect" href="$DomPrinter_8h.html" title="llvm/Analysis/DomPrinter.h" alt="" coords="1367,84,1559,111"/>
+<area shape="rect" href="$DOTGraphTraitsPass_8h.html" title="llvm/Analysis/DOTGraphTraitsPass.h" alt="" coords="1583,84,1831,111"/>
+<area shape="rect" href="$PostDominators_8h.html" title="llvm/Analysis/PostDominators.h" alt="" coords="1920,161,2141,188"/>
+<area shape="rect" href="$Pass_8h.html" title="llvm/Pass.h" alt="" coords="599,548,689,575"/>
+<area shape="rect" href="$CFGPrinter_8h.html" title="llvm/Analysis/CFGPrinter.h" alt="" coords="1613,161,1800,188"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="1864,935,2037,961"/>
+<area shape="rect" href="$PassSupport_8h.html" title="llvm/PassSupport.h" alt="" coords="572,625,716,652"/>
+<area shape="rect" href="$PassAnalysisSupport_8h.html" title="llvm/PassAnalysisSupport.h" alt="" coords="1259,703,1453,729"/>
+<area shape="rect" href="$PassRegistry_8h.html" title="llvm/PassRegistry.h" alt="" coords="843,703,981,729"/>
+<area shape="rect" href="$InitializePasses_8h.html" title="llvm/InitializePasses.h" alt="" coords="661,703,819,729"/>
+<area shape="rect" href="$Atomic_8h.html" title="llvm/Support/Atomic.h" alt="" coords="475,703,637,729"/>
+<area shape="rect" href="$Valgrind_8h.html" title="llvm/Support/Valgrind.h" alt="" coords="99,780,267,807"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1397,780,1547,807"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1777,780,1945,807"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="1975,857,2137,884"/>
+<area shape="rect" href="$Constants_8h.html" title="llvm/Constants.h" alt="" coords="1055,471,1183,497"/>
+<area shape="rect" href="$Function_8h.html" title="llvm/Function.h" alt="" coords="1679,471,1793,497"/>
+<area shape="rect" href="$Instructions_8h.html" title="llvm/Instructions.h" alt="" coords="1177,239,1313,265"/>
+<area shape="rect" href="$Writer_8h.html" title="llvm/Assembly/Writer.h" alt="" coords="991,239,1153,265"/>
+<area shape="rect" href="$CFG_8h.html" title="llvm/Support/CFG.h" alt="" coords="1820,393,1964,420"/>
+<area shape="rect" href="$GraphWriter_8h.html" title="llvm/Support/GraphWriter.h" alt="" coords="2037,625,2229,652"/>
+<area shape="rect" href="$Constant_8h.html" title="llvm/Constant.h" alt="" coords="1156,625,1276,652"/>
+<area shape="rect" href="$OperandTraits_8h.html" title="llvm/OperandTraits.h" alt="" coords="713,548,865,575"/>
+<area shape="rect" href="$APInt_8h.html" title="llvm/ADT/APInt.h" alt="" coords="956,625,1081,652"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="1528,703,1672,729"/>
+<area shape="rect" href="$APFloat_8h.html" title="llvm/ADT/APFloat.h" alt="" coords="940,548,1081,575"/>
+<area shape="rect" href="$GlobalValue_8h.html" title="llvm/GlobalValue.h" alt="" coords="1825,548,1964,575"/>
+<area shape="rect" href="$CallingConv_8h.html" title="llvm/CallingConv.h" alt="" coords="1308,548,1444,575"/>
+<area shape="rect" href="$BasicBlock_8h.html" title="llvm/BasicBlock.h" alt="" coords="1671,548,1801,575"/>
+<area shape="rect" href="$Argument_8h.html" title="llvm/Argument.h" alt="" coords="1468,548,1596,575"/>
+<area shape="rect" href="$Attributes_8h.html" title="llvm/Attributes.h" alt="" coords="1504,625,1629,652"/>
+<area shape="rect" href="$InstrTypes_8h.html" title="llvm/InstrTypes.h" alt="" coords="905,471,1031,497"/>
+<area shape="rect" href="$DerivedTypes_8h.html" title="llvm/DerivedTypes.h" alt="" coords="428,548,575,575"/>
+<area shape="rect" href="$IntegersSubset_8h.html" title="llvm/Support/IntegersSubset.h" alt="" coords="877,393,1093,420"/>
+<area shape="rect" href="$IntegersSubsetMapping_8h.html" title="llvm/Support/IntegersSubsetMapping.h" alt="" coords="812,316,1081,343"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="144,703,349,729"/>
+<area shape="rect" href="$GraphTraits_8h.html" title="llvm/ADT/GraphTraits.h" alt="" coords="2395,703,2560,729"/>
+<area shape="rect" href="$DOTGraphTraits_8h.html" title="llvm/Support/DOTGraphTraits.h" alt="" coords="1157,780,1373,807"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="2171,703,2371,729"/>
+<area shape="rect" href="$Path_8h.html" title="llvm/Support/Path.h" alt="" coords="1949,703,2096,729"/>
+<area shape="rect" href="$Dominators_8h.html" title="llvm/Analysis/Dominators.h" alt="" coords="2129,316,2324,343"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="2089,780,2249,807"/>
+<area shape="rect" href="$DepthFirstIterator_8h.html" title="llvm/ADT/DepthFirstIterator.h" alt="" coords="2408,625,2611,652"/>
+<area shape="rect" href="$SmallPtrSet_8h.html" title="llvm/ADT/SmallPtrSet.h" alt="" coords="2273,780,2441,807"/>
+</map>

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DomPrinter_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DomPrinter_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DomPrinter_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DomPrinter_8h.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,83 @@
+<!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: DomPrinter.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_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="summary">
+<a href="#namespaces">Namespaces</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">DomPrinter.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<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="DomPrinter_8h__dep__incl.png" border="0" usemap="#DomPrinter_8hdep" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="DomPrinter_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="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">FunctionPass * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a8ee88fa5eb418985841b28c5f2d6d0b5">llvm::createDomPrinterPass</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1FunctionPass.html">FunctionPass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a9d493021e4c8954e109c5c95775e45d1">llvm::createDomOnlyPrinterPass</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1FunctionPass.html">FunctionPass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a5c5d45bc6e725988eb5b4f558060966c">llvm::createDomViewerPass</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1FunctionPass.html">FunctionPass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a1a28db059a19c8e906f02f9f4a7a98c5">llvm::createDomOnlyViewerPass</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1FunctionPass.html">FunctionPass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a4b8c8d3c71479b1e5e39048aa41591a3">llvm::createPostDomPrinterPass</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1FunctionPass.html">FunctionPass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#ae474f389b76a60a8601a4cba542c7359">llvm::createPostDomOnlyPrinterPass</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1FunctionPass.html">FunctionPass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#ace74686c25d057131474195a10168331">llvm::createPostDomViewerPass</a> ()</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classllvm_1_1FunctionPass.html">FunctionPass</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a5da7a38970b51ccc8645eeb7e4c06a41">llvm::createPostDomOnlyViewerPass</a> ()</td></tr>
+</table>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/DominanceFrontier_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,86 @@
+<!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: DominanceFrontier.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_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="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a>  </div>
+  <div class="headertitle">
+<div class="title">DominanceFrontier.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="Dominators_8h_source.html">llvm/Analysis/Dominators.h</a>"</code><br/>
+<code>#include <map></code><br/>
+<code>#include <set></code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for DominanceFrontier.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="DominanceFrontier_8h__incl.png" border="0" usemap="#DominanceFrontier_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="DominanceFrontier_8h__dep__incl.png" border="0" usemap="#DominanceFrontier_8hdep" alt=""/></div>
+<!-- MAP 1 -->
+</div>
+</div>
+<p><a href="DominanceFrontier_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_1DominanceFrontierBase.html">llvm::DominanceFrontierBase</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1DominanceFrontier.html">llvm::DominanceFrontier</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:29 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/DominanceFrontier_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,29 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DominanceFrontier.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="RegionInfo.h",height=0.2,width=0.4,color="black",URL="$RegionInfo_8h.html"];
+  Node2 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="RegionIterator.h",height=0.2,width=0.4,color="black",URL="$RegionIterator_8h.html"];
+  Node3 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="RegionInfo.cpp",height=0.2,width=0.4,color="black",URL="$RegionInfo_8cpp.html"];
+  Node3 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="RegionPass.cpp",height=0.2,width=0.4,color="black",URL="$RegionPass_8cpp.html"];
+  Node3 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="RegionPrinter.cpp",height=0.2,width=0.4,color="black",URL="$RegionPrinter_8cpp.html"];
+  Node3 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="CodeExtractor.cpp",height=0.2,width=0.4,color="black",URL="$CodeExtractor_8cpp.html"];
+  Node2 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="RegionPass.h",height=0.2,width=0.4,color="black",URL="$RegionPass_8h.html"];
+  Node8 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="LinkAllPasses.h",height=0.2,width=0.4,color="black",URL="$LinkAllPasses_8h.html"];
+  Node8 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="DominanceFrontier.cpp",height=0.2,width=0.4,color="black",URL="$DominanceFrontier_8cpp.html"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DominanceFrontier_8h__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,37 @@
+<map id="G" name="G">
+<area shape="rect" href="$Dominators_8h.html" title="llvm/Analysis/Dominators.h" alt="" coords="1204,84,1399,111"/>
+<area shape="rect" href="$Pass_8h.html" title="llvm/Pass.h" alt="" coords="1421,239,1512,265"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="667,548,840,575"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1925,393,2093,420"/>
+<area shape="rect" href="$Function_8h.html" title="llvm/Function.h" alt="" coords="587,239,701,265"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="2860,393,3020,420"/>
+<area shape="rect" href="$DepthFirstIterator_8h.html" title="llvm/ADT/DepthFirstIterator.h" alt="" coords="1131,161,1333,188"/>
+<area shape="rect" href="$GraphTraits_8h.html" title="llvm/ADT/GraphTraits.h" alt="" coords="852,239,1017,265"/>
+<area shape="rect" href="$SmallPtrSet_8h.html" title="llvm/ADT/SmallPtrSet.h" alt="" coords="1091,471,1259,497"/>
+<area shape="rect" href="$CFG_8h.html" title="llvm/Support/CFG.h" alt="" coords="667,161,811,188"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="667,393,867,420"/>
+<area shape="rect" href="$PassSupport_8h.html" title="llvm/PassSupport.h" alt="" coords="1395,316,1539,343"/>
+<area shape="rect" href="$PassAnalysisSupport_8h.html" title="llvm/PassAnalysisSupport.h" alt="" coords="1724,316,1919,343"/>
+<area shape="rect" href="$PassRegistry_8h.html" title="llvm/PassRegistry.h" alt="" coords="1576,393,1715,420"/>
+<area shape="rect" href="$InitializePasses_8h.html" title="llvm/InitializePasses.h" alt="" coords="1395,393,1552,420"/>
+<area shape="rect" href="$Atomic_8h.html" title="llvm/Support/Atomic.h" alt="" coords="1325,548,1488,575"/>
+<area shape="rect" href="$Valgrind_8h.html" title="llvm/Support/Valgrind.h" alt="" coords="608,471,776,497"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1635,471,1784,497"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="2565,548,2752,575"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="1184,625,1368,652"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="2408,471,2571,497"/>
+<area shape="rect" href="$GlobalValue_8h.html" title="llvm/GlobalValue.h" alt="" coords="63,316,201,343"/>
+<area shape="rect" href="$CallingConv_8h.html" title="llvm/CallingConv.h" alt="" coords="292,316,428,343"/>
+<area shape="rect" href="$BasicBlock_8h.html" title="llvm/BasicBlock.h" alt="" coords="452,316,583,343"/>
+<area shape="rect" href="$Argument_8h.html" title="llvm/Argument.h" alt="" coords="773,316,901,343"/>
+<area shape="rect" href="$Attributes_8h.html" title="llvm/Attributes.h" alt="" coords="1043,393,1168,420"/>
+<area shape="rect" href="$Constant_8h.html" title="llvm/Constant.h" alt="" coords="45,393,165,420"/>
+<area shape="rect" href="$Instruction_8h.html" title="llvm/Instruction.h" alt="" coords="189,393,320,420"/>
+<area shape="rect" href="$SymbolTableListTraits_8h.html" title="llvm/SymbolTableListTraits.h" alt="" coords="445,393,643,420"/>
+<area shape="rect" href="$ilist_8h.html" title="llvm/ADT/ilist.h" alt="" coords="851,471,965,497"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="2195,471,2384,497"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="1683,548,1931,575"/>
+<area shape="rect" href="$DenseMapInfo_8h.html" title="llvm/ADT/DenseMapInfo.h" alt="" coords="2848,471,3032,497"/>
+<area shape="rect" href="$PointerIntPair_8h.html" title="llvm/ADT/PointerIntPair.h" alt="" coords="1283,471,1459,497"/>
+<area shape="rect" href="$InstrTypes_8h.html" title="llvm/InstrTypes.h" alt="" coords="327,239,452,265"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DominatorInternals_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DominatorInternals_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DominatorInternals_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DominatorInternals_8h__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="DominatorInternals.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/Analysis/Dominators.h",height=0.2,width=0.4,color="black",URL="$Dominators_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/Pass.h",height=0.2,width=0.4,color="black",URL="$Pass_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="string",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="llvm/PassSupport.h",height=0.2,width=0.4,color="black",URL="$PassSupport_8h.html"];
+  Node6 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/PassRegistry.h",height=0.2,width=0.4,color="black",URL="$PassRegistry_8h.html"];
+  Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="red",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="black",URL="$type__traits_8h.html"];
+  Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node8 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="llvm/InitializePasses.h",height=0.2,width=0.4,color="black",URL="$InitializePasses_8h.html"];
+  Node6 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/Support/Atomic.h",height=0.2,width=0.4,color="black",URL="$Atomic_8h.html"];
+  Node21 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="llvm/Support/Valgrind.h",height=0.2,width=0.4,color="red",URL="$Valgrind_8h.html"];
+  Node22 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="llvm/PassAnalysisSupport.h",height=0.2,width=0.4,color="black",URL="$PassAnalysisSupport_8h.html"];
+  Node24 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="black",URL="$SmallVector_8h.html"];
+  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 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node25 -> Node19 [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 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="memory",height=0.2,width=0.4,color="grey75"];
+  Node24 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/Function.h",height=0.2,width=0.4,color="black",URL="$Function_8h.html"];
+  Node30 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/GlobalValue.h",height=0.2,width=0.4,color="black",URL="$GlobalValue_8h.html"];
+  Node31 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/Constant.h",height=0.2,width=0.4,color="red",URL="$Constant_8h.html"];
+  Node30 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/CallingConv.h",height=0.2,width=0.4,color="black",URL="$CallingConv_8h.html"];
+  Node30 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/BasicBlock.h",height=0.2,width=0.4,color="red",URL="$BasicBlock_8h.html"];
+  Node34 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/Argument.h",height=0.2,width=0.4,color="red",URL="$Argument_8h.html"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/Attributes.h",height=0.2,width=0.4,color="red",URL="$Attributes_8h.html"];
+  Node36 -> 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"];
+  Node36 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="black",URL="$DenseMap_8h.html"];
+  Node38 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/Support/PointerLikeTypeTraits.h",height=0.2,width=0.4,color="black",URL="$PointerLikeTypeTraits_8h.html"];
+  Node39 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/ADT/DenseMapInfo.h",height=0.2,width=0.4,color="black",URL="$DenseMapInfo_8h.html"];
+  Node40 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="new",height=0.2,width=0.4,color="grey75"];
+  Node38 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="climits",height=0.2,width=0.4,color="grey75"];
+  Node38 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/ADT/DepthFirstIterator.h",height=0.2,width=0.4,color="black",URL="$DepthFirstIterator_8h.html"];
+  Node43 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/ADT/GraphTraits.h",height=0.2,width=0.4,color="black",URL="$GraphTraits_8h.html"];
+  Node43 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/ADT/SmallPtrSet.h",height=0.2,width=0.4,color="black",URL="$SmallPtrSet_8h.html"];
+  Node45 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/ADT/PointerIntPair.h",height=0.2,width=0.4,color="black",URL="$PointerIntPair_8h.html"];
+  Node46 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="set",height=0.2,width=0.4,color="grey75"];
+  Node43 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="llvm/Support/CFG.h",height=0.2,width=0.4,color="black",URL="$CFG_8h.html"];
+  Node48 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/InstrTypes.h",height=0.2,width=0.4,color="red",URL="$InstrTypes_8h.html"];
+  Node2 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> 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 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/Dominators_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Dominators_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Dominators_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Dominators_8h.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,111 @@
+<!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: Dominators.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_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="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a> |
+<a href="#typedef-members">Typedefs</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">Dominators.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="Pass_8h_source.html">llvm/Pass.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="DenseMap_8h_source.html">llvm/ADT/DenseMap.h</a>"</code><br/>
+<code>#include "<a class="el" href="DepthFirstIterator_8h_source.html">llvm/ADT/DepthFirstIterator.h</a>"</code><br/>
+<code>#include "<a class="el" href="GraphTraits_8h_source.html">llvm/ADT/GraphTraits.h</a>"</code><br/>
+<code>#include "<a class="el" href="SmallPtrSet_8h_source.html">llvm/ADT/SmallPtrSet.h</a>"</code><br/>
+<code>#include "<a class="el" href="SmallVector_8h_source.html">llvm/ADT/SmallVector.h</a>"</code><br/>
+<code>#include "<a class="el" href="CFG_8h_source.html">llvm/Support/CFG.h</a>"</code><br/>
+<code>#include "<a class="el" href="Compiler_8h_source.html">llvm/Support/Compiler.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 <algorithm></code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for Dominators.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="Dominators_8h__incl.png" border="0" usemap="#Dominators_8h" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="Dominators_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_1DominatorBase.html">llvm::DominatorBase< NodeT ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1DomTreeNodeBase.html">llvm::DomTreeNodeBase< NodeT ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1DominatorTreeBase.html">llvm::DominatorTreeBase< NodeT ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1DominatorTreeBase_1_1InfoRec.html">llvm::DominatorTreeBase< NodeT >::InfoRec</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1BasicBlockEdge.html">llvm::BasicBlockEdge</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1DominatorTree.html">llvm::DominatorTree</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1GraphTraits_3_01DomTreeNode_01_5_01_4.html">llvm::GraphTraits< DomTreeNode * ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1GraphTraits_3_01DominatorTree_01_5_01_4.html">llvm::GraphTraits< DominatorTree * ></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>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef DomTreeNodeBase<br class="typebreak"/>
+< BasicBlock > </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a7b8a103f8d56aac596c9ca21930a6369">llvm::DomTreeNode</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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a4a62113f10407ec9713f1a08c427416c">llvm::EXTERN_TEMPLATE_INSTANTIATION</a> (class DomTreeNodeBase< BasicBlock >)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#aa74e4b39249403150f5fbdfdd7143e32">llvm::EXTERN_TEMPLATE_INSTANTIATION</a> (class DomTreeNodeBase< MachineBasicBlock >)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<class NodeT > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">raw_ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a327b3f7f4ccc2f35509718d1a7ff91a5">llvm::operator<<</a> (raw_ostream &o, const DomTreeNodeBase< NodeT > *Node)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<class NodeT > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a32978f7b618087d0a941a429468c21bf">llvm::PrintDomTree</a> (const DomTreeNodeBase< NodeT > *N, raw_ostream &o, <a class="el" href="classunsigned.html">unsigned</a> Lev)</td></tr>
+<tr><td class="memTemplParams" colspan="2">template<class FuncT , class N > </td></tr>
+<tr><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a50c6855a0ad93d258bc9857ad0588004">llvm::Calculate</a> (DominatorTreeBase< typename GraphTraits< N >::NodeType > &DT, FuncT &F)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#aad490e549f25eb8db53a6c31b002c3b3">llvm::EXTERN_TEMPLATE_INSTANTIATION</a> (class DominatorTreeBase< BasicBlock >)</td></tr>
+</table>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/DwarfAccelTable_8cpp__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfAccelTable_8cpp__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfAccelTable_8cpp__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfAccelTable_8cpp__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,184 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DwarfAccelTable.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="DwarfAccelTable.h",height=0.2,width=0.4,color="black",URL="$DwarfAccelTable_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/ADT/StringMap.h",height=0.2,width=0.4,color="black",URL="$StringMap_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="red",URL="$StringRef_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="llvm/Support/Allocator.h",height=0.2,width=0.4,color="red",URL="$Allocator_8h.html"];
+  Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="llvm/Support/DataTypes.h",height=0.2,width=0.4,color="black",URL="$DataTypes_8h.html"];
+  Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="math.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="sys/types.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="inttypes.h",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="stdint.h",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="llvm/ADT/ArrayRef.h",height=0.2,width=0.4,color="black",URL="$ArrayRef_8h.html"];
+  Node17 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="red",URL="$SmallVector_8h.html"];
+  Node18 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node18 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node17 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="llvm/MC/MCSymbol.h",height=0.2,width=0.4,color="black",URL="$MCSymbol_8h.html"];
+  Node22 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="llvm/Support/Dwarf.h",height=0.2,width=0.4,color="black",URL="$Dwarf_8h.html"];
+  Node2 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="llvm/Support/Debug.h",height=0.2,width=0.4,color="black",URL="$Debug_8h.html"];
+  Node2 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node25 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/Support/Format.h",height=0.2,width=0.4,color="red",URL="$Format_8h.html"];
+  Node26 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/Support/FormattedStream.h",height=0.2,width=0.4,color="red",URL="$FormattedStream_8h.html"];
+  Node2 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="DIE.h",height=0.2,width=0.4,color="black",URL="$DIE_8h.html"];
+  Node28 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/ADT/FoldingSet.h",height=0.2,width=0.4,color="black",URL="$FoldingSet_8h.html"];
+  Node29 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="map",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="DwarfDebug.h",height=0.2,width=0.4,color="black",URL="$DwarfDebug_8h.html"];
+  Node31 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/DebugInfo.h",height=0.2,width=0.4,color="black",URL="$DebugInfo_8h.html"];
+  Node32 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/ADT/SmallPtrSet.h",height=0.2,width=0.4,color="red",URL="$SmallPtrSet_8h.html"];
+  Node33 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/CodeGen/AsmPrinter.h",height=0.2,width=0.4,color="black",URL="$AsmPrinter_8h.html"];
+  Node34 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/CodeGen/MachineFunctionPass.h",height=0.2,width=0.4,color="red",URL="$MachineFunctionPass_8h.html"];
+  Node34 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/InlineAsm.h",height=0.2,width=0.4,color="red",URL="$InlineAsm_8h.html"];
+  Node36 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/CodeGen/LexicalScopes.h",height=0.2,width=0.4,color="red",URL="$LexicalScopes_8h.html"];
+  Node37 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="red",URL="$DenseMap_8h.html"];
+  Node38 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/Support/DebugLoc.h",height=0.2,width=0.4,color="black",URL="$DebugLoc_8h.html"];
+  Node37 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/MC/MachineLocation.h",height=0.2,width=0.4,color="black",URL="$MachineLocation_8h.html"];
+  Node31 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/ADT/SetVector.h",height=0.2,width=0.4,color="red",URL="$SetVector_8h.html"];
+  Node41 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/ADT/Twine.h",height=0.2,width=0.4,color="black",URL="$Twine_8h.html"];
+  Node42 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/ADT/STLExtras.h",height=0.2,width=0.4,color="black",URL="$STLExtras_8h.html"];
+  Node43 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="functional",height=0.2,width=0.4,color="grey75"];
+  Node43 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/MC/MCExpr.h",height=0.2,width=0.4,color="black",URL="$MCExpr_8h.html"];
+  Node45 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/Support/Casting.h",height=0.2,width=0.4,color="red",URL="$Casting_8h.html"];
+  Node46 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="llvm/MC/MCStreamer.h",height=0.2,width=0.4,color="black",URL="$MCStreamer_8h.html"];
+  Node47 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="llvm/MC/MCDirectives.h",height=0.2,width=0.4,color="black",URL="$MCDirectives_8h.html"];
+  Node47 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/MC/MCDwarf.h",height=0.2,width=0.4,color="red",URL="$MCDwarf_8h.html"];
+  Node49 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="llvm/MC/MCWin64EH.h",height=0.2,width=0.4,color="red",URL="$MCWin64EH_8h.html"];
+  Node50 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8cpp.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: DwarfCompileUnit.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_f2244d21cf8bec63d11bfc1ad661d96f.html">CodeGen</a>      </li>
+      <li class="navelem"><a class="el" href="dir_5f8f0bfb0fa844bddb949c179c0766c9.html">AsmPrinter</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Defines</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">DwarfCompileUnit.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="DwarfAccelTable_8h_source.html">DwarfAccelTable.h</a>"</code><br/>
+<code>#include "<a class="el" href="DwarfCompileUnit_8h_source.html">DwarfCompileUnit.h</a>"</code><br/>
+<code>#include "<a class="el" href="DwarfDebug_8h_source.html">DwarfDebug.h</a>"</code><br/>
+<code>#include "<a class="el" href="Constants_8h_source.html">llvm/Constants.h</a>"</code><br/>
+<code>#include "<a class="el" href="DIBuilder_8h_source.html">llvm/DIBuilder.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="Instructions_8h_source.html">llvm/Instructions.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="Mangler_8h_source.html">llvm/Target/Mangler.h</a>"</code><br/>
+<code>#include "<a class="el" href="DataLayout_8h_source.html">llvm/DataLayout.h</a>"</code><br/>
+<code>#include "<a class="el" href="TargetFrameLowering_8h_source.html">llvm/Target/TargetFrameLowering.h</a>"</code><br/>
+<code>#include "<a class="el" href="Target_2TargetMachine_8h_source.html">llvm/Target/TargetMachine.h</a>"</code><br/>
+<code>#include "<a class="el" href="TargetRegisterInfo_8h_source.html">llvm/Target/TargetRegisterInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="APFloat_8h_source.html">llvm/ADT/APFloat.h</a>"</code><br/>
+<code>#include "<a class="el" href="ErrorHandling_8h_source.html">llvm/Support/ErrorHandling.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for DwarfCompileUnit.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="DwarfCompileUnit_8cpp__incl.png" border="0" usemap="#DwarfCompileUnit_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="DwarfCompileUnit_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="DwarfCompileUnit_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">DEBUG_TYPE</a>   "dwarfdebug"</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></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="DwarfCompileUnit_8cpp.html#ac6a83bdab08565455615e8b922eecde9">isTypeSigned</a> (<a class="el" href="classllvm_1_1DIType.html">DIType</a> Ty, int *SizeInBits)</td></tr>
+<tr><td class="mdescLeft"> </td><td class="mdescRight">isTypeSigned - Return true if the type is signed.  <a href="#ac6a83bdab08565455615e8b922eecde9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="DwarfCompileUnit_8cpp.html#af6353047556038c3deee5b82003a1dbb">getRealLinkageName</a> (<a class="el" href="classllvm_1_1StringRef.html">StringRef</a> LinkageName)</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static const <a class="el" href="classllvm_1_1ConstantExpr.html">ConstantExpr</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="DwarfCompileUnit_8cpp.html#af1e7615954fcda86f55dc0a49f1711d7">getMergedGlobalExpr</a> (const <a class="el" href="classllvm_1_1Value.html">Value</a> *V)</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ad78e062f62e0d6e453941fb4ca843e4d"></a><!-- doxytag: member="DwarfCompileUnit.cpp::DEBUG_TYPE" ref="ad78e062f62e0d6e453941fb4ca843e4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define DEBUG_TYPE   "dwarfdebug"</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="DwarfCompileUnit_8cpp_source.html#l00014">14</a> of file <a class="el" href="DwarfCompileUnit_8cpp_source.html">DwarfCompileUnit.cpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="af1e7615954fcda86f55dc0a49f1711d7"></a><!-- doxytag: member="DwarfCompileUnit.cpp::getMergedGlobalExpr" ref="af1e7615954fcda86f55dc0a49f1711d7" args="(const Value *V)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static const <a class="el" href="classllvm_1_1ConstantExpr.html">ConstantExpr</a>* getMergedGlobalExpr </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="classllvm_1_1Value.html">Value</a> * </td>
+          <td class="paramname"><em>V</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="DwarfCompileUnit_8cpp_source.html#l01135">1135</a> of file <a class="el" href="DwarfCompileUnit_8cpp_source.html">DwarfCompileUnit.cpp</a>.</p>
+
+<p>References <a class="el" href="User_8h_source.html#l00108">llvm::User::getNumOperands()</a>, <a class="el" href="Constants_8h_source.html#l01049">llvm::ConstantExpr::getOpcode()</a>, <a class="el" href="User_8h_source.html#l00088">llvm::User::getOperand()</a>, <a class="el" href="Value_8h_source.html#l00106">llvm::Value::getType()</a>, and <a class="el" href="Constants_8h_source.html#l00161">llvm::ConstantInt::isZero()</a>.</p>
+
+<p>Referenced by <a class="el" href="DwarfCompileUnit_8cpp_source.html#l01160">llvm::CompileUnit::createGlobalVariableDIE()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="af6353047556038c3deee5b82003a1dbb"></a><!-- doxytag: member="DwarfCompileUnit.cpp::getRealLinkageName" ref="af6353047556038c3deee5b82003a1dbb" args="(StringRef LinkageName)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classllvm_1_1StringRef.html">StringRef</a> getRealLinkageName </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1StringRef.html">StringRef</a> </td>
+          <td class="paramname"><em>LinkageName</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>getRealLinkageName - If special LLVM prefix that is used to inform the asm printer to not emit usual symbol prefix before the symbol name is used then return linkage name after skipping this special LLVM prefix. </p>
+
+<p>Definition at line <a class="el" href="DwarfCompileUnit_8cpp_source.html#l01005">1005</a> of file <a class="el" href="DwarfCompileUnit_8cpp_source.html">DwarfCompileUnit.cpp</a>.</p>
+
+<p>References <a class="el" href="StringRef_8h_source.html#l00209">llvm::StringRef::startswith()</a>, and <a class="el" href="StringRef_8h_source.html#l00387">llvm::StringRef::substr()</a>.</p>
+
+<p>Referenced by <a class="el" href="DwarfCompileUnit_8cpp_source.html#l01160">llvm::CompileUnit::createGlobalVariableDIE()</a>, and <a class="el" href="DwarfCompileUnit_8cpp_source.html#l01013">llvm::CompileUnit::getOrCreateSubprogramDIE()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac6a83bdab08565455615e8b922eecde9"></a><!-- doxytag: member="DwarfCompileUnit.cpp::isTypeSigned" ref="ac6a83bdab08565455615e8b922eecde9" args="(DIType Ty, int *SizeInBits)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="X86DisassemblerDecoder_8c.html#a6156fe0b594c9754f386f6c6a30c8165">bool</a> isTypeSigned </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="classllvm_1_1DIType.html">DIType</a> </td>
+          <td class="paramname"><em>Ty</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int * </td>
+          <td class="paramname"><em>SizeInBits</em> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>isTypeSigned - Return true if the type is signed. </p>
+
+<p>Definition at line <a class="el" href="DwarfCompileUnit_8cpp_source.html#l00468">468</a> of file <a class="el" href="DwarfCompileUnit_8cpp_source.html">DwarfCompileUnit.cpp</a>.</p>
+
+<p>References <a class="el" href="Dwarf_8h_source.html#l00466">llvm::dwarf::DW_ATE_signed</a>, <a class="el" href="Dwarf_8h_source.html#l00467">llvm::dwarf::DW_ATE_signed_char</a>, <a class="el" href="DebugInfo_8h_source.html#l00328">llvm::DIBasicType::getEncoding()</a>, <a class="el" href="DebugInfo_8h_source.html#l00264">llvm::DIType::getSizeInBits()</a>, <a class="el" href="DebugInfo_8h_source.html#l00346">llvm::DIDerivedType::getTypeDerivedFrom()</a>, <a class="el" href="DebugInfo_8cpp_source.html#l00145">llvm::DIDescriptor::isBasicType()</a>, and <a class="el" href="DebugInfo_8cpp_source.html#l00157">llvm::DIDescriptor::isDerivedType()</a>.</p>
+
+<p>Referenced by <a class="el" href="DwarfCompileUnit_8cpp_source.html#l00481">llvm::CompileUnit::addConstantValue()</a>.</p>
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/DwarfCompileUnit_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,49 @@
+<map id="G" name="G">
+<area shape="rect" href="$DwarfAccelTable_8h.html" title="DwarfAccelTable.h" alt="" coords="741,161,877,188"/>
+<area shape="rect" href="$Debug_8h.html" title="llvm/Support/Debug.h" alt="" coords="17,239,177,265"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1937,316,2143,343"/>
+<area shape="rect" href="$DwarfCompileUnit_8h.html" title="DwarfCompileUnit.h" alt="" coords="1344,161,1491,188"/>
+<area shape="rect" href="$DwarfDebug_8h.html" title="DwarfDebug.h" alt="" coords="1907,161,2019,188"/>
+<area shape="rect" href="$Constants_8h.html" title="llvm/Constants.h" alt="" coords="3751,316,3879,343"/>
+<area shape="rect" href="$APFloat_8h.html" title="llvm/ADT/APFloat.h" alt="" coords="3871,393,4012,420"/>
+<area shape="rect" href="$DIBuilder_8h.html" title="llvm/DIBuilder.h" alt="" coords="3223,316,3343,343"/>
+<area shape="rect" href="$GlobalVariable_8h.html" title="llvm/GlobalVariable.h" alt="" coords="3953,161,4108,188"/>
+<area shape="rect" href="$Instructions_8h.html" title="llvm/Instructions.h" alt="" coords="3263,84,3399,111"/>
+<area shape="rect" href="$Mangler_8h.html" title="llvm/Target/Mangler.h" alt="" coords="2681,84,2836,111"/>
+<area shape="rect" href="$DataLayout_8h.html" title="llvm/DataLayout.h" alt="" coords="2796,239,2932,265"/>
+<area shape="rect" href="$TargetFrameLowering_8h.html" title="llvm/Target/TargetFrameLowering.h" alt="" coords="4231,471,4471,497"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="29,84,227,111"/>
+<area shape="rect" href="$TargetRegisterInfo_8h.html" title="llvm/Target/TargetRegisterInfo.h" alt="" coords="4004,84,4223,111"/>
+<area shape="rect" href="$StringMap_8h.html" title="llvm/ADT/StringMap.h" alt="" coords="1025,239,1183,265"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="2280,393,2464,420"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="3433,548,3577,575"/>
+<area shape="rect" href="$MCSymbol_8h.html" title="llvm/MC/MCSymbol.h" alt="" coords="796,316,951,343"/>
+<area shape="rect" href="$Dwarf_8h.html" title="llvm/Support/Dwarf.h" alt="" coords="1076,316,1228,343"/>
+<area shape="rect" href="$Format_8h.html" title="llvm/Support/Format.h" alt="" coords="252,239,415,265"/>
+<area shape="rect" href="$FormattedStream_8h.html" title="llvm/Support/FormattedStream.h" alt="" coords="439,239,671,265"/>
+<area shape="rect" href="$DIE_8h.html" title="DIE.h" alt="" coords="897,239,951,265"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1452,393,1601,420"/>
+<area shape="rect" href="$Allocator_8h.html" title="llvm/Support/Allocator.h" alt="" coords="1740,316,1913,343"/>
+<area shape="rect" href="$FoldingSet_8h.html" title="llvm/ADT/FoldingSet.h" alt="" coords="1505,316,1665,343"/>
+<area shape="rect" href="$DebugInfo_8h.html" title="llvm/DebugInfo.h" alt="" coords="1436,239,1564,265"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="2665,316,2825,343"/>
+<area shape="rect" href="$OwningPtr_8h.html" title="llvm/ADT/OwningPtr.h" alt="" coords="1257,239,1412,265"/>
+<area shape="rect" href="$SmallPtrSet_8h.html" title="llvm/ADT/SmallPtrSet.h" alt="" coords="2167,316,2335,343"/>
+<area shape="rect" href="$AsmPrinter_8h.html" title="llvm/CodeGen/AsmPrinter.h" alt="" coords="2135,239,2329,265"/>
+<area shape="rect" href="$LexicalScopes_8h.html" title="llvm/CodeGen/LexicalScopes.h" alt="" coords="2455,239,2671,265"/>
+<area shape="rect" href="$DebugLoc_8h.html" title="llvm/Support/DebugLoc.h" alt="" coords="2409,316,2591,343"/>
+<area shape="rect" href="$MachineLocation_8h.html" title="llvm/MC/MachineLocation.h" alt="" coords="1865,239,2060,265"/>
+<area shape="rect" href="$SetVector_8h.html" title="llvm/ADT/SetVector.h" alt="" coords="1803,548,1957,575"/>
+<area shape="rect" href="$Constant_8h.html" title="llvm/Constant.h" alt="" coords="4036,393,4156,420"/>
+<area shape="rect" href="$OperandTraits_8h.html" title="llvm/OperandTraits.h" alt="" coords="3593,393,3745,420"/>
+<area shape="rect" href="$APInt_8h.html" title="llvm/ADT/APInt.h" alt="" coords="3820,471,3945,497"/>
+<area shape="rect" href="$GlobalValue_8h.html" title="llvm/GlobalValue.h" alt="" coords="3985,316,4124,343"/>
+<area shape="rect" href="$ilist__node_8h.html" title="llvm/ADT/ilist_node.h" alt="" coords="4004,239,4156,265"/>
+<area shape="rect" href="$Twine_8h.html" title="llvm/ADT/Twine.h" alt="" coords="2956,239,3081,265"/>
+<area shape="rect" href="$InstrTypes_8h.html" title="llvm/InstrTypes.h" alt="" coords="2996,161,3121,188"/>
+<area shape="rect" href="$DerivedTypes_8h.html" title="llvm/DerivedTypes.h" alt="" coords="3052,316,3199,343"/>
+<area shape="rect" href="$Attributes_8h.html" title="llvm/Attributes.h" alt="" coords="3543,471,3668,497"/>
+<area shape="rect" href="$CallingConv_8h.html" title="llvm/CallingConv.h" alt="" coords="3641,161,3777,188"/>
+<area shape="rect" href="$IntegersSubset_8h.html" title="llvm/Support/IntegersSubset.h" alt="" coords="3308,239,3524,265"/>
+<area shape="rect" href="$IntegersSubsetMapping_8h.html" title="llvm/Support/IntegersSubsetMapping.h" alt="" coords="3196,161,3465,188"/>
+</map>

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,4 @@
+<map id="G" name="G">
+<area shape="rect" href="$DwarfCompileUnit_8cpp.html" title="DwarfCompileUnit.cpp" alt="" coords="5,84,168,111"/>
+<area shape="rect" href="$DwarfDebug_8cpp.html" title="DwarfDebug.cpp" alt="" coords="192,84,317,111"/>
+</map>

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfCompileUnit_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,395 @@
+<!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: DwarfCompileUnit.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_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_f2244d21cf8bec63d11bfc1ad661d96f.html">CodeGen</a>      </li>
+      <li class="navelem"><a class="el" href="dir_5f8f0bfb0fa844bddb949c179c0766c9.html">AsmPrinter</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DwarfCompileUnit.h</div>  </div>
+</div>
+<div class="contents">
+<a href="DwarfCompileUnit_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/CodeGen/DwarfCompileUnit.h - Dwarf Compile Unit ---*- 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 contains support for writing dwarf compile unit.</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 CODEGEN_ASMPRINTER_DWARFCOMPILEUNIT_H</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define CODEGEN_ASMPRINTER_DWARFCOMPILEUNIT_H</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="DIE_8h.html">DIE.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="DebugInfo_8h.html">llvm/DebugInfo.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="DenseMap_8h.html">llvm/ADT/DenseMap.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="StringMap_8h.html">llvm/ADT/StringMap.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="OwningPtr_8h.html">llvm/ADT/OwningPtr.h</a>"</span>
+<a name="l00022"></a>00022 
+<a name="l00023"></a>00023 <span class="keyword">namespace </span>llvm {
+<a name="l00024"></a>00024 
+<a name="l00025"></a>00025 <span class="keyword">class </span>DwarfDebug;
+<a name="l00026"></a>00026 <span class="keyword">class </span>MachineLocation;
+<a name="l00027"></a>00027 <span class="keyword">class </span>MachineOperand;
+<a name="l00028"></a>00028 <span class="keyword">class </span>ConstantInt;
+<a name="l00029"></a>00029 <span class="keyword">class </span>DbgVariable;
+<a name="l00030"></a>00030 
+<a name="l00031"></a>00031 <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span>
+<a name="l00032"></a>00032 <span class="comment">/// CompileUnit - This dwarf writer support class manages information associated</span>
+<a name="l00033"></a>00033 <span class="comment">/// with a source file.</span>
+<a name="l00034"></a><a class="code" href="classllvm_1_1CompileUnit.html">00034</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classllvm_1_1CompileUnit.html">CompileUnit</a> {<span class="comment"></span>
+<a name="l00035"></a>00035 <span class="comment">  /// ID - File identifier for source.</span>
+<a name="l00036"></a>00036 <span class="comment">  ///</span>
+<a name="l00037"></a>00037 <span class="comment"></span>  <span class="keywordtype">unsigned</span> ID;
+<a name="l00038"></a>00038 <span class="comment"></span>
+<a name="l00039"></a>00039 <span class="comment">  /// Language - The DW_AT_language of the compile unit</span>
+<a name="l00040"></a>00040 <span class="comment">  ///</span>
+<a name="l00041"></a>00041 <span class="comment"></span>  <span class="keywordtype">unsigned</span> Language;
+<a name="l00042"></a>00042 <span class="comment"></span>
+<a name="l00043"></a>00043 <span class="comment">  /// Die - Compile unit debug information entry.</span>
+<a name="l00044"></a>00044 <span class="comment">  ///</span>
+<a name="l00045"></a>00045 <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="classllvm_1_1OwningPtr.html">OwningPtr<DIE></a> CUDie;
+<a name="l00046"></a>00046 <span class="comment"></span>
+<a name="l00047"></a>00047 <span class="comment">  /// Asm - Target of Dwarf emission.</span>
+<a name="l00048"></a>00048 <span class="comment"></span>  <a class="code" href="classllvm_1_1AsmPrinter.html">AsmPrinter</a> *Asm;
+<a name="l00049"></a>00049 
+<a name="l00050"></a>00050   <a class="code" href="classllvm_1_1DwarfDebug.html">DwarfDebug</a> *DD;
+<a name="l00051"></a>00051 <span class="comment"></span>
+<a name="l00052"></a>00052 <span class="comment">  /// IndexTyDie - An anonymous type for index type.  Owned by CUDie.</span>
+<a name="l00053"></a>00053 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *IndexTyDie;
+<a name="l00054"></a>00054 <span class="comment"></span>
+<a name="l00055"></a>00055 <span class="comment">  /// MDNodeToDieMap - Tracks the mapping of unit level debug informaton</span>
+<a name="l00056"></a>00056 <span class="comment">  /// variables to debug information entries.</span>
+<a name="l00057"></a>00057 <span class="comment"></span>  <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<const MDNode *, DIE *></a> MDNodeToDieMap;
+<a name="l00058"></a>00058 <span class="comment"></span>
+<a name="l00059"></a>00059 <span class="comment">  /// MDNodeToDIEEntryMap - Tracks the mapping of unit level debug informaton</span>
+<a name="l00060"></a>00060 <span class="comment">  /// descriptors to debug information entries using a DIEEntry proxy.</span>
+<a name="l00061"></a>00061 <span class="comment"></span>  <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<const MDNode *, DIEEntry *></a> MDNodeToDIEEntryMap;
+<a name="l00062"></a>00062 <span class="comment"></span>
+<a name="l00063"></a>00063 <span class="comment">  /// GlobalTypes - A map of globally visible types for this unit.</span>
+<a name="l00064"></a>00064 <span class="comment">  ///</span>
+<a name="l00065"></a>00065 <span class="comment"></span>  <a class="code" href="classllvm_1_1StringMap.html">StringMap<DIE*></a> GlobalTypes;
+<a name="l00066"></a>00066 <span class="comment"></span>
+<a name="l00067"></a>00067 <span class="comment">  /// AccelNames - A map of names for the name accelerator table.</span>
+<a name="l00068"></a>00068 <span class="comment">  ///</span>
+<a name="l00069"></a>00069 <span class="comment"></span>  <a class="code" href="classllvm_1_1StringMap.html">StringMap<std::vector<DIE*></a> > AccelNames;
+<a name="l00070"></a>00070   <a class="code" href="classllvm_1_1StringMap.html">StringMap<std::vector<DIE*></a> > AccelObjC;
+<a name="l00071"></a>00071   <a class="code" href="classllvm_1_1StringMap.html">StringMap<std::vector<DIE*></a> > AccelNamespace;
+<a name="l00072"></a>00072   <a class="code" href="classllvm_1_1StringMap.html">StringMap<std::vector<std::pair<DIE*, unsigned></a> > > AccelTypes;
+<a name="l00073"></a>00073 <span class="comment"></span>
+<a name="l00074"></a>00074 <span class="comment">  /// DIEBlocks - A list of all the DIEBlocks in use.</span>
+<a name="l00075"></a>00075 <span class="comment"></span>  std::vector<DIEBlock *> DIEBlocks;
+<a name="l00076"></a>00076 <span class="comment"></span>
+<a name="l00077"></a>00077 <span class="comment">  /// ContainingTypeMap - This map is used to keep track of subprogram DIEs that</span>
+<a name="l00078"></a>00078 <span class="comment">  /// need DW_AT_containing_type attribute. This attribute points to a DIE that</span>
+<a name="l00079"></a>00079 <span class="comment">  /// corresponds to the MDNode mapped with the subprogram DIE.</span>
+<a name="l00080"></a>00080 <span class="comment"></span>  <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<DIE *, const MDNode *></a> ContainingTypeMap;
+<a name="l00081"></a>00081 
+<a name="l00082"></a>00082 <span class="keyword">public</span>:
+<a name="l00083"></a>00083   <a class="code" href="classllvm_1_1CompileUnit.html#abbc1ca29627936782fb54fd6f3362619" title="CompileUnit - Compile unit constructor.">CompileUnit</a>(<span class="keywordtype">unsigned</span> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, <span class="keywordtype">unsigned</span> L, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *D, <a class="code" href="classllvm_1_1AsmPrinter.html">AsmPrinter</a> *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11bad9577456b5bb7a03b7f42a710e122ab5">A</a>, <a class="code" href="classllvm_1_1DwarfDebug.html">DwarfDebug</a> *DW);
+<a name="l00084"></a>00084   <a class="code" href="classllvm_1_1CompileUnit.html#aff83947c9ef207b833f186bdcc8a262a" title="~CompileUnit - Destructor for compile unit.">~CompileUnit</a>();
+<a name="l00085"></a>00085 
+<a name="l00086"></a>00086   <span class="comment">// Accessors.</span>
+<a name="l00087"></a><a class="code" href="classllvm_1_1CompileUnit.html#ad9ceca74115bfc92e64a335399bd28a2">00087</a>   <span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1CompileUnit.html#ad9ceca74115bfc92e64a335399bd28a2">getID</a>()<span class="keyword">                  const </span>{ <span class="keywordflow">return</span> ID; }
+<a name="l00088"></a><a class="code" href="classllvm_1_1CompileUnit.html#ac72ecdd1e09aa59556d6faab8b13e098">00088</a>   <span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1CompileUnit.html#ac72ecdd1e09aa59556d6faab8b13e098">getLanguage</a>()<span class="keyword">            const </span>{ <span class="keywordflow">return</span> Language; }
+<a name="l00089"></a><a class="code" href="classllvm_1_1CompileUnit.html#a438d036e78861fa796ef6454a5a4270b">00089</a>   <a class="code" href="classllvm_1_1DIE.html">DIE</a>* <a class="code" href="classllvm_1_1CompileUnit.html#a438d036e78861fa796ef6454a5a4270b">getCUDie</a>()<span class="keyword">                   const </span>{ <span class="keywordflow">return</span> CUDie.<a class="code" href="classllvm_1_1OwningPtr.html#a89ff786da2c3247bab265b9c8fc861b2">get</a>(); }
+<a name="l00090"></a><a class="code" href="classllvm_1_1CompileUnit.html#ab0e1fe30677110216736a4c77b8674f3">00090</a>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1StringMap.html">StringMap<DIE*></a> &<a class="code" href="classllvm_1_1CompileUnit.html#ab0e1fe30677110216736a4c77b8674f3">getGlobalTypes</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> GlobalTypes; }
+<a name="l00091"></a>00091 
+<a name="l00092"></a><a class="code" href="classllvm_1_1CompileUnit.html#a9cf1cb47225e15f1a1558ef06ef85512">00092</a>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1StringMap.html">StringMap<std::vector<DIE*></a> > &<a class="code" href="classllvm_1_1CompileUnit.html#a9cf1cb47225e15f1a1558ef06ef85512">getAccelNames</a>()<span class="keyword"> const </span>{
+<a name="l00093"></a>00093     <span class="keywordflow">return</span> AccelNames;
+<a name="l00094"></a>00094   }
+<a name="l00095"></a><a class="code" href="classllvm_1_1CompileUnit.html#acc53ae0bc5668e8d836eff5617752e5e">00095</a>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1StringMap.html">StringMap<std::vector<DIE*></a> > &<a class="code" href="classllvm_1_1CompileUnit.html#acc53ae0bc5668e8d836eff5617752e5e">getAccelObjC</a>()<span class="keyword"> const </span>{
+<a name="l00096"></a>00096     <span class="keywordflow">return</span> AccelObjC;
+<a name="l00097"></a>00097   }
+<a name="l00098"></a><a class="code" href="classllvm_1_1CompileUnit.html#a95ae1a32482df08bd5e450cd9963d845">00098</a>   <span class="keyword">const</span> <a class="code" href="classllvm_1_1StringMap.html">StringMap<std::vector<DIE*></a> > &<a class="code" href="classllvm_1_1CompileUnit.html#a95ae1a32482df08bd5e450cd9963d845">getAccelNamespace</a>()<span class="keyword"> const </span>{
+<a name="l00099"></a>00099     <span class="keywordflow">return</span> AccelNamespace;
+<a name="l00100"></a>00100   }
+<a name="l00101"></a>00101   <span class="keyword">const</span> <a class="code" href="classllvm_1_1StringMap.html">StringMap<std::vector<std::pair<DIE*, unsigned ></a> > >
+<a name="l00102"></a><a class="code" href="classllvm_1_1CompileUnit.html#a87f6a7985f6b13a6da0d364bf983ac82">00102</a>   &<a class="code" href="classllvm_1_1CompileUnit.html#a87f6a7985f6b13a6da0d364bf983ac82">getAccelTypes</a>()<span class="keyword"> const </span>{
+<a name="l00103"></a>00103     <span class="keywordflow">return</span> AccelTypes;
+<a name="l00104"></a>00104   }
+<a name="l00105"></a>00105   <span class="comment"></span>
+<a name="l00106"></a>00106 <span class="comment">  /// hasContent - Return true if this compile unit has something to write out.</span>
+<a name="l00107"></a>00107 <span class="comment">  ///</span>
+<a name="l00108"></a><a class="code" href="classllvm_1_1CompileUnit.html#ab24612e239907fa77b5926eb42c822cc">00108</a> <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1CompileUnit.html#ab24612e239907fa77b5926eb42c822cc">hasContent</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !CUDie->getChildren().empty(); }
+<a name="l00109"></a>00109 <span class="comment"></span>
+<a name="l00110"></a>00110 <span class="comment">  /// addGlobalType - Add a new global type to the compile unit.</span>
+<a name="l00111"></a>00111 <span class="comment">  ///</span>
+<a name="l00112"></a>00112 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a9fdfcef07888a9bc14facb20721e003a">addGlobalType</a>(<a class="code" href="classllvm_1_1DIType.html">DIType</a> Ty);
+<a name="l00113"></a>00113 
+<a name="l00114"></a>00114 <span class="comment"></span>
+<a name="l00115"></a>00115 <span class="comment">  /// addAccelName - Add a new name to the name accelerator table.</span>
+<a name="l00116"></a><a class="code" href="classllvm_1_1CompileUnit.html#a6dc62b006631165a28532f078e8f6494">00116</a> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a6dc62b006631165a28532f078e8f6494" title="addAccelName - Add a new name to the name accelerator table.">addAccelName</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a> <a class="code" href="namespacellvm_1_1GraphProgram.html#a0ad4685976f8c4d4a697a53fbe05d10b">Name</a>, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die) {
+<a name="l00117"></a>00117     std::vector<DIE*> &DIEs = AccelNames[<a class="code" href="namespacellvm_1_1GraphProgram.html#a0ad4685976f8c4d4a697a53fbe05d10b">Name</a>];
+<a name="l00118"></a>00118     DIEs.push_back(Die);
+<a name="l00119"></a>00119   }
+<a name="l00120"></a><a class="code" href="classllvm_1_1CompileUnit.html#a2d26065366a8e49915d70a2815756495">00120</a>   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a2d26065366a8e49915d70a2815756495">addAccelObjC</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a> <a class="code" href="namespacellvm_1_1GraphProgram.html#a0ad4685976f8c4d4a697a53fbe05d10b">Name</a>, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die) {
+<a name="l00121"></a>00121     std::vector<DIE*> &DIEs = AccelObjC[<a class="code" href="namespacellvm_1_1GraphProgram.html#a0ad4685976f8c4d4a697a53fbe05d10b">Name</a>];
+<a name="l00122"></a>00122     DIEs.push_back(Die);
+<a name="l00123"></a>00123   }
+<a name="l00124"></a><a class="code" href="classllvm_1_1CompileUnit.html#a86243d9fa936655c3cff1ed75d6ea915">00124</a>   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a86243d9fa936655c3cff1ed75d6ea915">addAccelNamespace</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a> <a class="code" href="namespacellvm_1_1GraphProgram.html#a0ad4685976f8c4d4a697a53fbe05d10b">Name</a>, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die) {
+<a name="l00125"></a>00125     std::vector<DIE*> &DIEs = AccelNamespace[<a class="code" href="namespacellvm_1_1GraphProgram.html#a0ad4685976f8c4d4a697a53fbe05d10b">Name</a>];
+<a name="l00126"></a>00126     DIEs.push_back(Die);
+<a name="l00127"></a>00127   }
+<a name="l00128"></a><a class="code" href="classllvm_1_1CompileUnit.html#a8d63ec68e3490bb375b6a3e056b8f186">00128</a>   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a8d63ec68e3490bb375b6a3e056b8f186">addAccelType</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a> <a class="code" href="namespacellvm_1_1GraphProgram.html#a0ad4685976f8c4d4a697a53fbe05d10b">Name</a>, std::pair<DIE *, unsigned> Die) {
+<a name="l00129"></a>00129     std::vector<std::pair<DIE*, unsigned > > &DIEs = AccelTypes[<a class="code" href="namespacellvm_1_1GraphProgram.html#a0ad4685976f8c4d4a697a53fbe05d10b">Name</a>];
+<a name="l00130"></a>00130     DIEs.push_back(Die);
+<a name="l00131"></a>00131   }
+<a name="l00132"></a>00132   <span class="comment"></span>
+<a name="l00133"></a>00133 <span class="comment">  /// getDIE - Returns the debug information entry map slot for the</span>
+<a name="l00134"></a>00134 <span class="comment">  /// specified debug variable.</span>
+<a name="l00135"></a><a class="code" href="classllvm_1_1CompileUnit.html#acdd5ed02db01276c2e862eef26ec1a29">00135</a> <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#acdd5ed02db01276c2e862eef26ec1a29">getDIE</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MDNode.html" title="MDNode - a tuple of other values.">MDNode</a> *N) { <span class="keywordflow">return</span> MDNodeToDieMap.<a class="code" href="classllvm_1_1DenseMapBase.html#acfd7cc74125222a81c02b4097ed5166c">lookup</a>(N); }
+<a name="l00136"></a>00136 
+<a name="l00137"></a><a class="code" href="classllvm_1_1CompileUnit.html#a56b6a115c393040c1f8ba1b2eac944b0">00137</a>   <a class="code" href="classllvm_1_1DIEBlock.html" title="DIEBlock - A block of values. Primarily used for location expressions.">DIEBlock</a> *<a class="code" href="classllvm_1_1CompileUnit.html#a56b6a115c393040c1f8ba1b2eac944b0">getDIEBlock</a>() { 
+<a name="l00138"></a>00138     <span class="keywordflow">return</span> <span class="keyword">new</span> (DIEValueAllocator) <a class="code" href="classllvm_1_1DIEBlock.html" title="DIEBlock - A block of values. Primarily used for location expressions.">DIEBlock</a>();
+<a name="l00139"></a>00139   }
+<a name="l00140"></a>00140 <span class="comment"></span>
+<a name="l00141"></a>00141 <span class="comment">  /// insertDIE - Insert DIE into the map.</span>
+<a name="l00142"></a><a class="code" href="classllvm_1_1CompileUnit.html#ad7d02cf0f023be5bcdaad092572b0fe4">00142</a> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#ad7d02cf0f023be5bcdaad092572b0fe4" title="insertDIE - Insert DIE into the map.">insertDIE</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MDNode.html" title="MDNode - a tuple of other values.">MDNode</a> *N, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *D) {
+<a name="l00143"></a>00143     MDNodeToDieMap.<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(std::make_pair(N, D));
+<a name="l00144"></a>00144   }
+<a name="l00145"></a>00145 <span class="comment"></span>
+<a name="l00146"></a>00146 <span class="comment">  /// getDIEEntry - Returns the debug information entry for the specified</span>
+<a name="l00147"></a>00147 <span class="comment">  /// debug variable.</span>
+<a name="l00148"></a><a class="code" href="classllvm_1_1CompileUnit.html#ac274efb90d089876b078def1075c906a">00148</a> <span class="comment"></span>  <a class="code" href="classllvm_1_1DIEEntry.html">DIEEntry</a> *<a class="code" href="classllvm_1_1CompileUnit.html#ac274efb90d089876b078def1075c906a">getDIEEntry</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MDNode.html" title="MDNode - a tuple of other values.">MDNode</a> *N) {
+<a name="l00149"></a>00149     <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<const MDNode *, DIEEntry *>::iterator</a> I =
+<a name="l00150"></a>00150       MDNodeToDIEEntryMap.<a class="code" href="classllvm_1_1DenseMapBase.html#a21cf94357e53cd1069aba475266fdb63">find</a>(N);
+<a name="l00151"></a>00151     <span class="keywordflow">if</span> (I == MDNodeToDIEEntryMap.<a class="code" href="classllvm_1_1DenseMapBase.html#a321e37d79af8b4287f8a1dcf9aff9c01">end</a>())
+<a name="l00152"></a>00152       <span class="keywordflow">return</span> NULL;
+<a name="l00153"></a>00153     <span class="keywordflow">return</span> I->second;
+<a name="l00154"></a>00154   }
+<a name="l00155"></a>00155 <span class="comment"></span>
+<a name="l00156"></a>00156 <span class="comment">  /// insertDIEEntry - Insert debug information entry into the map.</span>
+<a name="l00157"></a><a class="code" href="classllvm_1_1CompileUnit.html#ab55b084bc858c44a9578443a32138c9e">00157</a> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#ab55b084bc858c44a9578443a32138c9e" title="insertDIEEntry - Insert debug information entry into the map.">insertDIEEntry</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MDNode.html" title="MDNode - a tuple of other values.">MDNode</a> *N, <a class="code" href="classllvm_1_1DIEEntry.html">DIEEntry</a> *E) {
+<a name="l00158"></a>00158     MDNodeToDIEEntryMap.<a class="code" href="classllvm_1_1DenseMapBase.html#a699a66e504b48fdeff124e82f6c61917">insert</a>(std::make_pair(N, E));
+<a name="l00159"></a>00159   }
+<a name="l00160"></a>00160 <span class="comment"></span>
+<a name="l00161"></a>00161 <span class="comment">  /// addDie - Adds or interns the DIE to the compile unit.</span>
+<a name="l00162"></a>00162 <span class="comment">  ///</span>
+<a name="l00163"></a><a class="code" href="classllvm_1_1CompileUnit.html#a93e5656424bea7747295a98d1ee5b088">00163</a> <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a93e5656424bea7747295a98d1ee5b088">addDie</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Buffer) {
+<a name="l00164"></a>00164     this->CUDie->addChild(Buffer);
+<a name="l00165"></a>00165   }
+<a name="l00166"></a>00166 
+<a name="l00167"></a>00167   <span class="comment">// getIndexTyDie - Get an anonymous type for index type.</span>
+<a name="l00168"></a><a class="code" href="classllvm_1_1CompileUnit.html#ae10a3bbdaa88c87553daa6f5b872998f">00168</a>   <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#ae10a3bbdaa88c87553daa6f5b872998f">getIndexTyDie</a>() {
+<a name="l00169"></a>00169     <span class="keywordflow">return</span> IndexTyDie;
+<a name="l00170"></a>00170   }
+<a name="l00171"></a>00171 
+<a name="l00172"></a>00172   <span class="comment">// setIndexTyDie - Set D as anonymous type for index which can be reused</span>
+<a name="l00173"></a>00173   <span class="comment">// later.</span>
+<a name="l00174"></a><a class="code" href="classllvm_1_1CompileUnit.html#a7851b96aa8ca8df173b2e909da527ec7">00174</a>   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a7851b96aa8ca8df173b2e909da527ec7">setIndexTyDie</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *D) {
+<a name="l00175"></a>00175     IndexTyDie = D;
+<a name="l00176"></a>00176   }
+<a name="l00177"></a>00177 <span class="keyword">public</span>:
+<a name="l00178"></a>00178 <span class="comment"></span>
+<a name="l00179"></a>00179 <span class="comment">  /// addFlag - Add a flag that is true to the DIE.</span>
+<a name="l00180"></a>00180 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a1cef98eb0d8f45ad4fe9c57e66b49f45" title="addFlag - Add a flag that is true to the DIE.">addFlag</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute);
+<a name="l00181"></a>00181   <span class="comment"></span>
+<a name="l00182"></a>00182 <span class="comment">  /// addUInt - Add an unsigned integer attribute data and value.</span>
+<a name="l00183"></a>00183 <span class="comment">  ///</span>
+<a name="l00184"></a>00184 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a3f1a9796315587f209f63c335a896802">addUInt</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute, <span class="keywordtype">unsigned</span> Form, uint64_t Integer);
+<a name="l00185"></a>00185 <span class="comment"></span>
+<a name="l00186"></a>00186 <span class="comment">  /// addSInt - Add an signed integer attribute data and value.</span>
+<a name="l00187"></a>00187 <span class="comment">  ///</span>
+<a name="l00188"></a>00188 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#aac885258b6b2e25bcb2ebfbe4e124ffd">addSInt</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute, <span class="keywordtype">unsigned</span> Form, <a class="code" href="classint64__t.html">int64_t</a> Integer);
+<a name="l00189"></a>00189 <span class="comment"></span>
+<a name="l00190"></a>00190 <span class="comment">  /// addString - Add a string attribute data and value.</span>
+<a name="l00191"></a>00191 <span class="comment">  ///</span>
+<a name="l00192"></a>00192 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#ae4d72ab487d3d48729d2e51b1bb769eb">addString</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute, <span class="keyword">const</span> <a class="code" href="classllvm_1_1StringRef.html">StringRef</a> Str);
+<a name="l00193"></a>00193 <span class="comment"></span>
+<a name="l00194"></a>00194 <span class="comment">  /// addLabel - Add a Dwarf label attribute data and value.</span>
+<a name="l00195"></a>00195 <span class="comment">  ///</span>
+<a name="l00196"></a>00196 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#ac0ff87a62df0f15fb487609e9a3d627f">addLabel</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute, <span class="keywordtype">unsigned</span> Form,
+<a name="l00197"></a>00197                 <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSymbol.html">MCSymbol</a> *Label);
+<a name="l00198"></a>00198 <span class="comment"></span>
+<a name="l00199"></a>00199 <span class="comment">  /// addDelta - Add a label delta attribute data and value.</span>
+<a name="l00200"></a>00200 <span class="comment">  ///</span>
+<a name="l00201"></a>00201 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a0ef18a5919bea4c0bd91166ecdcbadd6">addDelta</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute, <span class="keywordtype">unsigned</span> Form,
+<a name="l00202"></a>00202                 <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSymbol.html">MCSymbol</a> *<a class="code" href="namespacellvm_1_1SPUISD.html#a317972e7ba7aa6aac9068bbf50de2f89ae3a56d8e7b43b7a68cbb0e7655a062cd" title="High address component (upper 16)">Hi</a>, <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCSymbol.html">MCSymbol</a> *<a class="code" href="namespacellvm_1_1SPUISD.html#a317972e7ba7aa6aac9068bbf50de2f89ab68a439987d870da623ed899fa47344c" title="Low address component (lower 16)">Lo</a>);
+<a name="l00203"></a>00203 <span class="comment"></span>
+<a name="l00204"></a>00204 <span class="comment">  /// addDIEEntry - Add a DIE attribute data and value.</span>
+<a name="l00205"></a>00205 <span class="comment">  ///</span>
+<a name="l00206"></a>00206 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#aae8ba0d2ae669407086625ce9f9b24ec">addDIEEntry</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute, <span class="keywordtype">unsigned</span> Form, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *Entry);
+<a name="l00207"></a>00207   <span class="comment"></span>
+<a name="l00208"></a>00208 <span class="comment">  /// addBlock - Add block data.</span>
+<a name="l00209"></a>00209 <span class="comment">  ///</span>
+<a name="l00210"></a>00210 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a82d6cc9a71e02306bc67d6b5fac7183c">addBlock</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute, <span class="keywordtype">unsigned</span> Form, <a class="code" href="classllvm_1_1DIEBlock.html" title="DIEBlock - A block of values. Primarily used for location expressions.">DIEBlock</a> *Block);
+<a name="l00211"></a>00211 <span class="comment"></span>
+<a name="l00212"></a>00212 <span class="comment">  /// addSourceLine - Add location information to specified debug information</span>
+<a name="l00213"></a>00213 <span class="comment">  /// entry.</span>
+<a name="l00214"></a>00214 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#af6d81a98044d4acde942921499599967">addSourceLine</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <a class="code" href="classllvm_1_1DIVariable.html">DIVariable</a> V);
+<a name="l00215"></a>00215   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#af6d81a98044d4acde942921499599967">addSourceLine</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <a class="code" href="classllvm_1_1DIGlobalVariable.html" title="DIGlobalVariable - This is a wrapper for a global variable.">DIGlobalVariable</a> G);
+<a name="l00216"></a>00216   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#af6d81a98044d4acde942921499599967">addSourceLine</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <a class="code" href="classllvm_1_1DISubprogram.html" title="DISubprogram - This is a wrapper for a subprogram (e.g. a function).">DISubprogram</a> SP);
+<a name="l00217"></a>00217   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#af6d81a98044d4acde942921499599967">addSourceLine</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <a class="code" href="classllvm_1_1DIType.html">DIType</a> Ty);
+<a name="l00218"></a>00218   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#af6d81a98044d4acde942921499599967">addSourceLine</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <a class="code" href="classllvm_1_1DINameSpace.html" title="DINameSpace - A wrapper for a C++ style name space.">DINameSpace</a> NS);
+<a name="l00219"></a>00219   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#af6d81a98044d4acde942921499599967">addSourceLine</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <a class="code" href="classllvm_1_1DIObjCProperty.html">DIObjCProperty</a> Ty);
+<a name="l00220"></a>00220 <span class="comment"></span>
+<a name="l00221"></a>00221 <span class="comment">  /// addAddress - Add an address attribute to a die based on the location</span>
+<a name="l00222"></a>00222 <span class="comment">  /// provided.</span>
+<a name="l00223"></a>00223 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a9ecfc98bac49ba09df4dfebe2c1d34a3">addAddress</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute,
+<a name="l00224"></a>00224                   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineLocation.html">MachineLocation</a> &Location);
+<a name="l00225"></a>00225 <span class="comment"></span>
+<a name="l00226"></a>00226 <span class="comment">  /// addConstantValue - Add constant value entry in variable DIE.</span>
+<a name="l00227"></a>00227 <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1CompileUnit.html#a58519c4fe1fbf2bc1f0fe47bb55dc6db" title="addConstantValue - Add constant value entry in variable DIE.">addConstantValue</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO, <a class="code" href="classllvm_1_1DIType.html">DIType</a> Ty);
+<a name="l00228"></a>00228   <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1CompileUnit.html#a58519c4fe1fbf2bc1f0fe47bb55dc6db" title="addConstantValue - Add constant value entry in variable DIE.">addConstantValue</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keyword">const</span> <a class="code" href="classllvm_1_1ConstantInt.html" title="Class for constant integers.">ConstantInt</a> *CI, <span class="keywordtype">bool</span> <a class="code" href="namespacellvm_1_1NVPTX_1_1PTXLdStInstCode.html#a0c4e2aa2235abdd10d2beffa32cd9b14a0198fed90551f808b7a382645423973e">Unsigned</a>);
+<a name="l00229"></a>00229 <span class="comment"></span>
+<a name="l00230"></a>00230 <span class="comment">  /// addConstantFPValue - Add constant value entry in variable DIE.</span>
+<a name="l00231"></a>00231 <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1CompileUnit.html#afc5bba16b5ee5abf9ff2cf17048e4c68" title="addConstantFPValue - Add constant value entry in variable DIE.">addConstantFPValue</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO);
+<a name="l00232"></a>00232 <span class="comment"></span>
+<a name="l00233"></a>00233 <span class="comment">  /// addTemplateParams - Add template parameters in buffer.</span>
+<a name="l00234"></a>00234 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#aaf050b3ee29b2e46d2d79175c51312e1" title="addTemplateParams - Add template parameters in buffer.">addTemplateParams</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> &Buffer, <a class="code" href="classllvm_1_1DIArray.html" title="DIArray - This descriptor holds an array of descriptors.">DIArray</a> TParams);
+<a name="l00235"></a>00235 <span class="comment"></span>
+<a name="l00236"></a>00236 <span class="comment">  /// addRegisterOp - Add register operand.</span>
+<a name="l00237"></a>00237 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a6a73214401d6b379f26cc14f9d5f500e" title="addRegisterOp - Add register operand.">addRegisterOp</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *TheDie, <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a>);
+<a name="l00238"></a>00238 <span class="comment"></span>
+<a name="l00239"></a>00239 <span class="comment">  /// addRegisterOffset - Add register offset.</span>
+<a name="l00240"></a>00240 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#ac627a8b0818ff14ada97dd28f746d9f0" title="addRegisterOffset - Add register offset.">addRegisterOffset</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *TheDie, <span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a>, <a class="code" href="classint64__t.html">int64_t</a> Offset);
+<a name="l00241"></a>00241 <span class="comment"></span>
+<a name="l00242"></a>00242 <span class="comment">  /// addComplexAddress - Start with the address based on the location provided,</span>
+<a name="l00243"></a>00243 <span class="comment">  /// and generate the DWARF information necessary to find the actual variable</span>
+<a name="l00244"></a>00244 <span class="comment">  /// (navigating the extra location information encoded in the type) based on</span>
+<a name="l00245"></a>00245 <span class="comment">  /// the starting location.  Add the DWARF information to the die.</span>
+<a name="l00246"></a>00246 <span class="comment">  ///</span>
+<a name="l00247"></a>00247 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a6b7a0a992df19a90ad136c8e9c3f03be">addComplexAddress</a>(<a class="code" href="classllvm_1_1DbgVariable.html">DbgVariable</a> *&DV, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute,
+<a name="l00248"></a>00248                          <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineLocation.html">MachineLocation</a> &Location);
+<a name="l00249"></a>00249 
+<a name="l00250"></a>00250   <span class="comment">// FIXME: Should be reformulated in terms of addComplexAddress.</span><span class="comment"></span>
+<a name="l00251"></a>00251 <span class="comment">  /// addBlockByrefAddress - Start with the address based on the location</span>
+<a name="l00252"></a>00252 <span class="comment">  /// provided, and generate the DWARF information necessary to find the</span>
+<a name="l00253"></a>00253 <span class="comment">  /// actual Block variable (navigating the Block struct) based on the</span>
+<a name="l00254"></a>00254 <span class="comment">  /// starting location.  Add the DWARF information to the die.  Obsolete,</span>
+<a name="l00255"></a>00255 <span class="comment">  /// please use addComplexAddress instead.</span>
+<a name="l00256"></a>00256 <span class="comment">  ///</span>
+<a name="l00257"></a>00257 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a0ee6763f8d6c8b9ec05c2f8f25e62caa">addBlockByrefAddress</a>(<a class="code" href="classllvm_1_1DbgVariable.html">DbgVariable</a> *&DV, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <span class="keywordtype">unsigned</span> Attribute,
+<a name="l00258"></a>00258                             <span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineLocation.html">MachineLocation</a> &Location);
+<a name="l00259"></a>00259 <span class="comment"></span>
+<a name="l00260"></a>00260 <span class="comment">  /// addVariableAddress - Add DW_AT_location attribute for a </span>
+<a name="l00261"></a>00261 <span class="comment">  /// DbgVariable based on provided MachineLocation.</span>
+<a name="l00262"></a>00262 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a13fa7740d79ff8349f00c185bc862162">addVariableAddress</a>(<a class="code" href="classllvm_1_1DbgVariable.html">DbgVariable</a> *&DV, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <a class="code" href="classllvm_1_1MachineLocation.html">MachineLocation</a> Location);
+<a name="l00263"></a>00263 <span class="comment"></span>
+<a name="l00264"></a>00264 <span class="comment">  /// addToContextOwner - Add Die into the list of its context owner's children.</span>
+<a name="l00265"></a>00265 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#ae20758d829393b3e9f48a3c18abe40e3" title="addToContextOwner - Add Die into the list of its context owner's children.">addToContextOwner</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Die, <a class="code" href="classllvm_1_1DIDescriptor.html">DIDescriptor</a> Context);
+<a name="l00266"></a>00266 <span class="comment"></span>
+<a name="l00267"></a>00267 <span class="comment">  /// addType - Add a new type attribute to the specified entity. This takes</span>
+<a name="l00268"></a>00268 <span class="comment">  /// and attribute parameter because DW_AT_friend attributes are also</span>
+<a name="l00269"></a>00269 <span class="comment">  /// type references.</span>
+<a name="l00270"></a>00270 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#ace0858c211b274d8a22ab7320d2383b6" title="addType - Add a new type attribute to the specified entity.">addType</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Entity, <a class="code" href="classllvm_1_1DIType.html">DIType</a> Ty, <span class="keywordtype">unsigned</span> Attribute = <a class="code" href="namespacellvm_1_1dwarf.html#a85bda042c02722848a3411b67924eb47a59ae064f26b4b35eb8c31cb3a1994e4b">dwarf::DW_AT_type</a>);
+<a name="l00271"></a>00271 <span class="comment"></span>
+<a name="l00272"></a>00272 <span class="comment">  /// getOrCreateNameSpace - Create a DIE for DINameSpace.</span>
+<a name="l00273"></a>00273 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#a4c97f377a87781fd0fdb18978919931d" title="getOrCreateNameSpace - Create a DIE for DINameSpace.">getOrCreateNameSpace</a>(<a class="code" href="classllvm_1_1DINameSpace.html" title="DINameSpace - A wrapper for a C++ style name space.">DINameSpace</a> NS);
+<a name="l00274"></a>00274 <span class="comment"></span>
+<a name="l00275"></a>00275 <span class="comment">  /// getOrCreateSubprogramDIE - Create new DIE using SP.</span>
+<a name="l00276"></a>00276 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#ae1fb75d1825cdda52ba3cac3e22d742d" title="getOrCreateSubprogramDIE - Create new DIE using SP.">getOrCreateSubprogramDIE</a>(<a class="code" href="classllvm_1_1DISubprogram.html" title="DISubprogram - This is a wrapper for a subprogram (e.g. a function).">DISubprogram</a> SP);
+<a name="l00277"></a>00277 <span class="comment"></span>
+<a name="l00278"></a>00278 <span class="comment">  /// getOrCreateTypeDIE - Find existing DIE or create new DIE for the</span>
+<a name="l00279"></a>00279 <span class="comment">  /// given DIType.</span>
+<a name="l00280"></a>00280 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#ad96cc0fb1f4d6b6127eb2287cd8b1640">getOrCreateTypeDIE</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MDNode.html" title="MDNode - a tuple of other values.">MDNode</a> *N);
+<a name="l00281"></a>00281 <span class="comment"></span>
+<a name="l00282"></a>00282 <span class="comment">  /// getOrCreateTemplateTypeParameterDIE - Find existing DIE or create new DIE </span>
+<a name="l00283"></a>00283 <span class="comment">  /// for the given DITemplateTypeParameter.</span>
+<a name="l00284"></a>00284 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#ac8ac5d72e119bef4345e5f052a2a3b53">getOrCreateTemplateTypeParameterDIE</a>(<a class="code" href="classllvm_1_1DITemplateTypeParameter.html" title="DITemplateTypeParameter - This is a wrapper for template type parameter.">DITemplateTypeParameter</a> TP);
+<a name="l00285"></a>00285 <span class="comment"></span>
+<a name="l00286"></a>00286 <span class="comment">  /// getOrCreateTemplateValueParameterDIE - Find existing DIE or create</span>
+<a name="l00287"></a>00287 <span class="comment">  /// new DIE for the given DITemplateValueParameter.</span>
+<a name="l00288"></a>00288 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#a705bd648403c111b823e76e4c0e7154a">getOrCreateTemplateValueParameterDIE</a>(<a class="code" href="classllvm_1_1DITemplateValueParameter.html" title="DITemplateValueParameter - This is a wrapper for template value parameter.">DITemplateValueParameter</a> TVP);
+<a name="l00289"></a>00289 <span class="comment"></span>
+<a name="l00290"></a>00290 <span class="comment">  /// createDIEEntry - Creates a new DIEEntry to be a proxy for a debug</span>
+<a name="l00291"></a>00291 <span class="comment">  /// information entry.</span>
+<a name="l00292"></a>00292 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIEEntry.html">DIEEntry</a> *<a class="code" href="classllvm_1_1CompileUnit.html#aa3f5ee1a6c50fdd9ed19c629f3314af7">createDIEEntry</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> *Entry);
+<a name="l00293"></a>00293 <span class="comment"></span>
+<a name="l00294"></a>00294 <span class="comment">  /// createGlobalVariableDIE - create global variable DIE.</span>
+<a name="l00295"></a>00295 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#ab08dc4e069ad0af7aea00d695a3ee809" title="createGlobalVariableDIE - create global variable DIE.">createGlobalVariableDIE</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MDNode.html" title="MDNode - a tuple of other values.">MDNode</a> *N);
+<a name="l00296"></a>00296 
+<a name="l00297"></a>00297   <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#af14088f79dacef420c5f33ab1249a316" title="addPubTypes - Add type for pubtypes section.">addPubTypes</a>(<a class="code" href="classllvm_1_1DISubprogram.html" title="DISubprogram - This is a wrapper for a subprogram (e.g. a function).">DISubprogram</a> SP);
+<a name="l00298"></a>00298 <span class="comment"></span>
+<a name="l00299"></a>00299 <span class="comment">  /// constructTypeDIE - Construct basic type die from DIBasicType.</span>
+<a name="l00300"></a>00300 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a4d104deaeb144df1e3c000e5b24929af" title="constructTypeDIE - Construct basic type die from DIBasicType.">constructTypeDIE</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> &Buffer,
+<a name="l00301"></a>00301                         <a class="code" href="classllvm_1_1DIBasicType.html" title="DIBasicType - A basic type, like 'int' or 'float'.">DIBasicType</a> BTy);
+<a name="l00302"></a>00302 <span class="comment"></span>
+<a name="l00303"></a>00303 <span class="comment">  /// constructTypeDIE - Construct derived type die from DIDerivedType.</span>
+<a name="l00304"></a>00304 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a4d104deaeb144df1e3c000e5b24929af" title="constructTypeDIE - Construct basic type die from DIBasicType.">constructTypeDIE</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> &Buffer,
+<a name="l00305"></a>00305                         <a class="code" href="classllvm_1_1DIDerivedType.html">DIDerivedType</a> DTy);
+<a name="l00306"></a>00306 <span class="comment"></span>
+<a name="l00307"></a>00307 <span class="comment">  /// constructTypeDIE - Construct type DIE from DICompositeType.</span>
+<a name="l00308"></a>00308 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a4d104deaeb144df1e3c000e5b24929af" title="constructTypeDIE - Construct basic type die from DIBasicType.">constructTypeDIE</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> &Buffer,
+<a name="l00309"></a>00309                         <a class="code" href="classllvm_1_1DICompositeType.html">DICompositeType</a> CTy);
+<a name="l00310"></a>00310 <span class="comment"></span>
+<a name="l00311"></a>00311 <span class="comment">  /// constructSubrangeDIE - Construct subrange DIE from DISubrange.</span>
+<a name="l00312"></a>00312 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#aec9f605eedebe5081b2788e6312f81a4" title="constructSubrangeDIE - Construct subrange DIE from DISubrange.">constructSubrangeDIE</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> &Buffer, <a class="code" href="classllvm_1_1DISubrange.html" title="DISubrange - This is used to represent ranges, for array bounds.">DISubrange</a> SR, <a class="code" href="classllvm_1_1DIE.html">DIE</a> *IndexTy);
+<a name="l00313"></a>00313 <span class="comment"></span>
+<a name="l00314"></a>00314 <span class="comment">  /// constructArrayTypeDIE - Construct array type DIE from DICompositeType.</span>
+<a name="l00315"></a>00315 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#a73afb7ccc1053c01ea2f47172c7a1be4" title="constructArrayTypeDIE - Construct array type DIE from DICompositeType.">constructArrayTypeDIE</a>(<a class="code" href="classllvm_1_1DIE.html">DIE</a> &Buffer, 
+<a name="l00316"></a>00316                              <a class="code" href="classllvm_1_1DICompositeType.html">DICompositeType</a> *CTy);
+<a name="l00317"></a>00317 <span class="comment"></span>
+<a name="l00318"></a>00318 <span class="comment">  /// constructEnumTypeDIE - Construct enum type DIE from DIEnumerator.</span>
+<a name="l00319"></a>00319 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#a423f7ba87294b293bc0e5f92fb28738c" title="constructEnumTypeDIE - Construct enum type DIE from DIEnumerator.">constructEnumTypeDIE</a>(<a class="code" href="classllvm_1_1DIEnumerator.html">DIEnumerator</a> ETy);
+<a name="l00320"></a>00320 <span class="comment"></span>
+<a name="l00321"></a>00321 <span class="comment">  /// constructContainingTypeDIEs - Construct DIEs for types that contain</span>
+<a name="l00322"></a>00322 <span class="comment">  /// vtables.</span>
+<a name="l00323"></a>00323 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1CompileUnit.html#ad4fd6702b512eefc2864e778c241f7ae">constructContainingTypeDIEs</a>();
+<a name="l00324"></a>00324 <span class="comment"></span>
+<a name="l00325"></a>00325 <span class="comment">  /// constructVariableDIE - Construct a DIE for the given DbgVariable.</span>
+<a name="l00326"></a>00326 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#a82b3980a22d5e37be43aace53354c570" title="constructVariableDIE - Construct a DIE for the given DbgVariable.">constructVariableDIE</a>(<a class="code" href="classllvm_1_1DbgVariable.html">DbgVariable</a> *DV, <span class="keywordtype">bool</span> isScopeAbstract);
+<a name="l00327"></a>00327 <span class="comment"></span>
+<a name="l00328"></a>00328 <span class="comment">  /// createMemberDIE - Create new member DIE.</span>
+<a name="l00329"></a>00329 <span class="comment"></span>  <a class="code" href="classllvm_1_1DIE.html">DIE</a> *<a class="code" href="classllvm_1_1CompileUnit.html#a67a545972ec649ac1037994a7acec09a" title="createMemberDIE - Create new member DIE.">createMemberDIE</a>(<a class="code" href="classllvm_1_1DIDerivedType.html">DIDerivedType</a> DT);
+<a name="l00330"></a>00330 
+<a name="l00331"></a>00331 <span class="keyword">private</span>:
+<a name="l00332"></a>00332 
+<a name="l00333"></a>00333   <span class="comment">// DIEValueAllocator - All DIEValues are allocated through this allocator.</span>
+<a name="l00334"></a>00334   <a class="code" href="classllvm_1_1BumpPtrAllocator.html">BumpPtrAllocator</a> DIEValueAllocator;
+<a name="l00335"></a>00335   <a class="code" href="classllvm_1_1DIEInteger.html">DIEInteger</a> *DIEIntegerOne;
+<a name="l00336"></a>00336 };
+<a name="l00337"></a>00337 
+<a name="l00338"></a>00338 } <span class="comment">// end llvm namespace</span>
+<a name="l00339"></a>00339 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:25 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/DwarfDebug_8h.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfDebug_8h.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfDebug_8h.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfDebug_8h.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,103 @@
+<!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: DwarfDebug.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_f2244d21cf8bec63d11bfc1ad661d96f.html">CodeGen</a>      </li>
+      <li class="navelem"><a class="el" href="dir_5f8f0bfb0fa844bddb949c179c0766c9.html">AsmPrinter</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a> |
+<a href="#typedef-members">Typedefs</a>  </div>
+  <div class="headertitle">
+<div class="title">DwarfDebug.h File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="DIE_8h_source.html">DIE.h</a>"</code><br/>
+<code>#include "<a class="el" href="DebugInfo_8h_source.html">llvm/DebugInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="AsmPrinter_8h_source.html">llvm/CodeGen/AsmPrinter.h</a>"</code><br/>
+<code>#include "<a class="el" href="LexicalScopes_8h_source.html">llvm/CodeGen/LexicalScopes.h</a>"</code><br/>
+<code>#include "<a class="el" href="MachineLocation_8h_source.html">llvm/MC/MachineLocation.h</a>"</code><br/>
+<code>#include "<a class="el" href="DenseMap_8h_source.html">llvm/ADT/DenseMap.h</a>"</code><br/>
+<code>#include "<a class="el" href="FoldingSet_8h_source.html">llvm/ADT/FoldingSet.h</a>"</code><br/>
+<code>#include "<a class="el" href="SetVector_8h_source.html">llvm/ADT/SetVector.h</a>"</code><br/>
+<code>#include "<a class="el" href="SmallPtrSet_8h_source.html">llvm/ADT/SmallPtrSet.h</a>"</code><br/>
+<code>#include "<a class="el" href="StringMap_8h_source.html">llvm/ADT/StringMap.h</a>"</code><br/>
+<code>#include "<a class="el" href="Allocator_8h_source.html">llvm/Support/Allocator.h</a>"</code><br/>
+<code>#include "<a class="el" href="DebugLoc_8h_source.html">llvm/Support/DebugLoc.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for DwarfDebug.h:</div>
+<div class="dyncontent">
+<div class="center"><img src="DwarfDebug_8h__incl.png" border="0" usemap="#DwarfDebug_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="DwarfDebug_8h__dep__incl.png" border="0" usemap="#DwarfDebug_8hdep" alt=""/></div>
+<!-- MAP 1 -->
+</div>
+</div>
+<p><a href="DwarfDebug_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_1SrcLineInfo.html">llvm::SrcLineInfo</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1DotDebugLocEntry.html">llvm::DotDebugLocEntry</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1DbgVariable.html">llvm::DbgVariable</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classllvm_1_1DwarfDebug.html">llvm::DwarfDebug</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><b>llvm::DwarfDebug::FunctionDebugFrameInfo</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 colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/>
+<a class="el" href="structllvm_1_1DotDebugLocEntry.html">llvm::DotDebugLocEntry</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacellvm.html#a642f7d9c7b60fa19788db9ec5392cb33">llvm::DotDebugLocEntry</a></td></tr>
+</table>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/DwarfDebug_8h__dep__incl.png
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfDebug_8h__dep__incl.png?rev=170845&view=auto
==============================================================================
Binary file - no diff available.

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DwarfDebug_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfDebug_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfDebug_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfDebug_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,176 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="DwarfDebug.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="DIE.h",height=0.2,width=0.4,color="black",URL="$DIE_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/ADT/FoldingSet.h",height=0.2,width=0.4,color="black",URL="$FoldingSet_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="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="black",URL="$SmallVector_8h.html"];
+  Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_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="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_8h.html"];
+  Node13 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="memory",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node21 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node21 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node21 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="llvm/Support/Dwarf.h",height=0.2,width=0.4,color="black",URL="$Dwarf_8h.html"];
+  Node2 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/DebugInfo.h",height=0.2,width=0.4,color="black",URL="$DebugInfo_8h.html"];
+  Node26 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/ADT/SmallPtrSet.h",height=0.2,width=0.4,color="black",URL="$SmallPtrSet_8h.html"];
+  Node27 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="llvm/Support/PointerLikeTypeTraits.h",height=0.2,width=0.4,color="black",URL="$PointerLikeTypeTraits_8h.html"];
+  Node28 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/CodeGen/AsmPrinter.h",height=0.2,width=0.4,color="black",URL="$AsmPrinter_8h.html"];
+  Node29 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/CodeGen/MachineFunctionPass.h",height=0.2,width=0.4,color="black",URL="$MachineFunctionPass_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 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/InlineAsm.h",height=0.2,width=0.4,color="black",URL="$InlineAsm_8h.html"];
+  Node32 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/Value.h",height=0.2,width=0.4,color="red",URL="$Value_8h.html"];
+  Node33 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node34 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/CodeGen/LexicalScopes.h",height=0.2,width=0.4,color="black",URL="$LexicalScopes_8h.html"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/Metadata.h",height=0.2,width=0.4,color="black",URL="$Metadata_8h.html"];
+  Node36 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/ADT/ArrayRef.h",height=0.2,width=0.4,color="black",URL="$ArrayRef_8h.html"];
+  Node37 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/ADT/ilist_node.h",height=0.2,width=0.4,color="black",URL="$ilist__node_8h.html"];
+  Node35 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="black",URL="$DenseMap_8h.html"];
+  Node39 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/Support/MathExtras.h",height=0.2,width=0.4,color="red",URL="$MathExtras_8h.html"];
+  Node39 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/ADT/DenseMapInfo.h",height=0.2,width=0.4,color="black",URL="$DenseMapInfo_8h.html"];
+  Node41 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="new",height=0.2,width=0.4,color="grey75"];
+  Node39 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="climits",height=0.2,width=0.4,color="grey75"];
+  Node39 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/Support/DebugLoc.h",height=0.2,width=0.4,color="black",URL="$DebugLoc_8h.html"];
+  Node35 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/Support/ValueHandle.h",height=0.2,width=0.4,color="red",URL="$ValueHandle_8h.html"];
+  Node45 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/MC/MachineLocation.h",height=0.2,width=0.4,color="black",URL="$MachineLocation_8h.html"];
+  Node1 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="llvm/ADT/SetVector.h",height=0.2,width=0.4,color="black",URL="$SetVector_8h.html"];
+  Node47 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="llvm/ADT/SmallSet.h",height=0.2,width=0.4,color="red",URL="$SmallSet_8h.html"];
+  Node48 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/ADT/StringMap.h",height=0.2,width=0.4,color="black",URL="$StringMap_8h.html"];
+  Node49 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="llvm/Support/Allocator.h",height=0.2,width=0.4,color="black",URL="$Allocator_8h.html"];
+  Node50 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/DwarfEHPrepare_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfEHPrepare_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfEHPrepare_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfEHPrepare_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,47 @@
+<map id="G" name="G">
+<area shape="rect" href="$Function_8h.html" title="llvm/Function.h" alt="" coords="1657,316,1772,343"/>
+<area shape="rect" href="$Instructions_8h.html" title="llvm/Instructions.h" alt="" coords="2205,239,2341,265"/>
+<area shape="rect" href="$IntrinsicInst_8h.html" title="llvm/IntrinsicInst.h" alt="" coords="1796,161,1932,188"/>
+<area shape="rect" href="$Module_8h.html" title="llvm/Module.h" alt="" coords="1131,239,1240,265"/>
+<area shape="rect" href="$Pass_8h.html" title="llvm/Pass.h" alt="" coords="432,316,523,343"/>
+<area shape="rect" href="$Statistic_8h.html" title="llvm/ADT/Statistic.h" alt="" coords="616,393,760,420"/>
+<area shape="rect" href="$Dominators_8h.html" title="llvm/Analysis/Dominators.h" alt="" coords="2776,161,2971,188"/>
+<area shape="rect" href="$CodeGen_2Passes_8h.html" title="llvm/CodeGen/Passes.h" alt="" coords="439,161,609,188"/>
+<area shape="rect" href="$MCAsmInfo_8h.html" title="llvm/MC/MCAsmInfo.h" alt="" coords="60,84,220,111"/>
+<area shape="rect" href="$CallSite_8h.html" title="llvm/Support/CallSite.h" alt="" coords="1427,161,1592,188"/>
+<area shape="rect" href="$TargetLowering_8h.html" title="llvm/Target/TargetLowering.h" alt="" coords="1280,84,1480,111"/>
+<area shape="rect" href="$BasicBlockUtils_8h.html" title="llvm/Transforms/Utils/BasicBlockUtils.h" alt="" coords="1956,161,2220,188"/>
+<area shape="rect" href="$SSAUpdater_8h.html" title="llvm/Transforms/Utils/SSAUpdater.h" alt="" coords="2345,84,2593,111"/>
+<area shape="rect" href="$GlobalValue_8h.html" title="llvm/GlobalValue.h" alt="" coords="909,393,1048,420"/>
+<area shape="rect" href="$CallingConv_8h.html" title="llvm/CallingConv.h" alt="" coords="1472,393,1608,420"/>
+<area shape="rect" href="$BasicBlock_8h.html" title="llvm/BasicBlock.h" alt="" coords="1936,393,2067,420"/>
+<area shape="rect" href="$Argument_8h.html" title="llvm/Argument.h" alt="" coords="1683,393,1811,420"/>
+<area shape="rect" href="$Attributes_8h.html" title="llvm/Attributes.h" alt="" coords="1683,471,1808,497"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2325,703,2499,729"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="2139,548,2323,575"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="1820,548,1964,575"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="2748,625,2916,652"/>
+<area shape="rect" href="$InstrTypes_8h.html" title="llvm/InstrTypes.h" alt="" coords="2635,316,2760,343"/>
+<area shape="rect" href="$DerivedTypes_8h.html" title="llvm/DerivedTypes.h" alt="" coords="2339,471,2485,497"/>
+<area shape="rect" href="$IntegersSubset_8h.html" title="llvm/Support/IntegersSubset.h" alt="" coords="2243,393,2459,420"/>
+<area shape="rect" href="$IntegersSubsetMapping_8h.html" title="llvm/Support/IntegersSubsetMapping.h" alt="" coords="2139,316,2408,343"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1123,471,1328,497"/>
+<area shape="rect" href="$Constants_8h.html" title="llvm/Constants.h" alt="" coords="2136,471,2264,497"/>
+<area shape="rect" href="$Intrinsics_8h.html" title="llvm/Intrinsics.h" alt="" coords="1832,471,1952,497"/>
+<area shape="rect" href="$GlobalVariable_8h.html" title="llvm/GlobalVariable.h" alt="" coords="989,316,1144,343"/>
+<area shape="rect" href="$GlobalAlias_8h.html" title="llvm/GlobalAlias.h" alt="" coords="832,316,965,343"/>
+<area shape="rect" href="$Metadata_8h.html" title="llvm/Metadata.h" alt="" coords="1123,393,1245,420"/>
+<area shape="rect" href="$OwningPtr_8h.html" title="llvm/ADT/OwningPtr.h" alt="" coords="1025,625,1180,652"/>
+<area shape="rect" href="$PassSupport_8h.html" title="llvm/PassSupport.h" alt="" coords="347,393,491,420"/>
+<area shape="rect" href="$PassAnalysisSupport_8h.html" title="llvm/PassAnalysisSupport.h" alt="" coords="1280,548,1475,575"/>
+<area shape="rect" href="$Atomic_8h.html" title="llvm/Support/Atomic.h" alt="" coords="640,471,803,497"/>
+<area shape="rect" href="$Valgrind_8h.html" title="llvm/Support/Valgrind.h" alt="" coords="347,471,515,497"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="3245,625,3405,652"/>
+<area shape="rect" href="$DepthFirstIterator_8h.html" title="llvm/ADT/DepthFirstIterator.h" alt="" coords="3035,239,3237,265"/>
+<area shape="rect" href="$GraphTraits_8h.html" title="llvm/ADT/GraphTraits.h" alt="" coords="2987,316,3152,343"/>
+<area shape="rect" href="$SmallPtrSet_8h.html" title="llvm/ADT/SmallPtrSet.h" alt="" coords="2885,471,3053,497"/>
+<area shape="rect" href="$CFG_8h.html" title="llvm/Support/CFG.h" alt="" coords="2616,239,2760,265"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="2509,471,2709,497"/>
+<area shape="rect" href="$Target_2TargetMachine_8h.html" title="llvm/Target/TargetMachine.h" alt="" coords="495,239,692,265"/>
+<area shape="rect" href="$MachineLocation_8h.html" title="llvm/MC/MachineLocation.h" alt="" coords="43,161,237,188"/>
+</map>

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DwarfException_8h__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfException_8h__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfException_8h__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfException_8h__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,29 @@
+<map id="G" name="G">
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="571,393,731,420"/>
+<area shape="rect" href="$AsmPrinter_8h.html" title="llvm/CodeGen/AsmPrinter.h" alt="" coords="2383,84,2577,111"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2143,548,2316,575"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="1553,471,1716,497"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="556,471,745,497"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="1351,548,1599,575"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="799,548,985,575"/>
+<area shape="rect" href="$DenseMapInfo_8h.html" title="llvm/ADT/DenseMapInfo.h" alt="" coords="348,471,532,497"/>
+<area shape="rect" href="$SwapByteOrder_8h.html" title="llvm/Support/SwapByteOrder.h" alt="" coords="1111,548,1327,575"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="1383,625,1567,652"/>
+<area shape="rect" href="$MachineFunctionPass_8h.html" title="llvm/CodeGen/MachineFunctionPass.h" alt="" coords="2349,161,2611,188"/>
+<area shape="rect" href="$InlineAsm_8h.html" title="llvm/InlineAsm.h" alt="" coords="2065,239,2191,265"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="3140,393,3345,420"/>
+<area shape="rect" href="$Pass_8h.html" title="llvm/Pass.h" alt="" coords="2435,239,2525,265"/>
+<area shape="rect" href="$PassSupport_8h.html" title="llvm/PassSupport.h" alt="" coords="2585,316,2729,343"/>
+<area shape="rect" href="$PassAnalysisSupport_8h.html" title="llvm/PassAnalysisSupport.h" alt="" coords="2316,316,2511,343"/>
+<area shape="rect" href="$PassRegistry_8h.html" title="llvm/PassRegistry.h" alt="" coords="2553,393,2692,420"/>
+<area shape="rect" href="$InitializePasses_8h.html" title="llvm/InitializePasses.h" alt="" coords="2767,393,2924,420"/>
+<area shape="rect" href="$Atomic_8h.html" title="llvm/Support/Atomic.h" alt="" coords="2608,548,2771,575"/>
+<area shape="rect" href="$Valgrind_8h.html" title="llvm/Support/Valgrind.h" alt="" coords="2948,393,3116,420"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="2329,471,2479,497"/>
+<area shape="rect" href="$llvm-config_8h.html" title="llvm/Config/llvm-config.h" alt="" coords="2817,471,2993,497"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1821,393,1989,420"/>
+<area shape="rect" href="$Value_8h.html" title="llvm/Value.h" alt="" coords="1693,316,1792,343"/>
+<area shape="rect" href="$Use_8h.html" title="llvm/Use.h" alt="" coords="1401,393,1489,420"/>
+<area shape="rect" href="$Casting_8h.html" title="llvm/Support/Casting.h" alt="" coords="820,471,985,497"/>
+<area shape="rect" href="$PointerIntPair_8h.html" title="llvm/ADT/PointerIntPair.h" alt="" coords="1060,471,1236,497"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DwarfException_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DwarfException_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DwarfException_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DwarfException_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,287 @@
+<!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: DwarfException.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_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_f2244d21cf8bec63d11bfc1ad661d96f.html">CodeGen</a>      </li>
+      <li class="navelem"><a class="el" href="dir_5f8f0bfb0fa844bddb949c179c0766c9.html">AsmPrinter</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DwarfException.h</div>  </div>
+</div>
+<div class="contents">
+<a href="DwarfException_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- DwarfException.h - Dwarf Exception Framework -----------*- 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 contains support for writing dwarf exception info into asm files.</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_CODEGEN_ASMPRINTER_DWARFEXCEPTION_H</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define LLVM_CODEGEN_ASMPRINTER_DWARFEXCEPTION_H</span>
+<a name="l00016"></a>00016 <span class="preprocessor"></span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="DenseMap_8h.html">llvm/ADT/DenseMap.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="AsmPrinter_8h.html">llvm/CodeGen/AsmPrinter.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <vector></span>
+<a name="l00020"></a>00020 
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>llvm {
+<a name="l00022"></a>00022 
+<a name="l00023"></a>00023 <span class="keyword">template</span> <<span class="keyword">typename</span> T> <span class="keyword">class </span>SmallVectorImpl;
+<a name="l00024"></a>00024 <span class="keyword">struct </span>LandingPadInfo;
+<a name="l00025"></a>00025 <span class="keyword">class </span>MachineModuleInfo;
+<a name="l00026"></a>00026 <span class="keyword">class </span>MachineMove;
+<a name="l00027"></a>00027 <span class="keyword">class </span><a class="code" href="MBlazeMCCodeEmitter_8cpp.html#a620a0d6a5ef3ff7243ee978285a6f3db">MachineInstr</a>;
+<a name="l00028"></a>00028 <span class="keyword">class </span>MachineFunction;
+<a name="l00029"></a>00029 <span class="keyword">class </span>MCAsmInfo;
+<a name="l00030"></a>00030 <span class="keyword">class </span>MCExpr;
+<a name="l00031"></a>00031 <span class="keyword">class </span>MCSymbol;
+<a name="l00032"></a>00032 <span class="keyword">class </span>Function;
+<a name="l00033"></a>00033 <span class="keyword">class </span>AsmPrinter;
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 <span class="comment">//===----------------------------------------------------------------------===//</span><span class="comment"></span>
+<a name="l00036"></a>00036 <span class="comment">/// DwarfException - Emits Dwarf exception handling directives.</span>
+<a name="l00037"></a>00037 <span class="comment">///</span>
+<a name="l00038"></a><a class="code" href="classllvm_1_1DwarfException.html">00038</a> <span class="comment"></span><span class="keyword">class </span><a class="code" href="classllvm_1_1DwarfException.html">DwarfException</a> {
+<a name="l00039"></a>00039 <span class="keyword">protected</span>:<span class="comment"></span>
+<a name="l00040"></a>00040 <span class="comment">  /// Asm - Target of Dwarf emission.</span>
+<a name="l00041"></a><a class="code" href="classllvm_1_1DwarfException.html#a6bde1bbecf1d606c2ba2ee6694723eca">00041</a> <span class="comment"></span>  <a class="code" href="classllvm_1_1AsmPrinter.html">AsmPrinter</a> *<a class="code" href="classllvm_1_1DwarfException.html#a6bde1bbecf1d606c2ba2ee6694723eca" title="Asm - Target of Dwarf emission.">Asm</a>;
+<a name="l00042"></a>00042 <span class="comment"></span>
+<a name="l00043"></a>00043 <span class="comment">  /// MMI - Collected machine module information.</span>
+<a name="l00044"></a><a class="code" href="classllvm_1_1DwarfException.html#acd466399acbed89e19f8b39ee5e41381">00044</a> <span class="comment"></span>  <a class="code" href="classllvm_1_1MachineModuleInfo.html">MachineModuleInfo</a> *<a class="code" href="classllvm_1_1DwarfException.html#acd466399acbed89e19f8b39ee5e41381" title="MMI - Collected machine module information.">MMI</a>;
+<a name="l00045"></a>00045 <span class="comment"></span>
+<a name="l00046"></a>00046 <span class="comment">  /// SharedTypeIds - How many leading type ids two landing pads have in common.</span>
+<a name="l00047"></a>00047 <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1DwarfException.html#a0f0d90a29bb80495d99333f102215003" title="SharedTypeIds - How many leading type ids two landing pads have in common.">SharedTypeIds</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1LandingPadInfo.html">LandingPadInfo</a> *L,
+<a name="l00048"></a>00048                                 <span class="keyword">const</span> <a class="code" href="structllvm_1_1LandingPadInfo.html">LandingPadInfo</a> *R);
+<a name="l00049"></a>00049 <span class="comment"></span>
+<a name="l00050"></a>00050 <span class="comment">  /// PadLT - Order landing pads lexicographically by type id.</span>
+<a name="l00051"></a>00051 <span class="comment"></span>  <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DwarfException.html#a339186e2e45b3966d398b25c216cb729" title="PadLT - Order landing pads lexicographically by type id.">PadLT</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1LandingPadInfo.html">LandingPadInfo</a> *L, <span class="keyword">const</span> <a class="code" href="structllvm_1_1LandingPadInfo.html">LandingPadInfo</a> *R);
+<a name="l00052"></a>00052 <span class="comment"></span>
+<a name="l00053"></a>00053 <span class="comment">  /// PadRange - Structure holding a try-range and the associated landing pad.</span>
+<a name="l00054"></a><a class="code" href="structllvm_1_1DwarfException_1_1PadRange.html">00054</a> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structllvm_1_1DwarfException_1_1PadRange.html" title="PadRange - Structure holding a try-range and the associated landing pad.">PadRange</a> {
+<a name="l00055"></a>00055     <span class="comment">// The index of the landing pad.</span>
+<a name="l00056"></a><a class="code" href="structllvm_1_1DwarfException_1_1PadRange.html#ace661e781ec044f189bb36444540c72a">00056</a>     <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DwarfException_1_1PadRange.html#ace661e781ec044f189bb36444540c72a">PadIndex</a>;
+<a name="l00057"></a>00057     <span class="comment">// The index of the begin and end labels in the landing pad's label lists.</span>
+<a name="l00058"></a><a class="code" href="structllvm_1_1DwarfException_1_1PadRange.html#a4e7486c9c2008364f5469a1620c38baa">00058</a>     <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DwarfException_1_1PadRange.html#a4e7486c9c2008364f5469a1620c38baa">RangeIndex</a>;
+<a name="l00059"></a>00059   };
+<a name="l00060"></a>00060 
+<a name="l00061"></a><a class="code" href="classllvm_1_1DwarfException.html#aad1e4666ed95970125f56186b5109e71">00061</a>   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<MCSymbol *, PadRange></a> <a class="code" href="classllvm_1_1DwarfException.html#aad1e4666ed95970125f56186b5109e71">RangeMapType</a>;
+<a name="l00062"></a>00062 <span class="comment"></span>
+<a name="l00063"></a>00063 <span class="comment">  /// ActionEntry - Structure describing an entry in the actions table.</span>
+<a name="l00064"></a><a class="code" href="structllvm_1_1DwarfException_1_1ActionEntry.html">00064</a> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structllvm_1_1DwarfException_1_1ActionEntry.html" title="ActionEntry - Structure describing an entry in the actions table.">ActionEntry</a> {
+<a name="l00065"></a><a class="code" href="structllvm_1_1DwarfException_1_1ActionEntry.html#a482caeece02ac6674801f1c455470f5c">00065</a>     <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1DwarfException_1_1ActionEntry.html#a482caeece02ac6674801f1c455470f5c">ValueForTypeID</a>; <span class="comment">// The value to write - may not be equal to the type id.</span>
+<a name="l00066"></a><a class="code" href="structllvm_1_1DwarfException_1_1ActionEntry.html#ae74fa5718109398a0a74b2041cc28fbd">00066</a>     <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1DwarfException_1_1ActionEntry.html#ae74fa5718109398a0a74b2041cc28fbd">NextAction</a>;
+<a name="l00067"></a><a class="code" href="structllvm_1_1DwarfException_1_1ActionEntry.html#a873f78de7cc5c46d70351e1cc85bb174">00067</a>     <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DwarfException_1_1ActionEntry.html#a873f78de7cc5c46d70351e1cc85bb174">Previous</a>;
+<a name="l00068"></a>00068   };
+<a name="l00069"></a>00069 <span class="comment"></span>
+<a name="l00070"></a>00070 <span class="comment">  /// CallSiteEntry - Structure describing an entry in the call-site table.</span>
+<a name="l00071"></a><a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html">00071</a> <span class="comment"></span>  <span class="keyword">struct </span><a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html" title="CallSiteEntry - Structure describing an entry in the call-site table.">CallSiteEntry</a> {
+<a name="l00072"></a>00072     <span class="comment">// The 'try-range' is BeginLabel .. EndLabel.</span>
+<a name="l00073"></a><a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html#a0bd04ae492d794e538304c9a9b60b718">00073</a>     <a class="code" href="classllvm_1_1MCSymbol.html">MCSymbol</a> *<a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html#a0bd04ae492d794e538304c9a9b60b718">BeginLabel</a>; <span class="comment">// zero indicates the start of the function.</span>
+<a name="l00074"></a><a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html#a2bca376167787908ee1c336867dfc5bb">00074</a>     <a class="code" href="classllvm_1_1MCSymbol.html">MCSymbol</a> *<a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html#a2bca376167787908ee1c336867dfc5bb">EndLabel</a>;   <span class="comment">// zero indicates the end of the function.</span>
+<a name="l00075"></a>00075 
+<a name="l00076"></a>00076     <span class="comment">// The landing pad starts at PadLabel.</span>
+<a name="l00077"></a><a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html#aa28070a5a51b5ee958c751dce2982a6f">00077</a>     <a class="code" href="classllvm_1_1MCSymbol.html">MCSymbol</a> *<a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html#aa28070a5a51b5ee958c751dce2982a6f">PadLabel</a>;   <span class="comment">// zero indicates that there is no landing pad.</span>
+<a name="l00078"></a><a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html#a727f048a4e80d2f656dac71ed8384c89">00078</a>     <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1DwarfException_1_1CallSiteEntry.html#a727f048a4e80d2f656dac71ed8384c89">Action</a>;
+<a name="l00079"></a>00079   };
+<a name="l00080"></a>00080 <span class="comment"></span>
+<a name="l00081"></a>00081 <span class="comment">  /// ComputeActionsTable - Compute the actions table and gather the first</span>
+<a name="l00082"></a>00082 <span class="comment">  /// action index for each landing pad site.</span>
+<a name="l00083"></a>00083 <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="classllvm_1_1DwarfException.html#a1f98357343e0437a8a278c54723e1d2b">ComputeActionsTable</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<const LandingPadInfo*></a>&LPs,
+<a name="l00084"></a>00084                                <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<ActionEntry></a> &Actions,
+<a name="l00085"></a>00085                                <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<unsigned></a> &FirstActions);
+<a name="l00086"></a>00086 <span class="comment"></span>
+<a name="l00087"></a>00087 <span class="comment">  /// CallToNoUnwindFunction - Return `true' if this is a call to a function</span>
+<a name="l00088"></a>00088 <span class="comment">  /// marked `nounwind'. Return `false' otherwise.</span>
+<a name="l00089"></a>00089 <span class="comment"></span>  <span class="keywordtype">bool</span> <a class="code" href="classllvm_1_1DwarfException.html#a2f9f1bf158817f36402039abbdef41ec">CallToNoUnwindFunction</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="l00090"></a>00090 <span class="comment"></span>
+<a name="l00091"></a>00091 <span class="comment">  /// ComputeCallSiteTable - Compute the call-site table.  The entry for an</span>
+<a name="l00092"></a>00092 <span class="comment">  /// invoke has a try-range containing the call, a non-zero landing pad and an</span>
+<a name="l00093"></a>00093 <span class="comment">  /// appropriate action.  The entry for an ordinary call has a try-range</span>
+<a name="l00094"></a>00094 <span class="comment">  /// containing the call and zero for the landing pad and the action.  Calls</span>
+<a name="l00095"></a>00095 <span class="comment">  /// marked 'nounwind' have no entry and must not be contained in the try-range</span>
+<a name="l00096"></a>00096 <span class="comment">  /// of any entry - they form gaps in the table.  Entries must be ordered by</span>
+<a name="l00097"></a>00097 <span class="comment">  /// try-range address.</span>
+<a name="l00098"></a>00098 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DwarfException.html#ae065aeaca9c2a704845f2d694ed8fa30">ComputeCallSiteTable</a>(<a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<CallSiteEntry></a> &CallSites,
+<a name="l00099"></a>00099                             <span class="keyword">const</span> <a class="code" href="classllvm_1_1DenseMap.html">RangeMapType</a> &PadMap,
+<a name="l00100"></a>00100                             <span class="keyword">const</span> <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<const LandingPadInfo *></a> &LPs,
+<a name="l00101"></a>00101                             <span class="keyword">const</span> <a class="code" href="classllvm_1_1SmallVectorImpl.html">SmallVectorImpl<unsigned></a> &FirstActions);
+<a name="l00102"></a>00102 <span class="comment"></span>
+<a name="l00103"></a>00103 <span class="comment">  /// EmitExceptionTable - Emit landing pads and actions.</span>
+<a name="l00104"></a>00104 <span class="comment">  ///</span>
+<a name="l00105"></a>00105 <span class="comment">  /// The general organization of the table is complex, but the basic concepts</span>
+<a name="l00106"></a>00106 <span class="comment">  /// are easy.  First there is a header which describes the location and</span>
+<a name="l00107"></a>00107 <span class="comment">  /// organization of the three components that follow.</span>
+<a name="l00108"></a>00108 <span class="comment">  ///  1. The landing pad site information describes the range of code covered</span>
+<a name="l00109"></a>00109 <span class="comment">  ///     by the try.  In our case it's an accumulation of the ranges covered</span>
+<a name="l00110"></a>00110 <span class="comment">  ///     by the invokes in the try.  There is also a reference to the landing</span>
+<a name="l00111"></a>00111 <span class="comment">  ///     pad that handles the exception once processed.  Finally an index into</span>
+<a name="l00112"></a>00112 <span class="comment">  ///     the actions table.</span>
+<a name="l00113"></a>00113 <span class="comment">  ///  2. The action table, in our case, is composed of pairs of type ids</span>
+<a name="l00114"></a>00114 <span class="comment">  ///     and next action offset.  Starting with the action index from the</span>
+<a name="l00115"></a>00115 <span class="comment">  ///     landing pad site, each type Id is checked for a match to the current</span>
+<a name="l00116"></a>00116 <span class="comment">  ///     exception.  If it matches then the exception and type id are passed</span>
+<a name="l00117"></a>00117 <span class="comment">  ///     on to the landing pad.  Otherwise the next action is looked up.  This</span>
+<a name="l00118"></a>00118 <span class="comment">  ///     chain is terminated with a next action of zero.  If no type id is</span>
+<a name="l00119"></a>00119 <span class="comment">  ///     found the frame is unwound and handling continues.</span>
+<a name="l00120"></a>00120 <span class="comment">  ///  3. Type id table contains references to all the C++ typeinfo for all</span>
+<a name="l00121"></a>00121 <span class="comment">  ///     catches in the function.  This tables is reversed indexed base 1.</span>
+<a name="l00122"></a>00122 <span class="comment"></span>  <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DwarfException.html#a8effc2fde8465a1060fae3933024cb85">EmitExceptionTable</a>();
+<a name="l00123"></a>00123 
+<a name="l00124"></a>00124 <span class="keyword">public</span>:
+<a name="l00125"></a>00125   <span class="comment">//===--------------------------------------------------------------------===//</span>
+<a name="l00126"></a>00126   <span class="comment">// Main entry points.</span>
+<a name="l00127"></a>00127   <span class="comment">//</span>
+<a name="l00128"></a>00128   <a class="code" href="classllvm_1_1DwarfException.html#aa098384c91538bd211e1e8204cacc644">DwarfException</a>(<a class="code" href="classllvm_1_1AsmPrinter.html">AsmPrinter</a> *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11bad9577456b5bb7a03b7f42a710e122ab5">A</a>);
+<a name="l00129"></a>00129   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1DwarfException.html#a539398dbda22ca38f60c4bdb530a64b7">~DwarfException</a>();
+<a name="l00130"></a>00130 <span class="comment"></span>
+<a name="l00131"></a>00131 <span class="comment">  /// EndModule - Emit all exception information that should come after the</span>
+<a name="l00132"></a>00132 <span class="comment">  /// content.</span>
+<a name="l00133"></a>00133 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DwarfException.html#a4427f23f2fc2b1f9e5bd88e392ff72bc">EndModule</a>();
+<a name="l00134"></a>00134 <span class="comment"></span>
+<a name="l00135"></a>00135 <span class="comment">  /// BeginFunction - Gather pre-function exception information.  Assumes being</span>
+<a name="l00136"></a>00136 <span class="comment">  /// emitted immediately after the function entry point.</span>
+<a name="l00137"></a>00137 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DwarfException.html#a529fbaab9e15ab200d388bf9020dfd9a">BeginFunction</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> *MF);
+<a name="l00138"></a>00138 <span class="comment"></span>
+<a name="l00139"></a>00139 <span class="comment">  /// EndFunction - Gather and emit post-function exception information.</span>
+<a name="l00140"></a>00140 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DwarfException.html#a3b38df6b32cb5067e978d6774e73f706" title="EndFunction - Gather and emit post-function exception information.">EndFunction</a>();
+<a name="l00141"></a>00141 };
+<a name="l00142"></a>00142 
+<a name="l00143"></a><a class="code" href="classllvm_1_1DwarfCFIException.html">00143</a> <span class="keyword">class </span><a class="code" href="classllvm_1_1DwarfCFIException.html">DwarfCFIException</a> : <span class="keyword">public</span> <a class="code" href="classllvm_1_1DwarfException.html">DwarfException</a> {<span class="comment"></span>
+<a name="l00144"></a>00144 <span class="comment">  /// shouldEmitPersonality - Per-function flag to indicate if .cfi_personality</span>
+<a name="l00145"></a>00145 <span class="comment">  /// should be emitted.</span>
+<a name="l00146"></a>00146 <span class="comment"></span>  <span class="keywordtype">bool</span> shouldEmitPersonality;
+<a name="l00147"></a>00147 <span class="comment"></span>
+<a name="l00148"></a>00148 <span class="comment">  /// shouldEmitLSDA - Per-function flag to indicate if .cfi_lsda</span>
+<a name="l00149"></a>00149 <span class="comment">  /// should be emitted.</span>
+<a name="l00150"></a>00150 <span class="comment"></span>  <span class="keywordtype">bool</span> shouldEmitLSDA;
+<a name="l00151"></a>00151 <span class="comment"></span>
+<a name="l00152"></a>00152 <span class="comment">  /// shouldEmitMoves - Per-function flag to indicate if frame moves info</span>
+<a name="l00153"></a>00153 <span class="comment">  /// should be emitted.</span>
+<a name="l00154"></a>00154 <span class="comment"></span>  <span class="keywordtype">bool</span> shouldEmitMoves;
+<a name="l00155"></a>00155 
+<a name="l00156"></a>00156   <a class="code" href="classllvm_1_1AsmPrinter.html#a050cade6c47bb4a6a82fe279731b9096">AsmPrinter::CFIMoveType</a> moveTypeModule;
+<a name="l00157"></a>00157 
+<a name="l00158"></a>00158 <span class="keyword">public</span>:
+<a name="l00159"></a>00159   <span class="comment">//===--------------------------------------------------------------------===//</span>
+<a name="l00160"></a>00160   <span class="comment">// Main entry points.</span>
+<a name="l00161"></a>00161   <span class="comment">//</span>
+<a name="l00162"></a>00162   <a class="code" href="classllvm_1_1DwarfCFIException.html#ae7b960a20f8d91ff62d697bae1a4d921">DwarfCFIException</a>(<a class="code" href="classllvm_1_1AsmPrinter.html">AsmPrinter</a> *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11bad9577456b5bb7a03b7f42a710e122ab5">A</a>);
+<a name="l00163"></a>00163   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1DwarfCFIException.html#a3ddca4c4f4e2cf012c120e2c06fd99ba">~DwarfCFIException</a>();
+<a name="l00164"></a>00164 <span class="comment"></span>
+<a name="l00165"></a>00165 <span class="comment">  /// EndModule - Emit all exception information that should come after the</span>
+<a name="l00166"></a>00166 <span class="comment">  /// content.</span>
+<a name="l00167"></a>00167 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DwarfCFIException.html#a60c89ec0c464945958de59940ba528ab">EndModule</a>();
+<a name="l00168"></a>00168 <span class="comment"></span>
+<a name="l00169"></a>00169 <span class="comment">  /// BeginFunction - Gather pre-function exception information.  Assumes being</span>
+<a name="l00170"></a>00170 <span class="comment">  /// emitted immediately after the function entry point.</span>
+<a name="l00171"></a>00171 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DwarfCFIException.html#aa8180385f0a35361d34d417719ec5e76">BeginFunction</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> *MF);
+<a name="l00172"></a>00172 <span class="comment"></span>
+<a name="l00173"></a>00173 <span class="comment">  /// EndFunction - Gather and emit post-function exception information.</span>
+<a name="l00174"></a>00174 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1DwarfCFIException.html#a32ec29ed789a4c3b63b881dd98f3dbf8" title="EndFunction - Gather and emit post-function exception information.">EndFunction</a>();
+<a name="l00175"></a>00175 };
+<a name="l00176"></a>00176 
+<a name="l00177"></a><a class="code" href="classllvm_1_1ARMException.html">00177</a> <span class="keyword">class </span><a class="code" href="classllvm_1_1ARMException.html">ARMException</a> : <span class="keyword">public</span> <a class="code" href="classllvm_1_1DwarfException.html">DwarfException</a> {
+<a name="l00178"></a>00178 <span class="keyword">public</span>:
+<a name="l00179"></a>00179   <span class="comment">//===--------------------------------------------------------------------===//</span>
+<a name="l00180"></a>00180   <span class="comment">// Main entry points.</span>
+<a name="l00181"></a>00181   <span class="comment">//</span>
+<a name="l00182"></a>00182   <a class="code" href="classllvm_1_1ARMException.html#a8f5282c5b11cd8d515249b8cd5dc06cb">ARMException</a>(<a class="code" href="classllvm_1_1AsmPrinter.html">AsmPrinter</a> *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11bad9577456b5bb7a03b7f42a710e122ab5">A</a>);
+<a name="l00183"></a>00183   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1ARMException.html#ac3c7701d6057b7a96bfc93062c492718">~ARMException</a>();
+<a name="l00184"></a>00184 <span class="comment"></span>
+<a name="l00185"></a>00185 <span class="comment">  /// EndModule - Emit all exception information that should come after the</span>
+<a name="l00186"></a>00186 <span class="comment">  /// content.</span>
+<a name="l00187"></a>00187 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1ARMException.html#a299a4e1e84a369389b6a7ee3e98d4ff5">EndModule</a>();
+<a name="l00188"></a>00188 <span class="comment"></span>
+<a name="l00189"></a>00189 <span class="comment">  /// BeginFunction - Gather pre-function exception information.  Assumes being</span>
+<a name="l00190"></a>00190 <span class="comment">  /// emitted immediately after the function entry point.</span>
+<a name="l00191"></a>00191 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1ARMException.html#a5647bc663b358015431628a4022396a8">BeginFunction</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> *MF);
+<a name="l00192"></a>00192 <span class="comment"></span>
+<a name="l00193"></a>00193 <span class="comment">  /// EndFunction - Gather and emit post-function exception information.</span>
+<a name="l00194"></a>00194 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1ARMException.html#ae573510a0bab58d9194c1a06721a6691" title="EndFunction - Gather and emit post-function exception information.">EndFunction</a>();
+<a name="l00195"></a>00195 };
+<a name="l00196"></a>00196 
+<a name="l00197"></a><a class="code" href="classllvm_1_1Win64Exception.html">00197</a> <span class="keyword">class </span><a class="code" href="classllvm_1_1Win64Exception.html">Win64Exception</a> : <span class="keyword">public</span> <a class="code" href="classllvm_1_1DwarfException.html">DwarfException</a> {<span class="comment"></span>
+<a name="l00198"></a>00198 <span class="comment">  /// shouldEmitPersonality - Per-function flag to indicate if personality</span>
+<a name="l00199"></a>00199 <span class="comment">  /// info should be emitted.</span>
+<a name="l00200"></a>00200 <span class="comment"></span>  <span class="keywordtype">bool</span> shouldEmitPersonality;
+<a name="l00201"></a>00201 <span class="comment"></span>
+<a name="l00202"></a>00202 <span class="comment">  /// shouldEmitLSDA - Per-function flag to indicate if the LSDA</span>
+<a name="l00203"></a>00203 <span class="comment">  /// should be emitted.</span>
+<a name="l00204"></a>00204 <span class="comment"></span>  <span class="keywordtype">bool</span> shouldEmitLSDA;
+<a name="l00205"></a>00205 <span class="comment"></span>
+<a name="l00206"></a>00206 <span class="comment">  /// shouldEmitMoves - Per-function flag to indicate if frame moves info</span>
+<a name="l00207"></a>00207 <span class="comment">  /// should be emitted.</span>
+<a name="l00208"></a>00208 <span class="comment"></span>  <span class="keywordtype">bool</span> shouldEmitMoves;
+<a name="l00209"></a>00209 
+<a name="l00210"></a>00210 <span class="keyword">public</span>:
+<a name="l00211"></a>00211   <span class="comment">//===--------------------------------------------------------------------===//</span>
+<a name="l00212"></a>00212   <span class="comment">// Main entry points.</span>
+<a name="l00213"></a>00213   <span class="comment">//</span>
+<a name="l00214"></a>00214   <a class="code" href="classllvm_1_1Win64Exception.html#a87d3551e77e9a2ad4accb2d2dbeb1d34">Win64Exception</a>(<a class="code" href="classllvm_1_1AsmPrinter.html">AsmPrinter</a> *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11bad9577456b5bb7a03b7f42a710e122ab5">A</a>);
+<a name="l00215"></a>00215   <span class="keyword">virtual</span> <a class="code" href="classllvm_1_1Win64Exception.html#a3f282c7c18a93b6fb528397a14425739">~Win64Exception</a>();
+<a name="l00216"></a>00216 <span class="comment"></span>
+<a name="l00217"></a>00217 <span class="comment">  /// EndModule - Emit all exception information that should come after the</span>
+<a name="l00218"></a>00218 <span class="comment">  /// content.</span>
+<a name="l00219"></a>00219 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Win64Exception.html#a0e436771ad0059206d7c048c4ebddcc5">EndModule</a>();
+<a name="l00220"></a>00220 <span class="comment"></span>
+<a name="l00221"></a>00221 <span class="comment">  /// BeginFunction - Gather pre-function exception information.  Assumes being</span>
+<a name="l00222"></a>00222 <span class="comment">  /// emitted immediately after the function entry point.</span>
+<a name="l00223"></a>00223 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Win64Exception.html#a837d7aef9f98bac8f515bea9d494c8fd">BeginFunction</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> *MF);
+<a name="l00224"></a>00224 <span class="comment"></span>
+<a name="l00225"></a>00225 <span class="comment">  /// EndFunction - Gather and emit post-function exception information.</span>
+<a name="l00226"></a>00226 <span class="comment"></span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1Win64Exception.html#a30247066e1fa7d489cf6876a87e275da" title="EndFunction - Gather and emit post-function exception information.">EndFunction</a>();
+<a name="l00227"></a>00227 };
+<a name="l00228"></a>00228 
+<a name="l00229"></a>00229 } <span class="comment">// End of namespace llvm</span>
+<a name="l00230"></a>00230 
+<a name="l00231"></a>00231 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:34 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/Dwarf_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Dwarf_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Dwarf_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Dwarf_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,63 @@
+<!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: Dwarf.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_3927ff15cdce1d22d8dcb33a29894069.html">Support</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">Dwarf.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="Dwarf_8h_source.html">llvm/Support/Dwarf.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for Dwarf.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="Dwarf_8cpp__incl.png" border="0" usemap="#Dwarf_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="Dwarf_8cpp_source.html">Go to the source code of this file.</a></p>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/Dwarf_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Dwarf_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Dwarf_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Dwarf_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,3 @@
+<map id="G" name="G">
+<area shape="rect" href="$Dwarf_8h.html" title="llvm/Support/Dwarf.h" alt="" coords="5,84,157,111"/>
+</map>

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

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

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/DynamicLibrary_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DynamicLibrary_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DynamicLibrary_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DynamicLibrary_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,244 @@
+<!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: DynamicLibrary.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_3927ff15cdce1d22d8dcb33a29894069.html">Support</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">DynamicLibrary.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="DynamicLibrary_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- DynamicLibrary.cpp - Runtime link/load libraries --------*- 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 header file implements the operating system DynamicLibrary concept.</span>
+<a name="l00011"></a>00011 <span class="comment">//</span>
+<a name="l00012"></a>00012 <span class="comment">// FIXME: This file leaks ExplicitSymbols and OpenedHandles!</span>
+<a name="l00013"></a>00013 <span class="comment">//</span>
+<a name="l00014"></a>00014 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00015"></a>00015 
+<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="StringMap_8h.html">llvm/ADT/StringMap.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="DenseSet_8h.html">llvm/ADT/DenseSet.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="DynamicLibrary_8h.html">llvm/Support/DynamicLibrary.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="Mutex_8h.html">llvm/Support/Mutex.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="config_8h.html">llvm/Config/config.h</a>"</span>
+<a name="l00021"></a>00021 <span class="preprocessor">#include <cstdio></span>
+<a name="l00022"></a>00022 <span class="preprocessor">#include <cstring></span>
+<a name="l00023"></a>00023 
+<a name="l00024"></a>00024 <span class="comment">// Collection of symbol name/value pairs to be searched prior to any libraries.</span>
+<a name="l00025"></a><a class="code" href="DynamicLibrary_8cpp.html#a3353994ffc5bcf550e7a5413fd37097d">00025</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1StringMap.html">llvm::StringMap<void *></a> *<a class="code" href="DynamicLibrary_8cpp.html#a3353994ffc5bcf550e7a5413fd37097d">ExplicitSymbols</a> = 0;
+<a name="l00026"></a>00026 
+<a name="l00027"></a>00027 <span class="keyword">namespace </span>{
+<a name="l00028"></a>00028 
+<a name="l00029"></a>00029 <span class="keyword">struct </span>ExplicitSymbolsDeleter {
+<a name="l00030"></a>00030   ~ExplicitSymbolsDeleter() {
+<a name="l00031"></a>00031     <span class="keyword">delete</span> <a class="code" href="DynamicLibrary_8cpp.html#a3353994ffc5bcf550e7a5413fd37097d">ExplicitSymbols</a>;
+<a name="l00032"></a>00032   }
+<a name="l00033"></a>00033 };
+<a name="l00034"></a>00034 
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 
+<a name="l00037"></a><a class="code" href="DynamicLibrary_8cpp.html#a8efa6281b644eb26fe749fc5c2af4d66">00037</a> <span class="keyword">static</span> ExplicitSymbolsDeleter <a class="code" href="DynamicLibrary_8cpp.html#a8efa6281b644eb26fe749fc5c2af4d66">Dummy</a>;
+<a name="l00038"></a>00038 
+<a name="l00039"></a>00039 
+<a name="l00040"></a><a class="code" href="DynamicLibrary_8cpp.html#a409656fa8175bef5c33da5b6d1640a01">00040</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1sys_1_1SmartMutex.html">llvm::sys::SmartMutex<true></a>& <a class="code" href="DynamicLibrary_8cpp.html#a409656fa8175bef5c33da5b6d1640a01">getMutex</a>() {
+<a name="l00041"></a>00041   <span class="keyword">static</span> <a class="code" href="classllvm_1_1sys_1_1SmartMutex.html">llvm::sys::SmartMutex<true></a> HandlesMutex;
+<a name="l00042"></a>00042   <span class="keywordflow">return</span> HandlesMutex;
+<a name="l00043"></a>00043 }
+<a name="l00044"></a>00044 
+<a name="l00045"></a><a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#a23e96ab4a94c80cf9c108cd482b06cda">00045</a> <span class="keywordtype">void</span> <a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#a23e96ab4a94c80cf9c108cd482b06cda" title="Add searchable symbol/value pair.">llvm::sys::DynamicLibrary::AddSymbol</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a> symbolName,
+<a name="l00046"></a>00046                                           <span class="keywordtype">void</span> *symbolValue) {
+<a name="l00047"></a>00047   <a class="code" href="classllvm_1_1sys_1_1SmartScopedLock.html">SmartScopedLock<true></a> lock(<a class="code" href="DynamicLibrary_8cpp.html#a409656fa8175bef5c33da5b6d1640a01">getMutex</a>());
+<a name="l00048"></a>00048   <span class="keywordflow">if</span> (ExplicitSymbols == 0)
+<a name="l00049"></a>00049     ExplicitSymbols = <span class="keyword">new</span> <a class="code" href="classllvm_1_1StringMap.html">llvm::StringMap<void*></a>();
+<a name="l00050"></a>00050   (*ExplicitSymbols)[symbolName] = symbolValue;
+<a name="l00051"></a>00051 }
+<a name="l00052"></a>00052 
+<a name="l00053"></a>00053 <span class="keywordtype">char</span> llvm::sys::DynamicLibrary::Invalid = 0;
+<a name="l00054"></a>00054 
+<a name="l00055"></a>00055 <span class="preprocessor">#ifdef LLVM_ON_WIN32</span>
+<a name="l00056"></a>00056 <span class="preprocessor"></span>
+<a name="l00057"></a>00057 <span class="preprocessor">#include "<a class="code" href="DynamicLibrary_8inc.html">Windows/DynamicLibrary.inc</a>"</span>
+<a name="l00058"></a>00058 
+<a name="l00059"></a>00059 <span class="preprocessor">#else</span>
+<a name="l00060"></a>00060 <span class="preprocessor"></span>
+<a name="l00061"></a>00061 <span class="preprocessor">#if HAVE_DLFCN_H</span>
+<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#include <dlfcn.h></span>
+<a name="l00063"></a>00063 <span class="keyword">using namespace </span>llvm;
+<a name="l00064"></a>00064 <span class="keyword">using namespace </span>llvm::sys;
+<a name="l00065"></a>00065 
+<a name="l00066"></a>00066 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00067"></a>00067 <span class="comment">//=== WARNING: Implementation here must contain only TRULY operating system</span>
+<a name="l00068"></a>00068 <span class="comment">//===          independent code.</span>
+<a name="l00069"></a>00069 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00070"></a>00070 
+<a name="l00071"></a><a class="code" href="DynamicLibrary_8cpp.html#ae0d51af93a8b15c1b2f5b12f9ecf108e">00071</a> <span class="keyword">static</span> <a class="code" href="classllvm_1_1DenseSet.html">DenseSet<void *></a> *<a class="code" href="DynamicLibrary_8cpp.html#ae0d51af93a8b15c1b2f5b12f9ecf108e">OpenedHandles</a> = 0;
+<a name="l00072"></a>00072 
+<a name="l00073"></a><a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#a79f844d62dc7f63a1c3bb3b2060a000e">00073</a> <a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html">DynamicLibrary</a> <a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#a79f844d62dc7f63a1c3bb3b2060a000e" title="Open a dynamic library permanently.">DynamicLibrary::getPermanentLibrary</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="namespacellvm_1_1sys_1_1path.html#a9cce53905fbbc275717b2c2539a89ac1" title="Get filename.">filename</a>,
+<a name="l00074"></a>00074                                                    std::string *errMsg) {
+<a name="l00075"></a>00075   <a class="code" href="classllvm_1_1sys_1_1SmartScopedLock.html">SmartScopedLock<true></a> lock(<a class="code" href="DynamicLibrary_8cpp.html#a409656fa8175bef5c33da5b6d1640a01">getMutex</a>());
+<a name="l00076"></a>00076 
+<a name="l00077"></a>00077   <span class="keywordtype">void</span> *handle = dlopen(filename, RTLD_LAZY|RTLD_GLOBAL);
+<a name="l00078"></a>00078   <span class="keywordflow">if</span> (handle == 0) {
+<a name="l00079"></a>00079     <span class="keywordflow">if</span> (errMsg) *errMsg = dlerror();
+<a name="l00080"></a>00080     <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html">DynamicLibrary</a>();
+<a name="l00081"></a>00081   }
+<a name="l00082"></a>00082 
+<a name="l00083"></a>00083 <span class="preprocessor">#ifdef __CYGWIN__</span>
+<a name="l00084"></a>00084 <span class="preprocessor"></span>  <span class="comment">// Cygwin searches symbols only in the main</span>
+<a name="l00085"></a>00085   <span class="comment">// with the handle of dlopen(NULL, RTLD_GLOBAL).</span>
+<a name="l00086"></a>00086   <span class="keywordflow">if</span> (filename == NULL)
+<a name="l00087"></a>00087     handle = RTLD_DEFAULT;
+<a name="l00088"></a>00088 <span class="preprocessor">#endif</span>
+<a name="l00089"></a>00089 <span class="preprocessor"></span>
+<a name="l00090"></a>00090   <span class="keywordflow">if</span> (<a class="code" href="DynamicLibrary_8cpp.html#ae0d51af93a8b15c1b2f5b12f9ecf108e">OpenedHandles</a> == 0)
+<a name="l00091"></a>00091     <a class="code" href="DynamicLibrary_8cpp.html#ae0d51af93a8b15c1b2f5b12f9ecf108e">OpenedHandles</a> = <span class="keyword">new</span> <a class="code" href="classllvm_1_1DenseSet.html">DenseSet<void *></a>();
+<a name="l00092"></a>00092 
+<a name="l00093"></a>00093   <span class="comment">// If we've already loaded this library, dlclose() the handle in order to</span>
+<a name="l00094"></a>00094   <span class="comment">// keep the internal refcount at +1.</span>
+<a name="l00095"></a>00095   <span class="keywordflow">if</span> (!<a class="code" href="DynamicLibrary_8cpp.html#ae0d51af93a8b15c1b2f5b12f9ecf108e">OpenedHandles</a>->insert(handle).second)
+<a name="l00096"></a>00096     dlclose(handle);
+<a name="l00097"></a>00097 
+<a name="l00098"></a>00098   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html">DynamicLibrary</a>(handle);
+<a name="l00099"></a>00099 }
+<a name="l00100"></a>00100 
+<a name="l00101"></a><a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#aba426dbb54c99f3421554c5087c91f85">00101</a> <span class="keywordtype">void</span> *<a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#aba426dbb54c99f3421554c5087c91f85">DynamicLibrary::getAddressOfSymbol</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *symbolName) {
+<a name="l00102"></a>00102   <span class="keywordflow">if</span> (!isValid())
+<a name="l00103"></a>00103     <span class="keywordflow">return</span> NULL;
+<a name="l00104"></a>00104   <span class="keywordflow">return</span> dlsym(<a class="code" href="namespacellvm_1_1object_1_1macho.html#a56678f646a4a478d777eb8821f710db0a557a58f6e018464dcf0635728ef14dd1">Data</a>, symbolName);
+<a name="l00105"></a>00105 }
+<a name="l00106"></a>00106 
+<a name="l00107"></a>00107 <span class="preprocessor">#else</span>
+<a name="l00108"></a>00108 <span class="preprocessor"></span>
+<a name="l00109"></a>00109 <span class="keyword">using namespace </span>llvm;
+<a name="l00110"></a>00110 <span class="keyword">using namespace </span>llvm::sys;
+<a name="l00111"></a>00111 
+<a name="l00112"></a>00112 <a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html">DynamicLibrary</a> <a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#a79f844d62dc7f63a1c3bb3b2060a000e" title="Open a dynamic library permanently.">DynamicLibrary::getPermanentLibrary</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="namespacellvm_1_1sys_1_1path.html#a9cce53905fbbc275717b2c2539a89ac1" title="Get filename.">filename</a>,
+<a name="l00113"></a>00113                                                    std::string *errMsg) {
+<a name="l00114"></a>00114   <span class="keywordflow">if</span> (errMsg) *errMsg = <span class="stringliteral">"dlopen() not supported on this platform"</span>;
+<a name="l00115"></a>00115   <span class="keywordflow">return</span> <a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html">DynamicLibrary</a>();
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117 
+<a name="l00118"></a>00118 <span class="keywordtype">void</span> *<a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#aba426dbb54c99f3421554c5087c91f85">DynamicLibrary::getAddressOfSymbol</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *symbolName) {
+<a name="l00119"></a>00119   <span class="keywordflow">return</span> NULL;
+<a name="l00120"></a>00120 }
+<a name="l00121"></a>00121 
+<a name="l00122"></a>00122 <span class="preprocessor">#endif</span>
+<a name="l00123"></a>00123 <span class="preprocessor"></span>
+<a name="l00124"></a>00124 <span class="keyword">namespace </span>llvm {
+<a name="l00125"></a>00125 <span class="keywordtype">void</span> *<a class="code" href="namespacellvm.html#a7785178b05096736112d384ec13e78ac">SearchForAddressOfSpecialSymbol</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* symbolName);
+<a name="l00126"></a>00126 }
+<a name="l00127"></a>00127 
+<a name="l00128"></a><a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#ae003d16a33e81b88943d3e3aa179fcc4">00128</a> <span class="keywordtype">void</span>* <a class="code" href="classllvm_1_1sys_1_1DynamicLibrary.html#ae003d16a33e81b88943d3e3aa179fcc4" title="Search through libraries for address of a symbol.">DynamicLibrary::SearchForAddressOfSymbol</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *symbolName) {
+<a name="l00129"></a>00129   <a class="code" href="classllvm_1_1sys_1_1SmartScopedLock.html">SmartScopedLock<true></a> <a class="code" href="PassRegistry_8cpp.html#adfbb97683023b46c921ba09641a1563c">Lock</a>(<a class="code" href="DynamicLibrary_8cpp.html#a409656fa8175bef5c33da5b6d1640a01">getMutex</a>());
+<a name="l00130"></a>00130 
+<a name="l00131"></a>00131   <span class="comment">// First check symbols added via AddSymbol().</span>
+<a name="l00132"></a>00132   <span class="keywordflow">if</span> (ExplicitSymbols) {
+<a name="l00133"></a>00133     <a class="code" href="classllvm_1_1StringMapIterator.html">StringMap<void *>::iterator</a> i = ExplicitSymbols-><a class="code" href="classllvm_1_1StringMap.html#a49e68e4c86fe0b96c633adea0c366d74">find</a>(symbolName);
+<a name="l00134"></a>00134 
+<a name="l00135"></a>00135     <span class="keywordflow">if</span> (i != ExplicitSymbols-><a class="code" href="classllvm_1_1StringMap.html#a16e5eaf2df56249e87019be23ee07695">end</a>())
+<a name="l00136"></a>00136       <span class="keywordflow">return</span> i->second;
+<a name="l00137"></a>00137   }
+<a name="l00138"></a>00138 
+<a name="l00139"></a>00139 <span class="preprocessor">#if HAVE_DLFCN_H</span>
+<a name="l00140"></a>00140 <span class="preprocessor"></span>  <span class="comment">// Now search the libraries.</span>
+<a name="l00141"></a>00141   <span class="keywordflow">if</span> (<a class="code" href="DynamicLibrary_8cpp.html#ae0d51af93a8b15c1b2f5b12f9ecf108e">OpenedHandles</a>) {
+<a name="l00142"></a>00142     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1DenseSet_1_1Iterator.html">DenseSet<void *>::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = <a class="code" href="DynamicLibrary_8cpp.html#ae0d51af93a8b15c1b2f5b12f9ecf108e">OpenedHandles</a>->begin(),
+<a name="l00143"></a>00143          E = <a class="code" href="DynamicLibrary_8cpp.html#ae0d51af93a8b15c1b2f5b12f9ecf108e">OpenedHandles</a>->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="l00144"></a>00144       <span class="comment">//lt_ptr ptr = lt_dlsym(*I, symbolName);</span>
+<a name="l00145"></a>00145       <span class="keywordtype">void</span> *ptr = dlsym(*<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, symbolName);
+<a name="l00146"></a>00146       <span class="keywordflow">if</span> (ptr) {
+<a name="l00147"></a>00147         <span class="keywordflow">return</span> ptr;
+<a name="l00148"></a>00148       }
+<a name="l00149"></a>00149     }
+<a name="l00150"></a>00150   }
+<a name="l00151"></a>00151 <span class="preprocessor">#endif</span>
+<a name="l00152"></a>00152 <span class="preprocessor"></span>
+<a name="l00153"></a>00153   <span class="keywordflow">if</span> (<span class="keywordtype">void</span> *Result = <a class="code" href="namespacellvm.html#a7785178b05096736112d384ec13e78ac">llvm::SearchForAddressOfSpecialSymbol</a>(symbolName))
+<a name="l00154"></a>00154     <span class="keywordflow">return</span> Result;
+<a name="l00155"></a>00155 
+<a name="l00156"></a>00156 <span class="comment">// This macro returns the address of a well-known, explicit symbol</span>
+<a name="l00157"></a>00157 <span class="preprocessor">#define EXPLICIT_SYMBOL(SYM) \</span>
+<a name="l00158"></a>00158 <span class="preprocessor">   if (!strcmp(symbolName, #SYM)) return &SYM</span>
+<a name="l00159"></a>00159 <span class="preprocessor"></span>
+<a name="l00160"></a>00160 <span class="comment">// On linux we have a weird situation. The stderr/out/in symbols are both</span>
+<a name="l00161"></a>00161 <span class="comment">// macros and global variables because of standards requirements. So, we</span>
+<a name="l00162"></a>00162 <span class="comment">// boldly use the EXPLICIT_SYMBOL macro without checking for a #define first.</span>
+<a name="l00163"></a>00163 <span class="preprocessor">#if defined(__linux__) and !defined(__ANDROID__)</span>
+<a name="l00164"></a>00164 <span class="preprocessor"></span>  {
+<a name="l00165"></a>00165     <a class="code" href="DynamicLibrary_8cpp.html#a5277c791a48b31f68dbef1de772218e9">EXPLICIT_SYMBOL</a>(stderr);
+<a name="l00166"></a>00166     <a class="code" href="DynamicLibrary_8cpp.html#a5277c791a48b31f68dbef1de772218e9">EXPLICIT_SYMBOL</a>(stdout);
+<a name="l00167"></a>00167     <a class="code" href="DynamicLibrary_8cpp.html#a5277c791a48b31f68dbef1de772218e9">EXPLICIT_SYMBOL</a>(stdin);
+<a name="l00168"></a>00168   }
+<a name="l00169"></a>00169 <span class="preprocessor">#else</span>
+<a name="l00170"></a>00170 <span class="preprocessor"></span>  <span class="comment">// For everything else, we want to check to make sure the symbol isn't defined</span>
+<a name="l00171"></a>00171   <span class="comment">// as a macro before using EXPLICIT_SYMBOL.</span>
+<a name="l00172"></a>00172   {
+<a name="l00173"></a>00173 <span class="preprocessor">#ifndef stdin</span>
+<a name="l00174"></a>00174 <span class="preprocessor"></span>    <a class="code" href="DynamicLibrary_8cpp.html#a5277c791a48b31f68dbef1de772218e9">EXPLICIT_SYMBOL</a>(stdin);
+<a name="l00175"></a>00175 <span class="preprocessor">#endif</span>
+<a name="l00176"></a>00176 <span class="preprocessor"></span><span class="preprocessor">#ifndef stdout</span>
+<a name="l00177"></a>00177 <span class="preprocessor"></span>    <a class="code" href="DynamicLibrary_8cpp.html#a5277c791a48b31f68dbef1de772218e9">EXPLICIT_SYMBOL</a>(stdout);
+<a name="l00178"></a>00178 <span class="preprocessor">#endif</span>
+<a name="l00179"></a>00179 <span class="preprocessor"></span><span class="preprocessor">#ifndef stderr</span>
+<a name="l00180"></a>00180 <span class="preprocessor"></span>    <a class="code" href="DynamicLibrary_8cpp.html#a5277c791a48b31f68dbef1de772218e9">EXPLICIT_SYMBOL</a>(stderr);
+<a name="l00181"></a>00181 <span class="preprocessor">#endif</span>
+<a name="l00182"></a>00182 <span class="preprocessor"></span>  }
+<a name="l00183"></a>00183 <span class="preprocessor">#endif</span>
+<a name="l00184"></a>00184 <span class="preprocessor"></span><span class="preprocessor">#undef EXPLICIT_SYMBOL</span>
+<a name="l00185"></a>00185 <span class="preprocessor"></span>
+<a name="l00186"></a>00186   <span class="keywordflow">return</span> 0;
+<a name="l00187"></a>00187 }
+<a name="l00188"></a>00188 
+<a name="l00189"></a>00189 <span class="preprocessor">#endif // LLVM_ON_WIN32</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:34 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/DynamicLibrary_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/DynamicLibrary_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/DynamicLibrary_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/DynamicLibrary_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,12 @@
+<map id="G" name="G">
+<area shape="rect" href="$LinkAllVMCore_8h.html" title="LinkAllVMCore.h" alt="" coords="5,84,128,111"/>
+<area shape="rect" href="$ExecutionEngine_8cpp.html" title="ExecutionEngine.cpp" alt="" coords="152,84,304,111"/>
+<area shape="rect" href="$ExternalFunctions_8cpp.html" title="ExternalFunctions.cpp" alt="" coords="328,84,488,111"/>
+<area shape="rect" href="$JIT_8cpp.html" title="JIT.cpp" alt="" coords="512,84,571,111"/>
+<area shape="rect" href="$JITMemoryManager_8cpp.html" title="JITMemoryManager.cpp" alt="" coords="595,84,763,111"/>
+<area shape="rect" href="$MCJIT_8cpp.html" title="MCJIT.cpp" alt="" coords="787,84,867,111"/>
+<area shape="rect" href="$OProfileWrapper_8cpp.html" title="OProfileWrapper.cpp" alt="" coords="891,84,1037,111"/>
+<area shape="rect" href="$DynamicLibrary_8cpp.html" title="DynamicLibrary.cpp" alt="" coords="1061,84,1205,111"/>
+<area shape="rect" href="$PluginLoader_8cpp.html" title="PluginLoader.cpp" alt="" coords="1229,84,1357,111"/>
+<area shape="rect" href="$SPUTargetMachine_8cpp.html" title="SPUTargetMachine.cpp" alt="" coords="1381,84,1549,111"/>
+</map>

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/EDDisassembler_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EDDisassembler_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EDDisassembler_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EDDisassembler_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,17 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="EDDisassembler.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="EDDisassembler.cpp",height=0.2,width=0.4,color="black",URL="$EDDisassembler_8cpp.html"];
+  Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="EDInst.cpp",height=0.2,width=0.4,color="black",URL="$EDInst_8cpp.html"];
+  Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="EDMain.cpp",height=0.2,width=0.4,color="black",URL="$EDMain_8cpp.html"];
+  Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="EDOperand.cpp",height=0.2,width=0.4,color="black",URL="$EDOperand_8cpp.html"];
+  Node1 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="EDToken.cpp",height=0.2,width=0.4,color="black",URL="$EDToken_8cpp.html"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/EDInst_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EDInst_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EDInst_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EDInst_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,49 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="EDInst.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="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="black",URL="$SmallVector_8h.html"];
+  Node7 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_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="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 -> 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 -> Node2 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node7 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="memory",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="vector",height=0.2,width=0.4,color="grey75"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/EDMain_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EDMain_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EDMain_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EDMain_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,21 @@
+<map id="G" name="G">
+<area shape="rect" href="$EDDisassembler_8h.html" title="EDDisassembler.h" alt="" coords="891,84,1027,111"/>
+<area shape="rect" href="$EDInst_8h.html" title="EDInst.h" alt="" coords="1655,316,1729,343"/>
+<area shape="rect" href="$EDOperand_8h.html" title="EDOperand.h" alt="" coords="1863,239,1969,265"/>
+<area shape="rect" href="$EDToken_8h.html" title="EDToken.h" alt="" coords="1543,316,1631,343"/>
+<area shape="rect" href="$EnhancedDisassembly_8h.html" title="llvm-c/EnhancedDisassembly.h" alt="" coords="1905,84,2121,111"/>
+<area shape="rect" href="$EDInfo_8h.html" title="EDInfo.h" alt="" coords="672,161,747,188"/>
+<area shape="rect" href="$OwningPtr_8h.html" title="llvm/ADT/OwningPtr.h" alt="" coords="187,393,341,420"/>
+<area shape="rect" href="$Triple_8h.html" title="llvm/ADT/Triple.h" alt="" coords="771,161,896,188"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="747,316,947,343"/>
+<area shape="rect" href="$Mutex_8h.html" title="llvm/Support/Mutex.h" alt="" coords="5,393,163,420"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="368,548,541,575"/>
+<area shape="rect" href="$Twine_8h.html" title="llvm/ADT/Twine.h" alt="" coords="621,239,747,265"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="745,393,895,420"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="1769,548,1953,575"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="416,316,621,343"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="1211,471,1397,497"/>
+<area shape="rect" href="$Threading_8h.html" title="llvm/Support/Threading.h" alt="" coords="69,471,251,497"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1220,393,1388,420"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="1024,471,1187,497"/>
+</map>

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/EDOperand_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EDOperand_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EDOperand_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EDOperand_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,22 @@
+<map id="G" name="G">
+<area shape="rect" href="$EDOperand_8h.html" title="EDOperand.h" alt="" coords="5,239,112,265"/>
+<area shape="rect" href="$EDDisassembler_8h.html" title="EDDisassembler.h" alt="" coords="1469,84,1605,111"/>
+<area shape="rect" href="$EDInst_8h.html" title="EDInst.h" alt="" coords="260,316,335,343"/>
+<area shape="rect" href="$EDInstInfo_8h.html" title="llvm/MC/EDInstInfo.h" alt="" coords="85,84,237,111"/>
+<area shape="rect" href="$MCInst_8h.html" title="llvm/MC/MCInst.h" alt="" coords="833,316,964,343"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="249,548,433,575"/>
+<area shape="rect" href="$EDInfo_8h.html" title="EDInfo.h" alt="" coords="1357,161,1432,188"/>
+<area shape="rect" href="$OwningPtr_8h.html" title="llvm/ADT/OwningPtr.h" alt="" coords="1768,393,1923,420"/>
+<area shape="rect" href="$Triple_8h.html" title="llvm/ADT/Triple.h" alt="" coords="1531,161,1656,188"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="1140,316,1340,343"/>
+<area shape="rect" href="$Mutex_8h.html" title="llvm/Support/Mutex.h" alt="" coords="2053,393,2211,420"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="1687,548,1860,575"/>
+<area shape="rect" href="$Twine_8h.html" title="llvm/ADT/Twine.h" alt="" coords="1457,239,1583,265"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="1157,393,1307,420"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1488,316,1693,343"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="805,471,992,497"/>
+<area shape="rect" href="$Threading_8h.html" title="llvm/Support/Threading.h" alt="" coords="2044,471,2225,497"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="815,393,983,420"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="1016,471,1179,497"/>
+<area shape="rect" href="$SMLoc_8h.html" title="llvm/Support/SMLoc.h" alt="" coords="1331,393,1491,420"/>
+</map>

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/EDOperand_8h_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EDOperand_8h_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EDOperand_8h_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EDOperand_8h_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,147 @@
+<!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: EDOperand.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_74e9364f374e99e3aeab4fae4e196292.html">lib</a>      </li>
+      <li class="navelem"><a class="el" href="dir_edbd05defa7d897e6588eb3f84517e19.html">MC</a>      </li>
+      <li class="navelem"><a class="el" href="dir_ffba78af1c96061d0b263a636abedf02.html">MCDisassembler</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">EDOperand.h</div>  </div>
+</div>
+<div class="contents">
+<a href="EDOperand_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-EDOperand.h - LLVM Enhanced Disassembler ------------------*- 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 interface for the Enhanced Disassembly library's </span>
+<a name="l00011"></a>00011 <span class="comment">// operand class.  The operand is responsible for allowing evaluation given a</span>
+<a name="l00012"></a>00012 <span class="comment">// particular register context.</span>
+<a name="l00013"></a>00013 <span class="comment">//</span>
+<a name="l00014"></a>00014 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00015"></a>00015 
+<a name="l00016"></a>00016 <span class="preprocessor">#ifndef LLVM_EDOPERAND_H</span>
+<a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define LLVM_EDOPERAND_H</span>
+<a name="l00018"></a>00018 <span class="preprocessor"></span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="DataTypes_8h.html">llvm/Support/DataTypes.h</a>"</span>
+<a name="l00020"></a>00020 
+<a name="l00021"></a>00021 <span class="keyword">namespace </span>llvm {
+<a name="l00022"></a>00022 
+<a name="l00023"></a>00023 <span class="keyword">struct </span>EDDisassembler;
+<a name="l00024"></a>00024 <span class="keyword">struct </span>EDInst;
+<a name="l00025"></a>00025   
+<a name="l00026"></a><a class="code" href="namespacellvm.html#a46045884ed7d7f5787a31134e20dd077">00026</a> <span class="keyword">typedef</span> int (*<a class="code" href="namespacellvm.html#a46045884ed7d7f5787a31134e20dd077">EDRegisterReaderCallback</a>)(uint64_t *value, <span class="keywordtype">unsigned</span> regID, 
+<a name="l00027"></a>00027                                         <span class="keywordtype">void</span>* arg);
+<a name="l00028"></a>00028 
+<a name="l00029"></a>00029 <span class="comment"></span>
+<a name="l00030"></a>00030 <span class="comment">/// EDOperand - Encapsulates a single operand, which can be evaluated by the</span>
+<a name="l00031"></a>00031 <span class="comment">///   client</span>
+<a name="l00032"></a><a class="code" href="structllvm_1_1EDOperand.html">00032</a> <span class="comment"></span><span class="keyword">struct </span><a class="code" href="structllvm_1_1EDOperand.html">EDOperand</a> {<span class="comment"></span>
+<a name="l00033"></a>00033 <span class="comment">  /// The parent disassembler</span>
+<a name="l00034"></a><a class="code" href="structllvm_1_1EDOperand.html#ab1efd63d338b33ed7e3adf5b53feb068">00034</a> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structllvm_1_1EDDisassembler.html">EDDisassembler</a> &<a class="code" href="structllvm_1_1EDOperand.html#ab1efd63d338b33ed7e3adf5b53feb068" title="The parent disassembler.">Disassembler</a>;<span class="comment"></span>
+<a name="l00035"></a>00035 <span class="comment">  /// The parent instruction</span>
+<a name="l00036"></a><a class="code" href="structllvm_1_1EDOperand.html#a247327801e3831baa23f55bfcb47725a">00036</a> <span class="comment"></span>  <span class="keyword">const</span> <a class="code" href="structllvm_1_1EDInst.html">EDInst</a> &<a class="code" href="structllvm_1_1EDOperand.html#a247327801e3831baa23f55bfcb47725a" title="The parent instruction.">Inst</a>;
+<a name="l00037"></a>00037   <span class="comment"></span>
+<a name="l00038"></a>00038 <span class="comment">  /// The index of the operand in the EDInst</span>
+<a name="l00039"></a><a class="code" href="structllvm_1_1EDOperand.html#a134f363a477aa9a080b5f56eac9c1c2d">00039</a> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDOperand.html#a134f363a477aa9a080b5f56eac9c1c2d" title="The index of the operand in the EDInst.">OpIndex</a>;<span class="comment"></span>
+<a name="l00040"></a>00040 <span class="comment">  /// The index of the first component of the operand in the MCInst</span>
+<a name="l00041"></a><a class="code" href="structllvm_1_1EDOperand.html#a8f593460fc79f32fc2b2b67d4c1e8096">00041</a> <span class="comment"></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDOperand.html#a8f593460fc79f32fc2b2b67d4c1e8096" title="The index of the first component of the operand in the MCInst.">MCOpIndex</a>;
+<a name="l00042"></a>00042   <span class="comment"></span>
+<a name="l00043"></a>00043 <span class="comment">  /// Constructor - Initializes an EDOperand</span>
+<a name="l00044"></a>00044 <span class="comment">  ///</span>
+<a name="l00045"></a>00045 <span class="comment">  /// @arg disassembler - The disassembler responsible for the operand</span>
+<a name="l00046"></a>00046 <span class="comment">  /// @arg inst         - The instruction containing this operand</span>
+<a name="l00047"></a>00047 <span class="comment">  /// @arg opIndex      - The index of the operand in inst</span>
+<a name="l00048"></a>00048 <span class="comment">  /// @arg mcOpIndex    - The index of the operand in the original MCInst</span>
+<a name="l00049"></a>00049 <span class="comment"></span>  <a class="code" href="structllvm_1_1EDOperand.html#aac39cc8419ff54a2fdda0ac4078a0a38">EDOperand</a>(<span class="keyword">const</span> <a class="code" href="structllvm_1_1EDDisassembler.html">EDDisassembler</a> &disassembler,
+<a name="l00050"></a>00050             <span class="keyword">const</span> <a class="code" href="structllvm_1_1EDInst.html">EDInst</a> &inst,
+<a name="l00051"></a>00051             <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> opIndex,
+<a name="l00052"></a>00052             <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &mcOpIndex);
+<a name="l00053"></a>00053   <a class="code" href="structllvm_1_1EDOperand.html#abc4a6f63b7238c27c8e4d4e2e373409d">~EDOperand</a>();
+<a name="l00054"></a>00054   <span class="comment"></span>
+<a name="l00055"></a>00055 <span class="comment">  /// evaluate - Returns the numeric value of an operand to the extent possible,</span>
+<a name="l00056"></a>00056 <span class="comment">  ///   returning 0 on success or -1 if there was some problem (such as a </span>
+<a name="l00057"></a>00057 <span class="comment">  ///   register not being readable)</span>
+<a name="l00058"></a>00058 <span class="comment">  ///</span>
+<a name="l00059"></a>00059 <span class="comment">  /// @arg result   - A reference whose target is filled in with the value of</span>
+<a name="l00060"></a>00060 <span class="comment">  ///                 the operand (the address if it is a memory operand)</span>
+<a name="l00061"></a>00061 <span class="comment">  /// @arg callback - A function to call to obtain register values</span>
+<a name="l00062"></a>00062 <span class="comment">  /// @arg arg      - An opaque argument to pass to callback</span>
+<a name="l00063"></a>00063 <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDOperand.html#a57b2e9f8eeb6ac7c633de2b735e6f883">evaluate</a>(uint64_t &result,
+<a name="l00064"></a>00064                <a class="code" href="namespacellvm.html#a46045884ed7d7f5787a31134e20dd077">EDRegisterReaderCallback</a> callback,
+<a name="l00065"></a>00065                <span class="keywordtype">void</span> *arg);
+<a name="l00066"></a>00066 <span class="comment"></span>
+<a name="l00067"></a>00067 <span class="comment">  /// isRegister - Returns 1 if the operand is a register or 0 otherwise</span>
+<a name="l00068"></a>00068 <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDOperand.html#a3116dd8f4ddba456cae42bad15ce4f64" title="isRegister - Returns 1 if the operand is a register or 0 otherwise">isRegister</a>();<span class="comment"></span>
+<a name="l00069"></a>00069 <span class="comment">  /// regVal - Returns the register value.</span>
+<a name="l00070"></a>00070 <span class="comment"></span>  <span class="keywordtype">unsigned</span> <a class="code" href="structllvm_1_1EDOperand.html#af33b1945ab4c9a05277867bc547f32ad" title="regVal - Returns the register value.">regVal</a>();
+<a name="l00071"></a>00071   <span class="comment"></span>
+<a name="l00072"></a>00072 <span class="comment">  /// isImmediate - Returns 1 if the operand is an immediate or 0 otherwise</span>
+<a name="l00073"></a>00073 <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDOperand.html#af82954cdf31c55b954105c1728413348" title="isImmediate - Returns 1 if the operand is an immediate or 0 otherwise">isImmediate</a>();<span class="comment"></span>
+<a name="l00074"></a>00074 <span class="comment">  /// immediateVal - Returns the immediate value.</span>
+<a name="l00075"></a>00075 <span class="comment"></span>  uint64_t <a class="code" href="structllvm_1_1EDOperand.html#a4f6a345b0ec6ddf580a507c337e0f9c9" title="immediateVal - Returns the immediate value.">immediateVal</a>();
+<a name="l00076"></a>00076   <span class="comment"></span>
+<a name="l00077"></a>00077 <span class="comment">  /// isMemory - Returns 1 if the operand is a memory location or 0 otherwise</span>
+<a name="l00078"></a>00078 <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDOperand.html#a00181d4a4c9f35cf91d76ce6c244bf9f" title="isMemory - Returns 1 if the operand is a memory location or 0 otherwise">isMemory</a>();
+<a name="l00079"></a>00079   
+<a name="l00080"></a>00080 <span class="preprocessor">#ifdef __BLOCKS__</span>
+<a name="l00081"></a>00081 <span class="preprocessor"></span>  <span class="keyword">typedef</span> int (^EDRegisterBlock_t)(uint64_t *value, <span class="keywordtype">unsigned</span> regID);
+<a name="l00082"></a>00082 <span class="comment"></span>
+<a name="l00083"></a>00083 <span class="comment">  /// evaluate - Like evaluate for a callback, but uses a block instead</span>
+<a name="l00084"></a>00084 <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDOperand.html#a57b2e9f8eeb6ac7c633de2b735e6f883">evaluate</a>(uint64_t &result,
+<a name="l00085"></a>00085                EDRegisterBlock_t regBlock);
+<a name="l00086"></a>00086 <span class="preprocessor">#endif</span>
+<a name="l00087"></a>00087 <span class="preprocessor"></span>};
+<a name="l00088"></a>00088 
+<a name="l00089"></a>00089 } <span class="comment">// end namespace llvm</span>
+<a name="l00090"></a>00090 
+<a name="l00091"></a>00091 <span class="preprocessor">#endif</span>
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:34 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/EDToken_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EDToken_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EDToken_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EDToken_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,270 @@
+<!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: EDToken.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_edbd05defa7d897e6588eb3f84517e19.html">MC</a>      </li>
+      <li class="navelem"><a class="el" href="dir_ffba78af1c96061d0b263a636abedf02.html">MCDisassembler</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">EDToken.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="EDToken_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- EDToken.cpp - LLVM Enhanced Disassembler --------------------------===//</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 the Enhanced Disassembler library's token class.  The</span>
+<a name="l00011"></a>00011 <span class="comment">// token is responsible for vending information about the token, such as its</span>
+<a name="l00012"></a>00012 <span class="comment">// type and logical value.</span>
+<a name="l00013"></a>00013 <span class="comment">//</span>
+<a name="l00014"></a>00014 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00015"></a>00015 
+<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="EDToken_8h.html">EDToken.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="EDDisassembler_8h.html">EDDisassembler.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="MCAsmLexer_8h.html">llvm/MC/MCParser/MCAsmLexer.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include "<a class="code" href="MCParsedAsmOperand_8h.html">llvm/MC/MCParser/MCParsedAsmOperand.h</a>"</span>
+<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="SmallVector_8h.html">llvm/ADT/SmallVector.h</a>"</span>
+<a name="l00021"></a>00021 <span class="keyword">using namespace </span>llvm;
+<a name="l00022"></a>00022 
+<a name="l00023"></a><a class="code" href="structllvm_1_1EDToken.html#a78dd79061be72439199bc7acdc3cfb37">00023</a> <a class="code" href="structllvm_1_1EDToken.html#a78dd79061be72439199bc7acdc3cfb37">EDToken::EDToken</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a> str,
+<a name="l00024"></a>00024                  <span class="keyword">enum</span> <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3">tokenType</a> type,
+<a name="l00025"></a>00025                  uint64_t localType,
+<a name="l00026"></a>00026                  <a class="code" href="structllvm_1_1EDDisassembler.html">EDDisassembler</a> &disassembler) :
+<a name="l00027"></a>00027   Disassembler(disassembler),
+<a name="l00028"></a>00028   Str(str),
+<a name="l00029"></a>00029   <a class="code" href="classllvm_1_1Type.html">Type</a>(type),
+<a name="l00030"></a>00030   LocalType(localType),
+<a name="l00031"></a>00031   OperandID(-1) {
+<a name="l00032"></a>00032 }
+<a name="l00033"></a>00033 
+<a name="l00034"></a><a class="code" href="structllvm_1_1EDToken.html#a52f00a6acd9f1711fc289586a824b1b3">00034</a> <a class="code" href="structllvm_1_1EDToken.html#a52f00a6acd9f1711fc289586a824b1b3">EDToken::~EDToken</a>() {
+<a name="l00035"></a>00035 }
+<a name="l00036"></a>00036 
+<a name="l00037"></a><a class="code" href="structllvm_1_1EDToken.html#a4badd4ebbbcdaa545084a79d95ce4438">00037</a> <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1EDToken.html#a4badd4ebbbcdaa545084a79d95ce4438">EDToken::makeLiteral</a>(<span class="keywordtype">bool</span> sign, uint64_t absoluteValue) {
+<a name="l00038"></a>00038   <a class="code" href="classllvm_1_1Type.html">Type</a> = <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3a1d5033212c2787e667e3e6d62397f272">kTokenLiteral</a>;
+<a name="l00039"></a>00039   <a class="code" href="structllvm_1_1EDToken.html#a99dcaa161688c8dcf1d3fc40f65354ef" title="The sign if the token is a literal (1 if negative, 0 otherwise)">LiteralSign</a> = sign;
+<a name="l00040"></a>00040   <a class="code" href="structllvm_1_1EDToken.html#a7a8accbf05d50d4fed209e240c7f32a0" title="The absolute value if the token is a literal.">LiteralAbsoluteValue</a> = absoluteValue;
+<a name="l00041"></a>00041 }
+<a name="l00042"></a>00042 
+<a name="l00043"></a><a class="code" href="structllvm_1_1EDToken.html#ad7f8ba88ba4eb18f84e9ed4c4fbcc0ae">00043</a> <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1EDToken.html#ad7f8ba88ba4eb18f84e9ed4c4fbcc0ae">EDToken::makeRegister</a>(<span class="keywordtype">unsigned</span> registerID) {
+<a name="l00044"></a>00044   <a class="code" href="classllvm_1_1Type.html">Type</a> = <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3aefc122f5a2376aad326381f169744ca4">kTokenRegister</a>;
+<a name="l00045"></a>00045   <a class="code" href="structllvm_1_1EDToken.html#a6270c04e98a592bdb4bb2adcecfb114b" title="The LLVM register ID if the token is a register name.">RegisterID</a> = <a class="code" href="structllvm_1_1EDToken.html#a68af9460dd151e70681c663e1b2bc959">registerID</a>;
+<a name="l00046"></a>00046 }
+<a name="l00047"></a>00047 
+<a name="l00048"></a><a class="code" href="structllvm_1_1EDToken.html#a9697175a2f0eb35480d092eaf9e90bec">00048</a> <span class="keywordtype">void</span> <a class="code" href="structllvm_1_1EDToken.html#a9697175a2f0eb35480d092eaf9e90bec">EDToken::setOperandID</a>(<span class="keywordtype">int</span> operandID) {
+<a name="l00049"></a>00049   <a class="code" href="structllvm_1_1EDToken.html#ae3c2de10bd9ea60eada0668ca85d80bf">OperandID</a> = <a class="code" href="structllvm_1_1EDToken.html#a15912aed92eb1d396e6b51927133caef" title="operandID - Returns the operand ID of the token">operandID</a>;
+<a name="l00050"></a>00050 }
+<a name="l00051"></a>00051 
+<a name="l00052"></a><a class="code" href="structllvm_1_1EDToken.html#af7bd1e4ba8017ca3b89d4d3c69ab70fc">00052</a> <span class="keyword">enum</span> <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3">EDToken::tokenType</a> <a class="code" href="structllvm_1_1EDToken.html#af7bd1e4ba8017ca3b89d4d3c69ab70fc" title="type - Returns the public type of the token">EDToken::type</a>()<span class="keyword"> const </span>{
+<a name="l00053"></a>00053   <span class="keywordflow">return</span> <a class="code" href="structllvm_1_1EDToken.html#a9b6d89f8374ce0dbc18bd496b7e7be19" title="The type of the token, as exposed through the external API.">Type</a>;
+<a name="l00054"></a>00054 }
+<a name="l00055"></a>00055 
+<a name="l00056"></a><a class="code" href="structllvm_1_1EDToken.html#af10389a0bfe275875cea22787f330371">00056</a> uint64_t <a class="code" href="structllvm_1_1EDToken.html#af10389a0bfe275875cea22787f330371" title="localType - Returns the tokenizer-specific type of the token">EDToken::localType</a>()<span class="keyword"> const </span>{
+<a name="l00057"></a>00057   <span class="keywordflow">return</span> <a class="code" href="structllvm_1_1EDToken.html#a9bf6332f04c52bdbbc27709a10374ee8" title="The type of the token, as recorded by the syntax-specific tokenizer.">LocalType</a>;
+<a name="l00058"></a>00058 }
+<a name="l00059"></a>00059 
+<a name="l00060"></a><a class="code" href="structllvm_1_1EDToken.html#ac817601864530ca47d6c3d882734c186">00060</a> <a class="code" href="classllvm_1_1StringRef.html">StringRef</a> <a class="code" href="structllvm_1_1EDToken.html#ac817601864530ca47d6c3d882734c186" title="string - Returns the string representation of the token">EDToken::string</a>()<span class="keyword"> const </span>{
+<a name="l00061"></a>00061   <span class="keywordflow">return</span> <a class="code" href="structllvm_1_1EDToken.html#a32a07a04de223c65823d9c6fb5007967" title="The token's string representation.">Str</a>;
+<a name="l00062"></a>00062 }
+<a name="l00063"></a>00063 
+<a name="l00064"></a><a class="code" href="structllvm_1_1EDToken.html#a15912aed92eb1d396e6b51927133caef">00064</a> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDToken.html#a15912aed92eb1d396e6b51927133caef" title="operandID - Returns the operand ID of the token">EDToken::operandID</a>()<span class="keyword"> const </span>{
+<a name="l00065"></a>00065   <span class="keywordflow">return</span> <a class="code" href="structllvm_1_1EDToken.html#ae3c2de10bd9ea60eada0668ca85d80bf">OperandID</a>;
+<a name="l00066"></a>00066 }
+<a name="l00067"></a>00067 
+<a name="l00068"></a><a class="code" href="structllvm_1_1EDToken.html#a2b06cc080efd71281c06b6c8fce5ca3a">00068</a> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDToken.html#a2b06cc080efd71281c06b6c8fce5ca3a">EDToken::literalSign</a>()<span class="keyword"> const </span>{
+<a name="l00069"></a>00069   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Type.html">Type</a> != <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3a1d5033212c2787e667e3e6d62397f272">kTokenLiteral</a>)
+<a name="l00070"></a>00070     <span class="keywordflow">return</span> -1;
+<a name="l00071"></a>00071   <span class="keywordflow">return</span> (<a class="code" href="structllvm_1_1EDToken.html#a99dcaa161688c8dcf1d3fc40f65354ef" title="The sign if the token is a literal (1 if negative, 0 otherwise)">LiteralSign</a> ? 1 : 0);
+<a name="l00072"></a>00072 }
+<a name="l00073"></a>00073 
+<a name="l00074"></a><a class="code" href="structllvm_1_1EDToken.html#a971769c36d1c41e016376d07fda6ea5f">00074</a> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDToken.html#a971769c36d1c41e016376d07fda6ea5f">EDToken::literalAbsoluteValue</a>(uint64_t &value)<span class="keyword"> const </span>{
+<a name="l00075"></a>00075   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Type.html">Type</a> != <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3a1d5033212c2787e667e3e6d62397f272">kTokenLiteral</a>)
+<a name="l00076"></a>00076     <span class="keywordflow">return</span> -1;
+<a name="l00077"></a>00077   value = <a class="code" href="structllvm_1_1EDToken.html#a7a8accbf05d50d4fed209e240c7f32a0" title="The absolute value if the token is a literal.">LiteralAbsoluteValue</a>;
+<a name="l00078"></a>00078   <span class="keywordflow">return</span> 0;
+<a name="l00079"></a>00079 }
+<a name="l00080"></a>00080 
+<a name="l00081"></a><a class="code" href="structllvm_1_1EDToken.html#a68af9460dd151e70681c663e1b2bc959">00081</a> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDToken.html#a68af9460dd151e70681c663e1b2bc959">EDToken::registerID</a>(<span class="keywordtype">unsigned</span> &registerID)<span class="keyword"> const </span>{
+<a name="l00082"></a>00082   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Type.html">Type</a> != <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3aefc122f5a2376aad326381f169744ca4">kTokenRegister</a>)
+<a name="l00083"></a>00083     <span class="keywordflow">return</span> -1;
+<a name="l00084"></a>00084   registerID = <a class="code" href="structllvm_1_1EDToken.html#a6270c04e98a592bdb4bb2adcecfb114b" title="The LLVM register ID if the token is a register name.">RegisterID</a>;
+<a name="l00085"></a>00085   <span class="keywordflow">return</span> 0;
+<a name="l00086"></a>00086 }
+<a name="l00087"></a>00087 
+<a name="l00088"></a><a class="code" href="structllvm_1_1EDToken.html#afdbaeba7710b85b5d7680623486649a5">00088</a> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDToken.html#afdbaeba7710b85b5d7680623486649a5">EDToken::tokenize</a>(std::vector<EDToken*> &tokens,
+<a name="l00089"></a>00089                       std::string &str,
+<a name="l00090"></a>00090                       <span class="keyword">const</span> <span class="keywordtype">signed</span> <span class="keywordtype">char</span> *operandOrder,
+<a name="l00091"></a>00091                       <a class="code" href="structllvm_1_1EDDisassembler.html">EDDisassembler</a> &disassembler) {
+<a name="l00092"></a>00092   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<MCParsedAsmOperand*, 5></a> parsedOperands;
+<a name="l00093"></a>00093   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<AsmToken, 10></a> asmTokens;
+<a name="l00094"></a>00094   
+<a name="l00095"></a>00095   <span class="keywordflow">if</span> (disassembler.<a class="code" href="structllvm_1_1EDDisassembler.html#aa0ebffd076ac9189e5c11231f984f707">parseInst</a>(parsedOperands, asmTokens, str))
+<a name="l00096"></a>00096   {
+<a name="l00097"></a>00097     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = parsedOperands.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a22a311dfe4c28a897de8a9365a4f0a84">size</a>(); i != e; ++i)
+<a name="l00098"></a>00098       <span class="keyword">delete</span> parsedOperands[i];
+<a name="l00099"></a>00099     <span class="keywordflow">return</span> -1;
+<a name="l00100"></a>00100   }
+<a name="l00101"></a>00101       
+<a name="l00102"></a>00102   <a class="code" href="classllvm_1_1SmallVectorImpl.html#a16a72ecbc559627d140a2197d9f79445">SmallVectorImpl<MCParsedAsmOperand*>::iterator</a> operandIterator;
+<a name="l00103"></a>00103   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> operandIndex;
+<a name="l00104"></a>00104   <a class="code" href="classllvm_1_1SmallVectorImpl.html#a16a72ecbc559627d140a2197d9f79445">SmallVectorImpl<AsmToken>::iterator</a> tokenIterator;
+<a name="l00105"></a>00105   
+<a name="l00106"></a>00106   operandIterator = parsedOperands.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a8a045d250952c0867382a9840ee18fdf">begin</a>();
+<a name="l00107"></a>00107   operandIndex = 0;
+<a name="l00108"></a>00108   
+<a name="l00109"></a>00109   <span class="keywordtype">bool</span> <a class="code" href="X86DisassemblerDecoder_8c.html#a0a006bbcf8e6c2fb5ab33c0066467e56">readOpcode</a> = <span class="keyword">false</span>;
+<a name="l00110"></a>00110   
+<a name="l00111"></a>00111   <span class="keyword">const</span> <span class="keywordtype">char</span> *wsPointer = asmTokens.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a8a045d250952c0867382a9840ee18fdf">begin</a>()->getLoc().getPointer();
+<a name="l00112"></a>00112   
+<a name="l00113"></a>00113   <span class="keywordflow">for</span> (tokenIterator = asmTokens.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a8a045d250952c0867382a9840ee18fdf">begin</a>();
+<a name="l00114"></a>00114        tokenIterator != asmTokens.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a075e34e98605d0e7c289763a104869ac">end</a>();
+<a name="l00115"></a>00115        ++tokenIterator) {
+<a name="l00116"></a>00116     <a class="code" href="classllvm_1_1SMLoc.html" title="SMLoc - Represents a location in source code.">SMLoc</a> tokenLoc = tokenIterator->getLoc();
+<a name="l00117"></a>00117     
+<a name="l00118"></a>00118     <span class="keyword">const</span> <span class="keywordtype">char</span> *tokenPointer = tokenLoc.<a class="code" href="classllvm_1_1SMLoc.html#a57b9155169a1c2d0f2363cd4fdd97ac7">getPointer</a>();
+<a name="l00119"></a>00119     
+<a name="l00120"></a>00120     <span class="keywordflow">if</span> (tokenPointer > wsPointer) {
+<a name="l00121"></a>00121       <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> wsLength = tokenPointer - wsPointer;
+<a name="l00122"></a>00122       
+<a name="l00123"></a>00123       <a class="code" href="structllvm_1_1EDToken.html">EDToken</a> *whitespaceToken = <span class="keyword">new</span> <a class="code" href="structllvm_1_1EDToken.html#a78dd79061be72439199bc7acdc3cfb37">EDToken</a>(<a class="code" href="classllvm_1_1StringRef.html">StringRef</a>(wsPointer, wsLength),
+<a name="l00124"></a>00124                                              <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3a582f5c3fb8803637da224fc26010ffc5">EDToken::kTokenWhitespace</a>,
+<a name="l00125"></a>00125                                              0,
+<a name="l00126"></a>00126                                              disassembler);
+<a name="l00127"></a>00127       
+<a name="l00128"></a>00128       tokens.push_back(whitespaceToken);
+<a name="l00129"></a>00129     }
+<a name="l00130"></a>00130     
+<a name="l00131"></a>00131     wsPointer = tokenPointer + tokenIterator->getString().<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a22a311dfe4c28a897de8a9365a4f0a84">size</a>();
+<a name="l00132"></a>00132     
+<a name="l00133"></a>00133     <span class="keywordflow">while</span> (operandIterator != parsedOperands.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a075e34e98605d0e7c289763a104869ac">end</a>() &&
+<a name="l00134"></a>00134            tokenLoc.<a class="code" href="classllvm_1_1SMLoc.html#a57b9155169a1c2d0f2363cd4fdd97ac7">getPointer</a>() > 
+<a name="l00135"></a>00135            (*operandIterator)->getEndLoc().getPointer()) {
+<a name="l00136"></a>00136       ++operandIterator;
+<a name="l00137"></a>00137       ++operandIndex;
+<a name="l00138"></a>00138     }
+<a name="l00139"></a>00139     
+<a name="l00140"></a>00140     <a class="code" href="structllvm_1_1EDToken.html">EDToken</a> *token;
+<a name="l00141"></a>00141     
+<a name="l00142"></a>00142     <span class="keywordflow">switch</span> (tokenIterator->getKind()) {
+<a name="l00143"></a>00143     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1AsmToken.html#ab4316e41520ea53f789582c25bbec039a806fe218bb80f0671afdad4cec36569b">AsmToken::Identifier</a>:
+<a name="l00144"></a>00144       <span class="keywordflow">if</span> (!readOpcode) {
+<a name="l00145"></a>00145         token = <span class="keyword">new</span> <a class="code" href="structllvm_1_1EDToken.html#a78dd79061be72439199bc7acdc3cfb37">EDToken</a>(tokenIterator->getString(),
+<a name="l00146"></a>00146                             <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3ad370d347538855655f03f0733b9e20f8">EDToken::kTokenOpcode</a>,
+<a name="l00147"></a>00147                             (uint64_t)tokenIterator->getKind(),
+<a name="l00148"></a>00148                             disassembler);
+<a name="l00149"></a>00149         readOpcode = <span class="keyword">true</span>;
+<a name="l00150"></a>00150         <span class="keywordflow">break</span>;
+<a name="l00151"></a>00151       }
+<a name="l00152"></a>00152       <span class="comment">// any identifier that isn't an opcode is mere punctuation; so we fall</span>
+<a name="l00153"></a>00153       <span class="comment">// through</span>
+<a name="l00154"></a>00154     <span class="keywordflow">default</span>:
+<a name="l00155"></a>00155       token = <span class="keyword">new</span> <a class="code" href="structllvm_1_1EDToken.html#a78dd79061be72439199bc7acdc3cfb37">EDToken</a>(tokenIterator->getString(),
+<a name="l00156"></a>00156                           <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3a30bc7d3f9ab66d1ad0f40ab91a89e285">EDToken::kTokenPunctuation</a>,
+<a name="l00157"></a>00157                           (uint64_t)tokenIterator->getKind(),
+<a name="l00158"></a>00158                           disassembler);
+<a name="l00159"></a>00159       <span class="keywordflow">break</span>;
+<a name="l00160"></a>00160     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1AsmToken.html#ab4316e41520ea53f789582c25bbec039a2369278b71442a32bd6a7f6a6f411033">AsmToken::Integer</a>:
+<a name="l00161"></a>00161     {
+<a name="l00162"></a>00162       token = <span class="keyword">new</span> <a class="code" href="structllvm_1_1EDToken.html#a78dd79061be72439199bc7acdc3cfb37">EDToken</a>(tokenIterator->getString(),
+<a name="l00163"></a>00163                           <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3a1d5033212c2787e667e3e6d62397f272">EDToken::kTokenLiteral</a>,
+<a name="l00164"></a>00164                           (uint64_t)tokenIterator->getKind(),
+<a name="l00165"></a>00165                           disassembler);
+<a name="l00166"></a>00166         
+<a name="l00167"></a>00167       <a class="code" href="classint64__t.html">int64_t</a> intVal = tokenIterator->getIntVal();
+<a name="l00168"></a>00168       
+<a name="l00169"></a>00169       <span class="keywordflow">if</span> (intVal < 0)  
+<a name="l00170"></a>00170         token-><a class="code" href="structllvm_1_1EDToken.html#a4badd4ebbbcdaa545084a79d95ce4438">makeLiteral</a>(<span class="keyword">true</span>, -intVal);
+<a name="l00171"></a>00171       <span class="keywordflow">else</span>
+<a name="l00172"></a>00172         token-><a class="code" href="structllvm_1_1EDToken.html#a4badd4ebbbcdaa545084a79d95ce4438">makeLiteral</a>(<span class="keyword">false</span>, intVal);
+<a name="l00173"></a>00173       <span class="keywordflow">break</span>;
+<a name="l00174"></a>00174     }
+<a name="l00175"></a>00175     <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1AsmToken.html#ab4316e41520ea53f789582c25bbec039a84b53a5ab98d62b0576bd6bd0e3702f7">AsmToken::Register</a>:
+<a name="l00176"></a>00176     {
+<a name="l00177"></a>00177       token = <span class="keyword">new</span> <a class="code" href="structllvm_1_1EDToken.html#a78dd79061be72439199bc7acdc3cfb37">EDToken</a>(tokenIterator->getString(),
+<a name="l00178"></a>00178                           <a class="code" href="structllvm_1_1EDToken.html#a3d83b4e15da2dc0e85e858dda8a83ed3a1d5033212c2787e667e3e6d62397f272">EDToken::kTokenLiteral</a>,
+<a name="l00179"></a>00179                           (uint64_t)tokenIterator->getKind(),
+<a name="l00180"></a>00180                           disassembler);
+<a name="l00181"></a>00181       
+<a name="l00182"></a>00182       token-><a class="code" href="structllvm_1_1EDToken.html#ad7f8ba88ba4eb18f84e9ed4c4fbcc0ae">makeRegister</a>((<span class="keywordtype">unsigned</span>)tokenIterator->getRegVal());
+<a name="l00183"></a>00183       <span class="keywordflow">break</span>;
+<a name="l00184"></a>00184     }
+<a name="l00185"></a>00185     }
+<a name="l00186"></a>00186     
+<a name="l00187"></a>00187     <span class="keywordflow">if</span> (operandIterator != parsedOperands.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a075e34e98605d0e7c289763a104869ac">end</a>() &&
+<a name="l00188"></a>00188        tokenLoc.<a class="code" href="classllvm_1_1SMLoc.html#a57b9155169a1c2d0f2363cd4fdd97ac7">getPointer</a>() >= 
+<a name="l00189"></a>00189        (*operandIterator)->getStartLoc().getPointer()) {<span class="comment"></span>
+<a name="l00190"></a>00190 <span class="comment">      /// operandIndex == 0 means the operand is the instruction (which the</span>
+<a name="l00191"></a>00191 <span class="comment">      /// AsmParser treats as an operand but edis does not).  We therefore skip</span>
+<a name="l00192"></a>00192 <span class="comment">      /// operandIndex == 0 and subtract 1 from all other operand indices.</span>
+<a name="l00193"></a>00193 <span class="comment"></span>      
+<a name="l00194"></a>00194       <span class="keywordflow">if</span> (operandIndex > 0)
+<a name="l00195"></a>00195         token-><a class="code" href="structllvm_1_1EDToken.html#a9697175a2f0eb35480d092eaf9e90bec">setOperandID</a>(operandOrder[operandIndex - 1]);
+<a name="l00196"></a>00196     }
+<a name="l00197"></a>00197     
+<a name="l00198"></a>00198     tokens.push_back(token);
+<a name="l00199"></a>00199   }
+<a name="l00200"></a>00200   
+<a name="l00201"></a>00201   <span class="comment">// Free any parsed operands.</span>
+<a name="l00202"></a>00202   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = parsedOperands.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a22a311dfe4c28a897de8a9365a4f0a84">size</a>(); i != e; ++i)
+<a name="l00203"></a>00203     <span class="keyword">delete</span> parsedOperands[i];
+<a name="l00204"></a>00204 
+<a name="l00205"></a>00205   <span class="keywordflow">return</span> 0;
+<a name="l00206"></a>00206 }
+<a name="l00207"></a>00207 
+<a name="l00208"></a><a class="code" href="structllvm_1_1EDToken.html#a163b0b80994d10c1bbc4b9d6a2009d24">00208</a> <span class="keywordtype">int</span> <a class="code" href="structllvm_1_1EDToken.html#a163b0b80994d10c1bbc4b9d6a2009d24">EDToken::getString</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>*& buf) {
+<a name="l00209"></a>00209   <span class="keywordflow">if</span> (<a class="code" href="structllvm_1_1EDToken.html#ac295ca0cb987c385c7023b84a1615311" title="The token's string representation, but in a form suitable for export.">PermStr</a>.length() == 0) {
+<a name="l00210"></a>00210     <a class="code" href="structllvm_1_1EDToken.html#ac295ca0cb987c385c7023b84a1615311" title="The token's string representation, but in a form suitable for export.">PermStr</a> = <a class="code" href="structllvm_1_1EDToken.html#a32a07a04de223c65823d9c6fb5007967" title="The token's string representation.">Str</a>.<a class="code" href="classllvm_1_1StringRef.html#ab02cb6f4884b5c788efb97b6741dccaf" title="str - Get the contents as an std::string.">str</a>();
+<a name="l00211"></a>00211   }
+<a name="l00212"></a>00212   buf = <a class="code" href="structllvm_1_1EDToken.html#ac295ca0cb987c385c7023b84a1615311" title="The token's string representation, but in a form suitable for export.">PermStr</a>.c_str();
+<a name="l00213"></a>00213   <span class="keywordflow">return</span> 0;
+<a name="l00214"></a>00214 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:38 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/EDToken_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EDToken_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EDToken_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EDToken_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,40 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="EDToken.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/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_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="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="vector",height=0.2,width=0.4,color="grey75"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/ELFAsmParser_8cpp__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/ELFAsmParser_8cpp__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/ELFAsmParser_8cpp__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/ELFAsmParser_8cpp__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,175 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="ELFAsmParser.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/MC/MCParser/MCAsmParserExtension.h",height=0.2,width=0.4,color="black",URL="$MCAsmParserExtension_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/MC/MCParser/MCAsmParser.h",height=0.2,width=0.4,color="black",URL="$MCAsmParser_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="llvm/ADT/ArrayRef.h",height=0.2,width=0.4,color="black",URL="$ArrayRef_8h.html"];
+  Node9 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="red",URL="$SmallVector_8h.html"];
+  Node10 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="red",URL="$AlignOf_8h.html"];
+  Node11 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [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"];
+  Node10 -> 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 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node10 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node9 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node20 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node20 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node20 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="llvm/Support/SMLoc.h",height=0.2,width=0.4,color="black",URL="$SMLoc_8h.html"];
+  Node23 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="llvm/ADT/StringSwitch.h",height=0.2,width=0.4,color="black",URL="$StringSwitch_8h.html"];
+  Node24 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="llvm/ADT/Twine.h",height=0.2,width=0.4,color="black",URL="$Twine_8h.html"];
+  Node25 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node26 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/MC/MCAsmInfo.h",height=0.2,width=0.4,color="black",URL="$MCAsmInfo_8h.html"];
+  Node27 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="llvm/MC/MachineLocation.h",height=0.2,width=0.4,color="black",URL="$MachineLocation_8h.html"];
+  Node27 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/MC/MCDirectives.h",height=0.2,width=0.4,color="black",URL="$MCDirectives_8h.html"];
+  Node27 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/MC/MCContext.h",height=0.2,width=0.4,color="black",URL="$MCContext_8h.html"];
+  Node30 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/MC/SectionKind.h",height=0.2,width=0.4,color="black",URL="$SectionKind_8h.html"];
+  Node30 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/MC/MCDwarf.h",height=0.2,width=0.4,color="black",URL="$MCDwarf_8h.html"];
+  Node32 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/Support/raw_ostream.h",height=0.2,width=0.4,color="black",URL="$raw__ostream_8h.html"];
+  Node33 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/Support/Dwarf.h",height=0.2,width=0.4,color="black",URL="$Dwarf_8h.html"];
+  Node32 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="red",URL="$DenseMap_8h.html"];
+  Node35 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/Support/MathExtras.h",height=0.2,width=0.4,color="red",URL="$MathExtras_8h.html"];
+  Node35 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/Support/PointerLikeTypeTraits.h",height=0.2,width=0.4,color="black",URL="$PointerLikeTypeTraits_8h.html"];
+  Node37 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/ADT/DenseMapInfo.h",height=0.2,width=0.4,color="black",URL="$DenseMapInfo_8h.html"];
+  Node38 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="new",height=0.2,width=0.4,color="grey75"];
+  Node35 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="climits",height=0.2,width=0.4,color="grey75"];
+  Node35 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="llvm/ADT/StringMap.h",height=0.2,width=0.4,color="black",URL="$StringMap_8h.html"];
+  Node41 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/Support/Allocator.h",height=0.2,width=0.4,color="red",URL="$Allocator_8h.html"];
+  Node42 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="llvm/MC/MCExpr.h",height=0.2,width=0.4,color="black",URL="$MCExpr_8h.html"];
+  Node43 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/Support/Casting.h",height=0.2,width=0.4,color="black",URL="$Casting_8h.html"];
+  Node44 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/MC/MCParser/MCAsmLexer.h",height=0.2,width=0.4,color="black",URL="$MCAsmLexer_8h.html"];
+  Node45 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/MC/MCSectionELF.h",height=0.2,width=0.4,color="black",URL="$MCSectionELF_8h.html"];
+  Node46 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="llvm/MC/MCSection.h",height=0.2,width=0.4,color="black",URL="$MCSection_8h.html"];
+  Node47 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="llvm/Support/ELF.h",height=0.2,width=0.4,color="black",URL="$Support_2ELF_8h.html"];
+  Node48 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/MC/MCStreamer.h",height=0.2,width=0.4,color="black",URL="$MCStreamer_8h.html"];
+  Node49 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node50 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 [label="llvm/MC/MCWin64EH.h",height=0.2,width=0.4,color="red",URL="$MCWin64EH_8h.html"];
+  Node50 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node9 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node10 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/ELFObjectFile_8cpp__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/ELFObjectFile_8cpp__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/ELFObjectFile_8cpp__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/ELFObjectFile_8cpp__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,176 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="ELFObjectFile.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/Object/ELF.h",height=0.2,width=0.4,color="black",URL="$Object_2ELF_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="black",URL="$SmallVector_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_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 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="memory",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="llvm/ADT/StringSwitch.h",height=0.2,width=0.4,color="black",URL="$StringSwitch_8h.html"];
+  Node20 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node21 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node21 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node21 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="llvm/ADT/Triple.h",height=0.2,width=0.4,color="black",URL="$Triple_8h.html"];
+  Node24 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="llvm/ADT/Twine.h",height=0.2,width=0.4,color="black",URL="$Twine_8h.html"];
+  Node25 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node26 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/ADT/DenseMap.h",height=0.2,width=0.4,color="black",URL="$DenseMap_8h.html"];
+  Node27 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="llvm/Support/MathExtras.h",height=0.2,width=0.4,color="black",URL="$MathExtras_8h.html"];
+  Node28 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/Support/SwapByteOrder.h",height=0.2,width=0.4,color="black",URL="$SwapByteOrder_8h.html"];
+  Node29 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/Support/PointerLikeTypeTraits.h",height=0.2,width=0.4,color="black",URL="$PointerLikeTypeTraits_8h.html"];
+  Node30 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/ADT/DenseMapInfo.h",height=0.2,width=0.4,color="black",URL="$DenseMapInfo_8h.html"];
+  Node31 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="new",height=0.2,width=0.4,color="grey75"];
+  Node27 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="climits",height=0.2,width=0.4,color="grey75"];
+  Node27 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/ADT/PointerIntPair.h",height=0.2,width=0.4,color="black",URL="$PointerIntPair_8h.html"];
+  Node34 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="llvm/Object/ObjectFile.h",height=0.2,width=0.4,color="black",URL="$ObjectFile_8h.html"];
+  Node35 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/Object/Binary.h",height=0.2,width=0.4,color="black",URL="$Binary_8h.html"];
+  Node36 -> Node37 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 [label="llvm/ADT/OwningPtr.h",height=0.2,width=0.4,color="black",URL="$OwningPtr_8h.html"];
+  Node37 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node37 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node38 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node38 [label="llvm/Object/Error.h",height=0.2,width=0.4,color="black",URL="$Object_2Error_8h.html"];
+  Node38 -> Node39 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 [label="llvm/Support/system_error.h",height=0.2,width=0.4,color="black",URL="$system__error_8h.html"];
+  Node39 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node40 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node40 [label="llvm/Config/llvm-config.h",height=0.2,width=0.4,color="black",URL="$llvm-config_8h.html"];
+  Node39 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node39 -> Node41 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node41 [label="cerrno",height=0.2,width=0.4,color="grey75"];
+  Node39 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 [label="llvm/Support/MemoryBuffer.h",height=0.2,width=0.4,color="black",URL="$MemoryBuffer_8h.html"];
+  Node42 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node42 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 -> Node43 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node43 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node44 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 [label="llvm/Support/Casting.h",height=0.2,width=0.4,color="black",URL="$Casting_8h.html"];
+  Node44 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node44 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node45 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 [label="llvm/Support/ELF.h",height=0.2,width=0.4,color="black",URL="$Support_2ELF_8h.html"];
+  Node45 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node45 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node46 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 [label="llvm/Support/Endian.h",height=0.2,width=0.4,color="black",URL="$Endian_8h.html"];
+  Node46 -> Node47 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 [label="llvm/Support/Host.h",height=0.2,width=0.4,color="black",URL="$Host_8h.html"];
+  Node47 -> Node48 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 [label="llvm/ADT/StringMap.h",height=0.2,width=0.4,color="black",URL="$StringMap_8h.html"];
+  Node48 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 -> Node49 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 [label="llvm/Support/Allocator.h",height=0.2,width=0.4,color="black",URL="$Allocator_8h.html"];
+  Node49 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node49 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node48 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node47 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node46 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node42 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> 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 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node50 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node2 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/ELFObjectWriter_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/ELFObjectWriter_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/ELFObjectWriter_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/ELFObjectWriter_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,142 @@
+<!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: ELFObjectWriter.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_edbd05defa7d897e6588eb3f84517e19.html">MC</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Defines</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">ELFObjectWriter.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="MCELF_8h_source.html">MCELF.h</a>"</code><br/>
+<code>#include "<a class="el" href="OwningPtr_8h_source.html">llvm/ADT/OwningPtr.h</a>"</code><br/>
+<code>#include "<a class="el" href="SmallPtrSet_8h_source.html">llvm/ADT/SmallPtrSet.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="STLExtras_8h_source.html">llvm/ADT/STLExtras.h</a>"</code><br/>
+<code>#include "<a class="el" href="StringMap_8h_source.html">llvm/ADT/StringMap.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCAsmBackend_8h_source.html">llvm/MC/MCAsmBackend.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCAsmLayout_8h_source.html">llvm/MC/MCAsmLayout.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCAssembler_8h_source.html">llvm/MC/MCAssembler.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCContext_8h_source.html">llvm/MC/MCContext.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCELFObjectWriter_8h_source.html">llvm/MC/MCELFObjectWriter.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCELFSymbolFlags_8h_source.html">llvm/MC/MCELFSymbolFlags.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCExpr_8h_source.html">llvm/MC/MCExpr.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCFixupKindInfo_8h_source.html">llvm/MC/MCFixupKindInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCObjectWriter_8h_source.html">llvm/MC/MCObjectWriter.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCSectionELF_8h_source.html">llvm/MC/MCSectionELF.h</a>"</code><br/>
+<code>#include "<a class="el" href="MCValue_8h_source.html">llvm/MC/MCValue.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="Support_2ELF_8h_source.html">llvm/Support/ELF.h</a>"</code><br/>
+<code>#include <vector></code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for ELFObjectWriter.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="ELFObjectWriter_8cpp__incl.png" border="0" usemap="#ELFObjectWriter_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="ELFObjectWriter_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="ELFObjectWriter_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">DEBUG_TYPE</a>   "reloc-<a class="el" href="LazyValueInfo_8cpp.html#ad7f64bcc544dcefb2e068282af1c549d">info</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">static int </td><td class="memItemRight" valign="bottom"><a class="el" href="ELFObjectWriter_8cpp.html#a13ec33380ee04f02ab8ddf58d9187a36">compareBySuffix</a> (const void *a, const void *b)</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ad78e062f62e0d6e453941fb4ca843e4d"></a><!-- doxytag: member="ELFObjectWriter.cpp::DEBUG_TYPE" ref="ad78e062f62e0d6e453941fb4ca843e4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define DEBUG_TYPE   "reloc-<a class="el" href="LazyValueInfo_8cpp.html#ad7f64bcc544dcefb2e068282af1c549d">info</a>"</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="ELFObjectWriter_8cpp_source.html#l00039">39</a> of file <a class="el" href="ELFObjectWriter_8cpp_source.html">ELFObjectWriter.cpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="a13ec33380ee04f02ab8ddf58d9187a36"></a><!-- doxytag: member="ELFObjectWriter.cpp::compareBySuffix" ref="a13ec33380ee04f02ab8ddf58d9187a36" args="(const void *a, const void *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static int compareBySuffix </td>
+          <td>(</td>
+          <td class="paramtype">const void * </td>
+          <td class="paramname"><em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void * </td>
+          <td class="paramname"><em>b</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="ELFObjectWriter_8cpp_source.html#l01100">1100</a> of file <a class="el" href="ELFObjectWriter_8cpp_source.html">ELFObjectWriter.cpp</a>.</p>
+
+<p>References <a class="el" href="MCSectionELF_8h_source.html#l00059">llvm::MCSectionELF::getSectionName()</a>, and <a class="el" href="StringRef_8h_source.html#l00114">llvm::StringRef::size()</a>.</p>
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/EarlyCSE_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EarlyCSE_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EarlyCSE_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EarlyCSE_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,277 @@
+<!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: EarlyCSE.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_19df7bbd99eeba0b048ee47f392d9ea7.html">Scalar</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Classes</a> |
+<a href="#namespaces">Namespaces</a> |
+<a href="#define-members">Defines</a> |
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<div class="title">EarlyCSE.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="Transforms_2Scalar_8h_source.html">llvm/Transforms/Scalar.h</a>"</code><br/>
+<code>#include "<a class="el" href="Instructions_8h_source.html">llvm/Instructions.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="Dominators_8h_source.html">llvm/Analysis/Dominators.h</a>"</code><br/>
+<code>#include "<a class="el" href="InstructionSimplify_8h_source.html">llvm/Analysis/InstructionSimplify.h</a>"</code><br/>
+<code>#include "<a class="el" href="DataLayout_8h_source.html">llvm/DataLayout.h</a>"</code><br/>
+<code>#include "<a class="el" href="TargetLibraryInfo_8h_source.html">llvm/Target/TargetLibraryInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="Local_8h_source.html">llvm/Transforms/Utils/Local.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="RecyclingAllocator_8h_source.html">llvm/Support/RecyclingAllocator.h</a>"</code><br/>
+<code>#include "<a class="el" href="Hashing_8h_source.html">llvm/ADT/Hashing.h</a>"</code><br/>
+<code>#include "<a class="el" href="ScopedHashTable_8h_source.html">llvm/ADT/ScopedHashTable.h</a>"</code><br/>
+<code>#include "<a class="el" href="Statistic_8h_source.html">llvm/ADT/Statistic.h</a>"</code><br/>
+<code>#include <deque></code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for EarlyCSE.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="EarlyCSE_8cpp__incl.png" border="0" usemap="#EarlyCSE_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="EarlyCSE_8cpp_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">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1isPodLike_3_01SimpleValue_01_4.html">llvm::isPodLike< SimpleValue ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1DenseMapInfo_3_01SimpleValue_01_4.html">llvm::DenseMapInfo< SimpleValue ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1isPodLike_3_01CallValue_01_4.html">llvm::isPodLike< CallValue ></a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structllvm_1_1DenseMapInfo_3_01CallValue_01_4.html">llvm::DenseMapInfo< CallValue ></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>
+<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="EarlyCSE_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">DEBUG_TYPE</a>   "early-<a class="el" href="MachineCSE_8cpp.html#aaa516bf33481a9553c5422b48a71badb">cse</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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="EarlyCSE_8cpp.html#abb52eef8ab0b449eefed54c4e18f24bc">STATISTIC</a> (NumSimplify,"Number of <a class="el" href="SimplifyInstructions_8cpp.html#afbf38da490ab8cea559fee0c9081db06">instructions</a> simplified or DCE'd")</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="EarlyCSE_8cpp.html#ac3419b4a6c9a36d0db595f046bf10513">STATISTIC</a> (NumCSE,"Number of <a class="el" href="SimplifyInstructions_8cpp.html#afbf38da490ab8cea559fee0c9081db06">instructions</a> CSE'd")</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="EarlyCSE_8cpp.html#a6162e0b1a66e3944280637ce86a8a483">STATISTIC</a> (NumCSELoad,"Number of load <a class="el" href="SimplifyInstructions_8cpp.html#afbf38da490ab8cea559fee0c9081db06">instructions</a> CSE'd")</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="EarlyCSE_8cpp.html#a7ede7705311d9f5f028cf11ce18b0f69">STATISTIC</a> (NumCSECall,"Number of call <a class="el" href="SimplifyInstructions_8cpp.html#afbf38da490ab8cea559fee0c9081db06">instructions</a> CSE'd")</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="EarlyCSE_8cpp.html#aa896860b4b371127fbac4bac39a9eccd">STATISTIC</a> (NumDSE,"Number of trivial dead stores removed")</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="EarlyCSE_8cpp.html#ad83feaec7dc68d46074ce2a1b69ceb9a">getHash</a> (const void *V)</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ad78e062f62e0d6e453941fb4ca843e4d"></a><!-- doxytag: member="EarlyCSE.cpp::DEBUG_TYPE" ref="ad78e062f62e0d6e453941fb4ca843e4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define DEBUG_TYPE   "early-<a class="el" href="MachineCSE_8cpp.html#aaa516bf33481a9553c5422b48a71badb">cse</a>"</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="EarlyCSE_8cpp_source.html#l00015">15</a> of file <a class="el" href="EarlyCSE_8cpp_source.html">EarlyCSE.cpp</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ad83feaec7dc68d46074ce2a1b69ceb9a"></a><!-- doxytag: member="EarlyCSE.cpp::getHash" ref="ad83feaec7dc68d46074ce2a1b69ceb9a" args="(const void *V)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">static <a class="el" href="classunsigned.html">unsigned</a> getHash </td>
+          <td>(</td>
+          <td class="paramtype">const void * </td>
+          <td class="paramname"><em>V</em></td><td>)</td>
+          <td><code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="EarlyCSE_8cpp_source.html#l00038">38</a> of file <a class="el" href="EarlyCSE_8cpp_source.html">EarlyCSE.cpp</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="abb52eef8ab0b449eefed54c4e18f24bc"></a><!-- doxytag: member="EarlyCSE.cpp::STATISTIC" ref="abb52eef8ab0b449eefed54c4e18f24bc" args="(NumSimplify,"Number of instructions simplified or DCE'd")" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">STATISTIC </td>
+          <td>(</td>
+          <td class="paramtype">NumSimplify </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"Number of <a class="el" href="SimplifyInstructions_8cpp.html#afbf38da490ab8cea559fee0c9081db06">instructions</a> simplified or DCE'd" </td>
+          <td class="paramname"> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="ac3419b4a6c9a36d0db595f046bf10513"></a><!-- doxytag: member="EarlyCSE.cpp::STATISTIC" ref="ac3419b4a6c9a36d0db595f046bf10513" args="(NumCSE,"Number of instructions CSE'd")" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">STATISTIC </td>
+          <td>(</td>
+          <td class="paramtype">NumCSE </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"Number of <a class="el" href="SimplifyInstructions_8cpp.html#afbf38da490ab8cea559fee0c9081db06">instructions</a> CSE'd" </td>
+          <td class="paramname"> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a6162e0b1a66e3944280637ce86a8a483"></a><!-- doxytag: member="EarlyCSE.cpp::STATISTIC" ref="a6162e0b1a66e3944280637ce86a8a483" args="(NumCSELoad,"Number of load instructions CSE'd")" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">STATISTIC </td>
+          <td>(</td>
+          <td class="paramtype">NumCSELoad </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"Number of load <a class="el" href="SimplifyInstructions_8cpp.html#afbf38da490ab8cea559fee0c9081db06">instructions</a> CSE'd" </td>
+          <td class="paramname"> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="a7ede7705311d9f5f028cf11ce18b0f69"></a><!-- doxytag: member="EarlyCSE.cpp::STATISTIC" ref="a7ede7705311d9f5f028cf11ce18b0f69" args="(NumCSECall,"Number of call instructions CSE'd")" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">STATISTIC </td>
+          <td>(</td>
+          <td class="paramtype">NumCSECall </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"Number of call <a class="el" href="SimplifyInstructions_8cpp.html#afbf38da490ab8cea559fee0c9081db06">instructions</a> CSE'd" </td>
+          <td class="paramname"> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+<a class="anchor" id="aa896860b4b371127fbac4bac39a9eccd"></a><!-- doxytag: member="EarlyCSE.cpp::STATISTIC" ref="aa896860b4b371127fbac4bac39a9eccd" args="(NumDSE,"Number of trivial dead stores removed")" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">STATISTIC </td>
+          <td>(</td>
+          <td class="paramtype">NumDSE </td>
+          <td class="paramname">, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">"Number of trivial dead stores removed" </td>
+          <td class="paramname"> </td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/EarlyIfConversion_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EarlyIfConversion_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EarlyIfConversion_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EarlyIfConversion_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,41 @@
+<map id="G" name="G">
+<area shape="rect" href="$MachineTraceMetrics_8h.html" title="MachineTraceMetrics.h" alt="" coords="1485,84,1651,111"/>
+<area shape="rect" href="$MachineFunctionPass_8h.html" title="llvm/CodeGen/MachineFunctionPass.h" alt="" coords="2959,161,3220,188"/>
+<area shape="rect" href="$TargetSubtargetInfo_8h.html" title="llvm/Target/TargetSubtargetInfo.h" alt="" coords="869,239,1101,265"/>
+<area shape="rect" href="$BitVector_8h.html" title="llvm/ADT/BitVector.h" alt="" coords="1832,239,1981,265"/>
+<area shape="rect" href="$PostOrderIterator_8h.html" title="llvm/ADT/PostOrderIterator.h" alt="" coords="643,239,845,265"/>
+<area shape="rect" href="$SmallPtrSet_8h.html" title="llvm/ADT/SmallPtrSet.h" alt="" coords="1104,316,1272,343"/>
+<area shape="rect" href="$SetVector_8h.html" title="llvm/ADT/SetVector.h" alt="" coords="352,161,507,188"/>
+<area shape="rect" href="$SparseSet_8h.html" title="llvm/ADT/SparseSet.h" alt="" coords="131,239,291,265"/>
+<area shape="rect" href="$Statistic_8h.html" title="llvm/ADT/Statistic.h" alt="" coords="3127,239,3271,265"/>
+<area shape="rect" href="$MachineBranchProbabilityInfo_8h.html" title="llvm/CodeGen/MachineBranchProbabilityInfo.h" alt="" coords="2215,161,2527,188"/>
+<area shape="rect" href="$MachineDominators_8h.html" title="llvm/CodeGen/MachineDominators.h" alt="" coords="2457,84,2711,111"/>
+<area shape="rect" href="$MachineFunction_8h.html" title="llvm/CodeGen/MachineFunction.h" alt="" coords="2551,161,2783,188"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="3115,316,3315,343"/>
+<area shape="rect" href="$MachineLoopInfo_8h.html" title="llvm/CodeGen/MachineLoopInfo.h" alt="" coords="2980,84,3212,111"/>
+<area shape="rect" href="$MachineRegisterInfo_8h.html" title="llvm/CodeGen/MachineRegisterInfo.h" alt="" coords="1675,84,1928,111"/>
+<area shape="rect" href="$TargetRegisterInfo_8h.html" title="llvm/Target/TargetRegisterInfo.h" alt="" coords="1604,161,1823,188"/>
+<area shape="rect" href="$CodeGen_2Passes_8h.html" title="llvm/CodeGen/Passes.h" alt="" coords="2735,84,2905,111"/>
+<area shape="rect" href="$TargetInstrInfo_8h.html" title="llvm/Target/TargetInstrInfo.h" alt="" coords="2003,84,2197,111"/>
+<area shape="rect" href="$CommandLine_8h.html" title="llvm/Support/CommandLine.h" alt="" coords="1445,239,1656,265"/>
+<area shape="rect" href="$Debug_8h.html" title="llvm/Support/Debug.h" alt="" coords="3345,84,3505,111"/>
+<area shape="rect" href="$ArrayRef_8h.html" title="llvm/ADT/ArrayRef.h" alt="" coords="1227,239,1371,265"/>
+<area shape="rect" href="$DenseMap_8h.html" title="llvm/ADT/DenseMap.h" alt="" coords="1448,316,1608,343"/>
+<area shape="rect" href="$TargetSchedule_8h.html" title="llvm/CodeGen/TargetSchedule.h" alt="" coords="1027,161,1251,188"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="912,316,1080,343"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="2041,393,2215,420"/>
+<area shape="rect" href="$MathExtras_8h.html" title="llvm/Support/MathExtras.h" alt="" coords="1743,393,1932,420"/>
+<area shape="rect" href="$PointerLikeTypeTraits_8h.html" title="llvm/Support/PointerLikeTypeTraits.h" alt="" coords="1364,393,1612,420"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="2187,471,2371,497"/>
+<area shape="rect" href="$Pass_8h.html" title="llvm/Pass.h" alt="" coords="2808,316,2899,343"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="1885,316,2091,343"/>
+<area shape="rect" href="$GraphTraits_8h.html" title="llvm/ADT/GraphTraits.h" alt="" coords="2416,316,2581,343"/>
+<area shape="rect" href="$SmallSet_8h.html" title="llvm/ADT/SmallSet.h" alt="" coords="467,239,619,265"/>
+<area shape="rect" href="$STLExtras_8h.html" title="llvm/ADT/STLExtras.h" alt="" coords="5,316,160,343"/>
+<area shape="rect" href="$Atomic_8h.html" title="llvm/Support/Atomic.h" alt="" coords="3163,393,3325,420"/>
+<area shape="rect" href="$Valgrind_8h.html" title="llvm/Support/Valgrind.h" alt="" coords="2923,316,3091,343"/>
+<area shape="rect" href="$MachineBasicBlock_8h.html" title="llvm/CodeGen/MachineBasicBlock.h" alt="" coords="2585,239,2833,265"/>
+<area shape="rect" href="$BranchProbability_8h.html" title="llvm/Support/BranchProbability.h" alt="" coords="2165,316,2392,343"/>
+<area shape="rect" href="$Dominators_8h.html" title="llvm/Analysis/Dominators.h" alt="" coords="2316,239,2511,265"/>
+<area shape="rect" href="$DominatorInternals_8h.html" title="llvm/Analysis/DominatorInternals.h" alt="" coords="1948,161,2191,188"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/EdgeBundles_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EdgeBundles_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EdgeBundles_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EdgeBundles_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,6 @@
+<map id="G" name="G">
+<area shape="rect" href="$EdgeBundles_8cpp.html" title="EdgeBundles.cpp" alt="" coords="5,84,136,111"/>
+<area shape="rect" href="$RegAllocGreedy_8cpp.html" title="RegAllocGreedy.cpp" alt="" coords="160,84,304,111"/>
+<area shape="rect" href="$SpillPlacement_8cpp.html" title="SpillPlacement.cpp" alt="" coords="328,84,469,111"/>
+<area shape="rect" href="$X86FloatingPoint_8cpp.html" title="X86FloatingPoint.cpp" alt="" coords="493,84,648,111"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/EdgeBundles_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EdgeBundles_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EdgeBundles_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EdgeBundles_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,103 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="EdgeBundles.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/ArrayRef.h",height=0.2,width=0.4,color="black",URL="$ArrayRef_8h.html"];
+  Node2 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/ADT/SmallVector.h",height=0.2,width=0.4,color="black",URL="$SmallVector_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/Support/AlignOf.h",height=0.2,width=0.4,color="black",URL="$AlignOf_8h.html"];
+  Node4 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="llvm/Support/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node4 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_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 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node6 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="cstdlib",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node17 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node18 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node18 [label="iterator",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node19 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node19 [label="memory",height=0.2,width=0.4,color="grey75"];
+  Node2 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node20 [label="vector",height=0.2,width=0.4,color="grey75"];
+  Node1 -> Node21 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node21 [label="llvm/ADT/IntEqClasses.h",height=0.2,width=0.4,color="black",URL="$IntEqClasses_8h.html"];
+  Node21 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node22 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 [label="llvm/ADT/Twine.h",height=0.2,width=0.4,color="black",URL="$Twine_8h.html"];
+  Node22 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node23 -> Node7 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node17 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node23 -> Node24 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node24 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node23 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node25 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node23 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 -> Node26 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 [label="llvm/Support/ErrorHandling.h",height=0.2,width=0.4,color="black",URL="$ErrorHandling_8h.html"];
+  Node26 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node26 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node22 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node27 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node27 [label="llvm/CodeGen/MachineFunctionPass.h",height=0.2,width=0.4,color="black",URL="$MachineFunctionPass_8h.html"];
+  Node27 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 [label="llvm/Pass.h",height=0.2,width=0.4,color="black",URL="$Pass_8h.html"];
+  Node28 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node25 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node29 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 [label="llvm/PassSupport.h",height=0.2,width=0.4,color="black",URL="$PassSupport_8h.html"];
+  Node29 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node30 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node30 [label="llvm/PassRegistry.h",height=0.2,width=0.4,color="black",URL="$PassRegistry_8h.html"];
+  Node30 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node31 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node31 [label="llvm/InitializePasses.h",height=0.2,width=0.4,color="black",URL="$InitializePasses_8h.html"];
+  Node29 -> Node32 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node32 [label="llvm/Support/Atomic.h",height=0.2,width=0.4,color="black",URL="$Atomic_8h.html"];
+  Node32 -> Node8 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node29 -> Node33 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 [label="llvm/Support/Valgrind.h",height=0.2,width=0.4,color="black",URL="$Valgrind_8h.html"];
+  Node33 -> Node5 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node33 -> Node34 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node34 [label="llvm/Config/llvm-config.h",height=0.2,width=0.4,color="black",URL="$llvm-config_8h.html"];
+  Node33 -> Node35 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node35 [label="stddef.h",height=0.2,width=0.4,color="grey75"];
+  Node29 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node28 -> Node36 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 [label="llvm/PassAnalysisSupport.h",height=0.2,width=0.4,color="black",URL="$PassAnalysisSupport_8h.html"];
+  Node36 -> Node28 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node23 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node36 -> Node20 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/EnhancedDisassembly_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EnhancedDisassembly_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EnhancedDisassembly_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EnhancedDisassembly_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,9 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="EnhancedDisassembly.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="EDMain.cpp",height=0.2,width=0.4,color="black",URL="$EDMain_8cpp.html"];
+}

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/EquivalenceClasses_8h__dep__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/EquivalenceClasses_8h__dep__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/EquivalenceClasses_8h__dep__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/EquivalenceClasses_8h__dep__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,4 @@
+<map id="G" name="G">
+<area shape="rect" href="$MaximumSpanningTree_8h.html" title="MaximumSpanningTree.h" alt="" coords="5,84,187,111"/>
+<area shape="rect" href="$OptimalEdgeProfiling_8cpp.html" title="OptimalEdgeProfiling.cpp" alt="" coords="7,161,185,188"/>
+</map>

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

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

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

Added: www-releases/trunk/3.2/docs/doxygen/html/Errno_8h__dep__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/Errno_8h__dep__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/Errno_8h__dep__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/Errno_8h__dep__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,35 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="Errno.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="IntelJITEventListener.cpp",height=0.2,width=0.4,color="black",URL="$IntelJITEventListener_8cpp.html"];
+  Node1 -> Node3 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="OProfileJITEventListener.cpp",height=0.2,width=0.4,color="black",URL="$OProfileJITEventListener_8cpp.html"];
+  Node1 -> Node4 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="Errno.cpp",height=0.2,width=0.4,color="black",URL="$Errno_8cpp.html"];
+  Node1 -> Node5 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node5 [label="Unix.h",height=0.2,width=0.4,color="black",URL="$Unix_8h.html"];
+  Node5 -> Node6 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node6 [label="Memory.inc",height=0.2,width=0.4,color="black",URL="$Unix_2Memory_8inc.html"];
+  Node6 -> Node7 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node7 [label="Memory.cpp",height=0.2,width=0.4,color="black",URL="$Memory_8cpp.html"];
+  Node5 -> Node8 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node8 [label="Path.inc",height=0.2,width=0.4,color="black",URL="$Unix_2Path_8inc.html"];
+  Node8 -> Node9 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node9 [label="Path.cpp",height=0.2,width=0.4,color="black",URL="$Path_8cpp.html"];
+  Node5 -> Node10 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node10 [label="PathV2.inc",height=0.2,width=0.4,color="black",URL="$Unix_2PathV2_8inc.html"];
+  Node10 -> Node11 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="PathV2.cpp",height=0.2,width=0.4,color="black",URL="$PathV2_8cpp.html"];
+  Node5 -> Node12 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="Program.inc",height=0.2,width=0.4,color="black",URL="$Unix_2Program_8inc.html"];
+  Node12 -> Node13 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="Program.cpp",height=0.2,width=0.4,color="black",URL="$Program_8cpp.html"];
+  Node1 -> Node14 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="MemoryBuffer.cpp",height=0.2,width=0.4,color="black",URL="$MemoryBuffer_8cpp.html"];
+  Node1 -> Node15 [dir="back",color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="system_error.cpp",height=0.2,width=0.4,color="black",URL="$system__error_8cpp.html"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,116 @@
+<!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: ErrorHandling.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_3927ff15cdce1d22d8dcb33a29894069.html">Support</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#var-members">Variables</a>  </div>
+  <div class="headertitle">
+<div class="title">ErrorHandling.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="Twine_8h_source.html">llvm/ADT/Twine.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="Signals_8h_source.html">llvm/Support/Signals.h</a>"</code><br/>
+<code>#include "<a class="el" href="Threading_8h_source.html">llvm/Support/Threading.h</a>"</code><br/>
+<code>#include "<a class="el" href="SmallVector_8h_source.html">llvm/ADT/SmallVector.h</a>"</code><br/>
+<code>#include "<a class="el" href="config_8h_source.html">llvm/Config/config.h</a>"</code><br/>
+<code>#include <cassert></code><br/>
+<code>#include <cstdlib></code><br/>
+<code>#include <unistd.h></code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for ErrorHandling.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="ErrorHandling_8cpp__incl.png" border="0" usemap="#ErrorHandling_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="ErrorHandling_8cpp_source.html">Go to the source code of this file.</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static fatal_error_handler_t </td><td class="memItemRight" valign="bottom"><a class="el" href="ErrorHandling_8cpp.html#a170a641ca785d873866fb901dfcb7591">ErrorHandler</a> = 0</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">static void * </td><td class="memItemRight" valign="bottom"><a class="el" href="ErrorHandling_8cpp.html#ac72f654da369115e0c7af8e47be7008c">ErrorHandlerUserData</a> = 0</td></tr>
+</table>
+<hr/><h2>Variable Documentation</h2>
+<a class="anchor" id="a170a641ca785d873866fb901dfcb7591"></a><!-- doxytag: member="ErrorHandling.cpp::ErrorHandler" ref="a170a641ca785d873866fb901dfcb7591" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">fatal_error_handler_t <a class="el" href="ErrorHandling_8cpp.html#a170a641ca785d873866fb901dfcb7591">ErrorHandler</a> = 0<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="ErrorHandling_8cpp_source.html#l00036">36</a> of file <a class="el" href="ErrorHandling_8cpp_source.html">ErrorHandling.cpp</a>.</p>
+
+<p>Referenced by <a class="el" href="ErrorHandling_8cpp_source.html#l00039">llvm::install_fatal_error_handler()</a>, <a class="el" href="ErrorHandling_8cpp_source.html#l00048">llvm::remove_fatal_error_handler()</a>, and <a class="el" href="ErrorHandling_8cpp_source.html#l00064">llvm::report_fatal_error()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ac72f654da369115e0c7af8e47be7008c"></a><!-- doxytag: member="ErrorHandling.cpp::ErrorHandlerUserData" ref="ac72f654da369115e0c7af8e47be7008c" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void* <a class="el" href="ErrorHandling_8cpp.html#ac72f654da369115e0c7af8e47be7008c">ErrorHandlerUserData</a> = 0<code> [static]</code></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="ErrorHandling_8cpp_source.html#l00037">37</a> of file <a class="el" href="ErrorHandling_8cpp_source.html">ErrorHandling.cpp</a>.</p>
+
+<p>Referenced by <a class="el" href="ErrorHandling_8cpp_source.html#l00039">llvm::install_fatal_error_handler()</a>, and <a class="el" href="ErrorHandling_8cpp_source.html#l00064">llvm::report_fatal_error()</a>.</p>
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/ErrorHandling_8cpp__incl.map
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8cpp__incl.map?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8cpp__incl.map (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8cpp__incl.map Fri Dec 21 00:57:24 2012
@@ -0,0 +1,20 @@
+<map id="G" name="G">
+<area shape="rect" href="$Twine_8h.html" title="llvm/ADT/Twine.h" alt="" coords="884,316,1009,343"/>
+<area shape="rect" href="$ErrorHandling_8h.html" title="llvm/Support/ErrorHandling.h" alt="" coords="653,393,859,420"/>
+<area shape="rect" href="$Debug_8h.html" title="llvm/Support/Debug.h" alt="" coords="1869,84,2029,111"/>
+<area shape="rect" href="$raw__ostream_8h.html" title="llvm/Support/raw_ostream.h" alt="" coords="379,393,579,420"/>
+<area shape="rect" href="$Signals_8h.html" title="llvm/Support/Signals.h" alt="" coords="771,84,933,111"/>
+<area shape="rect" href="$SmallVector_8h.html" title="llvm/ADT/SmallVector.h" alt="" coords="1411,393,1579,420"/>
+<area shape="rect" href="$Threading_8h.html" title="llvm/Support/Threading.h" alt="" coords="2053,84,2235,111"/>
+<area shape="rect" href="$config_8h.html" title="llvm/Config/config.h" alt="" coords="2259,84,2403,111"/>
+<area shape="rect" href="$StringRef_8h.html" title="llvm/ADT/StringRef.h" alt="" coords="856,471,1005,497"/>
+<area shape="rect" href="$DataTypes_8h.html" title="llvm/Support/DataTypes.h" alt="" coords="144,625,328,652"/>
+<area shape="rect" href="$type__traits_8h.html" title="llvm/Support/type_traits.h" alt="" coords="1181,548,1368,575"/>
+<area shape="rect" href="$Compiler_8h.html" title="llvm/Support/Compiler.h" alt="" coords="608,548,781,575"/>
+<area shape="rect" href="$Path_8h.html" title="llvm/Support/Path.h" alt="" coords="779,161,925,188"/>
+<area shape="rect" href="$PathV1_8h.html" title="llvm/Support/PathV1.h" alt="" coords="192,393,355,420"/>
+<area shape="rect" href="$PathV2_8h.html" title="llvm/Support/PathV2.h" alt="" coords="996,239,1159,265"/>
+<area shape="rect" href="$TimeValue_8h.html" title="llvm/Support/TimeValue.h" alt="" coords="144,471,328,497"/>
+<area shape="rect" href="$SmallString_8h.html" title="llvm/ADT/SmallString.h" alt="" coords="1100,316,1268,343"/>
+<area shape="rect" href="$AlignOf_8h.html" title="llvm/Support/AlignOf.h" alt="" coords="1171,471,1333,497"/>
+</map>

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

Added: www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8h__incl.dot
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8h__incl.dot?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8h__incl.dot (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/ErrorHandling_8h__incl.dot Fri Dec 21 00:57:24 2012
@@ -0,0 +1,39 @@
+digraph G
+{
+  bgcolor="transparent";
+  edge [fontname="FreeSans",fontsize="10",labelfontname="FreeSans",labelfontsize="10"];
+  node [fontname="FreeSans",fontsize="10",shape=record];
+  Node1 [label="ErrorHandling.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/Compiler.h",height=0.2,width=0.4,color="black",URL="$Compiler_8h.html"];
+  Node1 -> Node3 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node3 [label="llvm/ADT/StringRef.h",height=0.2,width=0.4,color="black",URL="$StringRef_8h.html"];
+  Node3 -> Node4 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node4 [label="llvm/Support/type_traits.h",height=0.2,width=0.4,color="black",URL="$type__traits_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="cstddef",height=0.2,width=0.4,color="grey75"];
+  Node4 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node11 [label="utility",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node12 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node12 [label="algorithm",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node13 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node13 [label="cassert",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node14 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node14 [label="cstring",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node15 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node15 [label="limits",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node16 [label="string",height=0.2,width=0.4,color="grey75"];
+  Node3 -> Node11 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+  Node1 -> Node16 [color="midnightblue",fontsize="10",style="solid",fontname="FreeSans"];
+}

Added: www-releases/trunk/3.2/docs/doxygen/html/ExecutionDepsFix_8cpp.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/ExecutionDepsFix_8cpp.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/ExecutionDepsFix_8cpp.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/ExecutionDepsFix_8cpp.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,94 @@
+<!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: ExecutionDepsFix.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_f2244d21cf8bec63d11bfc1ad661d96f.html">CodeGen</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Defines</a>  </div>
+  <div class="headertitle">
+<div class="title">ExecutionDepsFix.cpp File Reference</div>  </div>
+</div>
+<div class="contents">
+<div class="textblock"><code>#include "<a class="el" href="MachineFunctionPass_8h_source.html">llvm/CodeGen/MachineFunctionPass.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="CodeGen_2Passes_8h_source.html">llvm/CodeGen/Passes.h</a>"</code><br/>
+<code>#include "<a class="el" href="TargetInstrInfo_8h_source.html">llvm/Target/TargetInstrInfo.h</a>"</code><br/>
+<code>#include "<a class="el" href="Target_2TargetMachine_8h_source.html">llvm/Target/TargetMachine.h</a>"</code><br/>
+<code>#include "<a class="el" href="PostOrderIterator_8h_source.html">llvm/ADT/PostOrderIterator.h</a>"</code><br/>
+<code>#include "<a class="el" href="Allocator_8h_source.html">llvm/Support/Allocator.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="raw__ostream_8h_source.html">llvm/Support/raw_ostream.h</a>"</code><br/>
+</div><div class="textblock"><div class="dynheader">
+Include dependency graph for ExecutionDepsFix.cpp:</div>
+<div class="dyncontent">
+<div class="center"><img src="ExecutionDepsFix_8cpp__incl.png" border="0" usemap="#ExecutionDepsFix_8cpp" alt=""/></div>
+<!-- MAP 0 -->
+</div>
+</div>
+<p><a href="ExecutionDepsFix_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="ExecutionDepsFix_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">DEBUG_TYPE</a>   "execution-fix"</td></tr>
+</table>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ad78e062f62e0d6e453941fb4ca843e4d"></a><!-- doxytag: member="ExecutionDepsFix.cpp::DEBUG_TYPE" ref="ad78e062f62e0d6e453941fb4ca843e4d" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define DEBUG_TYPE   "execution-fix"</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Definition at line <a class="el" href="ExecutionDepsFix_8cpp_source.html#l00023">23</a> of file <a class="el" href="ExecutionDepsFix_8cpp_source.html">ExecutionDepsFix.cpp</a>.</p>
+
+</div>
+</div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:39:29 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/ExecutionDepsFix_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/ExecutionDepsFix_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/ExecutionDepsFix_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/ExecutionDepsFix_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,780 @@
+<!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: ExecutionDepsFix.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_f2244d21cf8bec63d11bfc1ad661d96f.html">CodeGen</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">ExecutionDepsFix.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="ExecutionDepsFix_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===- ExecutionDepsFix.cpp - Fix execution dependecy issues ----*- 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 contains the execution dependency fix pass.</span>
+<a name="l00011"></a>00011 <span class="comment">//</span>
+<a name="l00012"></a>00012 <span class="comment">// Some X86 SSE instructions like mov, and, or, xor are available in different</span>
+<a name="l00013"></a>00013 <span class="comment">// variants for different operand types. These variant instructions are</span>
+<a name="l00014"></a>00014 <span class="comment">// equivalent, but on Nehalem and newer cpus there is extra latency</span>
+<a name="l00015"></a>00015 <span class="comment">// transferring data between integer and floating point domains.  ARM cores</span>
+<a name="l00016"></a>00016 <span class="comment">// have similar issues when they are configured with both VFP and NEON</span>
+<a name="l00017"></a>00017 <span class="comment">// pipelines.</span>
+<a name="l00018"></a>00018 <span class="comment">//</span>
+<a name="l00019"></a>00019 <span class="comment">// This pass changes the variant instructions to minimize domain crossings.</span>
+<a name="l00020"></a>00020 <span class="comment">//</span>
+<a name="l00021"></a>00021 <span class="comment">//===----------------------------------------------------------------------===//</span>
+<a name="l00022"></a>00022 
+<a name="l00023"></a><a class="code" href="ExecutionDepsFix_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">00023</a> <span class="preprocessor">#define DEBUG_TYPE "execution-fix"</span>
+<a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="MachineFunctionPass_8h.html">llvm/CodeGen/MachineFunctionPass.h</a>"</span>
+<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="MachineRegisterInfo_8h.html">llvm/CodeGen/MachineRegisterInfo.h</a>"</span>
+<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="CodeGen_2Passes_8h.html">llvm/CodeGen/Passes.h</a>"</span>
+<a name="l00027"></a>00027 <span class="preprocessor">#include "<a class="code" href="TargetInstrInfo_8h.html">llvm/Target/TargetInstrInfo.h</a>"</span>
+<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="Target_2TargetMachine_8h.html">llvm/Target/TargetMachine.h</a>"</span>
+<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="PostOrderIterator_8h.html">llvm/ADT/PostOrderIterator.h</a>"</span>
+<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="Allocator_8h.html">llvm/Support/Allocator.h</a>"</span>
+<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="Debug_8h.html">llvm/Support/Debug.h</a>"</span>
+<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="raw__ostream_8h.html">llvm/Support/raw_ostream.h</a>"</span>
+<a name="l00033"></a>00033 <span class="keyword">using namespace </span>llvm;
+<a name="l00034"></a>00034 <span class="comment"></span>
+<a name="l00035"></a>00035 <span class="comment">/// A DomainValue is a bit like LiveIntervals' ValNo, but it also keeps track</span>
+<a name="l00036"></a>00036 <span class="comment">/// of execution domains.</span>
+<a name="l00037"></a>00037 <span class="comment">///</span>
+<a name="l00038"></a>00038 <span class="comment">/// An open DomainValue represents a set of instructions that can still switch</span>
+<a name="l00039"></a>00039 <span class="comment">/// execution domain. Multiple registers may refer to the same open</span>
+<a name="l00040"></a>00040 <span class="comment">/// DomainValue - they will eventually be collapsed to the same execution</span>
+<a name="l00041"></a>00041 <span class="comment">/// domain.</span>
+<a name="l00042"></a>00042 <span class="comment">///</span>
+<a name="l00043"></a>00043 <span class="comment">/// A collapsed DomainValue represents a single register that has been forced</span>
+<a name="l00044"></a>00044 <span class="comment">/// into one of more execution domains. There is a separate collapsed</span>
+<a name="l00045"></a>00045 <span class="comment">/// DomainValue for each register, but it may contain multiple execution</span>
+<a name="l00046"></a>00046 <span class="comment">/// domains. A register value is initially created in a single execution</span>
+<a name="l00047"></a>00047 <span class="comment">/// domain, but if we were forced to pay the penalty of a domain crossing, we</span>
+<a name="l00048"></a>00048 <span class="comment">/// keep track of the fact that the register is now available in multiple</span>
+<a name="l00049"></a>00049 <span class="comment">/// domains.</span>
+<a name="l00050"></a>00050 <span class="comment"></span><span class="keyword">namespace </span>{
+<a name="l00051"></a>00051 <span class="keyword">struct </span>DomainValue {
+<a name="l00052"></a>00052   <span class="comment">// Basic reference counting.</span>
+<a name="l00053"></a>00053   <span class="keywordtype">unsigned</span> Refs;
+<a name="l00054"></a>00054 
+<a name="l00055"></a>00055   <span class="comment">// Bitmask of available domains. For an open DomainValue, it is the still</span>
+<a name="l00056"></a>00056   <span class="comment">// possible domains for collapsing. For a collapsed DomainValue it is the</span>
+<a name="l00057"></a>00057   <span class="comment">// domains where the register is available for free.</span>
+<a name="l00058"></a>00058   <span class="keywordtype">unsigned</span> AvailableDomains;
+<a name="l00059"></a>00059 
+<a name="l00060"></a>00060   <span class="comment">// Pointer to the next DomainValue in a chain.  When two DomainValues are</span>
+<a name="l00061"></a>00061   <span class="comment">// merged, Victim.Next is set to point to Victor, so old DomainValue</span>
+<a name="l00062"></a>00062   <span class="comment">// references can be updated by following the chain.</span>
+<a name="l00063"></a>00063   DomainValue *Next;
+<a name="l00064"></a>00064 
+<a name="l00065"></a>00065   <span class="comment">// Twiddleable instructions using or defining these registers.</span>
+<a name="l00066"></a>00066   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<MachineInstr*, 8></a> Instrs;
+<a name="l00067"></a>00067 
+<a name="l00068"></a>00068   <span class="comment">// A collapsed DomainValue has no instructions to twiddle - it simply keeps</span>
+<a name="l00069"></a>00069   <span class="comment">// track of the domains where the registers are already available.</span>
+<a name="l00070"></a>00070   <span class="keywordtype">bool</span> isCollapsed()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> Instrs.<a class="code" href="classllvm_1_1SmallVectorBase.html#afdecfccba9b1fd8c9fd8eb27ae69e9a0">empty</a>(); }
+<a name="l00071"></a>00071 
+<a name="l00072"></a>00072   <span class="comment">// Is domain available?</span>
+<a name="l00073"></a>00073   <span class="keywordtype">bool</span> hasDomain(<span class="keywordtype">unsigned</span> domain)<span class="keyword"> const </span>{
+<a name="l00074"></a>00074     <span class="keywordflow">return</span> AvailableDomains & (1u << domain);
+<a name="l00075"></a>00075   }
+<a name="l00076"></a>00076 
+<a name="l00077"></a>00077   <span class="comment">// Mark domain as available.</span>
+<a name="l00078"></a>00078   <span class="keywordtype">void</span> addDomain(<span class="keywordtype">unsigned</span> domain) {
+<a name="l00079"></a>00079     AvailableDomains |= 1u << domain;
+<a name="l00080"></a>00080   }
+<a name="l00081"></a>00081 
+<a name="l00082"></a>00082   <span class="comment">// Restrict to a single domain available.</span>
+<a name="l00083"></a>00083   <span class="keywordtype">void</span> setSingleDomain(<span class="keywordtype">unsigned</span> domain) {
+<a name="l00084"></a>00084     AvailableDomains = 1u << domain;
+<a name="l00085"></a>00085   }
+<a name="l00086"></a>00086 
+<a name="l00087"></a>00087   <span class="comment">// Return bitmask of domains that are available and in mask.</span>
+<a name="l00088"></a>00088   <span class="keywordtype">unsigned</span> getCommonDomains(<span class="keywordtype">unsigned</span> mask)<span class="keyword"> const </span>{
+<a name="l00089"></a>00089     <span class="keywordflow">return</span> AvailableDomains & mask;
+<a name="l00090"></a>00090   }
+<a name="l00091"></a>00091 
+<a name="l00092"></a>00092   <span class="comment">// First domain available.</span>
+<a name="l00093"></a>00093   <span class="keywordtype">unsigned</span> getFirstDomain()<span class="keyword"> const </span>{
+<a name="l00094"></a>00094     <span class="keywordflow">return</span> <a class="code" href="namespacellvm.html#af3ee12f52558e4cc0bfc4a02ce5d3bc0">CountTrailingZeros_32</a>(AvailableDomains);
+<a name="l00095"></a>00095   }
+<a name="l00096"></a>00096 
+<a name="l00097"></a>00097   DomainValue() : Refs(0) { clear(); }
+<a name="l00098"></a>00098 
+<a name="l00099"></a>00099   <span class="comment">// Clear this DomainValue and point to next which has all its data.</span>
+<a name="l00100"></a>00100   <span class="keywordtype">void</span> clear() {
+<a name="l00101"></a>00101     AvailableDomains = 0;
+<a name="l00102"></a>00102     Next = 0;
+<a name="l00103"></a>00103     Instrs.clear();
+<a name="l00104"></a>00104   }
+<a name="l00105"></a>00105 };
+<a name="l00106"></a>00106 }
+<a name="l00107"></a>00107 
+<a name="l00108"></a>00108 <span class="keyword">namespace </span>{<span class="comment"></span>
+<a name="l00109"></a>00109 <span class="comment">/// LiveReg - Information about a live register.</span>
+<a name="l00110"></a>00110 <span class="comment"></span><span class="keyword">struct </span>LiveReg {<span class="comment"></span>
+<a name="l00111"></a>00111 <span class="comment">  /// Value currently in this register, or NULL when no value is being tracked.</span>
+<a name="l00112"></a>00112 <span class="comment">  /// This counts as a DomainValue reference.</span>
+<a name="l00113"></a>00113 <span class="comment"></span>  DomainValue *<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>;
+<a name="l00114"></a>00114 <span class="comment"></span>
+<a name="l00115"></a>00115 <span class="comment">  /// Instruction that defined this register, relative to the beginning of the</span>
+<a name="l00116"></a>00116 <span class="comment">  /// current basic block.  When a LiveReg is used to represent a live-out</span>
+<a name="l00117"></a>00117 <span class="comment">  /// register, this value is relative to the end of the basic block, so it</span>
+<a name="l00118"></a>00118 <span class="comment">  /// will be a negative number.</span>
+<a name="l00119"></a>00119 <span class="comment"></span>  <span class="keywordtype">int</span> <a class="code" href="namespacellvm_1_1tgtok.html#abbc5259d649363016626e2529fabe0c5aceb138f68fe183995736614928e3394a">Def</a>;
+<a name="l00120"></a>00120 };
+<a name="l00121"></a>00121 } <span class="comment">// anonynous namespace</span>
+<a name="l00122"></a>00122 
+<a name="l00123"></a>00123 <span class="keyword">namespace </span>{
+<a name="l00124"></a>00124 <span class="keyword">class </span>ExeDepsFix : <span class="keyword">public</span> <a class="code" href="classllvm_1_1MachineFunctionPass.html">MachineFunctionPass</a> {
+<a name="l00125"></a>00125   <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="l00126"></a>00126   <a class="code" href="classllvm_1_1SpecificBumpPtrAllocator.html">SpecificBumpPtrAllocator<DomainValue></a> Allocator;
+<a name="l00127"></a>00127   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<DomainValue*,16></a> Avail;
+<a name="l00128"></a>00128 
+<a name="l00129"></a>00129   <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a> *<span class="keyword">const</span> RC;
+<a name="l00130"></a>00130   <a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> *MF;
+<a name="l00131"></a>00131   <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetInstrInfo.html">TargetInstrInfo</a> *TII;
+<a name="l00132"></a>00132   <span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterInfo.html">TargetRegisterInfo</a> *TRI;
+<a name="l00133"></a>00133   std::vector<int> AliasMap;
+<a name="l00134"></a>00134   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> NumRegs;
+<a name="l00135"></a>00135   LiveReg *LiveRegs;
+<a name="l00136"></a>00136   <span class="keyword">typedef</span> <a class="code" href="classllvm_1_1DenseMap.html">DenseMap<MachineBasicBlock*, LiveReg*></a> LiveOutMap;
+<a name="l00137"></a>00137   LiveOutMap LiveOuts;
+<a name="l00138"></a>00138 <span class="comment"></span>
+<a name="l00139"></a>00139 <span class="comment">  /// Current instruction number.</span>
+<a name="l00140"></a>00140 <span class="comment">  /// The first instruction in each basic block is 0.</span>
+<a name="l00141"></a>00141 <span class="comment"></span>  <span class="keywordtype">int</span> CurInstr;
+<a name="l00142"></a>00142 <span class="comment"></span>
+<a name="l00143"></a>00143 <span class="comment">  /// True when the current block has a predecessor that hasn't been visited</span>
+<a name="l00144"></a>00144 <span class="comment">  /// yet.</span>
+<a name="l00145"></a>00145 <span class="comment"></span>  <span class="keywordtype">bool</span> SeenUnknownBackEdge;
+<a name="l00146"></a>00146 
+<a name="l00147"></a>00147 <span class="keyword">public</span>:
+<a name="l00148"></a>00148   ExeDepsFix(<span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a> *rc)
+<a name="l00149"></a>00149     : <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>), RC(rc), NumRegs(RC->getNumRegs()) {}
+<a name="l00150"></a>00150 
+<a name="l00151"></a>00151   <span class="keyword">virtual</span> <span class="keywordtype">void</span> getAnalysisUsage(<a class="code" href="classllvm_1_1AnalysisUsage.html">AnalysisUsage</a> &AU)<span class="keyword"> const </span>{
+<a name="l00152"></a>00152     AU.<a class="code" href="classllvm_1_1AnalysisUsage.html#af22b06a6a4f9df80454071685a0d6a02">setPreservesAll</a>();
+<a name="l00153"></a>00153     <a class="code" href="classllvm_1_1MachineFunctionPass.html#aa1eece37d175f86a6f4808c0c167f13b">MachineFunctionPass::getAnalysisUsage</a>(AU);
+<a name="l00154"></a>00154   }
+<a name="l00155"></a>00155 
+<a name="l00156"></a>00156   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> runOnMachineFunction(<a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &MF);
+<a name="l00157"></a>00157 
+<a name="l00158"></a>00158   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *getPassName()<span class="keyword"> const </span>{
+<a name="l00159"></a>00159     <span class="keywordflow">return</span> <span class="stringliteral">"Execution dependency fix"</span>;
+<a name="l00160"></a>00160   }
+<a name="l00161"></a>00161 
+<a name="l00162"></a>00162 <span class="keyword">private</span>:
+<a name="l00163"></a>00163   <span class="comment">// Register mapping.</span>
+<a name="l00164"></a>00164   <span class="keywordtype">int</span> regIndex(<span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a>);
+<a name="l00165"></a>00165 
+<a name="l00166"></a>00166   <span class="comment">// DomainValue allocation.</span>
+<a name="l00167"></a>00167   DomainValue *alloc(<span class="keywordtype">int</span> domain = -1);
+<a name="l00168"></a>00168   DomainValue *retain(DomainValue *DV) {
+<a name="l00169"></a>00169     <span class="keywordflow">if</span> (DV) ++DV->Refs;
+<a name="l00170"></a>00170     <span class="keywordflow">return</span> DV;
+<a name="l00171"></a>00171   }
+<a name="l00172"></a>00172   <span class="keywordtype">void</span> release(DomainValue*);
+<a name="l00173"></a>00173   DomainValue *resolve(DomainValue*&);
+<a name="l00174"></a>00174 
+<a name="l00175"></a>00175   <span class="comment">// LiveRegs manipulations.</span>
+<a name="l00176"></a>00176   <span class="keywordtype">void</span> setLiveReg(<span class="keywordtype">int</span> rx, DomainValue *DV);
+<a name="l00177"></a>00177   <span class="keywordtype">void</span> kill(<span class="keywordtype">int</span> rx);
+<a name="l00178"></a>00178   <span class="keywordtype">void</span> force(<span class="keywordtype">int</span> rx, <span class="keywordtype">unsigned</span> domain);
+<a name="l00179"></a>00179   <span class="keywordtype">void</span> collapse(DomainValue *dv, <span class="keywordtype">unsigned</span> domain);
+<a name="l00180"></a>00180   <span class="keywordtype">bool</span> merge(DomainValue *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11bad9577456b5bb7a03b7f42a710e122ab5">A</a>, DomainValue *B);
+<a name="l00181"></a>00181 
+<a name="l00182"></a>00182   <span class="keywordtype">void</span> enterBasicBlock(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a>*);
+<a name="l00183"></a>00183   <span class="keywordtype">void</span> leaveBasicBlock(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a>*);
+<a name="l00184"></a>00184   <span class="keywordtype">void</span> visitInstr(<a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a>*);
+<a name="l00185"></a>00185   <span class="keywordtype">void</span> processDefs(<a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a>*, <span class="keywordtype">bool</span> <a class="code" href="namespacellvm_1_1RegState.html#a079b254e749130fbe5d740f314ca92daa9ddde91ef09476d28a088fe57f8e2921">Kill</a>);
+<a name="l00186"></a>00186   <span class="keywordtype">void</span> visitSoftInstr(<a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a>*, <span class="keywordtype">unsigned</span> mask);
+<a name="l00187"></a>00187   <span class="keywordtype">void</span> visitHardInstr(<a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a>*, <span class="keywordtype">unsigned</span> domain);
+<a name="l00188"></a>00188 };
+<a name="l00189"></a>00189 }
+<a name="l00190"></a>00190 
+<a name="l00191"></a>00191 <span class="keywordtype">char</span> <a class="code" href="namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974" title="LLVM Calling Convention Representation.">ExeDepsFix::ID</a> = 0;
+<a name="l00192"></a>00192 <span class="comment"></span>
+<a name="l00193"></a>00193 <span class="comment">/// Translate TRI register number to an index into our smaller tables of</span>
+<a name="l00194"></a>00194 <span class="comment">/// interesting registers. Return -1 for boring registers.</span>
+<a name="l00195"></a>00195 <span class="comment"></span><span class="keywordtype">int</span> ExeDepsFix::regIndex(<span class="keywordtype">unsigned</span> <a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a>) {
+<a name="l00196"></a>00196   assert(Reg < AliasMap.size() && <span class="stringliteral">"Invalid register"</span>);
+<a name="l00197"></a>00197   <span class="keywordflow">return</span> AliasMap[<a class="code" href="X86DisassemblerDecoder_8h.html#a546839a5c4bcf9f9450967155f48de41">Reg</a>];
+<a name="l00198"></a>00198 }
+<a name="l00199"></a>00199 
+<a name="l00200"></a>00200 DomainValue *ExeDepsFix::alloc(<span class="keywordtype">int</span> domain) {
+<a name="l00201"></a>00201   DomainValue *dv = Avail.empty() ?
+<a name="l00202"></a>00202                       <span class="keyword">new</span>(Allocator.Allocate()) DomainValue :
+<a name="l00203"></a>00203                       Avail.pop_back_val();
+<a name="l00204"></a>00204   <span class="keywordflow">if</span> (domain >= 0)
+<a name="l00205"></a>00205     dv->addDomain(domain);
+<a name="l00206"></a>00206   assert(dv->Refs == 0 && <span class="stringliteral">"Reference count wasn't cleared"</span>);
+<a name="l00207"></a>00207   assert(!dv->Next && <span class="stringliteral">"Chained DomainValue shouldn't have been recycled"</span>);
+<a name="l00208"></a>00208   <span class="keywordflow">return</span> dv;
+<a name="l00209"></a>00209 }
+<a name="l00210"></a>00210 <span class="comment"></span>
+<a name="l00211"></a>00211 <span class="comment">/// release - Release a reference to DV.  When the last reference is released,</span>
+<a name="l00212"></a>00212 <span class="comment">/// collapse if needed.</span>
+<a name="l00213"></a>00213 <span class="comment"></span><span class="keywordtype">void</span> ExeDepsFix::release(DomainValue *DV) {
+<a name="l00214"></a>00214   <span class="keywordflow">while</span> (DV) {
+<a name="l00215"></a>00215     assert(DV->Refs && <span class="stringliteral">"Bad DomainValue"</span>);
+<a name="l00216"></a>00216     <span class="keywordflow">if</span> (--DV->Refs)
+<a name="l00217"></a>00217       <span class="keywordflow">return</span>;
+<a name="l00218"></a>00218 
+<a name="l00219"></a>00219     <span class="comment">// There are no more DV references. Collapse any contained instructions.</span>
+<a name="l00220"></a>00220     <span class="keywordflow">if</span> (DV->AvailableDomains && !DV->isCollapsed())
+<a name="l00221"></a>00221       collapse(DV, DV->getFirstDomain());
+<a name="l00222"></a>00222 
+<a name="l00223"></a>00223     DomainValue *Next = DV->Next;
+<a name="l00224"></a>00224     DV->clear();
+<a name="l00225"></a>00225     Avail.push_back(DV);
+<a name="l00226"></a>00226     <span class="comment">// Also release the next DomainValue in the chain.</span>
+<a name="l00227"></a>00227     DV = Next;
+<a name="l00228"></a>00228   }
+<a name="l00229"></a>00229 }
+<a name="l00230"></a>00230 <span class="comment"></span>
+<a name="l00231"></a>00231 <span class="comment">/// resolve - Follow the chain of dead DomainValues until a live DomainValue is</span>
+<a name="l00232"></a>00232 <span class="comment">/// reached.  Update the referenced pointer when necessary.</span>
+<a name="l00233"></a>00233 <span class="comment"></span>DomainValue *ExeDepsFix::resolve(DomainValue *&DVRef) {
+<a name="l00234"></a>00234   DomainValue *DV = DVRef;
+<a name="l00235"></a>00235   <span class="keywordflow">if</span> (!DV || !DV->Next)
+<a name="l00236"></a>00236     <span class="keywordflow">return</span> DV;
+<a name="l00237"></a>00237 
+<a name="l00238"></a>00238   <span class="comment">// DV has a chain. Find the end.</span>
+<a name="l00239"></a>00239   <span class="keywordflow">do</span> DV = DV->Next;
+<a name="l00240"></a>00240   <span class="keywordflow">while</span> (DV->Next);
+<a name="l00241"></a>00241 
+<a name="l00242"></a>00242   <span class="comment">// Update DVRef to point to DV.</span>
+<a name="l00243"></a>00243   retain(DV);
+<a name="l00244"></a>00244   release(DVRef);
+<a name="l00245"></a>00245   DVRef = DV;
+<a name="l00246"></a>00246   <span class="keywordflow">return</span> DV;
+<a name="l00247"></a>00247 }
+<a name="l00248"></a>00248 <span class="comment"></span>
+<a name="l00249"></a>00249 <span class="comment">/// Set LiveRegs[rx] = dv, updating reference counts.</span>
+<a name="l00250"></a>00250 <span class="comment"></span><span class="keywordtype">void</span> ExeDepsFix::setLiveReg(<span class="keywordtype">int</span> rx, DomainValue *dv) {
+<a name="l00251"></a>00251   assert(<span class="keywordtype">unsigned</span>(rx) < NumRegs && <span class="stringliteral">"Invalid index"</span>);
+<a name="l00252"></a>00252   assert(LiveRegs && <span class="stringliteral">"Must enter basic block first."</span>);
+<a name="l00253"></a>00253 
+<a name="l00254"></a>00254   <span class="keywordflow">if</span> (LiveRegs[rx].<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a> == dv)
+<a name="l00255"></a>00255     <span class="keywordflow">return</span>;
+<a name="l00256"></a>00256   <span class="keywordflow">if</span> (LiveRegs[rx].<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>)
+<a name="l00257"></a>00257     release(LiveRegs[rx].Value);
+<a name="l00258"></a>00258   LiveRegs[rx].Value = retain(dv);
+<a name="l00259"></a>00259 }
+<a name="l00260"></a>00260 
+<a name="l00261"></a>00261 <span class="comment">// Kill register rx, recycle or collapse any DomainValue.</span>
+<a name="l00262"></a>00262 <span class="keywordtype">void</span> ExeDepsFix::kill(<span class="keywordtype">int</span> rx) {
+<a name="l00263"></a>00263   assert(<span class="keywordtype">unsigned</span>(rx) < NumRegs && <span class="stringliteral">"Invalid index"</span>);
+<a name="l00264"></a>00264   assert(LiveRegs && <span class="stringliteral">"Must enter basic block first."</span>);
+<a name="l00265"></a>00265   <span class="keywordflow">if</span> (!LiveRegs[rx].<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>)
+<a name="l00266"></a>00266     <span class="keywordflow">return</span>;
+<a name="l00267"></a>00267 
+<a name="l00268"></a>00268   release(LiveRegs[rx].Value);
+<a name="l00269"></a>00269   LiveRegs[rx].Value = 0;
+<a name="l00270"></a>00270 }
+<a name="l00271"></a>00271 <span class="comment"></span>
+<a name="l00272"></a>00272 <span class="comment">/// Force register rx into domain.</span>
+<a name="l00273"></a>00273 <span class="comment"></span><span class="keywordtype">void</span> ExeDepsFix::force(<span class="keywordtype">int</span> rx, <span class="keywordtype">unsigned</span> domain) {
+<a name="l00274"></a>00274   assert(<span class="keywordtype">unsigned</span>(rx) < NumRegs && <span class="stringliteral">"Invalid index"</span>);
+<a name="l00275"></a>00275   assert(LiveRegs && <span class="stringliteral">"Must enter basic block first."</span>);
+<a name="l00276"></a>00276   <span class="keywordflow">if</span> (DomainValue *dv = LiveRegs[rx].<a class="code" href="classllvm_1_1Value.html" title="LLVM Value Representation.">Value</a>) {
+<a name="l00277"></a>00277     <span class="keywordflow">if</span> (dv->isCollapsed())
+<a name="l00278"></a>00278       dv->addDomain(domain);
+<a name="l00279"></a>00279     <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dv->hasDomain(domain))
+<a name="l00280"></a>00280       collapse(dv, domain);
+<a name="l00281"></a>00281     <span class="keywordflow">else</span> {
+<a name="l00282"></a>00282       <span class="comment">// This is an incompatible open DomainValue. Collapse it to whatever and</span>
+<a name="l00283"></a>00283       <span class="comment">// force the new value into domain. This costs a domain crossing.</span>
+<a name="l00284"></a>00284       collapse(dv, dv->getFirstDomain());
+<a name="l00285"></a>00285       assert(LiveRegs[rx].Value && <span class="stringliteral">"Not live after collapse?"</span>);
+<a name="l00286"></a>00286       LiveRegs[rx].Value->addDomain(domain);
+<a name="l00287"></a>00287     }
+<a name="l00288"></a>00288   } <span class="keywordflow">else</span> {
+<a name="l00289"></a>00289     <span class="comment">// Set up basic collapsed DomainValue.</span>
+<a name="l00290"></a>00290     setLiveReg(rx, alloc(domain));
+<a name="l00291"></a>00291   }
+<a name="l00292"></a>00292 }
+<a name="l00293"></a>00293 <span class="comment"></span>
+<a name="l00294"></a>00294 <span class="comment">/// Collapse open DomainValue into given domain. If there are multiple</span>
+<a name="l00295"></a>00295 <span class="comment">/// registers using dv, they each get a unique collapsed DomainValue.</span>
+<a name="l00296"></a>00296 <span class="comment"></span><span class="keywordtype">void</span> ExeDepsFix::collapse(DomainValue *dv, <span class="keywordtype">unsigned</span> domain) {
+<a name="l00297"></a>00297   assert(dv->hasDomain(domain) && <span class="stringliteral">"Cannot collapse"</span>);
+<a name="l00298"></a>00298 
+<a name="l00299"></a>00299   <span class="comment">// Collapse all the instructions.</span>
+<a name="l00300"></a>00300   <span class="keywordflow">while</span> (!dv->Instrs.empty())
+<a name="l00301"></a>00301     TII->setExecutionDomain(dv->Instrs.pop_back_val(), domain);
+<a name="l00302"></a>00302   dv->setSingleDomain(domain);
+<a name="l00303"></a>00303 
+<a name="l00304"></a>00304   <span class="comment">// If there are multiple users, give them new, unique DomainValues.</span>
+<a name="l00305"></a>00305   <span class="keywordflow">if</span> (LiveRegs && dv->Refs > 1)
+<a name="l00306"></a>00306     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> rx = 0; rx != NumRegs; ++rx)
+<a name="l00307"></a>00307       <span class="keywordflow">if</span> (LiveRegs[rx].Value == dv)
+<a name="l00308"></a>00308         setLiveReg(rx, alloc(domain));
+<a name="l00309"></a>00309 }
+<a name="l00310"></a>00310 <span class="comment"></span>
+<a name="l00311"></a>00311 <span class="comment">/// Merge - All instructions and registers in B are moved to A, and B is</span>
+<a name="l00312"></a>00312 <span class="comment">/// released.</span>
+<a name="l00313"></a>00313 <span class="comment"></span><span class="keywordtype">bool</span> ExeDepsFix::merge(DomainValue *<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11bad9577456b5bb7a03b7f42a710e122ab5">A</a>, DomainValue *B) {
+<a name="l00314"></a>00314   assert(!A->isCollapsed() && <span class="stringliteral">"Cannot merge into collapsed"</span>);
+<a name="l00315"></a>00315   assert(!B->isCollapsed() && <span class="stringliteral">"Cannot merge from collapsed"</span>);
+<a name="l00316"></a>00316   <span class="keywordflow">if</span> (A == B)
+<a name="l00317"></a>00317     <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00318"></a>00318   <span class="comment">// Restrict to the domains that A and B have in common.</span>
+<a name="l00319"></a>00319   <span class="keywordtype">unsigned</span> common = A->getCommonDomains(B->AvailableDomains);
+<a name="l00320"></a>00320   <span class="keywordflow">if</span> (!common)
+<a name="l00321"></a>00321     <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00322"></a>00322   A->AvailableDomains = common;
+<a name="l00323"></a>00323   A->Instrs.append(B->Instrs.begin(), B->Instrs.end());
+<a name="l00324"></a>00324 
+<a name="l00325"></a>00325   <span class="comment">// Clear the old DomainValue so we won't try to swizzle instructions twice.</span>
+<a name="l00326"></a>00326   B->clear();
+<a name="l00327"></a>00327   <span class="comment">// All uses of B are referred to A.</span>
+<a name="l00328"></a>00328   B->Next = retain(A);
+<a name="l00329"></a>00329 
+<a name="l00330"></a>00330   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> rx = 0; rx != NumRegs; ++rx)
+<a name="l00331"></a>00331     <span class="keywordflow">if</span> (LiveRegs[rx].Value == B)
+<a name="l00332"></a>00332       setLiveReg(rx, A);
+<a name="l00333"></a>00333   <span class="keywordflow">return</span> <span class="keyword">true</span>;
+<a name="l00334"></a>00334 }
+<a name="l00335"></a>00335 
+<a name="l00336"></a>00336 <span class="comment">// enterBasicBlock - Set up LiveRegs by merging predecessor live-out values.</span>
+<a name="l00337"></a>00337 <span class="keywordtype">void</span> ExeDepsFix::enterBasicBlock(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> *MBB) {
+<a name="l00338"></a>00338   <span class="comment">// Detect back-edges from predecessors we haven't processed yet.</span>
+<a name="l00339"></a>00339   SeenUnknownBackEdge = <span class="keyword">false</span>;
+<a name="l00340"></a>00340 
+<a name="l00341"></a>00341   <span class="comment">// Reset instruction counter in each basic block.</span>
+<a name="l00342"></a>00342   CurInstr = 0;
+<a name="l00343"></a>00343 
+<a name="l00344"></a>00344   <span class="comment">// Set up LiveRegs to represent registers entering MBB.</span>
+<a name="l00345"></a>00345   <span class="keywordflow">if</span> (!LiveRegs)
+<a name="l00346"></a>00346     LiveRegs = <span class="keyword">new</span> LiveReg[NumRegs];
+<a name="l00347"></a>00347 
+<a name="l00348"></a>00348   <span class="comment">// Default values are 'nothing happened a long time ago'.</span>
+<a name="l00349"></a>00349   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> rx = 0; rx != NumRegs; ++rx) {
+<a name="l00350"></a>00350     LiveRegs[rx].Value = 0;
+<a name="l00351"></a>00351     LiveRegs[rx].Def = -(1 << 20);
+<a name="l00352"></a>00352   }
+<a name="l00353"></a>00353 
+<a name="l00354"></a>00354   <span class="comment">// This is the entry block.</span>
+<a name="l00355"></a>00355   <span class="keywordflow">if</span> (MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#ae1612b06274368fe13b574cbd9c4f768">pred_empty</a>()) {
+<a name="l00356"></a>00356     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1MachineBasicBlock.html#a7bab64c02d740522f94f5f45959a22fc">MachineBasicBlock::livein_iterator</a> i = MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#a6833d4f80b7e44f505b2184b04ea2693">livein_begin</a>(),
+<a name="l00357"></a>00357          e = MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#aa314325c7062fd067a3c0b9339aa8ea6">livein_end</a>(); i != e; ++i) {
+<a name="l00358"></a>00358       <span class="keywordtype">int</span> rx = regIndex(*i);
+<a name="l00359"></a>00359       <span class="keywordflow">if</span> (rx < 0)
+<a name="l00360"></a>00360         <span class="keywordflow">continue</span>;
+<a name="l00361"></a>00361       <span class="comment">// Treat function live-ins as if they were defined just before the first</span>
+<a name="l00362"></a>00362       <span class="comment">// instruction.  Usually, function arguments are set up immediately</span>
+<a name="l00363"></a>00363       <span class="comment">// before the call.</span>
+<a name="l00364"></a>00364       LiveRegs[rx].Def = -1;
+<a name="l00365"></a>00365     }
+<a name="l00366"></a>00366     <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"BB#"</span> << MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#a6acda287e5c19ffb173b0bf8f1dd9c5e">getNumber</a>() << <span class="stringliteral">": entry\n"</span>);
+<a name="l00367"></a>00367     <span class="keywordflow">return</span>;
+<a name="l00368"></a>00368   }
+<a name="l00369"></a>00369 
+<a name="l00370"></a>00370   <span class="comment">// Try to coalesce live-out registers from predecessors.</span>
+<a name="l00371"></a>00371   <span class="keywordflow">for</span> (<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>(),
+<a name="l00372"></a>00372        pe = MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#a0359a738e0412c5a7ea55d61175e0661">pred_end</a>(); pi != pe; ++pi) {
+<a name="l00373"></a>00373     LiveOutMap::const_iterator fi = LiveOuts.find(*pi);
+<a name="l00374"></a>00374     <span class="keywordflow">if</span> (fi == LiveOuts.end()) {
+<a name="l00375"></a>00375       SeenUnknownBackEdge = <span class="keyword">true</span>;
+<a name="l00376"></a>00376       <span class="keywordflow">continue</span>;
+<a name="l00377"></a>00377     }
+<a name="l00378"></a>00378     assert(fi->second && <span class="stringliteral">"Can't have NULL entries"</span>);
+<a name="l00379"></a>00379 
+<a name="l00380"></a>00380     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> rx = 0; rx != NumRegs; ++rx) {
+<a name="l00381"></a>00381       <span class="comment">// Use the most recent predecessor def for each register.</span>
+<a name="l00382"></a>00382       LiveRegs[rx].Def = std::max(LiveRegs[rx].<a class="code" href="namespacellvm_1_1tgtok.html#abbc5259d649363016626e2529fabe0c5aceb138f68fe183995736614928e3394a">Def</a>, fi->second[rx].Def);
+<a name="l00383"></a>00383 
+<a name="l00384"></a>00384       DomainValue *pdv = resolve(fi->second[rx].Value);
+<a name="l00385"></a>00385       <span class="keywordflow">if</span> (!pdv)
+<a name="l00386"></a>00386         <span class="keywordflow">continue</span>;
+<a name="l00387"></a>00387       <span class="keywordflow">if</span> (!LiveRegs[rx].Value) {
+<a name="l00388"></a>00388         setLiveReg(rx, pdv);
+<a name="l00389"></a>00389         <span class="keywordflow">continue</span>;
+<a name="l00390"></a>00390       }
+<a name="l00391"></a>00391 
+<a name="l00392"></a>00392       <span class="comment">// We have a live DomainValue from more than one predecessor.</span>
+<a name="l00393"></a>00393       <span class="keywordflow">if</span> (LiveRegs[rx].Value->isCollapsed()) {
+<a name="l00394"></a>00394         <span class="comment">// We are already collapsed, but predecessor is not. Force him.</span>
+<a name="l00395"></a>00395         <span class="keywordtype">unsigned</span> Domain = LiveRegs[rx].Value->getFirstDomain();
+<a name="l00396"></a>00396         <span class="keywordflow">if</span> (!pdv->isCollapsed() && pdv->hasDomain(Domain))
+<a name="l00397"></a>00397           collapse(pdv, Domain);
+<a name="l00398"></a>00398         <span class="keywordflow">continue</span>;
+<a name="l00399"></a>00399       }
+<a name="l00400"></a>00400 
+<a name="l00401"></a>00401       <span class="comment">// Currently open, merge in predecessor.</span>
+<a name="l00402"></a>00402       <span class="keywordflow">if</span> (!pdv->isCollapsed())
+<a name="l00403"></a>00403         merge(LiveRegs[rx].Value, pdv);
+<a name="l00404"></a>00404       <span class="keywordflow">else</span>
+<a name="l00405"></a>00405         force(rx, pdv->getFirstDomain());
+<a name="l00406"></a>00406     }
+<a name="l00407"></a>00407   }
+<a name="l00408"></a>00408   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"BB#"</span> << MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#a6acda287e5c19ffb173b0bf8f1dd9c5e">getNumber</a>()
+<a name="l00409"></a>00409         << (SeenUnknownBackEdge ? <span class="stringliteral">": incomplete\n"</span> : <span class="stringliteral">": all preds known\n"</span>));
+<a name="l00410"></a>00410 }
+<a name="l00411"></a>00411 
+<a name="l00412"></a>00412 <span class="keywordtype">void</span> ExeDepsFix::leaveBasicBlock(<a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> *MBB) {
+<a name="l00413"></a>00413   assert(LiveRegs && <span class="stringliteral">"Must enter basic block first."</span>);
+<a name="l00414"></a>00414   <span class="comment">// Save live registers at end of MBB - used by enterBasicBlock().</span>
+<a name="l00415"></a>00415   <span class="comment">// Also use LiveOuts as a visited set to detect back-edges.</span>
+<a name="l00416"></a>00416   <span class="keywordtype">bool</span> First = LiveOuts.insert(std::make_pair(MBB, LiveRegs)).second;
+<a name="l00417"></a>00417 
+<a name="l00418"></a>00418   <span class="keywordflow">if</span> (First) {
+<a name="l00419"></a>00419     <span class="comment">// LiveRegs was inserted in LiveOuts.  Adjust all defs to be relative to</span>
+<a name="l00420"></a>00420     <span class="comment">// the end of this block instead of the beginning.</span>
+<a name="l00421"></a>00421     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = NumRegs; i != e; ++i)
+<a name="l00422"></a>00422       LiveRegs[i].<a class="code" href="namespacellvm_1_1tgtok.html#abbc5259d649363016626e2529fabe0c5aceb138f68fe183995736614928e3394a">Def</a> -= CurInstr;
+<a name="l00423"></a>00423   } <span class="keywordflow">else</span> {
+<a name="l00424"></a>00424     <span class="comment">// Insertion failed, this must be the second pass.</span>
+<a name="l00425"></a>00425     <span class="comment">// Release all the DomainValues instead of keeping them.</span>
+<a name="l00426"></a>00426     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = NumRegs; i != e; ++i)
+<a name="l00427"></a>00427       release(LiveRegs[i].Value);
+<a name="l00428"></a>00428     <span class="keyword">delete</span>[] LiveRegs;
+<a name="l00429"></a>00429   }
+<a name="l00430"></a>00430   LiveRegs = 0;
+<a name="l00431"></a>00431 }
+<a name="l00432"></a>00432 
+<a name="l00433"></a>00433 <span class="keywordtype">void</span> ExeDepsFix::visitInstr(<a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *<a class="code" href="namespacellvm_1_1ARMCC.html#ac8391dd6b8083baa870dee5142ff22b6af6284b830f5e4fe2a8ddb9ff1a25ee46">MI</a>) {
+<a name="l00434"></a>00434   <span class="keywordflow">if</span> (MI-><a class="code" href="classllvm_1_1MachineInstr.html#a1e1d26226c627cf3dcf3c191b85e7d7d">isDebugValue</a>())
+<a name="l00435"></a>00435     <span class="keywordflow">return</span>;
+<a name="l00436"></a>00436 
+<a name="l00437"></a>00437   <span class="comment">// Update instructions with explicit execution domains.</span>
+<a name="l00438"></a>00438   std::pair<uint16_t, uint16_t> DomP = TII->getExecutionDomain(MI);
+<a name="l00439"></a>00439   <span class="keywordflow">if</span> (DomP.first) {
+<a name="l00440"></a>00440     <span class="keywordflow">if</span> (DomP.second)
+<a name="l00441"></a>00441       visitSoftInstr(MI, DomP.second);
+<a name="l00442"></a>00442     <span class="keywordflow">else</span>
+<a name="l00443"></a>00443       visitHardInstr(MI, DomP.first);
+<a name="l00444"></a>00444   }
+<a name="l00445"></a>00445 
+<a name="l00446"></a>00446   <span class="comment">// Process defs to track register ages, and kill values clobbered by generic</span>
+<a name="l00447"></a>00447   <span class="comment">// instructions.</span>
+<a name="l00448"></a>00448   processDefs(MI, !DomP.first);
+<a name="l00449"></a>00449 }
+<a name="l00450"></a>00450 
+<a name="l00451"></a>00451 <span class="comment">// Update def-ages for registers defined by MI.</span>
+<a name="l00452"></a>00452 <span class="comment">// If Kill is set, also kill off DomainValues clobbered by the defs.</span>
+<a name="l00453"></a>00453 <span class="keywordtype">void</span> ExeDepsFix::processDefs(<a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *MI, <span class="keywordtype">bool</span> <a class="code" href="namespacellvm_1_1RegState.html#a079b254e749130fbe5d740f314ca92daa9ddde91ef09476d28a088fe57f8e2921">Kill</a>) {
+<a name="l00454"></a>00454   assert(!MI-><a class="code" href="classllvm_1_1MachineInstr.html#a1e1d26226c627cf3dcf3c191b85e7d7d">isDebugValue</a>() && <span class="stringliteral">"Won't process debug values"</span>);
+<a name="l00455"></a>00455   <span class="keyword">const</span> <a class="code" href="classllvm_1_1MCInstrDesc.html">MCInstrDesc</a> &MCID = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a803a7424877fd049679b9aa2f07597b5">getDesc</a>();
+<a name="l00456"></a>00456   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0,
+<a name="l00457"></a>00457          e = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a6223324306ef111aa9cdfc705365fe7c">isVariadic</a>() ? MI-><a class="code" href="classllvm_1_1MachineInstr.html#a7b5fe96d88954efc855e6c466207e535">getNumOperands</a>() : MCID.getNumDefs();
+<a name="l00458"></a>00458          i != e; ++i) {
+<a name="l00459"></a>00459     <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &MO = MI-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(i);
+<a name="l00460"></a>00460     <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="l00461"></a>00461       <span class="keywordflow">continue</span>;
+<a name="l00462"></a>00462     <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a40a5d6e03f5bfd15839355a7c39ab3a0">isImplicit</a>())
+<a name="l00463"></a>00463       <span class="keywordflow">break</span>;
+<a name="l00464"></a>00464     <span class="keywordflow">if</span> (MO.<a class="code" href="classllvm_1_1MachineOperand.html#a57bf9ee7219097ff0f98da23a3b3b782">isUse</a>())
+<a name="l00465"></a>00465       <span class="keywordflow">continue</span>;
+<a name="l00466"></a>00466     <span class="keywordtype">int</span> rx = regIndex(MO.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>());
+<a name="l00467"></a>00467     <span class="keywordflow">if</span> (rx < 0)
+<a name="l00468"></a>00468       <span class="keywordflow">continue</span>;
+<a name="l00469"></a>00469 
+<a name="l00470"></a>00470     <span class="comment">// This instruction explicitly defines rx.</span>
+<a name="l00471"></a>00471     <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << TRI->getName(RC->getRegister(rx)) << <span class="stringliteral">":\t"</span> << CurInstr
+<a name="l00472"></a>00472                  << <span class="charliteral">'\t'</span> << *MI);
+<a name="l00473"></a>00473 
+<a name="l00474"></a>00474     <span class="comment">// How many instructions since rx was last written?</span>
+<a name="l00475"></a>00475     <span class="keywordtype">unsigned</span> Clearance = CurInstr - LiveRegs[rx].Def;
+<a name="l00476"></a>00476     LiveRegs[rx].Def = CurInstr;
+<a name="l00477"></a>00477 
+<a name="l00478"></a>00478     <span class="comment">// Kill off domains redefined by generic instructions.</span>
+<a name="l00479"></a>00479     <span class="keywordflow">if</span> (Kill)
+<a name="l00480"></a>00480       kill(rx);
+<a name="l00481"></a>00481 
+<a name="l00482"></a>00482     <span class="comment">// Verify clearance before partial register updates.</span>
+<a name="l00483"></a>00483     <span class="keywordtype">unsigned</span> Pref = TII->getPartialRegUpdateClearance(MI, i, TRI);
+<a name="l00484"></a>00484     <span class="keywordflow">if</span> (!Pref)
+<a name="l00485"></a>00485       <span class="keywordflow">continue</span>;
+<a name="l00486"></a>00486     <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"Clearance: "</span> << Clearance << <span class="stringliteral">", want "</span> << Pref);
+<a name="l00487"></a>00487     <span class="keywordflow">if</span> (Pref > Clearance) {
+<a name="l00488"></a>00488       <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">": Break dependency.\n"</span>);
+<a name="l00489"></a>00489       TII->breakPartialRegDependency(MI, i, TRI);
+<a name="l00490"></a>00490       <span class="keywordflow">continue</span>;
+<a name="l00491"></a>00491     }
+<a name="l00492"></a>00492 
+<a name="l00493"></a>00493     <span class="comment">// The current clearance seems OK, but we may be ignoring a def from a</span>
+<a name="l00494"></a>00494     <span class="comment">// back-edge.</span>
+<a name="l00495"></a>00495     <span class="keywordflow">if</span> (!SeenUnknownBackEdge || Pref <= <span class="keywordtype">unsigned</span>(CurInstr)) {
+<a name="l00496"></a>00496       <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">": OK.\n"</span>);
+<a name="l00497"></a>00497       <span class="keywordflow">continue</span>;
+<a name="l00498"></a>00498     }
+<a name="l00499"></a>00499 
+<a name="l00500"></a>00500     <span class="comment">// A def from an unprocessed back-edge may make us break this dependency.</span>
+<a name="l00501"></a>00501     <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">": Wait for back-edge to resolve.\n"</span>);
+<a name="l00502"></a>00502   }
+<a name="l00503"></a>00503 
+<a name="l00504"></a>00504   ++CurInstr;
+<a name="l00505"></a>00505 }
+<a name="l00506"></a>00506 
+<a name="l00507"></a>00507 <span class="comment">// A hard instruction only works in one domain. All input registers will be</span>
+<a name="l00508"></a>00508 <span class="comment">// forced into that domain.</span>
+<a name="l00509"></a>00509 <span class="keywordtype">void</span> ExeDepsFix::visitHardInstr(<a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *mi, <span class="keywordtype">unsigned</span> domain) {
+<a name="l00510"></a>00510   <span class="comment">// Collapse all uses.</span>
+<a name="l00511"></a>00511   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a803a7424877fd049679b9aa2f07597b5">getDesc</a>().<a class="code" href="classllvm_1_1MCInstrDesc.html#a9d472a8ee447cef18a71beb229d4d252">getNumDefs</a>(),
+<a name="l00512"></a>00512                 e = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a803a7424877fd049679b9aa2f07597b5">getDesc</a>().<a class="code" href="classllvm_1_1MCInstrDesc.html#a55194ec3a1e49d04eab64e993e614246">getNumOperands</a>(); i != e; ++i) {
+<a name="l00513"></a>00513     <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &mo = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(i);
+<a name="l00514"></a>00514     <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>()) <span class="keywordflow">continue</span>;
+<a name="l00515"></a>00515     <span class="keywordtype">int</span> rx = regIndex(mo.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>());
+<a name="l00516"></a>00516     <span class="keywordflow">if</span> (rx < 0) <span class="keywordflow">continue</span>;
+<a name="l00517"></a>00517     force(rx, domain);
+<a name="l00518"></a>00518   }
+<a name="l00519"></a>00519 
+<a name="l00520"></a>00520   <span class="comment">// Kill all defs and force them.</span>
+<a name="l00521"></a>00521   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a803a7424877fd049679b9aa2f07597b5">getDesc</a>().<a class="code" href="classllvm_1_1MCInstrDesc.html#a9d472a8ee447cef18a71beb229d4d252">getNumDefs</a>(); i != e; ++i) {
+<a name="l00522"></a>00522     <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &mo = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(i);
+<a name="l00523"></a>00523     <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>()) <span class="keywordflow">continue</span>;
+<a name="l00524"></a>00524     <span class="keywordtype">int</span> rx = regIndex(mo.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>());
+<a name="l00525"></a>00525     <span class="keywordflow">if</span> (rx < 0) <span class="keywordflow">continue</span>;
+<a name="l00526"></a>00526     kill(rx);
+<a name="l00527"></a>00527     force(rx, domain);
+<a name="l00528"></a>00528   }
+<a name="l00529"></a>00529 }
+<a name="l00530"></a>00530 
+<a name="l00531"></a>00531 <span class="comment">// A soft instruction can be changed to work in other domains given by mask.</span>
+<a name="l00532"></a>00532 <span class="keywordtype">void</span> ExeDepsFix::visitSoftInstr(<a class="code" href="classllvm_1_1MachineInstr.html">MachineInstr</a> *mi, <span class="keywordtype">unsigned</span> mask) {
+<a name="l00533"></a>00533   <span class="comment">// Bitmask of available domains for this instruction after taking collapsed</span>
+<a name="l00534"></a>00534   <span class="comment">// operands into account.</span>
+<a name="l00535"></a>00535   <span class="keywordtype">unsigned</span> available = mask;
+<a name="l00536"></a>00536 
+<a name="l00537"></a>00537   <span class="comment">// Scan the explicit use operands for incoming domains.</span>
+<a name="l00538"></a>00538   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<int, 4></a> used;
+<a name="l00539"></a>00539   <span class="keywordflow">if</span> (LiveRegs)
+<a name="l00540"></a>00540     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a803a7424877fd049679b9aa2f07597b5">getDesc</a>().<a class="code" href="classllvm_1_1MCInstrDesc.html#a9d472a8ee447cef18a71beb229d4d252">getNumDefs</a>(),
+<a name="l00541"></a>00541                   e = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a803a7424877fd049679b9aa2f07597b5">getDesc</a>().<a class="code" href="classllvm_1_1MCInstrDesc.html#a55194ec3a1e49d04eab64e993e614246">getNumOperands</a>(); i != e; ++i) {
+<a name="l00542"></a>00542       <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &mo = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a302e45878c6dc1714334c7ce96d56846">getOperand</a>(i);
+<a name="l00543"></a>00543       <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>()) <span class="keywordflow">continue</span>;
+<a name="l00544"></a>00544       <span class="keywordtype">int</span> rx = regIndex(mo.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>());
+<a name="l00545"></a>00545       <span class="keywordflow">if</span> (rx < 0) <span class="keywordflow">continue</span>;
+<a name="l00546"></a>00546       <span class="keywordflow">if</span> (DomainValue *dv = LiveRegs[rx].Value) {
+<a name="l00547"></a>00547         <span class="comment">// Bitmask of domains that dv and available have in common.</span>
+<a name="l00548"></a>00548         <span class="keywordtype">unsigned</span> common = dv->getCommonDomains(available);
+<a name="l00549"></a>00549         <span class="comment">// Is it possible to use this collapsed register for free?</span>
+<a name="l00550"></a>00550         <span class="keywordflow">if</span> (dv->isCollapsed()) {
+<a name="l00551"></a>00551           <span class="comment">// Restrict available domains to the ones in common with the operand.</span>
+<a name="l00552"></a>00552           <span class="comment">// If there are no common domains, we must pay the cross-domain </span>
+<a name="l00553"></a>00553           <span class="comment">// penalty for this operand.</span>
+<a name="l00554"></a>00554           <span class="keywordflow">if</span> (common) available = common;
+<a name="l00555"></a>00555         } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (common)
+<a name="l00556"></a>00556           <span class="comment">// Open DomainValue is compatible, save it for merging.</span>
+<a name="l00557"></a>00557           used.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(rx);
+<a name="l00558"></a>00558         <span class="keywordflow">else</span>
+<a name="l00559"></a>00559           <span class="comment">// Open DomainValue is not compatible with instruction. It is useless</span>
+<a name="l00560"></a>00560           <span class="comment">// now.</span>
+<a name="l00561"></a>00561           kill(rx);
+<a name="l00562"></a>00562       }
+<a name="l00563"></a>00563     }
+<a name="l00564"></a>00564 
+<a name="l00565"></a>00565   <span class="comment">// If the collapsed operands force a single domain, propagate the collapse.</span>
+<a name="l00566"></a>00566   <span class="keywordflow">if</span> (<a class="code" href="namespacellvm.html#af4d1a918800291e75b01ce1447be0e83">isPowerOf2_32</a>(available)) {
+<a name="l00567"></a>00567     <span class="keywordtype">unsigned</span> domain = <a class="code" href="namespacellvm.html#af3ee12f52558e4cc0bfc4a02ce5d3bc0">CountTrailingZeros_32</a>(available);
+<a name="l00568"></a>00568     TII->setExecutionDomain(mi, domain);
+<a name="l00569"></a>00569     visitHardInstr(mi, domain);
+<a name="l00570"></a>00570     <span class="keywordflow">return</span>;
+<a name="l00571"></a>00571   }
+<a name="l00572"></a>00572 
+<a name="l00573"></a>00573   <span class="comment">// Kill off any remaining uses that don't match available, and build a list of</span>
+<a name="l00574"></a>00574   <span class="comment">// incoming DomainValues that we want to merge.</span>
+<a name="l00575"></a>00575   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<LiveReg, 4></a> Regs;
+<a name="l00576"></a>00576   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVector.html">SmallVector<int, 4>::iterator</a> i=used.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a8a045d250952c0867382a9840ee18fdf">begin</a>(), e=used.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a075e34e98605d0e7c289763a104869ac">end</a>(); i!=e; ++i) {
+<a name="l00577"></a>00577     <span class="keywordtype">int</span> rx = *i;
+<a name="l00578"></a>00578     <span class="keyword">const</span> LiveReg &LR = LiveRegs[rx];
+<a name="l00579"></a>00579     <span class="comment">// This useless DomainValue could have been missed above.</span>
+<a name="l00580"></a>00580     <span class="keywordflow">if</span> (!LR.Value->getCommonDomains(available)) {
+<a name="l00581"></a>00581       kill(rx);
+<a name="l00582"></a>00582       <span class="keywordflow">continue</span>;
+<a name="l00583"></a>00583     }
+<a name="l00584"></a>00584     <span class="comment">// Sorted insertion.</span>
+<a name="l00585"></a>00585     <span class="keywordtype">bool</span> Inserted = <span class="keyword">false</span>;
+<a name="l00586"></a>00586     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVector.html">SmallVector<LiveReg, 4>::iterator</a> i = Regs.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a8a045d250952c0867382a9840ee18fdf">begin</a>(), e = Regs.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a075e34e98605d0e7c289763a104869ac">end</a>();
+<a name="l00587"></a>00587            i != e && !Inserted; ++i) {
+<a name="l00588"></a>00588       <span class="keywordflow">if</span> (LR.Def < i->Def) {
+<a name="l00589"></a>00589         Inserted = <span class="keyword">true</span>;
+<a name="l00590"></a>00590         Regs.<a class="code" href="classllvm_1_1SmallVectorImpl.html#af622128e353515efebccad40eae495cb">insert</a>(i, LR);
+<a name="l00591"></a>00591       }
+<a name="l00592"></a>00592     }
+<a name="l00593"></a>00593     <span class="keywordflow">if</span> (!Inserted)
+<a name="l00594"></a>00594       Regs.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(LR);
+<a name="l00595"></a>00595   }
+<a name="l00596"></a>00596 
+<a name="l00597"></a>00597   <span class="comment">// doms are now sorted in order of appearance. Try to merge them all, giving</span>
+<a name="l00598"></a>00598   <span class="comment">// priority to the latest ones.</span>
+<a name="l00599"></a>00599   DomainValue *dv = 0;
+<a name="l00600"></a>00600   <span class="keywordflow">while</span> (!Regs.<a class="code" href="classllvm_1_1SmallVectorBase.html#afdecfccba9b1fd8c9fd8eb27ae69e9a0">empty</a>()) {
+<a name="l00601"></a>00601     <span class="keywordflow">if</span> (!dv) {
+<a name="l00602"></a>00602       dv = Regs.<a class="code" href="classllvm_1_1SmallVectorImpl.html#a0c8ffe664a36e30d49c84d0aded2fe08">pop_back_val</a>().Value;
+<a name="l00603"></a>00603       <span class="comment">// Force the first dv to match the current instruction.</span>
+<a name="l00604"></a>00604       dv->AvailableDomains = dv->getCommonDomains(available);
+<a name="l00605"></a>00605       assert(dv->AvailableDomains && <span class="stringliteral">"Domain should have been filtered"</span>);
+<a name="l00606"></a>00606       <span class="keywordflow">continue</span>;
+<a name="l00607"></a>00607     }
+<a name="l00608"></a>00608 
+<a name="l00609"></a>00609     DomainValue *Latest = Regs.<a class="code" href="classllvm_1_1SmallVectorImpl.html#a0c8ffe664a36e30d49c84d0aded2fe08">pop_back_val</a>().Value;
+<a name="l00610"></a>00610     <span class="comment">// Skip already merged values.</span>
+<a name="l00611"></a>00611     <span class="keywordflow">if</span> (Latest == dv || Latest->Next)
+<a name="l00612"></a>00612       <span class="keywordflow">continue</span>;
+<a name="l00613"></a>00613     <span class="keywordflow">if</span> (merge(dv, Latest))
+<a name="l00614"></a>00614       <span class="keywordflow">continue</span>;
+<a name="l00615"></a>00615 
+<a name="l00616"></a>00616     <span class="comment">// If latest didn't merge, it is useless now. Kill all registers using it.</span>
+<a name="l00617"></a>00617     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1SmallVector.html">SmallVector<int,4>::iterator</a> i=used.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a8a045d250952c0867382a9840ee18fdf">begin</a>(), e=used.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a075e34e98605d0e7c289763a104869ac">end</a>(); i != e; ++i)
+<a name="l00618"></a>00618       <span class="keywordflow">if</span> (LiveRegs[*i].Value == Latest)
+<a name="l00619"></a>00619         kill(*i);
+<a name="l00620"></a>00620   }
+<a name="l00621"></a>00621 
+<a name="l00622"></a>00622   <span class="comment">// dv is the DomainValue we are going to use for this instruction.</span>
+<a name="l00623"></a>00623   <span class="keywordflow">if</span> (!dv) {
+<a name="l00624"></a>00624     dv = alloc();
+<a name="l00625"></a>00625     dv->AvailableDomains = available;
+<a name="l00626"></a>00626   }
+<a name="l00627"></a>00627   dv->Instrs.push_back(mi);
+<a name="l00628"></a>00628 
+<a name="l00629"></a>00629   <span class="comment">// Finally set all defs and non-collapsed uses to dv. We must iterate through</span>
+<a name="l00630"></a>00630   <span class="comment">// all the operators, including imp-def ones.</span>
+<a name="l00631"></a>00631   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1MachineInstr.html#a1d2d291ea0a52c3fcc1a2fc68be4496c" title="iterator/begin/end - Iterate over all operands of a machine instruction.">MachineInstr::mop_iterator</a> ii = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a0037ac891190e1408b04a48156c3368c">operands_begin</a>(),
+<a name="l00632"></a>00632                                   ee = mi-><a class="code" href="classllvm_1_1MachineInstr.html#a6e6014fca5895fa5f9487ff7c79678b0">operands_end</a>();
+<a name="l00633"></a>00633                                   ii != ee; ++ii) {
+<a name="l00634"></a>00634     <a class="code" href="classllvm_1_1MachineOperand.html">MachineOperand</a> &mo = *ii;
+<a name="l00635"></a>00635     <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>()) <span class="keywordflow">continue</span>;
+<a name="l00636"></a>00636     <span class="keywordtype">int</span> rx = regIndex(mo.<a class="code" href="classllvm_1_1MachineOperand.html#ab75f703d251cc0ce0206fe00a999db86" title="getReg - Returns the register number.">getReg</a>());
+<a name="l00637"></a>00637     <span class="keywordflow">if</span> (rx < 0) <span class="keywordflow">continue</span>;
+<a name="l00638"></a>00638     <span class="keywordflow">if</span> (!LiveRegs[rx].Value || (mo.<a class="code" href="classllvm_1_1MachineOperand.html#a8de7d5cf38939044471c6ee60a01a3df">isDef</a>() && LiveRegs[rx].Value != dv)) {
+<a name="l00639"></a>00639       kill(rx);
+<a name="l00640"></a>00640       setLiveReg(rx, dv);
+<a name="l00641"></a>00641     }
+<a name="l00642"></a>00642   }
+<a name="l00643"></a>00643 }
+<a name="l00644"></a>00644 
+<a name="l00645"></a>00645 <span class="keywordtype">bool</span> ExeDepsFix::runOnMachineFunction(<a class="code" href="classllvm_1_1MachineFunction.html">MachineFunction</a> &mf) {
+<a name="l00646"></a>00646   MF = &mf;
+<a name="l00647"></a>00647   TII = 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="l00648"></a>00648   TRI = MF->getTarget().getRegisterInfo();
+<a name="l00649"></a>00649   LiveRegs = 0;
+<a name="l00650"></a>00650   assert(NumRegs == RC->getNumRegs() && <span class="stringliteral">"Bad regclass"</span>);
+<a name="l00651"></a>00651 
+<a name="l00652"></a>00652   <a class="code" href="Debug_8h.html#aef41e8aaf4c60819b30faf396cdf4978">DEBUG</a>(<a class="code" href="namespacellvm.html#a7c46c742c31be54870e2038048e6b391" title="dbgs - Return a circular-buffered debug stream.">dbgs</a>() << <span class="stringliteral">"********** FIX EXECUTION DEPENDENCIES: "</span>
+<a name="l00653"></a>00653                << RC->getName() << <span class="stringliteral">" **********\n"</span>);
+<a name="l00654"></a>00654 
+<a name="l00655"></a>00655   <span class="comment">// If no relevant registers are used in the function, we can skip it</span>
+<a name="l00656"></a>00656   <span class="comment">// completely.</span>
+<a name="l00657"></a>00657   <span class="keywordtype">bool</span> anyregs = <span class="keyword">false</span>;
+<a name="l00658"></a>00658   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1TargetRegisterClass.html#af691cd5598fd3710bf2fbe45fec1d1e7">TargetRegisterClass::const_iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = RC->begin(), E = RC->end();
+<a name="l00659"></a>00659        <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="l00660"></a>00660     <span class="keywordflow">if</span> (MF->getRegInfo().isPhysRegUsed(*<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)) {
+<a name="l00661"></a>00661       anyregs = <span class="keyword">true</span>;
+<a name="l00662"></a>00662       <span class="keywordflow">break</span>;
+<a name="l00663"></a>00663     }
+<a name="l00664"></a>00664   <span class="keywordflow">if</span> (!anyregs) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00665"></a>00665 
+<a name="l00666"></a>00666   <span class="comment">// Initialize the AliasMap on the first use.</span>
+<a name="l00667"></a>00667   <span class="keywordflow">if</span> (AliasMap.empty()) {
+<a name="l00668"></a>00668     <span class="comment">// Given a PhysReg, AliasMap[PhysReg] is either the relevant index into RC,</span>
+<a name="l00669"></a>00669     <span class="comment">// or -1.</span>
+<a name="l00670"></a>00670     AliasMap.resize(TRI->getNumRegs(), -1);
+<a name="l00671"></a>00671     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = RC->getNumRegs(); i != e; ++i)
+<a name="l00672"></a>00672       <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1MCRegAliasIterator.html">MCRegAliasIterator</a> AI(RC->getRegister(i), TRI, <span class="keyword">true</span>);
+<a name="l00673"></a>00673            AI.<a class="code" href="classllvm_1_1MCRegisterInfo_1_1DiffListIterator.html#abccd358b92366e5284e7e674e86b241f" title="isValid - returns true if this iterator is not yet at the end.">isValid</a>(); ++AI)
+<a name="l00674"></a>00674         AliasMap[*AI] = i;
+<a name="l00675"></a>00675   }
+<a name="l00676"></a>00676 
+<a name="l00677"></a>00677   <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> *Entry = MF-><a class="code" href="classllvm_1_1MachineBasicBlock.html#ab2d91e7bec944efcbc39d8e30644f111">begin</a>();
+<a name="l00678"></a>00678   <a class="code" href="classllvm_1_1ReversePostOrderTraversal.html">ReversePostOrderTraversal<MachineBasicBlock*></a> RPOT(Entry);
+<a name="l00679"></a>00679   <a class="code" href="classllvm_1_1SmallVector.html">SmallVector<MachineBasicBlock*, 16></a> Loops;
+<a name="l00680"></a>00680   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ReversePostOrderTraversal.html#aa447608e2881e813215c3f289496c6ea">ReversePostOrderTraversal<MachineBasicBlock*>::rpo_iterator</a>
+<a name="l00681"></a>00681          MBBI = RPOT.begin(), MBBE = RPOT.end(); MBBI != MBBE; ++MBBI) {
+<a name="l00682"></a>00682     <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> *MBB = *MBBI;
+<a name="l00683"></a>00683     enterBasicBlock(MBB);
+<a name="l00684"></a>00684     <span class="keywordflow">if</span> (SeenUnknownBackEdge)
+<a name="l00685"></a>00685       Loops.<a class="code" href="classllvm_1_1SmallVectorTemplateBase.html#ae1a10b90f22c0478960fb5798ff73916">push_back</a>(MBB);
+<a name="l00686"></a>00686     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#ab2d91e7bec944efcbc39d8e30644f111">begin</a>(), E = MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#acbc921830578e2741be6549db716c0ce">end</a>(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E;
+<a name="l00687"></a>00687         ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)
+<a name="l00688"></a>00688       visitInstr(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>);
+<a name="l00689"></a>00689     leaveBasicBlock(MBB);
+<a name="l00690"></a>00690   }
+<a name="l00691"></a>00691 
+<a name="l00692"></a>00692   <span class="comment">// Visit all the loop blocks again in order to merge DomainValues from</span>
+<a name="l00693"></a>00693   <span class="comment">// back-edges.</span>
+<a name="l00694"></a>00694   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = Loops.<a class="code" href="classllvm_1_1SmallVectorTemplateCommon.html#a22a311dfe4c28a897de8a9365a4f0a84">size</a>(); i != e; ++i) {
+<a name="l00695"></a>00695     <a class="code" href="classllvm_1_1MachineBasicBlock.html">MachineBasicBlock</a> *MBB = Loops[i];
+<a name="l00696"></a>00696     enterBasicBlock(MBB);
+<a name="l00697"></a>00697     <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1MachineBasicBlock.html#ac51be7ff80fe8d6ae5e8c0acb194908a">MachineBasicBlock::iterator</a> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#ab2d91e7bec944efcbc39d8e30644f111">begin</a>(), E = MBB-><a class="code" href="classllvm_1_1MachineBasicBlock.html#acbc921830578e2741be6549db716c0ce">end</a>(); <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != E;
+<a name="l00698"></a>00698         ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)
+<a name="l00699"></a>00699       <span class="keywordflow">if</span> (!<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>->isDebugValue())
+<a name="l00700"></a>00700         processDefs(<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>, <span class="keyword">false</span>);
+<a name="l00701"></a>00701     leaveBasicBlock(MBB);
+<a name="l00702"></a>00702   }
+<a name="l00703"></a>00703 
+<a name="l00704"></a>00704   <span class="comment">// Clear the LiveOuts vectors and collapse any remaining DomainValues.</span>
+<a name="l00705"></a>00705   <span class="keywordflow">for</span> (<a class="code" href="classllvm_1_1ReversePostOrderTraversal.html#aa447608e2881e813215c3f289496c6ea">ReversePostOrderTraversal<MachineBasicBlock*>::rpo_iterator</a>
+<a name="l00706"></a>00706          MBBI = RPOT.begin(), MBBE = RPOT.end(); MBBI != MBBE; ++MBBI) {
+<a name="l00707"></a>00707     LiveOutMap::const_iterator FI = LiveOuts.find(*MBBI);
+<a name="l00708"></a>00708     <span class="keywordflow">if</span> (FI == LiveOuts.end() || !FI->second)
+<a name="l00709"></a>00709       <span class="keywordflow">continue</span>;
+<a name="l00710"></a>00710     <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0, e = NumRegs; i != e; ++i)
+<a name="l00711"></a>00711       <span class="keywordflow">if</span> (FI->second[i].Value)
+<a name="l00712"></a>00712         release(FI->second[i].Value);
+<a name="l00713"></a>00713     <span class="keyword">delete</span>[] FI->second;
+<a name="l00714"></a>00714   }
+<a name="l00715"></a>00715   LiveOuts.clear();
+<a name="l00716"></a>00716   Avail.clear();
+<a name="l00717"></a>00717   Allocator.DestroyAll();
+<a name="l00718"></a>00718 
+<a name="l00719"></a>00719   <span class="keywordflow">return</span> <span class="keyword">false</span>;
+<a name="l00720"></a>00720 }
+<a name="l00721"></a>00721 
+<a name="l00722"></a>00722 <a class="code" href="classllvm_1_1FunctionPass.html">FunctionPass</a> *
+<a name="l00723"></a><a class="code" href="namespacellvm.html#a7def58200ca2d0319f4ac3d42fcccae0">00723</a> <a class="code" href="namespacellvm.html#a7def58200ca2d0319f4ac3d42fcccae0">llvm::createExecutionDependencyFixPass</a>(<span class="keyword">const</span> <a class="code" href="classllvm_1_1TargetRegisterClass.html">TargetRegisterClass</a> *RC) {
+<a name="l00724"></a>00724   <span class="keywordflow">return</span> <span class="keyword">new</span> ExeDepsFix(RC);
+<a name="l00725"></a>00725 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:40 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/ExecutionEngineBindings_8cpp_source.html
URL: http://llvm.org/viewvc/llvm-project/www-releases/trunk/3.2/docs/doxygen/html/ExecutionEngineBindings_8cpp_source.html?rev=170845&view=auto
==============================================================================
--- www-releases/trunk/3.2/docs/doxygen/html/ExecutionEngineBindings_8cpp_source.html (added)
+++ www-releases/trunk/3.2/docs/doxygen/html/ExecutionEngineBindings_8cpp_source.html Fri Dec 21 00:57:24 2012
@@ -0,0 +1,307 @@
+<!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: ExecutionEngineBindings.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_c92c51dc3debf4668a549c62f98ec4ab.html">ExecutionEngine</a>      </li>
+    </ul>
+  </div>
+</div>
+<div class="header">
+  <div class="headertitle">
+<div class="title">ExecutionEngineBindings.cpp</div>  </div>
+</div>
+<div class="contents">
+<a href="ExecutionEngineBindings_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//===-- ExecutionEngineBindings.cpp - C bindings for EEs ------------------===//</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 C bindings for the ExecutionEngine library.</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><a class="code" href="ExecutionEngineBindings_8cpp.html#ad78e062f62e0d6e453941fb4ca843e4d">00014</a> <span class="preprocessor">#define DEBUG_TYPE "jit"</span>
+<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="c_2ExecutionEngine_8h.html">llvm-c/ExecutionEngine.h</a>"</span>
+<a name="l00016"></a>00016 <span class="preprocessor">#include "<a class="code" href="GenericValue_8h.html">llvm/ExecutionEngine/GenericValue.h</a>"</span>
+<a name="l00017"></a>00017 <span class="preprocessor">#include "<a class="code" href="ExecutionEngine_2ExecutionEngine_8h.html">llvm/ExecutionEngine/ExecutionEngine.h</a>"</span>
+<a name="l00018"></a>00018 <span class="preprocessor">#include "<a class="code" href="ErrorHandling_8h.html">llvm/Support/ErrorHandling.h</a>"</span>
+<a name="l00019"></a>00019 <span class="preprocessor">#include <cstring></span>
+<a name="l00020"></a>00020 
+<a name="l00021"></a>00021 <span class="keyword">using namespace </span>llvm;
+<a name="l00022"></a>00022 
+<a name="l00023"></a>00023 <span class="comment">/*===-- Operations on generic values --------------------------------------===*/</span>
+<a name="l00024"></a>00024 
+<a name="l00025"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga49e6ddbb4ef1d059831f3dc1e82141d9">00025</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga49e6ddbb4ef1d059831f3dc1e82141d9">LLVMCreateGenericValueOfInt</a>(<a class="code" href="group__LLVMCCoreTypes.html#gab81b4df33167d47174f9b86a75e3be88">LLVMTypeRef</a> Ty,
+<a name="l00026"></a>00026                                                 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> N,
+<a name="l00027"></a>00027                                                 <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> IsSigned) {
+<a name="l00028"></a>00028   <a class="code" href="structllvm_1_1GenericValue.html">GenericValue</a> *GenVal = <span class="keyword">new</span> <a class="code" href="structllvm_1_1GenericValue.html">GenericValue</a>();
+<a name="l00029"></a>00029   GenVal-><a class="code" href="structllvm_1_1GenericValue.html#adc1cecb2e860959165c8ad83d0d26023">IntVal</a> = <a class="code" href="classllvm_1_1APInt.html" title="Class for arbitrary precision integers.">APInt</a>(unwrap<IntegerType>(Ty)-><a class="code" href="ValueTracking_8cpp.html#a06c14477546c3a0eb4c79ff007ea2375">getBitWidth</a>(), N, IsSigned);
+<a name="l00030"></a>00030   <span class="keywordflow">return</span> wrap(GenVal);
+<a name="l00031"></a>00031 }
+<a name="l00032"></a>00032 
+<a name="l00033"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga06ad92a8617a97e7e453ff49d90c6b71">00033</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga06ad92a8617a97e7e453ff49d90c6b71">LLVMCreateGenericValueOfPointer</a>(<span class="keywordtype">void</span> *P) {
+<a name="l00034"></a>00034   <a class="code" href="structllvm_1_1GenericValue.html">GenericValue</a> *GenVal = <span class="keyword">new</span> <a class="code" href="structllvm_1_1GenericValue.html">GenericValue</a>();
+<a name="l00035"></a>00035   GenVal-><a class="code" href="structllvm_1_1GenericValue.html#a23f8c75218aea0cfcfe0f3e4223d3b02">PointerVal</a> = P;
+<a name="l00036"></a>00036   <span class="keywordflow">return</span> wrap(GenVal);
+<a name="l00037"></a>00037 }
+<a name="l00038"></a>00038 
+<a name="l00039"></a><a class="code" href="group__LLVMCExecutionEngine.html#gabdeddb888028f5efec64d710a5c70e83">00039</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> <a class="code" href="group__LLVMCExecutionEngine.html#gabdeddb888028f5efec64d710a5c70e83">LLVMCreateGenericValueOfFloat</a>(<a class="code" href="group__LLVMCCoreTypes.html#gab81b4df33167d47174f9b86a75e3be88">LLVMTypeRef</a> TyRef, <span class="keywordtype">double</span> N) {
+<a name="l00040"></a>00040   <a class="code" href="structllvm_1_1GenericValue.html">GenericValue</a> *GenVal = <span class="keyword">new</span> <a class="code" href="structllvm_1_1GenericValue.html">GenericValue</a>();
+<a name="l00041"></a>00041   <span class="keywordflow">switch</span> (unwrap(TyRef)-><a class="code" href="ExternalFunctions_8cpp.html#a62734f5491c71583869b1da8d274dc45">getTypeID</a>()) {
+<a name="l00042"></a>00042   <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1Type.html#a5e9e1c0dd93557be1b4ad72860f3cbdaa6a5dd38c5c337ac6ce6d5847b1ca7f15" title="2: 32-bit floating point type">Type::FloatTyID</a>:
+<a name="l00043"></a>00043     GenVal-><a class="code" href="structllvm_1_1GenericValue.html#a5160197592bd1fc5c8cc81cd803e0629">FloatVal</a> = N;
+<a name="l00044"></a>00044     <span class="keywordflow">break</span>;
+<a name="l00045"></a>00045   <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1Type.html#a5e9e1c0dd93557be1b4ad72860f3cbdaabc549945f13bb5d5f5b80c550d2b92f5" title="3: 64-bit floating point type">Type::DoubleTyID</a>:
+<a name="l00046"></a>00046     GenVal-><a class="code" href="structllvm_1_1GenericValue.html#a9810b36b4c4c17901d491f5aac030623">DoubleVal</a> = N;
+<a name="l00047"></a>00047     <span class="keywordflow">break</span>;
+<a name="l00048"></a>00048   <span class="keywordflow">default</span>:
+<a name="l00049"></a>00049     <a class="code" href="ErrorHandling_8h.html#ace243f5c25697a1107cce46626b3dc94">llvm_unreachable</a>(<span class="stringliteral">"LLVMGenericValueToFloat supports only float and double."</span>);
+<a name="l00050"></a>00050   }
+<a name="l00051"></a>00051   <span class="keywordflow">return</span> wrap(GenVal);
+<a name="l00052"></a>00052 }
+<a name="l00053"></a>00053 
+<a name="l00054"></a><a class="code" href="group__LLVMCExecutionEngine.html#gaa421945b748ce861b4da63b752d71dd0">00054</a> <span class="keywordtype">unsigned</span> <a class="code" href="group__LLVMCExecutionEngine.html#gaa421945b748ce861b4da63b752d71dd0">LLVMGenericValueIntWidth</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> GenValRef) {
+<a name="l00055"></a>00055   <span class="keywordflow">return</span> unwrap(GenValRef)->IntVal.getBitWidth();
+<a name="l00056"></a>00056 }
+<a name="l00057"></a>00057 
+<a name="l00058"></a><a class="code" href="group__LLVMCExecutionEngine.html#gaca63029362a3a1da53f00e79b6423aac">00058</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <span class="keywordtype">long</span> <a class="code" href="group__LLVMCExecutionEngine.html#gaca63029362a3a1da53f00e79b6423aac">LLVMGenericValueToInt</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> GenValRef,
+<a name="l00059"></a>00059                                          <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> IsSigned) {
+<a name="l00060"></a>00060   <a class="code" href="structllvm_1_1GenericValue.html">GenericValue</a> *GenVal = unwrap(GenValRef);
+<a name="l00061"></a>00061   <span class="keywordflow">if</span> (IsSigned)
+<a name="l00062"></a>00062     <span class="keywordflow">return</span> GenVal-><a class="code" href="structllvm_1_1GenericValue.html#adc1cecb2e860959165c8ad83d0d26023">IntVal</a>.<a class="code" href="classllvm_1_1APInt.html#a7189a37206963029447c31d57771b997" title="Get sign extended value.">getSExtValue</a>();
+<a name="l00063"></a>00063   <span class="keywordflow">else</span>
+<a name="l00064"></a>00064     <span class="keywordflow">return</span> GenVal-><a class="code" href="structllvm_1_1GenericValue.html#adc1cecb2e860959165c8ad83d0d26023">IntVal</a>.<a class="code" href="classllvm_1_1APInt.html#a7dc983ebf0eb2d255fa90a67063c72e2" title="Get zero extended value.">getZExtValue</a>();
+<a name="l00065"></a>00065 }
+<a name="l00066"></a>00066 
+<a name="l00067"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga8af9af2c7b1fad22fac931575a37895f">00067</a> <span class="keywordtype">void</span> *<a class="code" href="group__LLVMCExecutionEngine.html#ga8af9af2c7b1fad22fac931575a37895f">LLVMGenericValueToPointer</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> GenVal) {
+<a name="l00068"></a>00068   <span class="keywordflow">return</span> unwrap(GenVal)->PointerVal;
+<a name="l00069"></a>00069 }
+<a name="l00070"></a>00070 
+<a name="l00071"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga07086a2b6347e7f7e96a841331c7e55b">00071</a> <span class="keywordtype">double</span> <a class="code" href="group__LLVMCExecutionEngine.html#ga07086a2b6347e7f7e96a841331c7e55b">LLVMGenericValueToFloat</a>(<a class="code" href="group__LLVMCCoreTypes.html#gab81b4df33167d47174f9b86a75e3be88">LLVMTypeRef</a> TyRef, <a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> GenVal) {
+<a name="l00072"></a>00072   <span class="keywordflow">switch</span> (unwrap(TyRef)-><a class="code" href="ExternalFunctions_8cpp.html#a62734f5491c71583869b1da8d274dc45">getTypeID</a>()) {
+<a name="l00073"></a>00073   <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1Type.html#a5e9e1c0dd93557be1b4ad72860f3cbdaa6a5dd38c5c337ac6ce6d5847b1ca7f15" title="2: 32-bit floating point type">Type::FloatTyID</a>:
+<a name="l00074"></a>00074     <span class="keywordflow">return</span> unwrap(GenVal)->FloatVal;
+<a name="l00075"></a>00075   <span class="keywordflow">case</span> <a class="code" href="classllvm_1_1Type.html#a5e9e1c0dd93557be1b4ad72860f3cbdaabc549945f13bb5d5f5b80c550d2b92f5" title="3: 64-bit floating point type">Type::DoubleTyID</a>:
+<a name="l00076"></a>00076     <span class="keywordflow">return</span> unwrap(GenVal)->DoubleVal;
+<a name="l00077"></a>00077   <span class="keywordflow">default</span>:
+<a name="l00078"></a>00078     <a class="code" href="ErrorHandling_8h.html#ace243f5c25697a1107cce46626b3dc94">llvm_unreachable</a>(<span class="stringliteral">"LLVMGenericValueToFloat supports only float and double."</span>);
+<a name="l00079"></a>00079   }
+<a name="l00080"></a>00080 }
+<a name="l00081"></a>00081 
+<a name="l00082"></a><a class="code" href="group__LLVMCExecutionEngine.html#gaf707d95b406db806bc8eb204f7700864">00082</a> <span class="keywordtype">void</span> <a class="code" href="group__LLVMCExecutionEngine.html#gaf707d95b406db806bc8eb204f7700864">LLVMDisposeGenericValue</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> GenVal) {
+<a name="l00083"></a>00083   <span class="keyword">delete</span> unwrap(GenVal);
+<a name="l00084"></a>00084 }
+<a name="l00085"></a>00085 
+<a name="l00086"></a>00086 <span class="comment">/*===-- Operations on execution engines -----------------------------------===*/</span>
+<a name="l00087"></a>00087 
+<a name="l00088"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga6f420f2ade2b50519ec53fd459a8f267">00088</a> <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga6f420f2ade2b50519ec53fd459a8f267">LLVMCreateExecutionEngineForModule</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> *OutEE,
+<a name="l00089"></a>00089                                             <a class="code" href="group__LLVMCCoreTypes.html#gad1d1bb5f901c903a0cf09c5a053c9c56">LLVMModuleRef</a> M,
+<a name="l00090"></a>00090                                             <span class="keywordtype">char</span> **OutError) {
+<a name="l00091"></a>00091   std::string <a class="code" href="namespacellvm_1_1lltok.html#af353621f14cb4b4b3af5ffaff84076b1a3766a4dce43f4efc7208a749cc7ac605">Error</a>;
+<a name="l00092"></a>00092   <a class="code" href="classllvm_1_1EngineBuilder.html">EngineBuilder</a> builder(unwrap(M));
+<a name="l00093"></a>00093   builder.<a class="code" href="classllvm_1_1EngineBuilder.html#a1d5cb76724c55a567f5ef38572599436">setEngineKind</a>(<a class="code" href="namespacellvm_1_1EngineKind.html#abb7d2ddf5905447f9b10f887bfe6d27d">EngineKind::Either</a>)
+<a name="l00094"></a>00094          .<a class="code" href="classllvm_1_1EngineBuilder.html#a49f9a976724ed01ad4e0c14f69e33c85">setErrorStr</a>(&Error);
+<a name="l00095"></a>00095   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1ExecutionEngine.html" title="Abstract interface for implementation execution of LLVM modules, designed to support both interpreter...">ExecutionEngine</a> *EE = builder.<a class="code" href="classllvm_1_1EngineBuilder.html#af32143c4a8af7d2a66e4b6701dddf288">create</a>()){
+<a name="l00096"></a>00096     *OutEE = wrap(EE);
+<a name="l00097"></a>00097     <span class="keywordflow">return</span> 0;
+<a name="l00098"></a>00098   }
+<a name="l00099"></a>00099   *OutError = <a class="code" href="namespacellvm_1_1LibFunc.html#abf8f6830387f338fed0bce2e65108c6fa53d8e382cd48b9a80e743f44d982bb81" title="char *strdup(const char *s1);">strdup</a>(Error.c_str());
+<a name="l00100"></a>00100   <span class="keywordflow">return</span> 1;
+<a name="l00101"></a>00101 }
+<a name="l00102"></a>00102 
+<a name="l00103"></a><a class="code" href="group__LLVMCExecutionEngine.html#gaf1bf484a8108f125ccdb6ab37e317541">00103</a> <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> <a class="code" href="group__LLVMCExecutionEngine.html#gaf1bf484a8108f125ccdb6ab37e317541">LLVMCreateInterpreterForModule</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> *OutInterp,
+<a name="l00104"></a>00104                                         <a class="code" href="group__LLVMCCoreTypes.html#gad1d1bb5f901c903a0cf09c5a053c9c56">LLVMModuleRef</a> M,
+<a name="l00105"></a>00105                                         <span class="keywordtype">char</span> **OutError) {
+<a name="l00106"></a>00106   std::string <a class="code" href="namespacellvm_1_1lltok.html#af353621f14cb4b4b3af5ffaff84076b1a3766a4dce43f4efc7208a749cc7ac605">Error</a>;
+<a name="l00107"></a>00107   <a class="code" href="classllvm_1_1EngineBuilder.html">EngineBuilder</a> builder(unwrap(M));
+<a name="l00108"></a>00108   builder.<a class="code" href="classllvm_1_1EngineBuilder.html#a1d5cb76724c55a567f5ef38572599436">setEngineKind</a>(<a class="code" href="namespacellvm_1_1EngineKind.html#a9df47239a42cd9621ac26d9ecbd57441acbd7ec5d01190e525d2f938b169b9a81">EngineKind::Interpreter</a>)
+<a name="l00109"></a>00109          .<a class="code" href="classllvm_1_1EngineBuilder.html#a49f9a976724ed01ad4e0c14f69e33c85">setErrorStr</a>(&Error);
+<a name="l00110"></a>00110   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1ExecutionEngine.html" title="Abstract interface for implementation execution of LLVM modules, designed to support both interpreter...">ExecutionEngine</a> *Interp = builder.<a class="code" href="classllvm_1_1EngineBuilder.html#af32143c4a8af7d2a66e4b6701dddf288">create</a>()) {
+<a name="l00111"></a>00111     *OutInterp = wrap(Interp);
+<a name="l00112"></a>00112     <span class="keywordflow">return</span> 0;
+<a name="l00113"></a>00113   }
+<a name="l00114"></a>00114   *OutError = <a class="code" href="namespacellvm_1_1LibFunc.html#abf8f6830387f338fed0bce2e65108c6fa53d8e382cd48b9a80e743f44d982bb81" title="char *strdup(const char *s1);">strdup</a>(Error.c_str());
+<a name="l00115"></a>00115   <span class="keywordflow">return</span> 1;
+<a name="l00116"></a>00116 }
+<a name="l00117"></a>00117 
+<a name="l00118"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga34adfbd03647338dab2a1eb687bed23f">00118</a> <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga34adfbd03647338dab2a1eb687bed23f">LLVMCreateJITCompilerForModule</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> *OutJIT,
+<a name="l00119"></a>00119                                         <a class="code" href="group__LLVMCCoreTypes.html#gad1d1bb5f901c903a0cf09c5a053c9c56">LLVMModuleRef</a> M,
+<a name="l00120"></a>00120                                         <span class="keywordtype">unsigned</span> OptLevel,
+<a name="l00121"></a>00121                                         <span class="keywordtype">char</span> **OutError) {
+<a name="l00122"></a>00122   std::string <a class="code" href="namespacellvm_1_1lltok.html#af353621f14cb4b4b3af5ffaff84076b1a3766a4dce43f4efc7208a749cc7ac605">Error</a>;
+<a name="l00123"></a>00123   <a class="code" href="classllvm_1_1EngineBuilder.html">EngineBuilder</a> builder(unwrap(M));
+<a name="l00124"></a>00124   builder.<a class="code" href="classllvm_1_1EngineBuilder.html#a1d5cb76724c55a567f5ef38572599436">setEngineKind</a>(<a class="code" href="namespacellvm_1_1EngineKind.html#a9df47239a42cd9621ac26d9ecbd57441a41413991d9e4a8c017e9d83f8446d875">EngineKind::JIT</a>)
+<a name="l00125"></a>00125          .<a class="code" href="classllvm_1_1EngineBuilder.html#a49f9a976724ed01ad4e0c14f69e33c85">setErrorStr</a>(&Error)
+<a name="l00126"></a>00126          .<a class="code" href="classllvm_1_1EngineBuilder.html#ae2dce7b4380acdb5434fed36f8e37090">setOptLevel</a>((<a class="code" href="namespacellvm_1_1CodeGenOpt.html#a411055ea15209051c2370bbf655ec8d4">CodeGenOpt::Level</a>)OptLevel);
+<a name="l00127"></a>00127   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1ExecutionEngine.html" title="Abstract interface for implementation execution of LLVM modules, designed to support both interpreter...">ExecutionEngine</a> *<a class="code" href="classllvm_1_1JIT.html">JIT</a> = builder.<a class="code" href="classllvm_1_1EngineBuilder.html#af32143c4a8af7d2a66e4b6701dddf288">create</a>()) {
+<a name="l00128"></a>00128     *OutJIT = wrap(<a class="code" href="classllvm_1_1JIT.html">JIT</a>);
+<a name="l00129"></a>00129     <span class="keywordflow">return</span> 0;
+<a name="l00130"></a>00130   }
+<a name="l00131"></a>00131   *OutError = <a class="code" href="namespacellvm_1_1LibFunc.html#abf8f6830387f338fed0bce2e65108c6fa53d8e382cd48b9a80e743f44d982bb81" title="char *strdup(const char *s1);">strdup</a>(Error.c_str());
+<a name="l00132"></a>00132   <span class="keywordflow">return</span> 1;
+<a name="l00133"></a>00133 }
+<a name="l00134"></a>00134 
+<a name="l00135"></a><a class="code" href="group__LLVMCExecutionEngine.html#gadcf473018b29bde6bb588721bd6c13cd">00135</a> <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> <a class="code" href="group__LLVMCExecutionEngine.html#gadcf473018b29bde6bb588721bd6c13cd">LLVMCreateExecutionEngine</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> *OutEE,
+<a name="l00136"></a>00136                                    <a class="code" href="group__LLVMCCoreTypes.html#gad77f13d71e9aebc385324cde314d9ac6">LLVMModuleProviderRef</a> MP,
+<a name="l00137"></a>00137                                    <span class="keywordtype">char</span> **OutError) {
+<a name="l00138"></a>00138   <span class="comment">/* The module provider is now actually a module. */</span>
+<a name="l00139"></a>00139   <span class="keywordflow">return</span> <a class="code" href="group__LLVMCExecutionEngine.html#ga6f420f2ade2b50519ec53fd459a8f267">LLVMCreateExecutionEngineForModule</a>(OutEE,
+<a name="l00140"></a>00140                                             reinterpret_cast<LLVMModuleRef>(MP),
+<a name="l00141"></a>00141                                             OutError);
+<a name="l00142"></a>00142 }
+<a name="l00143"></a>00143 
+<a name="l00144"></a><a class="code" href="group__LLVMCExecutionEngine.html#gaba01030a34142dd1f128fca6b0202cee">00144</a> <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> <a class="code" href="group__LLVMCExecutionEngine.html#gaba01030a34142dd1f128fca6b0202cee">LLVMCreateInterpreter</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> *OutInterp,
+<a name="l00145"></a>00145                                <a class="code" href="group__LLVMCCoreTypes.html#gad77f13d71e9aebc385324cde314d9ac6">LLVMModuleProviderRef</a> MP,
+<a name="l00146"></a>00146                                <span class="keywordtype">char</span> **OutError) {
+<a name="l00147"></a>00147   <span class="comment">/* The module provider is now actually a module. */</span>
+<a name="l00148"></a>00148   <span class="keywordflow">return</span> <a class="code" href="group__LLVMCExecutionEngine.html#gaf1bf484a8108f125ccdb6ab37e317541">LLVMCreateInterpreterForModule</a>(OutInterp,
+<a name="l00149"></a>00149                                         reinterpret_cast<LLVMModuleRef>(MP),
+<a name="l00150"></a>00150                                         OutError);
+<a name="l00151"></a>00151 }
+<a name="l00152"></a>00152 
+<a name="l00153"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga9ed5d4acf1855ed13b4cfa0ac728b61e">00153</a> <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga9ed5d4acf1855ed13b4cfa0ac728b61e">LLVMCreateJITCompiler</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> *OutJIT,
+<a name="l00154"></a>00154                                <a class="code" href="group__LLVMCCoreTypes.html#gad77f13d71e9aebc385324cde314d9ac6">LLVMModuleProviderRef</a> MP,
+<a name="l00155"></a>00155                                <span class="keywordtype">unsigned</span> OptLevel,
+<a name="l00156"></a>00156                                <span class="keywordtype">char</span> **OutError) {
+<a name="l00157"></a>00157   <span class="comment">/* The module provider is now actually a module. */</span>
+<a name="l00158"></a>00158   <span class="keywordflow">return</span> <a class="code" href="group__LLVMCExecutionEngine.html#ga34adfbd03647338dab2a1eb687bed23f">LLVMCreateJITCompilerForModule</a>(OutJIT,
+<a name="l00159"></a>00159                                         reinterpret_cast<LLVMModuleRef>(MP),
+<a name="l00160"></a>00160                                         OptLevel, OutError);
+<a name="l00161"></a>00161 }
+<a name="l00162"></a>00162 
+<a name="l00163"></a>00163 
+<a name="l00164"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga5b8653e541777c1a7c16ceaa6a700d63">00164</a> <span class="keywordtype">void</span> <a class="code" href="group__LLVMCExecutionEngine.html#ga5b8653e541777c1a7c16ceaa6a700d63">LLVMDisposeExecutionEngine</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE) {
+<a name="l00165"></a>00165   <span class="keyword">delete</span> unwrap(EE);
+<a name="l00166"></a>00166 }
+<a name="l00167"></a>00167 
+<a name="l00168"></a><a class="code" href="group__LLVMCExecutionEngine.html#gaa7141f3cda4991efbe28e61b2dbd08b5">00168</a> <span class="keywordtype">void</span> <a class="code" href="group__LLVMCExecutionEngine.html#gaa7141f3cda4991efbe28e61b2dbd08b5">LLVMRunStaticConstructors</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE) {
+<a name="l00169"></a>00169   unwrap(EE)->runStaticConstructorsDestructors(<span class="keyword">false</span>);
+<a name="l00170"></a>00170 }
+<a name="l00171"></a>00171 
+<a name="l00172"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga33568bc0f7c510480c433d4df8d04abe">00172</a> <span class="keywordtype">void</span> <a class="code" href="group__LLVMCExecutionEngine.html#ga33568bc0f7c510480c433d4df8d04abe">LLVMRunStaticDestructors</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE) {
+<a name="l00173"></a>00173   unwrap(EE)->runStaticConstructorsDestructors(<span class="keyword">true</span>);
+<a name="l00174"></a>00174 }
+<a name="l00175"></a>00175 
+<a name="l00176"></a><a class="code" href="group__LLVMCExecutionEngine.html#gacd0ee27ebf14f85b6c60a2719aa3d6cb">00176</a> <span class="keywordtype">int</span> <a class="code" href="group__LLVMCExecutionEngine.html#gacd0ee27ebf14f85b6c60a2719aa3d6cb">LLVMRunFunctionAsMain</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <a class="code" href="group__LLVMCCoreTypes.html#ga113ce952344691b8304a43a314f8be17">LLVMValueRef</a> <a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>,
+<a name="l00177"></a>00177                           <span class="keywordtype">unsigned</span> ArgC, <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> *ArgV,
+<a name="l00178"></a>00178                           <span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> *EnvP) {
+<a name="l00179"></a>00179   std::vector<std::string> ArgVec;
+<a name="l00180"></a>00180   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = 0; <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != ArgC; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)
+<a name="l00181"></a>00181     ArgVec.push_back(ArgV[<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>]);
+<a name="l00182"></a>00182   
+<a name="l00183"></a>00183   <span class="keywordflow">return</span> unwrap(EE)->runFunctionAsMain(unwrap<Function>(F), ArgVec, EnvP);
+<a name="l00184"></a>00184 }
+<a name="l00185"></a>00185 
+<a name="l00186"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga4fa484f1f82bf67cdc7448dcdf552c5c">00186</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga4fa484f1f82bf67cdc7448dcdf552c5c">LLVMRunFunction</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <a class="code" href="group__LLVMCCoreTypes.html#ga113ce952344691b8304a43a314f8be17">LLVMValueRef</a> <a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>,
+<a name="l00187"></a>00187                                     <span class="keywordtype">unsigned</span> NumArgs,
+<a name="l00188"></a>00188                                     <a class="code" href="group__LLVMCExecutionEngine.html#ga9fcd660f552e45f95f767b26c16843c6">LLVMGenericValueRef</a> *Args) {
+<a name="l00189"></a>00189   std::vector<GenericValue> ArgVec;
+<a name="l00190"></a>00190   ArgVec.reserve(NumArgs);
+<a name="l00191"></a>00191   <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> = 0; <a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a> != NumArgs; ++<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>)
+<a name="l00192"></a>00192     ArgVec.push_back(*unwrap(Args[<a class="code" href="namespacellvm_1_1ARM__PROC.html#aac31dd660a6f18140efdd62b351cb11ba41e4a98ca287d35fab0923aa355d63a5">I</a>]));
+<a name="l00193"></a>00193   
+<a name="l00194"></a>00194   <a class="code" href="structllvm_1_1GenericValue.html">GenericValue</a> *Result = <span class="keyword">new</span> <a class="code" href="structllvm_1_1GenericValue.html">GenericValue</a>();
+<a name="l00195"></a>00195   *Result = unwrap(EE)->runFunction(unwrap<Function>(F), ArgVec);
+<a name="l00196"></a>00196   <span class="keywordflow">return</span> wrap(Result);
+<a name="l00197"></a>00197 }
+<a name="l00198"></a>00198 
+<a name="l00199"></a><a class="code" href="group__LLVMCExecutionEngine.html#gaf43ee3a0904d16f0aded9e5c5a265479">00199</a> <span class="keywordtype">void</span> <a class="code" href="group__LLVMCExecutionEngine.html#gaf43ee3a0904d16f0aded9e5c5a265479">LLVMFreeMachineCodeForFunction</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <a class="code" href="group__LLVMCCoreTypes.html#ga113ce952344691b8304a43a314f8be17">LLVMValueRef</a> <a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>) {
+<a name="l00200"></a>00200   unwrap(EE)->freeMachineCodeForFunction(unwrap<Function>(F));
+<a name="l00201"></a>00201 }
+<a name="l00202"></a>00202 
+<a name="l00203"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga8436d8ec5b8a5c275741b80a184a84a9">00203</a> <span class="keywordtype">void</span> <a class="code" href="group__LLVMCExecutionEngine.html#ga8436d8ec5b8a5c275741b80a184a84a9">LLVMAddModule</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <a class="code" href="group__LLVMCCoreTypes.html#gad1d1bb5f901c903a0cf09c5a053c9c56">LLVMModuleRef</a> M){
+<a name="l00204"></a>00204   unwrap(EE)->addModule(unwrap(M));
+<a name="l00205"></a>00205 }
+<a name="l00206"></a>00206 
+<a name="l00207"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga47401f325cc589fcdf42e2200fced838">00207</a> <span class="keywordtype">void</span> <a class="code" href="group__LLVMCExecutionEngine.html#ga47401f325cc589fcdf42e2200fced838">LLVMAddModuleProvider</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <a class="code" href="group__LLVMCCoreTypes.html#gad77f13d71e9aebc385324cde314d9ac6">LLVMModuleProviderRef</a> MP){
+<a name="l00208"></a>00208   <span class="comment">/* The module provider is now actually a module. */</span>
+<a name="l00209"></a>00209   <a class="code" href="group__LLVMCExecutionEngine.html#ga8436d8ec5b8a5c275741b80a184a84a9">LLVMAddModule</a>(EE, reinterpret_cast<LLVMModuleRef>(MP));
+<a name="l00210"></a>00210 }
+<a name="l00211"></a>00211 
+<a name="l00212"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga8575599668ea7c9ab24a07f284a3f5d8">00212</a> <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga8575599668ea7c9ab24a07f284a3f5d8">LLVMRemoveModule</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <a class="code" href="group__LLVMCCoreTypes.html#gad1d1bb5f901c903a0cf09c5a053c9c56">LLVMModuleRef</a> M,
+<a name="l00213"></a>00213                           <a class="code" href="group__LLVMCCoreTypes.html#gad1d1bb5f901c903a0cf09c5a053c9c56">LLVMModuleRef</a> *OutMod, <span class="keywordtype">char</span> **OutError) {
+<a name="l00214"></a>00214   <a class="code" href="classllvm_1_1Module.html" title="The main container class for the LLVM Intermediate Representation.">Module</a> *Mod = unwrap(M);
+<a name="l00215"></a>00215   unwrap(EE)->removeModule(Mod);
+<a name="l00216"></a>00216   *OutMod = wrap(Mod);
+<a name="l00217"></a>00217   <span class="keywordflow">return</span> 0;
+<a name="l00218"></a>00218 }
+<a name="l00219"></a>00219 
+<a name="l00220"></a><a class="code" href="group__LLVMCExecutionEngine.html#gaafae3409c7d7d2f297aec7eedb4d30fa">00220</a> <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> <a class="code" href="group__LLVMCExecutionEngine.html#gaafae3409c7d7d2f297aec7eedb4d30fa">LLVMRemoveModuleProvider</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE,
+<a name="l00221"></a>00221                                   <a class="code" href="group__LLVMCCoreTypes.html#gad77f13d71e9aebc385324cde314d9ac6">LLVMModuleProviderRef</a> MP,
+<a name="l00222"></a>00222                                   <a class="code" href="group__LLVMCCoreTypes.html#gad1d1bb5f901c903a0cf09c5a053c9c56">LLVMModuleRef</a> *OutMod, <span class="keywordtype">char</span> **OutError) {
+<a name="l00223"></a>00223   <span class="comment">/* The module provider is now actually a module. */</span>
+<a name="l00224"></a>00224   <span class="keywordflow">return</span> <a class="code" href="group__LLVMCExecutionEngine.html#ga8575599668ea7c9ab24a07f284a3f5d8">LLVMRemoveModule</a>(EE, reinterpret_cast<LLVMModuleRef>(MP), OutMod,
+<a name="l00225"></a>00225                           OutError);
+<a name="l00226"></a>00226 }
+<a name="l00227"></a>00227 
+<a name="l00228"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga4562a52ab9452ea52ad2ba0e4431f0f5">00228</a> <a class="code" href="group__LLVMCCoreTypes.html#ga209de0bceb13179a973c6a45211617bd">LLVMBool</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga4562a52ab9452ea52ad2ba0e4431f0f5">LLVMFindFunction</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="namespacellvm_1_1GraphProgram.html#a0ad4685976f8c4d4a697a53fbe05d10b">Name</a>,
+<a name="l00229"></a>00229                           <a class="code" href="group__LLVMCCoreTypes.html#ga113ce952344691b8304a43a314f8be17">LLVMValueRef</a> *OutFn) {
+<a name="l00230"></a>00230   <span class="keywordflow">if</span> (<a class="code" href="classllvm_1_1Function.html">Function</a> *<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a> = unwrap(EE)->FindFunctionNamed(Name)) {
+<a name="l00231"></a>00231     *OutFn = wrap(<a class="code" href="LLParser_8cpp.html#a33ece1ef8074506a15d7f86eb76dbae6">F</a>);
+<a name="l00232"></a>00232     <span class="keywordflow">return</span> 0;
+<a name="l00233"></a>00233   }
+<a name="l00234"></a>00234   <span class="keywordflow">return</span> 1;
+<a name="l00235"></a>00235 }
+<a name="l00236"></a>00236 
+<a name="l00237"></a><a class="code" href="group__LLVMCExecutionEngine.html#gaa1bf228ddfde446ea57d9d63e184a08c">00237</a> <span class="keywordtype">void</span> *<a class="code" href="group__LLVMCExecutionEngine.html#gaa1bf228ddfde446ea57d9d63e184a08c">LLVMRecompileAndRelinkFunction</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <a class="code" href="group__LLVMCCoreTypes.html#ga113ce952344691b8304a43a314f8be17">LLVMValueRef</a> Fn) {
+<a name="l00238"></a>00238   <span class="keywordflow">return</span> unwrap(EE)->recompileAndRelinkFunction(unwrap<Function>(Fn));
+<a name="l00239"></a>00239 }
+<a name="l00240"></a>00240 
+<a name="l00241"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga52b77fb8b762e79ee2fe122ef444c9c7">00241</a> <a class="code" href="group__LLVMCTarget.html#gace7868f675950a8dfc3338b14652c686">LLVMTargetDataRef</a> <a class="code" href="group__LLVMCExecutionEngine.html#ga52b77fb8b762e79ee2fe122ef444c9c7">LLVMGetExecutionEngineTargetData</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE) {
+<a name="l00242"></a>00242   <span class="keywordflow">return</span> wrap(unwrap(EE)->getDataLayout());
+<a name="l00243"></a>00243 }
+<a name="l00244"></a>00244 
+<a name="l00245"></a><a class="code" href="group__LLVMCExecutionEngine.html#gad9a0b1cd6cdb55a36b5a89d51c854d18">00245</a> <span class="keywordtype">void</span> <a class="code" href="group__LLVMCExecutionEngine.html#gad9a0b1cd6cdb55a36b5a89d51c854d18">LLVMAddGlobalMapping</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <a class="code" href="group__LLVMCCoreTypes.html#ga113ce952344691b8304a43a314f8be17">LLVMValueRef</a> Global,
+<a name="l00246"></a>00246                           <span class="keywordtype">void</span>* Addr) {
+<a name="l00247"></a>00247   unwrap(EE)->addGlobalMapping(unwrap<GlobalValue>(Global), Addr);
+<a name="l00248"></a>00248 }
+<a name="l00249"></a>00249 
+<a name="l00250"></a><a class="code" href="group__LLVMCExecutionEngine.html#ga938547eb96583128943287c756268b38">00250</a> <span class="keywordtype">void</span> *<a class="code" href="group__LLVMCExecutionEngine.html#ga938547eb96583128943287c756268b38">LLVMGetPointerToGlobal</a>(<a class="code" href="group__LLVMCExecutionEngine.html#ga6b6396d4d249f6d63508014b66c3507e">LLVMExecutionEngineRef</a> EE, <a class="code" href="group__LLVMCCoreTypes.html#ga113ce952344691b8304a43a314f8be17">LLVMValueRef</a> Global) {
+<a name="l00251"></a>00251   <span class="keywordflow">return</span> unwrap(EE)->getPointerToGlobal(unwrap<GlobalValue>(Global));
+<a name="l00252"></a>00252 }
+</pre></div></div>
+</div>
+<hr>
+<p class="footer">
+Generated on Fri Dec 21 2012 00:33:40 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>





More information about the llvm-commits mailing list