mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-12 14:17:59 +00:00
c61bc48acb
Since r241097, `DIBuilder` has only created distinct `DICompileUnit`s. The backend is liable to start relying on that (if it hasn't already), so make uniquable `DICompileUnit`s illegal and automatically upgrade old bitcode. This is a nice cleanup, since we can remove an unnecessary `DenseSet` (and the associated uniquing info) from `LLVMContextImpl`. Almost all the testcases were updated with this script: git grep -e '= !DICompileUnit' -l -- test | grep -v test/Bitcode | xargs sed -i '' -e 's,= !DICompileUnit,= distinct !DICompileUnit,' I imagine something similar should work for out-of-tree testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243885 91177308-0d34-0410-b5e6-96231b3b80d8
26 lines
1.1 KiB
LLVM
26 lines
1.1 KiB
LLVM
; RUN: llc < %s -o /dev/null
|
|
; PR 5942
|
|
define i8* @foo() nounwind {
|
|
entry:
|
|
%0 = load i32, i32* undef, align 4, !dbg !0 ; <i32> [#uses=1]
|
|
%1 = inttoptr i32 %0 to i8*, !dbg !0 ; <i8*> [#uses=1]
|
|
ret i8* %1, !dbg !10
|
|
|
|
}
|
|
|
|
!llvm.dbg.cu = !{!3}
|
|
!llvm.module.flags = !{!14}
|
|
|
|
!0 = !DILocation(line: 571, column: 3, scope: !1)
|
|
!1 = distinct !DILexicalBlock(line: 1, column: 1, file: !11, scope: !2)
|
|
!2 = !DISubprogram(name: "foo", linkageName: "foo", line: 561, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scope: !3, type: !4)
|
|
!3 = distinct !DICompileUnit(language: DW_LANG_C99, producer: "clang 1.1", isOptimized: true, emissionKind: 0, file: !11, enums: !12, retainedTypes: !12, subprograms: !13)
|
|
!4 = !DISubroutineType(types: !5)
|
|
!5 = !{!6}
|
|
!6 = !DIBasicType(tag: DW_TAG_base_type, name: "char", size: 8, align: 8, encoding: DW_ATE_signed_char)
|
|
!10 = !DILocation(line: 588, column: 1, scope: !2)
|
|
!11 = !DIFile(filename: "hashtab.c", directory: "/usr/src/gnu/usr.bin/cc/cc_tools/../../../../contrib/gcclibs/libiberty")
|
|
!12 = !{}
|
|
!13 = !{!2}
|
|
!14 = !{i32 1, !"Debug Info Version", i32 3}
|