[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> ®isterID)<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