mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
595401e441
gcov 4.8 (r189778) moved the exit block from the last to the second. The .gcda format is compatible with 4.7 but * decoding libgcov 4.7 produced .gcda with gcov [4.7,8) can mistake the exit block, emit bogus `%s:'%s' has arcs from exit block\n` warnings, and print wrong `" returned %s` for branch statistics (-b). * decoding libgcov 4.8 produced .gcda with gcov 4.7 has similar issues. Also, rename "return block" to "exit block" because the latter is the appropriate term.
39 lines
1.9 KiB
LLVM
39 lines
1.9 KiB
LLVM
; RUN: rm -rf %t && mkdir -p %t
|
|
; RUN: echo '!9 = !{!"%/t/version.ll", !0}' > %t/1
|
|
; RUN: cat %s %t/1 > %t/2
|
|
; RUN: opt -insert-gcov-profiling -disable-output < %t/2
|
|
; RUN: head -c8 %t/version.gcno | grep '^oncg.804'
|
|
; RUN: rm %t/version.gcno
|
|
; RUN: not --crash opt -insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2
|
|
; RUN: opt -insert-gcov-profiling -default-gcov-version='402*' -disable-output < %t/2
|
|
; RUN: head -c8 %t/version.gcno | grep '^oncg.204'
|
|
; RUN: rm %t/version.gcno
|
|
|
|
; RUN: opt -passes=insert-gcov-profiling -disable-output < %t/2
|
|
; RUN: head -c8 %t/version.gcno | grep '^oncg.804'
|
|
; RUN: rm %t/version.gcno
|
|
; RUN: not --crash opt -passes=insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2
|
|
; RUN: opt -passes=insert-gcov-profiling -default-gcov-version='402*' -disable-output < %t/2
|
|
; RUN: head -c8 %t/version.gcno | grep '^oncg.204'
|
|
; RUN: rm %t/version.gcno
|
|
|
|
define void @test() !dbg !5 {
|
|
ret void, !dbg !8
|
|
}
|
|
|
|
!llvm.gcov = !{!9}
|
|
!llvm.dbg.cu = !{!0}
|
|
!llvm.module.flags = !{!12}
|
|
|
|
!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang version 3.3 (trunk 176994)", isOptimized: false, emissionKind: FullDebug, file: !11, enums: !3, retainedTypes: !3, globals: !3)
|
|
!2 = !DIFile(filename: "version", directory: "/usr/local/google/home/nlewycky")
|
|
!3 = !{}
|
|
!5 = distinct !DISubprogram(name: "test", line: 1, isLocal: false, isDefinition: true, virtualIndex: 6, flags: DIFlagPrototyped, isOptimized: false, unit: !0, scopeLine: 1, file: !10, scope: !6, type: !7, retainedNodes: !3)
|
|
!6 = !DIFile(filename: "<stdin>", directory: ".")
|
|
!7 = !DISubroutineType(types: !{null})
|
|
!8 = !DILocation(line: 1, scope: !5)
|
|
;; !9 is added through the echo line at the top.
|
|
!10 = !DIFile(filename: "<stdin>", directory: ".")
|
|
!11 = !DIFile(filename: "version", directory: "/usr/local/google/home/nlewycky")
|
|
!12 = !{i32 1, !"Debug Info Version", i32 3}
|