mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-27 05:53:07 +01:00
87c77233df
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. llvm-svn: 243885
21 lines
862 B
LLVM
21 lines
862 B
LLVM
; RUN: opt < %s -verify -S | FileCheck %s
|
|
|
|
; CHECK: DW_LANG_Mips_Assembler
|
|
|
|
define void @Foo(i32 %a, i32 %b) {
|
|
entry:
|
|
call void @llvm.dbg.declare(metadata i32* null, metadata !1, metadata !DIExpression()), !dbg !DILocation(scope: !6)
|
|
ret void
|
|
}
|
|
!llvm.dbg.cu = !{!2}
|
|
!llvm.module.flags = !{!5}
|
|
!2 = distinct !DICompileUnit(language: DW_LANG_Mips_Assembler, producer: "clang version 3.3 ", isOptimized: false, emissionKind: 1, file: !4, enums: !3, retainedTypes: !3, subprograms: !3, globals: !3, imports: !3)
|
|
!3 = !{}
|
|
!0 = !DILocation(line: 662302, column: 26, scope: !1)
|
|
!1 = !DILocalVariable(name: "foo", scope: !6)
|
|
!4 = !DIFile(filename: "scratch.cpp", directory: "/usr/local/google/home/blaikie/dev/scratch")
|
|
!6 = !DISubprogram()
|
|
|
|
declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone
|
|
!5 = !{i32 1, !"Debug Info Version", i32 3}
|