<li><a href="#GetElementPtrInst">The <tt>GetElementPtrInst</tt>
class</a></li>
</ul></li>
- <li><a href="#GlobalValue">The <tt>GlobalValue</tt> class</a>
- <ul>
- <li><a href="#BasicBlock">The <tt>BasicBlock</tt>class</a></li>
- <li><a href="#Function">The <tt>Function</tt> class</a></li>
- <li><a href="#GlobalVariable">The <tt>GlobalVariable</tt> class
- </a></li>
- </ul></li>
<li><a href="#Module">The <tt>Module</tt> class</a></li>
- <li><a href="#Constant">The <tt>Constant</tt> class</a></li>
+ <li><a href="#Constant">The <tt>Constant</tt> class</a>
+ <ul>
+ <li><a href="#GlobalValue">The <tt>GlobalValue</tt> class</a>
+ <ul>
+ <li><a href="#BasicBlock">The <tt>BasicBlock</tt>class</a></li>
+ <li><a href="#Function">The <tt>Function</tt> class</a></li>
+ <li><a href="#GlobalVariable">The <tt>GlobalVariable</tt> class
+ </a></li>
+ </ul></li>
+ </ul>
+ </li>
<li><a href="#Type">The <tt>Type</tt> class</a> </li>
<li><a href="#Argument">The <tt>Argument</tt> class</a></li>
</ul></li>
other globals defined in different translation units. To control the linking
process, <tt>GlobalValue</tt>s know their linkage rules. Specifically,
<tt>GlobalValue</tt>s know whether they have internal or external linkage, as
-defined by the <tt>LinkageTypes</tt> enumerator.</p>
+defined by the <tt>LinkageTypes</tt> enumeration.</p>
<p>If a <tt>GlobalValue</tt> has internal linkage (equivalent to being
<tt>static</tt> in C), it is not visible to code outside the current translation
href="#BasicBlock"><tt>BasicBlock</tt></a>s, or <a
href="#Argument"><tt>Argument</tt></a>s in the function body.</p>
+<p>Note that <tt>Function</tt> is a <a href="#GlobalValue">GlobalValue</a>
+and therefore also a <a href="#Constant">Constant</a>. The value of the function
+is its address (after linking) which is guaranteed to be constant.</p>
</div>
<!-- _______________________________________________________________________ -->
<p><tt>#include "<a
href="/doxygen/GlobalVariable_8h-source.html">llvm/GlobalVariable.h</a>"</tt>
<br>
-doxygen info: <a href="/doxygen/classGlobalVariable.html">GlobalVariable
+doxygen info: <a href="/doxygen/classllvm_1_1GlobalVariable.html">GlobalVariable
Class</a><br> Superclasses: <a href="#GlobalValue"><tt>GlobalValue</tt></a>, <a
href="#User"><tt>User</tt></a>, <a href="#Value"><tt>Value</tt></a></p>
<p><tt>#include "<a
href="/doxygen/Module_8h-source.html">llvm/Module.h</a>"</tt><br> doxygen info:
-<a href="/doxygen/structllvm_1_1Module.html">Module Class</a></p>
+<a href="/doxygen/classllvm_1_1Module.html">Module Class</a></p>
<p>The <tt>Module</tt> class represents the top level structure present in LLVM
programs. An LLVM module is effectively either a translation unit of the
<div class="doc_text">
<ul>
- <li><tt>bool isConstantExpr()</tt>: Returns true if it is a
-ConstantExpr
<hr> Important Subclasses of Constant
<p> </p>
<ul>
Returns a Vecotr of component constants that makeup this array. </li>
</ul>
</li>
- <li>ConstantPointerRef : This represents a constant pointer value
-that is initialized to point to a global value, which lies at a
-constant fixed address.
- <ul>
- <li><tt>GlobalValue *getValue()</tt>: Returns the global
-value to which this pointer is pointing to. </li>
- </ul>
+ <li>GlobalValue : This represents either a global variable or a
+ function. In either case, the value is a constant fixed address
+ (after linking).
</li>
</ul>
</li>
</ul>
-
</div>
<!-- ======================================================================= -->
return false as they do with isSigned. This returns true for UByteTy,
UShortTy, UIntTy, and ULongTy. </li>
- <li><tt>bool isInteger() const</tt>: Equilivent to isSigned() || isUnsigned(),
- but with only a single virtual function invocation.</li>
+ <li><tt>bool isInteger() const</tt>: Equivalent to isSigned() || isUnsigned().</li>
<li><tt>bool isIntegral() const</tt>: Returns true if this is an integral
type, which is either Bool type or one of the Integer types.</li>