From cbb70ce070d220642b038ea101d9c0f9fbf860d6 Mon Sep 17 00:00:00 2001 From: dim Date: Sun, 20 Feb 2011 12:57:14 +0000 Subject: Vendor import of llvm trunk r126079: http://llvm.org/svn/llvm-project/llvm/trunk@126079 --- docs/SourceLevelDebugging.html | 54 +++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 29 deletions(-) (limited to 'docs/SourceLevelDebugging.html') diff --git a/docs/SourceLevelDebugging.html b/docs/SourceLevelDebugging.html index 9d82e3f..186ea4a 100644 --- a/docs/SourceLevelDebugging.html +++ b/docs/SourceLevelDebugging.html @@ -78,7 +78,7 @@ height="369"> that the LLVM debug information takes, which is useful for those interested in creating front-ends or dealing directly with the information. Further, this document provides specific examples of what debug information - for C/C++.

+ for C/C++ looks like.

@@ -460,15 +460,17 @@ provide details such as name, type and where the variable is defined.

 !3 = metadata !{
-  i32,     ;; Tag = 13 + LLVMDebugVersion (DW_TAG_lexical_block)
-  metadata ;; Reference to context descriptor
+  i32,     ;; Tag = 11 + LLVMDebugVersion (DW_TAG_lexical_block)
+  metadata,;; Reference to context descriptor
+  i32,     ;; Line number
+  i32      ;; Column number
 }
 

These descriptors provide debug information about nested blocks within a - subprogram. The array of member descriptors is used to define local - variables and deeper nested blocks.

+ subprogram. The line number and column numbers are used to dinstinguish + two lexical blocks at same depth.

@@ -539,9 +541,9 @@ DW_ATE_unsigned_char = 8 metadata, ;; Name (may be "" for anonymous types) metadata, ;; Reference to file where defined (may be NULL) i32, ;; Line number where defined (may be 0) - i32, ;; Size in bits - i32, ;; Alignment in bits - i32, ;; Offset in bits + i64, ;; Size in bits + i64, ;; Alignment in bits + i64, ;; Offset in bits metadata ;; Reference to type derived from } @@ -586,9 +588,8 @@ DW_TAG_restrict_type = 55 the bit offset if embedded in a composite type.

-

Note that the void * type is expressed as a - llvm.dbg.derivedtype.type with tag of DW_TAG_pointer_type - and NULL derived type.

+

Note that the void * type is expressed as a type derived from NULL. +

@@ -687,7 +688,7 @@ DW_TAG_inheritance = 28
-%llvm.dbg.subrange.type = type {
+!42 = metadata !{
   i32,    ;; Tag = 33 + LLVMDebugVersion (DW_TAG_subrange_type)
   i64,    ;; Low value
   i64     ;; High value
@@ -789,15 +790,12 @@ DW_TAG_return_variable = 258
 
 
-  void %llvm.dbg.declare({}*, metadata)
+  void %llvm.dbg.declare(metadata, metadata)
 

This intrinsic provides information about a local element (ex. variable.) The - first argument is the alloca for the variable, cast to a {}*. The - second argument is - the %llvm.dbg.variable containing - the description of the variable.

- + first argument is metadata holding alloca for the variable.. The + second argument is metadata containing description of the variable.

@@ -813,10 +811,8 @@ DW_TAG_return_variable = 258

This intrinsic provides information when a user source variable is set to a new value. The first argument is the new value (wrapped as metadata). The second argument is the offset in the user source variable where the new value - is written. The third argument is - the %llvm.dbg.variable containing - the description of the user source variable.

- + is written. The third argument is metadata containing description of the + user source variable.

@@ -862,13 +858,13 @@ entry: %Y = alloca i32, align 4 ; <i32*> [#uses=4] %Z = alloca i32, align 4 ; <i32*> [#uses=3] %0 = bitcast i32* %X to {}* ; <{}*> [#uses=1] - call void @llvm.dbg.declare({}* %0, metadata !0), !dbg !7 + call void @llvm.dbg.declare(metadata !{i32 * %X}, metadata !0), !dbg !7 store i32 21, i32* %X, !dbg !8 %1 = bitcast i32* %Y to {}* ; <{}*> [#uses=1] - call void @llvm.dbg.declare({}* %1, metadata !9), !dbg !10 + call void @llvm.dbg.declare(metadata !{i32 * %Y}, metadata !9), !dbg !10 store i32 22, i32* %Y, !dbg !11 %2 = bitcast i32* %Z to {}* ; <{}*> [#uses=1] - call void @llvm.dbg.declare({}* %2, metadata !12), !dbg !14 + call void @llvm.dbg.declare(metadata !{i32 * %Z}, metadata !12), !dbg !14 store i32 23, i32* %Z, !dbg !15 %tmp = load i32* %X, !dbg !16 ; <i32> [#uses=1] %tmp1 = load i32* %Y, !dbg !16 ; <i32> [#uses=1] @@ -879,7 +875,7 @@ entry: ret void, !dbg !18 } -declare void @llvm.dbg.declare({}*, metadata) nounwind readnone +declare void @llvm.dbg.declare(metadata, metadata) nounwind readnone !0 = metadata !{i32 459008, metadata !1, metadata !"X", metadata !3, i32 2, metadata !6}; [ DW_TAG_auto_variable ] @@ -921,7 +917,7 @@ declare void @llvm.dbg.declare({}*, metadata) nounwind readnone
-call void @llvm.dbg.declare({}* %0, metadata !0), !dbg !7   
+call void @llvm.dbg.declare(metadata, metadata !0), !dbg !7   
 
@@ -956,7 +952,7 @@ call void @llvm.dbg.declare({}* %0, metadata !0), !dbg !7
-call void @llvm.dbg.declare({}* %2, metadata !12), !dbg !14
+call void @llvm.dbg.declare(metadata, metadata !12), !dbg !14
 
@@ -1780,7 +1776,7 @@ enum Trees { Chris Lattner
LLVM Compiler Infrastructure
- Last modified: $Date: 2010-07-13 18:53:20 +0200 (Tue, 13 Jul 2010) $ + Last modified: $Date: 2011-02-03 01:22:17 +0100 (Thu, 03 Feb 2011) $ -- cgit v1.1