Update polly for LLVM rename of debug info metadata with DI* prefix

Ran the same rename-md-di-prefix.sh script attached to PR23080 as in
LLVM r236120 and CFE r236121.

llvm-svn: 236127
This commit is contained in:
Duncan P. N. Exon Smith 2015-04-29 17:02:14 +00:00
parent 97b7e26d13
commit ddf3a0ef38
12 changed files with 236 additions and 236 deletions

View File

@ -72,7 +72,7 @@ void getDebugLocation(const Region *R, unsigned &LineBegin, unsigned &LineEnd,
if (!DL)
continue;
auto *Scope = cast<MDScope>(DL.getScope());
auto *Scope = cast<DIScope>(DL.getScope());
if (FileName.empty())
FileName = Scope->getFilename();

View File

@ -35,36 +35,36 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
!llvm.module.flags = !{!15, !16}
!llvm.ident = !{!17}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: true, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !12, imports: !2)
!1 = !MDFile(filename: "t2.c", directory: "/local/mnt/workspace/build/tip-Release")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: true, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !12, imports: !2)
!1 = !DIFile(filename: "t2.c", directory: "/local/mnt/workspace/build/tip-Release")
!2 = !{}
!3 = !{!4}
!4 = !MDSubprogram(name: "foo", line: 3, isLocal: false, isDefinition: true, isOptimized: true, scopeLine: 3, file: !1, scope: !5, type: !6, function: void ()* @foo, variables: !8)
!5 = !MDFile(filename: "t2.c", directory: "/local/mnt/workspace/build/tip-Release")
!6 = !MDSubroutineType(types: !7)
!4 = !DISubprogram(name: "foo", line: 3, isLocal: false, isDefinition: true, isOptimized: true, scopeLine: 3, file: !1, scope: !5, type: !6, function: void ()* @foo, variables: !8)
!5 = !DIFile(filename: "t2.c", directory: "/local/mnt/workspace/build/tip-Release")
!6 = !DISubroutineType(types: !7)
!7 = !{null}
!8 = !{!9}
!9 = !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 4, scope: !10, file: !5, type: !11)
!10 = distinct !MDLexicalBlock(line: 4, column: 3, file: !1, scope: !4)
!11 = !MDBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!9 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 4, scope: !10, file: !5, type: !11)
!10 = distinct !DILexicalBlock(line: 4, column: 3, file: !1, scope: !4)
!11 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!12 = !{!13}
!13 = !MDGlobalVariable(name: "A", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !14, variable: i32** @A)
!14 = !MDDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !11)
!13 = !DIGlobalVariable(name: "A", line: 2, isLocal: false, isDefinition: true, scope: null, file: !5, type: !14, variable: i32** @A)
!14 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !11)
!15 = !{i32 2, !"Dwarf Version", i32 4}
!16 = !{i32 2, !"Debug Info Version", i32 3}
!17 = !{!"clang version 3.6.0 "}
!18 = !{i32 0}
!19 = !MDExpression()
!20 = !MDLocation(line: 4, column: 12, scope: !10)
!21 = !MDLocation(line: 5, column: 5, scope: !22)
!22 = distinct !MDLexicalBlock(line: 4, column: 3, file: !1, scope: !10)
!19 = !DIExpression()
!20 = !DILocation(line: 4, column: 12, scope: !10)
!21 = !DILocation(line: 5, column: 5, scope: !22)
!22 = distinct !DILexicalBlock(line: 4, column: 3, file: !1, scope: !10)
!23 = !{!24, !24, i64 0}
!24 = !{!"any pointer", !25, i64 0}
!25 = !{!"omnipotent char", !26, i64 0}
!26 = !{!"Simple C/C++ TBAA"}
!27 = !MDLocation(line: 4, column: 3, scope: !28)
!28 = !MDLexicalBlockFile(discriminator: 2, file: !1, scope: !29)
!29 = !MDLexicalBlockFile(discriminator: 1, file: !1, scope: !22)
!27 = !DILocation(line: 4, column: 3, scope: !28)
!28 = !DILexicalBlockFile(discriminator: 2, file: !1, scope: !29)
!29 = !DILexicalBlockFile(discriminator: 1, file: !1, scope: !22)
!30 = !{!31, !31, i64 0}
!31 = !{!"int", !25, i64 0}
!32 = !MDLocation(line: 6, column: 1, scope: !4)
!32 = !DILocation(line: 6, column: 1, scope: !4)

View File

@ -7,9 +7,9 @@ entry:
br label %entry.split
entry.split: ; preds = %entry
tail call void @llvm.dbg.value(metadata float* %A, i64 0, metadata !14, metadata !MDExpression()), !dbg !15
tail call void @llvm.dbg.value(metadata i64 %N, i64 0, metadata !16, metadata !MDExpression()), !dbg !15
tail call void @llvm.dbg.value(metadata i64 0, i64 0, metadata !18, metadata !MDExpression()), !dbg !20
tail call void @llvm.dbg.value(metadata float* %A, i64 0, metadata !14, metadata !DIExpression()), !dbg !15
tail call void @llvm.dbg.value(metadata i64 %N, i64 0, metadata !16, metadata !DIExpression()), !dbg !15
tail call void @llvm.dbg.value(metadata i64 0, i64 0, metadata !18, metadata !DIExpression()), !dbg !20
%cmp1 = icmp sgt i64 %N, 0, !dbg !20
br i1 %cmp1, label %for.body.lr.ph, label %for.end, !dbg !20
@ -22,7 +22,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%conv = sitofp i64 %0 to float, !dbg !21
store float %conv, float* %arrayidx, align 4, !dbg !21
%1 = add nsw i64 %0, 1, !dbg !20
tail call void @llvm.dbg.value(metadata i64 %1, i64 0, metadata !18, metadata !MDExpression()), !dbg !20
tail call void @llvm.dbg.value(metadata i64 %1, i64 0, metadata !18, metadata !DIExpression()), !dbg !20
%exitcond = icmp ne i64 %1, %N, !dbg !20
br i1 %exitcond, label %for.body, label %for.cond.for.end_crit_edge, !dbg !20
@ -54,26 +54,26 @@ attributes #1 = { nounwind readnone }
!llvm.module.flags = !{!11, !12}
!llvm.ident = !{!13}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.5 ", isOptimized: false, emissionKind: 0, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "loop.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.5 ", isOptimized: false, emissionKind: 0, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "loop.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!2 = !{}
!3 = !{!4}
!4 = !MDSubprogram(name: "foo", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (float*, i64)* @foo, variables: !2)
!5 = !MDFile(filename: "loop.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!6 = !MDSubroutineType(types: !7)
!4 = !DISubprogram(name: "foo", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (float*, i64)* @foo, variables: !2)
!5 = !DIFile(filename: "loop.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!6 = !DISubroutineType(types: !7)
!7 = !{null, !8, !10}
!8 = !MDDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !MDBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
!10 = !MDBasicType(tag: DW_TAG_base_type, name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
!8 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
!10 = !DIBasicType(tag: DW_TAG_base_type, name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
!11 = !{i32 2, !"Dwarf Version", i32 4}
!12 = !{i32 1, !"Debug Info Version", i32 3}
!13 = !{!"clang version 3.5 "}
!14 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!15 = !MDLocation(line: 1, scope: !4)
!16 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "N", line: 1, arg: 2, scope: !4, file: !5, type: !10)
!14 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!15 = !DILocation(line: 1, scope: !4)
!16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "N", line: 1, arg: 2, scope: !4, file: !5, type: !10)
!17 = !{i64 0}
!18 = !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !19, file: !5, type: !10)
!19 = distinct !MDLexicalBlock(line: 2, column: 0, file: !1, scope: !4)
!20 = !MDLocation(line: 2, scope: !19)
!21 = !MDLocation(line: 3, scope: !19)
!22 = !MDLocation(line: 4, scope: !4)
!18 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !19, file: !5, type: !10)
!19 = distinct !DILexicalBlock(line: 2, column: 0, file: !1, scope: !4)
!20 = !DILocation(line: 2, scope: !19)
!21 = !DILocation(line: 3, scope: !19)
!22 = !DILocation(line: 4, scope: !4)

View File

@ -59,23 +59,23 @@ attributes #0 = { nounwind uwtable "less-precise-fpmad"="false" "no-frame-pointe
!llvm.module.flags = !{!8, !9}
!llvm.ident = !{!10}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.5 ", isOptimized: false, emissionKind: 0, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "test.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.5 ", isOptimized: false, emissionKind: 0, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "test.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!2 = !{}
!3 = !{!4, !7}
!4 = !MDSubprogram(name: "foo", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (float*)* @foo, variables: !2)
!5 = !MDFile(filename: "test.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!6 = !MDSubroutineType(types: !{null})
!7 = !MDSubprogram(name: "bar", line: 6, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 6, file: !1, scope: !5, type: !6, function: void (float*)* @bar, variables: !2)
!4 = !DISubprogram(name: "foo", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (float*)* @foo, variables: !2)
!5 = !DIFile(filename: "test.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!6 = !DISubroutineType(types: !{null})
!7 = !DISubprogram(name: "bar", line: 6, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 6, file: !1, scope: !5, type: !6, function: void (float*)* @bar, variables: !2)
!8 = !{i32 2, !"Dwarf Version", i32 4}
!9 = !{i32 1, !"Debug Info Version", i32 3}
!10 = !{!"clang version 3.5 "}
!11 = !MDLocation(line: 2, scope: !12)
!12 = distinct !MDLexicalBlock(line: 2, column: 0, file: !1, scope: !4)
!13 = !MDLocation(line: 3, scope: !12)
!14 = !MDLocation(line: 4, scope: !4)
!15 = !MDLocation(line: 9, scope: !16)
!16 = distinct !MDLexicalBlock(line: 9, column: 0, file: !1, scope: !7)
!17 = !MDLocation(line: 13, scope: !16)
!18 = !MDLocation(line: 14, scope: !7)
!11 = !DILocation(line: 2, scope: !12)
!12 = distinct !DILexicalBlock(line: 2, column: 0, file: !1, scope: !4)
!13 = !DILocation(line: 3, scope: !12)
!14 = !DILocation(line: 4, scope: !4)
!15 = !DILocation(line: 9, scope: !16)
!16 = distinct !DILexicalBlock(line: 9, column: 0, file: !1, scope: !7)
!17 = !DILocation(line: 13, scope: !16)
!18 = !DILocation(line: 14, scope: !7)

View File

@ -16,9 +16,9 @@ entry:
br label %entry.split
entry.split: ; preds = %entry
tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !MDExpression()), !dbg !14
tail call void @llvm.dbg.value(metadata i32* %B, i64 0, metadata !15, metadata !MDExpression()), !dbg !16
tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18, metadata !MDExpression()), !dbg !20
tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !DIExpression()), !dbg !14
tail call void @llvm.dbg.value(metadata i32* %B, i64 0, metadata !15, metadata !DIExpression()), !dbg !16
tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18, metadata !DIExpression()), !dbg !20
br label %for.body, !dbg !21
for.body: ; preds = %entry.split, %for.body
@ -27,7 +27,7 @@ for.body: ; preds = %entry.split, %for.b
%arrayidx2 = getelementptr i32, i32* %A, i64 %indvar, !dbg !22
%0 = load i32, i32* %arrayidx, align 4, !dbg !22
store i32 %0, i32* %arrayidx2, align 4, !dbg !22
tail call void @llvm.dbg.value(metadata !{null}, i64 0, metadata !18, metadata !MDExpression()), !dbg !20
tail call void @llvm.dbg.value(metadata !{null}, i64 0, metadata !18, metadata !DIExpression()), !dbg !20
%indvar.next = add i64 %indvar, 1, !dbg !21
%exitcond = icmp ne i64 %indvar.next, 42, !dbg !21
br i1 %exitcond, label %for.body, label %for.end, !dbg !21
@ -43,27 +43,27 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata)
!llvm.module.flags = !{!10, !11}
!llvm.ident = !{!12}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: false, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "ReportAlias-01.c", directory: "test/ScopDetectionDiagnostic/")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: false, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "ReportAlias-01.c", directory: "test/ScopDetectionDiagnostic/")
!2 = !{}
!3 = !{!4}
!4 = !MDSubprogram(name: "f", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (i32*, i32*)* @f, variables: !2)
!5 = !MDFile(filename: "ReportAlias-01.c", directory: "test/ScopDetectionDiagnostic/")
!6 = !MDSubroutineType(types: !7)
!4 = !DISubprogram(name: "f", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (i32*, i32*)* @f, variables: !2)
!5 = !DIFile(filename: "ReportAlias-01.c", directory: "test/ScopDetectionDiagnostic/")
!6 = !DISubroutineType(types: !7)
!7 = !{null, !8, !8}
!8 = !MDDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !MDBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!8 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!10 = !{i32 2, !"Dwarf Version", i32 4}
!11 = !{i32 2, !"Debug Info Version", i32 3}
!12 = !{!"clang version 3.6.0 "}
!13 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!14 = !MDLocation(line: 1, column: 12, scope: !4)
!15 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "B", line: 1, arg: 2, scope: !4, file: !5, type: !8)
!16 = !MDLocation(line: 1, column: 21, scope: !4)
!13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!14 = !DILocation(line: 1, column: 12, scope: !4)
!15 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "B", line: 1, arg: 2, scope: !4, file: !5, type: !8)
!16 = !DILocation(line: 1, column: 21, scope: !4)
!17 = !{i32 0}
!18 = !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !19, file: !5, type: !9)
!19 = distinct !MDLexicalBlock(line: 2, column: 3, file: !1, scope: !4)
!20 = !MDLocation(line: 2, column: 12, scope: !19)
!21 = !MDLocation(line: 2, column: 8, scope: !19)
!22 = !MDLocation(line: 3, column: 5, scope: !19)
!23 = !MDLocation(line: 4, column: 1, scope: !4)
!18 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !19, file: !5, type: !9)
!19 = distinct !DILexicalBlock(line: 2, column: 3, file: !1, scope: !4)
!20 = !DILocation(line: 2, column: 12, scope: !19)
!21 = !DILocation(line: 2, column: 8, scope: !19)
!22 = !DILocation(line: 3, column: 5, scope: !19)
!23 = !DILocation(line: 4, column: 1, scope: !4)

View File

@ -39,29 +39,29 @@ for.end: ; preds = %for.body
!llvm.module.flags = !{!7, !8}
!llvm.ident = !{!9}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: true, emissionKind: 2, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly/test/ScopDetectionDiagnostics")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: true, emissionKind: 2, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly/test/ScopDetectionDiagnostics")
!2 = !{}
!3 = !{!4}
!4 = !MDSubprogram(name: "differenttypes", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2, file: !1, scope: !5, type: !6, function: void (i8*)* @differenttypes, variables: !2)
!5 = !MDFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly/test/ScopDetectionDiagnostics")
!6 = !MDSubroutineType(types: !2)
!4 = !DISubprogram(name: "differenttypes", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2, file: !1, scope: !5, type: !6, function: void (i8*)* @differenttypes, variables: !2)
!5 = !DIFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly/test/ScopDetectionDiagnostics")
!6 = !DISubroutineType(types: !2)
!7 = !{i32 2, !"Dwarf Version", i32 4}
!8 = !{i32 2, !"Debug Info Version", i32 3}
!9 = !{!"clang version 3.6.0 "}
!10 = !MDLocation(line: 3, column: 20, scope: !11)
!11 = !MDLexicalBlockFile(discriminator: 2, file: !1, scope: !12)
!12 = !MDLexicalBlockFile(discriminator: 1, file: !1, scope: !13)
!13 = distinct !MDLexicalBlock(line: 3, column: 3, file: !1, scope: !14)
!14 = distinct !MDLexicalBlock(line: 3, column: 3, file: !1, scope: !4)
!15 = !MDLocation(line: 4, column: 32, scope: !13)
!16 = !MDLocation(line: 4, column: 22, scope: !13)
!17 = !MDLocation(line: 4, column: 14, scope: !13)
!10 = !DILocation(line: 3, column: 20, scope: !11)
!11 = !DILexicalBlockFile(discriminator: 2, file: !1, scope: !12)
!12 = !DILexicalBlockFile(discriminator: 1, file: !1, scope: !13)
!13 = distinct !DILexicalBlock(line: 3, column: 3, file: !1, scope: !14)
!14 = distinct !DILexicalBlock(line: 3, column: 3, file: !1, scope: !4)
!15 = !DILocation(line: 4, column: 32, scope: !13)
!16 = !DILocation(line: 4, column: 22, scope: !13)
!17 = !DILocation(line: 4, column: 14, scope: !13)
!18 = !{!19, !19, i64 0}
!19 = !{!"double", !20, i64 0}
!20 = !{!"omnipotent char", !21, i64 0}
!21 = !{!"Simple C/C++ TBAA"}
!22 = !{!23, !23, i64 0}
!23 = !{!"float", !20, i64 0}
!24 = !MDLocation(line: 3, column: 30, scope: !13)
!25 = !MDLocation(line: 5, column: 1, scope: !4)
!24 = !DILocation(line: 3, column: 30, scope: !13)
!25 = !DILocation(line: 5, column: 1, scope: !4)

View File

@ -45,22 +45,22 @@ declare double @invalidCall(double*) #1
!llvm.module.flags = !{!7, !8}
!llvm.ident = !{!9}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.5.0 ", isOptimized: true, emissionKind: 2, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "ReportFuncCall.c", directory: "/home/simbuerg/Projekte/llvm/tools/polly/test/ScopDetectionDiagnostics")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.5.0 ", isOptimized: true, emissionKind: 2, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "ReportFuncCall.c", directory: "/home/simbuerg/Projekte/llvm/tools/polly/test/ScopDetectionDiagnostics")
!2 = !{}
!3 = !{!4}
!4 = !MDSubprogram(name: "a", line: 3, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 3, file: !1, scope: !5, type: !6, function: void (double*, i32)* @a, variables: !2)
!5 = !MDFile(filename: "ReportFuncCall.c", directory: "/home/simbuerg/Projekte/llvm/tools/polly/test/ScopDetectionDiagnostics")
!6 = !MDSubroutineType(types: !2)
!4 = !DISubprogram(name: "a", line: 3, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 3, file: !1, scope: !5, type: !6, function: void (double*, i32)* @a, variables: !2)
!5 = !DIFile(filename: "ReportFuncCall.c", directory: "/home/simbuerg/Projekte/llvm/tools/polly/test/ScopDetectionDiagnostics")
!6 = !DISubroutineType(types: !2)
!7 = !{i32 2, !"Dwarf Version", i32 4}
!8 = !{i32 2, !"Debug Info Version", i32 3}
!9 = !{!"clang version 3.5.0 "}
!10 = !MDLocation(line: 4, column: 8, scope: !11)
!11 = distinct !MDLexicalBlock(line: 4, column: 3, file: !1, scope: !4)
!12 = !MDLocation(line: 5, column: 12, scope: !13)
!13 = distinct !MDLexicalBlock(line: 4, column: 27, file: !1, scope: !11)
!10 = !DILocation(line: 4, column: 8, scope: !11)
!11 = distinct !DILexicalBlock(line: 4, column: 3, file: !1, scope: !4)
!12 = !DILocation(line: 5, column: 12, scope: !13)
!13 = distinct !DILexicalBlock(line: 4, column: 27, file: !1, scope: !11)
!14 = !{!15, !15, i64 0}
!15 = !{!"double", !16, i64 0}
!16 = !{!"omnipotent char", !17, i64 0}
!17 = !{!"Simple C/C++ TBAA"}
!18 = !MDLocation(line: 7, column: 1, scope: !4)
!18 = !DILocation(line: 7, column: 1, scope: !4)

View File

@ -32,10 +32,10 @@ entry:
br label %entry.split
entry.split: ; preds = %entry
tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !MDExpression()), !dbg !14
tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !MDExpression()), !dbg !14
tail call void @llvm.dbg.value(metadata i32 %n, i64 0, metadata !15, metadata !MDExpression()), !dbg !16
tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18, metadata !MDExpression()), !dbg !20
tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !DIExpression()), !dbg !14
tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !DIExpression()), !dbg !14
tail call void @llvm.dbg.value(metadata i32 %n, i64 0, metadata !15, metadata !DIExpression()), !dbg !16
tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !18, metadata !DIExpression()), !dbg !20
%idxprom = sext i32 %n to i64, !dbg !21
%arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom, !dbg !21
%0 = load i32, i32* %arrayidx, align 4, !dbg !21
@ -51,7 +51,7 @@ for.body: ; preds = %for.body.lr.ph, %fo
%1 = add i64 %indvar, 1, !dbg !24
%inc = trunc i64 %1 to i32, !dbg !21
store i32 0, i32* %arrayidx2, align 4, !dbg !24
tail call void @llvm.dbg.value(metadata !{null}, i64 0, metadata !18, metadata !MDExpression()), !dbg !20
tail call void @llvm.dbg.value(metadata !{null}, i64 0, metadata !18, metadata !DIExpression()), !dbg !20
%2 = load i32, i32* %arrayidx, align 4, !dbg !21
%cmp = icmp slt i32 %inc, %2, !dbg !21
%indvar.next = add i64 %indvar, 1, !dbg !21
@ -75,31 +75,31 @@ attributes #1 = { nounwind readnone }
!llvm.module.flags = !{!10, !11}
!llvm.ident = !{!12}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: false, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "ReportLoopBound-01.c", directory: "test/ScopDetectionDiagnostic/")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: false, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "ReportLoopBound-01.c", directory: "test/ScopDetectionDiagnostic/")
!2 = !{}
!3 = !{!4}
!4 = !MDSubprogram(name: "f", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (i32*, i32)* @f, variables: !2)
!5 = !MDFile(filename: "ReportLoopBound-01.c", directory: "test/ScopDetectionDiagnostic/")
!6 = !MDSubroutineType(types: !7)
!4 = !DISubprogram(name: "f", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (i32*, i32)* @f, variables: !2)
!5 = !DIFile(filename: "ReportLoopBound-01.c", directory: "test/ScopDetectionDiagnostic/")
!6 = !DISubroutineType(types: !7)
!7 = !{null, !8, !9}
!8 = !MDDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !MDBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!8 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!10 = !{i32 2, !"Dwarf Version", i32 4}
!11 = !{i32 2, !"Debug Info Version", i32 3}
!12 = !{!"clang version 3.6.0 "}
!13 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!14 = !MDLocation(line: 1, column: 12, scope: !4)
!15 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "n", line: 1, arg: 2, scope: !4, file: !5, type: !9)
!16 = !MDLocation(line: 1, column: 21, scope: !4)
!13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!14 = !DILocation(line: 1, column: 12, scope: !4)
!15 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "n", line: 1, arg: 2, scope: !4, file: !5, type: !9)
!16 = !DILocation(line: 1, column: 21, scope: !4)
!17 = !{i32 0}
!18 = !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !19, file: !5, type: !9)
!19 = distinct !MDLexicalBlock(line: 2, column: 3, file: !1, scope: !4)
!20 = !MDLocation(line: 2, column: 12, scope: !19)
!21 = !MDLocation(line: 2, column: 8, scope: !19)
!22 = !MDLocation(line: 2, column: 8, scope: !23)
!23 = distinct !MDLexicalBlock(line: 2, column: 8, file: !1, scope: !19)
!24 = !MDLocation(line: 3, column: 5, scope: !19)
!25 = !MDLocation(line: 2, column: 8, scope: !26)
!26 = distinct !MDLexicalBlock(line: 2, column: 8, file: !1, scope: !19)
!27 = !MDLocation(line: 4, column: 1, scope: !4)
!18 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !19, file: !5, type: !9)
!19 = distinct !DILexicalBlock(line: 2, column: 3, file: !1, scope: !4)
!20 = !DILocation(line: 2, column: 12, scope: !19)
!21 = !DILocation(line: 2, column: 8, scope: !19)
!22 = !DILocation(line: 2, column: 8, scope: !23)
!23 = distinct !DILexicalBlock(line: 2, column: 8, file: !1, scope: !19)
!24 = !DILocation(line: 3, column: 5, scope: !19)
!25 = !DILocation(line: 2, column: 8, scope: !26)
!26 = distinct !DILexicalBlock(line: 2, column: 8, file: !1, scope: !19)
!27 = !DILocation(line: 4, column: 1, scope: !4)

View File

@ -113,42 +113,42 @@ for.end: ; preds = %for.body
!llvm.module.flags = !{!7, !8}
!llvm.ident = !{!9}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: true, emissionKind: 2, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly/test")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: true, emissionKind: 2, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly/test")
!2 = !{}
!3 = !{!4}
!4 = !MDSubprogram(name: "manyaccesses", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2, file: !1, scope: !5, type: !6, function: void (float*, i64, float*)* @manyaccesses, variables: !2)
!5 = !MDFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly/test")
!6 = !MDSubroutineType(types: !2)
!4 = !DISubprogram(name: "manyaccesses", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 2, file: !1, scope: !5, type: !6, function: void (float*, i64, float*)* @manyaccesses, variables: !2)
!5 = !DIFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly/test")
!6 = !DISubroutineType(types: !2)
!7 = !{i32 2, !"Dwarf Version", i32 4}
!8 = !{i32 2, !"Debug Info Version", i32 3}
!9 = !{!"clang version 3.6.0 "}
!10 = !MDLocation(line: 3, column: 20, scope: !11)
!11 = !MDLexicalBlockFile(discriminator: 2, file: !1, scope: !12)
!12 = !MDLexicalBlockFile(discriminator: 1, file: !1, scope: !13)
!13 = distinct !MDLexicalBlock(line: 3, column: 3, file: !1, scope: !14)
!14 = distinct !MDLexicalBlock(line: 3, column: 3, file: !1, scope: !4)
!15 = !MDLocation(line: 8, column: 16, scope: !16)
!16 = distinct !MDLexicalBlock(line: 3, column: 35, file: !1, scope: !13)
!17 = !MDLocation(line: 4, column: 26, scope: !16)
!18 = !MDLocation(line: 4, column: 22, scope: !16)
!19 = !MDLocation(line: 7, column: 16, scope: !16)
!20 = !MDLocation(line: 9, column: 16, scope: !16)
!21 = !MDLocation(line: 10, column: 16, scope: !16)
!22 = !MDLocation(line: 4, column: 16, scope: !16)
!27 = !MDLocation(line: 5, column: 26, scope: !16)
!28 = !MDLocation(line: 5, column: 16, scope: !16)
!29 = !MDLocation(line: 6, column: 16, scope: !16)
!30 = !MDLocation(line: 11, column: 23, scope: !16) ; [ DW_TAG_lexical_block ] [/]
!31 = !MDLocation(line: 11, column: 16, scope: !16) ; [ DW_TAG_lexical_block ] [/]
!32 = !MDLocation(line: 13, column: 21, scope: !16)
!33 = !MDLocation(line: 13, column: 26, scope: !16)
!34 = !MDLocation(line: 13, column: 31, scope: !16)
!35 = !MDLocation(line: 13, column: 36, scope: !16)
!36 = !MDLocation(line: 13, column: 41, scope: !16)
!37 = !MDLocation(line: 13, column: 46, scope: !16)
!38 = !MDLocation(line: 13, column: 51, scope: !16)
!39 = !MDLocation(line: 13, column: 11, scope: !16)
!40 = !MDLocation(line: 13, column: 5, scope: !16)
!41 = !MDLocation(line: 3, column: 30, scope: !13)
!42 = !MDLocation(line: 15, column: 1, scope: !4)
!10 = !DILocation(line: 3, column: 20, scope: !11)
!11 = !DILexicalBlockFile(discriminator: 2, file: !1, scope: !12)
!12 = !DILexicalBlockFile(discriminator: 1, file: !1, scope: !13)
!13 = distinct !DILexicalBlock(line: 3, column: 3, file: !1, scope: !14)
!14 = distinct !DILexicalBlock(line: 3, column: 3, file: !1, scope: !4)
!15 = !DILocation(line: 8, column: 16, scope: !16)
!16 = distinct !DILexicalBlock(line: 3, column: 35, file: !1, scope: !13)
!17 = !DILocation(line: 4, column: 26, scope: !16)
!18 = !DILocation(line: 4, column: 22, scope: !16)
!19 = !DILocation(line: 7, column: 16, scope: !16)
!20 = !DILocation(line: 9, column: 16, scope: !16)
!21 = !DILocation(line: 10, column: 16, scope: !16)
!22 = !DILocation(line: 4, column: 16, scope: !16)
!27 = !DILocation(line: 5, column: 26, scope: !16)
!28 = !DILocation(line: 5, column: 16, scope: !16)
!29 = !DILocation(line: 6, column: 16, scope: !16)
!30 = !DILocation(line: 11, column: 23, scope: !16) ; [ DW_TAG_lexical_block ] [/]
!31 = !DILocation(line: 11, column: 16, scope: !16) ; [ DW_TAG_lexical_block ] [/]
!32 = !DILocation(line: 13, column: 21, scope: !16)
!33 = !DILocation(line: 13, column: 26, scope: !16)
!34 = !DILocation(line: 13, column: 31, scope: !16)
!35 = !DILocation(line: 13, column: 36, scope: !16)
!36 = !DILocation(line: 13, column: 41, scope: !16)
!37 = !DILocation(line: 13, column: 46, scope: !16)
!38 = !DILocation(line: 13, column: 51, scope: !16)
!39 = !DILocation(line: 13, column: 11, scope: !16)
!40 = !DILocation(line: 13, column: 5, scope: !16)
!41 = !DILocation(line: 3, column: 30, scope: !13)
!42 = !DILocation(line: 15, column: 1, scope: !4)

View File

@ -17,8 +17,8 @@ entry:
br label %entry.split
entry.split: ; preds = %entry
tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !MDExpression()), !dbg !14
tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !16, metadata !MDExpression()), !dbg !18
tail call void @llvm.dbg.value(metadata i32* %A, i64 0, metadata !13, metadata !DIExpression()), !dbg !14
tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !16, metadata !DIExpression()), !dbg !18
br label %for.body, !dbg !19
for.body: ; preds = %entry.split, %for.body
@ -28,7 +28,7 @@ for.body: ; preds = %entry.split, %for.b
%arrayidx = getelementptr inbounds i32, i32* %A, i64 %idxprom1, !dbg !20
store i32 0, i32* %arrayidx, align 4, !dbg !20
%1 = add nsw i32 %0, 1, !dbg !21
tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !16, metadata !MDExpression()), !dbg !18
tail call void @llvm.dbg.value(metadata i32 %1, i64 0, metadata !16, metadata !DIExpression()), !dbg !18
%exitcond = icmp ne i32 %1, 42, !dbg !19
br i1 %exitcond, label %for.body, label %for.end, !dbg !19
@ -47,26 +47,26 @@ attributes #1 = { nounwind readnone }
!llvm.module.flags = !{!10, !11}
!llvm.ident = !{!12}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: false, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "ReportNonAffineAccess-01.c", directory: "test/ScopDetectionDiagnostic/")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.6.0 ", isOptimized: false, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "ReportNonAffineAccess-01.c", directory: "test/ScopDetectionDiagnostic/")
!2 = !{}
!3 = !{!4}
!4 = !MDSubprogram(name: "f", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (i32*)* @f, variables: !2)
!5 = !MDFile(filename: "ReportNonAffineAccess-01.c", directory: "test/ScopDetectionDiagnostic/")
!6 = !MDSubroutineType(types: !7)
!4 = !DISubprogram(name: "f", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (i32*)* @f, variables: !2)
!5 = !DIFile(filename: "ReportNonAffineAccess-01.c", directory: "test/ScopDetectionDiagnostic/")
!6 = !DISubroutineType(types: !7)
!7 = !{null, !8}
!8 = !MDDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !MDBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!8 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!10 = !{i32 2, !"Dwarf Version", i32 4}
!11 = !{i32 2, !"Debug Info Version", i32 3}
!12 = !{!"clang version 3.6.0 "}
!13 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!14 = !MDLocation(line: 1, column: 12, scope: !4)
!13 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!14 = !DILocation(line: 1, column: 12, scope: !4)
!15 = !{i32 0}
!16 = !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !17, file: !5, type: !9)
!17 = distinct !MDLexicalBlock(line: 2, column: 3, file: !1, scope: !4)
!18 = !MDLocation(line: 2, column: 11, scope: !17)
!19 = !MDLocation(line: 2, column: 7, scope: !17)
!20 = !MDLocation(line: 3, column: 5, scope: !17)
!21 = !MDLocation(line: 2, column: 22, scope: !17)
!22 = !MDLocation(line: 4, column: 1, scope: !4)
!16 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !17, file: !5, type: !9)
!17 = distinct !DILexicalBlock(line: 2, column: 3, file: !1, scope: !4)
!18 = !DILocation(line: 2, column: 11, scope: !17)
!19 = !DILocation(line: 2, column: 7, scope: !17)
!20 = !DILocation(line: 3, column: 5, scope: !17)
!21 = !DILocation(line: 2, column: 22, scope: !17)
!22 = !DILocation(line: 4, column: 1, scope: !4)

View File

@ -85,45 +85,45 @@ attributes #1 = { nounwind readnone }
!llvm.module.flags = !{!11, !12}
!llvm.ident = !{!13}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.7.0 (llvm/trunk 229257)", isOptimized: false, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.7.0 (llvm/trunk 229257)", isOptimized: false, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!2 = !{}
!3 = !{!4, !10}
!4 = !MDSubprogram(name: "onlyWrite", line: 1, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (float*)* @onlyWrite, variables: !2)
!5 = !MDFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!6 = !MDSubroutineType(types: !7)
!4 = !DISubprogram(name: "onlyWrite", line: 1, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 1, file: !1, scope: !5, type: !6, function: void (float*)* @onlyWrite, variables: !2)
!5 = !DIFile(filename: "/tmp/test.c", directory: "/home/grosser/Projects/polly/git/tools/polly")
!6 = !DISubroutineType(types: !7)
!7 = !{null, !8}
!8 = !MDDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !MDBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
!10 = !MDSubprogram(name: "onlyRead", line: 6, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 6, file: !1, scope: !5, type: !6, function: void (float*)* @onlyRead, variables: !2)
!8 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !DIBasicType(tag: DW_TAG_base_type, name: "float", size: 32, align: 32, encoding: DW_ATE_float)
!10 = !DISubprogram(name: "onlyRead", line: 6, isLocal: false, isDefinition: true, flags: DIFlagPrototyped, isOptimized: false, scopeLine: 6, file: !1, scope: !5, type: !6, function: void (float*)* @onlyRead, variables: !2)
!11 = !{i32 2, !"Dwarf Version", i32 4}
!12 = !{i32 2, !"Debug Info Version", i32 3}
!13 = !{!"clang version 3.7.0 (llvm/trunk 229257)"}
!14 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!15 = !MDExpression()
!16 = !MDLocation(line: 1, column: 23, scope: !4)
!17 = !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !18, file: !5, type: !19)
!18 = distinct !MDLexicalBlock(line: 2, column: 3, file: !1, scope: !4)
!19 = !MDBasicType(tag: DW_TAG_base_type, name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
!20 = !MDLocation(line: 2, column: 13, scope: !18)
!21 = !MDLocation(line: 2, column: 8, scope: !18)
!22 = !MDLocation(line: 2, column: 3, scope: !18)
!23 = !MDLocation(line: 3, column: 5, scope: !24)
!24 = distinct !MDLexicalBlock(line: 2, column: 3, file: !1, scope: !18)
!25 = !MDLocation(line: 3, column: 10, scope: !24)
!26 = !MDLocation(line: 2, column: 30, scope: !24)
!27 = !MDLocation(line: 2, column: 3, scope: !24)
!28 = !MDLocation(line: 4, column: 1, scope: !4)
!29 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 6, arg: 1, scope: !10, file: !5, type: !8)
!30 = !MDLocation(line: 6, column: 22, scope: !10)
!31 = !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 7, scope: !32, file: !5, type: !19)
!32 = distinct !MDLexicalBlock(line: 7, column: 3, file: !1, scope: !10)
!33 = !MDLocation(line: 7, column: 13, scope: !32)
!34 = !MDLocation(line: 7, column: 8, scope: !32)
!35 = !MDLocation(line: 7, column: 3, scope: !32)
!36 = !MDLocation(line: 8, column: 5, scope: !37)
!37 = distinct !MDLexicalBlock(line: 7, column: 3, file: !1, scope: !32)
!38 = !MDLocation(line: 8, column: 10, scope: !37)
!39 = !MDLocation(line: 7, column: 30, scope: !37)
!40 = !MDLocation(line: 7, column: 3, scope: !37)
!41 = !MDLocation(line: 9, column: 1, scope: !10)
!14 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 1, arg: 1, scope: !4, file: !5, type: !8)
!15 = !DIExpression()
!16 = !DILocation(line: 1, column: 23, scope: !4)
!17 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 2, scope: !18, file: !5, type: !19)
!18 = distinct !DILexicalBlock(line: 2, column: 3, file: !1, scope: !4)
!19 = !DIBasicType(tag: DW_TAG_base_type, name: "long int", size: 64, align: 64, encoding: DW_ATE_signed)
!20 = !DILocation(line: 2, column: 13, scope: !18)
!21 = !DILocation(line: 2, column: 8, scope: !18)
!22 = !DILocation(line: 2, column: 3, scope: !18)
!23 = !DILocation(line: 3, column: 5, scope: !24)
!24 = distinct !DILexicalBlock(line: 2, column: 3, file: !1, scope: !18)
!25 = !DILocation(line: 3, column: 10, scope: !24)
!26 = !DILocation(line: 2, column: 30, scope: !24)
!27 = !DILocation(line: 2, column: 3, scope: !24)
!28 = !DILocation(line: 4, column: 1, scope: !4)
!29 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 6, arg: 1, scope: !10, file: !5, type: !8)
!30 = !DILocation(line: 6, column: 22, scope: !10)
!31 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 7, scope: !32, file: !5, type: !19)
!32 = distinct !DILexicalBlock(line: 7, column: 3, file: !1, scope: !10)
!33 = !DILocation(line: 7, column: 13, scope: !32)
!34 = !DILocation(line: 7, column: 8, scope: !32)
!35 = !DILocation(line: 7, column: 3, scope: !32)
!36 = !DILocation(line: 8, column: 5, scope: !37)
!37 = distinct !DILexicalBlock(line: 7, column: 3, file: !1, scope: !32)
!38 = !DILocation(line: 8, column: 10, scope: !37)
!39 = !DILocation(line: 7, column: 30, scope: !37)
!40 = !DILocation(line: 7, column: 3, scope: !37)
!41 = !DILocation(line: 9, column: 1, scope: !10)

View File

@ -21,8 +21,8 @@ entry:
br label %entry.split
entry.split: ; preds = %entry
tail call void @llvm.dbg.value(metadata %struct.b* %A, i64 0, metadata !16, metadata !MDExpression()), !dbg !23
tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !17, metadata !MDExpression()), !dbg !25
tail call void @llvm.dbg.value(metadata %struct.b* %A, i64 0, metadata !16, metadata !DIExpression()), !dbg !23
tail call void @llvm.dbg.value(metadata i32 0, i64 0, metadata !17, metadata !DIExpression()), !dbg !25
%b = getelementptr inbounds %struct.b, %struct.b* %A, i64 0, i32 0, !dbg !26
br label %for.body, !dbg !27
@ -61,38 +61,38 @@ attributes #1 = { nounwind readnone }
!llvm.module.flags = !{!20, !21}
!llvm.ident = !{!22}
!0 = !MDCompileUnit(language: DW_LANG_C99, producer: "clang version 3.5.0 ", isOptimized: true, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !MDFile(filename: "ReportVariantBasePtr01.c", directory: "test/ScopDetectionDiagnostics")
!0 = !DICompileUnit(language: DW_LANG_C99, producer: "clang version 3.5.0 ", isOptimized: true, emissionKind: 1, file: !1, enums: !2, retainedTypes: !2, subprograms: !3, globals: !2, imports: !2)
!1 = !DIFile(filename: "ReportVariantBasePtr01.c", directory: "test/ScopDetectionDiagnostics")
!2 = !{}
!3 = !{!4}
!4 = !MDSubprogram(name: "a", line: 5, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 5, file: !1, scope: !5, type: !6, function: void (%struct.b*)* @a, variables: !15)
!5 = !MDFile(filename: "ReportVariantBasePtr01.c", directory: "test/ScopDetectionDiagnostics")
!6 = !MDSubroutineType(types: !7)
!4 = !DISubprogram(name: "a", line: 5, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: true, scopeLine: 5, file: !1, scope: !5, type: !6, function: void (%struct.b*)* @a, variables: !15)
!5 = !DIFile(filename: "ReportVariantBasePtr01.c", directory: "test/ScopDetectionDiagnostics")
!6 = !DISubroutineType(types: !7)
!7 = !{null, !8}
!8 = !MDDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !MDCompositeType(tag: DW_TAG_structure_type, name: "b", line: 1, size: 64, align: 64, file: !1, elements: !10)
!8 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !9)
!9 = !DICompositeType(tag: DW_TAG_structure_type, name: "b", line: 1, size: 64, align: 64, file: !1, elements: !10)
!10 = !{!11}
!11 = !MDDerivedType(tag: DW_TAG_member, name: "b", line: 2, size: 64, align: 64, file: !1, scope: !9, baseType: !12)
!12 = !MDDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !13)
!13 = !MDDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !14)
!14 = !MDBasicType(tag: DW_TAG_base_type, name: "double", size: 64, align: 64, encoding: DW_ATE_float)
!11 = !DIDerivedType(tag: DW_TAG_member, name: "b", line: 2, size: 64, align: 64, file: !1, scope: !9, baseType: !12)
!12 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !13)
!13 = !DIDerivedType(tag: DW_TAG_pointer_type, size: 64, align: 64, baseType: !14)
!14 = !DIBasicType(tag: DW_TAG_base_type, name: "double", size: 64, align: 64, encoding: DW_ATE_float)
!15 = !{!16, !17}
!16 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 5, arg: 1, scope: !4, file: !5, type: !8)
!17 = !MDLocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 6, scope: !18, file: !5, type: !19)
!18 = distinct !MDLexicalBlock(line: 6, column: 3, file: !1, scope: !4)
!19 = !MDBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!16 = !DILocalVariable(tag: DW_TAG_arg_variable, name: "A", line: 5, arg: 1, scope: !4, file: !5, type: !8)
!17 = !DILocalVariable(tag: DW_TAG_auto_variable, name: "i", line: 6, scope: !18, file: !5, type: !19)
!18 = distinct !DILexicalBlock(line: 6, column: 3, file: !1, scope: !4)
!19 = !DIBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed)
!20 = !{i32 2, !"Dwarf Version", i32 4}
!21 = !{i32 2, !"Debug Info Version", i32 3}
!22 = !{!"clang version 3.5.0 "}
!23 = !MDLocation(line: 5, column: 18, scope: !4)
!23 = !DILocation(line: 5, column: 18, scope: !4)
!24 = !{i32 0}
!25 = !MDLocation(line: 6, column: 12, scope: !18)
!26 = !MDLocation(line: 7, column: 5, scope: !18)
!27 = !MDLocation(line: 6, column: 8, scope: !18)
!25 = !DILocation(line: 6, column: 12, scope: !18)
!26 = !DILocation(line: 7, column: 5, scope: !18)
!27 = !DILocation(line: 6, column: 8, scope: !18)
!28 = !{!29, !30, i64 0}
!29 = !{!"b", !30, i64 0}
!30 = !{!"any pointer", !31, i64 0}
!31 = !{!"omnipotent char", !32, i64 0}
!32 = !{!"Simple C/C++ TBAA"}
!33 = !{!30, !30, i64 0}
!34 = !MDLocation(line: 8, column: 1, scope: !4)
!34 = !DILocation(line: 8, column: 1, scope: !4)