Refresh Makefile.ocaml in objdir if it is modified in srcdir.
[oota-llvm.git] / docs / SourceLevelDebugging.html
index f644fad822521b323bc11ba74cb80b6bd61bc867..5afca10b497bdd3484d3ba6fef873b5086fe3dc5 100644 (file)
@@ -66,7 +66,7 @@ height="369">
 
 <div class="doc_author">
   <p>Written by <a href="mailto:sabre@nondot.org">Chris Lattner</a>
-            and <a href="mailto:jlaskey@apple.com">Jim Laskey</a></p>
+            and <a href="mailto:jlaskey@mac.com">Jim Laskey</a></p>
 </div>
 
 
@@ -281,7 +281,7 @@ source-language is allowed to define its own objects, by using unreserved tag
 numbers.  We recommend using with tags in the range 0x1000 thru 0x2000 (there is
 a defined enum DW_TAG_user_base = 0x1000.)</p>
 
-<p>The fields of debug descriptors used internally by LLVM (MachineDebugInfo)
+<p>The fields of debug descriptors used internally by LLVM (MachineModuleInfo)
 are restricted to only the simple data types <tt>int</tt>, <tt>uint</tt>,
 <tt>bool</tt>, <tt>float</tt>, <tt>double</tt>, <tt>sbyte*</tt> and <tt> { }*
 </tt>.  References to arbitrary values are handled using a <tt> { }* </tt> and a
@@ -389,7 +389,8 @@ line correspondence.</p>
     {  }*,  ;; Global variable anchor = cast (%<a href="#format_anchors">llvm.dbg.anchor.type</a>* %<a href="#format_global_variables">llvm.dbg.global_variables</a> to {  }*),  
     {  }*,  ;; Reference to context descriptor
     sbyte*, ;; Name
-    sbyte*, ;; Display name (unmangled name if Name is the C++ mangled name)
+    sbyte*, ;; Display name (fully qualified C++ name)
+    sbyte*, ;; MIPS linkage name (for C++)
     {  }*,  ;; Reference to compile unit where defined
     uint,   ;; Line number where defined
     {  }*,  ;; Reference to type descriptor
@@ -417,7 +418,8 @@ provide details such as name, type and where the variable is defined.</p>
     {  }*,  ;; Subprogram anchor = cast (%<a href="#format_anchors">llvm.dbg.anchor.type</a>* %<a href="#format_subprograms">llvm.dbg.subprograms</a> to {  }*),  
     {  }*,  ;; Reference to context descriptor
     sbyte*, ;; Name
-    sbyte*, ;; Display name (unmangled name if Name is the C++ mangled name)
+    sbyte*, ;; Display name (fully qualified C++ name)
+    sbyte*, ;; MIPS linkage name (for C++)
     {  }*,  ;; Reference to compile unit where defined
     uint,   ;; Line number where defined
     {  }*,  ;; Reference to type descriptor
@@ -745,7 +747,7 @@ provide debug information at various points in generated code.</p>
 
 <p>This intrinsic is used to provide correspondence between the source file and
 the generated code.  The first argument is the line number (base 1), second
-argument si the column number (0 if unknown) and the third argument the source
+argument is the column number (0 if unknown) and the third argument the source
 <tt>%<a href="#format_compile_units">llvm.dbg.compile_unit</a>*</tt> cast to a
 <tt>{ }*</tt>.  Code following a call to this intrinsic will have been defined
 in close proximity of the line, column and file.  This information holds until
@@ -765,10 +767,13 @@ href="#format_common_stoppoint">lvm.dbg.stoppoint</a></tt>.</p>
 </pre>
 
 <p>This intrinsic is used to link the debug information in <tt>%<a
-href="#format_subprograms">llvm.dbg.subprogram</a></tt> to the function. It also
-defines the beginning of the function's declarative region (scope.)  The
-intrinsic should be called early in the function after the all the alloca
-instructions.  It should be paired off with a closing <tt>%<a
+href="#format_subprograms">llvm.dbg.subprogram</a></tt> to the function. It
+defines the beginning of the function's declarative region (scope). It also
+implies a call to %<tt><a
+href="#format_common_stoppoint">llvm.dbg.stoppoint</a></tt> which defines a
+source line "stop point". The intrinsic should be called early in the function
+after the all the alloca instructions.  It should be paired off with a closing
+<tt>%<a
 href="#format_common_region_end">llvm.dbg.region.end</a></tt>.  The function's
 single argument is the <tt>%<a
 href="#format_subprograms">llvm.dbg.subprogram.type</a></tt>.</p>
@@ -989,7 +994,7 @@ another scope).</p>
 
 <p>It is worth noting that this scoping mechanism is used to control scoping of
 all declarations, not just variable declarations.  For example, the scope of a
-C++ using declaration is controlled with this couldchange how name lookup is
+C++ using declaration is controlled with this and could change how name lookup is
 performed.</p>
 
 </div>