2015-02-02 18:31:58 +00:00
; RUN: llc < %s -filetype=obj | llvm-dwarfdump -debug-dump=info - | FileCheck %s
; from (at -Os):
; void foo() {
; float a = 3.14;
; *(int *)&a = 0;
; }
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-macosx10.10.0"
; Function Attrs: nounwind optsize readnone uwtable
define void @foo ( ) #0 {
entry:
tail call void @llvm.dbg.declare ( metadata float * undef , metadata !13 , metadata !19 ) , !dbg !20
tail call void @llvm.dbg.value ( metadata i32 1078523331 , i64 0 , metadata !13 , metadata !19 ) , !dbg !20
tail call void @llvm.dbg.value ( metadata i32 0 , i64 0 , metadata !13 , metadata !19 ) , !dbg !20
; CHECK: DW_AT_const_value [DW_FORM_sdata] (0)
; CHECK-NEXT: DW_AT_name {{.*}}"a"
ret void , !dbg !21
}
; Function Attrs: nounwind readnone
declare void @llvm.dbg.declare ( metadata , metadata , metadata ) #1
; Function Attrs: nounwind readnone
declare void @llvm.dbg.value ( metadata , i64 , metadata , metadata ) #1
attributes #0 = { nounwind optsize readnone uwtable }
attributes #1 = { nounwind readnone }
!llvm.dbg.cu = ! { !0 }
!llvm.module.flags = ! { !15 , !16 , !17 }
!llvm.ident = ! { !18 }
2015-03-03 17:24:31 +00:00
!0 = !MDCompileUnit ( language: D W _ L A N G _ C 99 , producer: "clang version 3.7.0 (trunk 227686)" , isOptimized: true , emissionKind: 1 , file: !1 , enums: !2 , retainedTypes: !3 , subprograms: !6 , globals: !2 , imports: !2 )
!1 = !MDFile ( filename: "foo.c" , directory: "" )
2015-02-02 18:31:58 +00:00
!2 = ! { }
!3 = ! { !4 }
2015-03-03 17:24:31 +00:00
!4 = !MDDerivedType ( tag: D W _ T A G _ p o i n t e r _ type , size: 64 , align: 64 , baseType: !5 )
!5 = !MDBasicType ( tag: D W _ T A G _ b a s e _ type , name: "int" , size: 32 , align: 32 , encoding: D W _ A T E _ s i g n e d )
2015-02-02 18:31:58 +00:00
!6 = ! { !7 }
2015-03-03 17:24:31 +00:00
!7 = !MDSubprogram ( name: "foo" , line: 1 , isLocal: false , isDefinition: true , isOptimized: true , scopeLine: 1 , file: !8 , scope: !9 , type: !10 , function: void ( ) * @foo , variables: !12 )
!8 = !MDFile ( filename: "foo.c" , directory: "" )
!9 = !MDFile ( filename: "foo.c" , directory: "" )
!10 = !MDSubroutineType ( types: !11 )
2015-02-02 18:31:58 +00:00
!11 = ! { null }
!12 = ! { !13 }
2015-03-03 17:24:31 +00:00
!13 = !MDLocalVariable ( tag: D W _ T A G _ a u t o _ v a r i a b l e , name: "a" , line: 2 , scope: !7 , file: !9 , type: !14 )
!14 = !MDBasicType ( tag: D W _ T A G _ b a s e _ type , name: "float" , size: 32 , align: 32 , encoding: D W _ A T E _ float )
2015-02-02 18:31:58 +00:00
!15 = ! { i32 2 , !"Dwarf Version" , i32 2 }
2015-03-03 17:24:31 +00:00
!16 = ! { i32 2 , !"Debug Info Version" , i32 3 }
2015-02-02 18:31:58 +00:00
!17 = ! { i32 1 , !"PIC Level" , i32 2 }
!18 = ! { !"clang version 3.7.0 (trunk 227686)" }
2015-03-03 17:24:31 +00:00
!19 = !MDExpression ( )
2015-02-02 18:31:58 +00:00
!20 = !MDLocation ( line: 2 , column: 9 , scope: !7 )
!21 = !MDLocation ( line: 4 , column: 1 , scope: !7 )