1; RUN: rm -rf %t && mkdir -p %t
2; RUN: echo 'target datalayout = "e"' > %t/little.txt
3; RUN: echo 'target datalayout = "E"' > %t/big.txt
4; RUN: echo '!9 = !{!"%/t/version.ll", !0}' > %t/version.txt
5; RUN: cat %t/little.txt %s %t/version.txt > %t/2
6
7; RUN: opt -insert-gcov-profiling -disable-output < %t/2
8; RUN: head -c8 %t/version.gcno | grep '^oncg.804'
9; RUN: rm %t/version.gcno
10; RUN: not --crash opt -insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2
11; RUN: opt -insert-gcov-profiling -default-gcov-version='402*' -disable-output < %t/2
12; RUN: head -c8 %t/version.gcno | grep '^oncg.204'
13; RUN: rm %t/version.gcno
14
15; RUN: opt -passes=insert-gcov-profiling -disable-output < %t/2
16; RUN: head -c8 %t/version.gcno | grep '^oncg.804'
17; RUN: rm %t/version.gcno
18; RUN: not --crash opt -passes=insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t/2
19; RUN: opt -passes=insert-gcov-profiling -default-gcov-version='402*' -disable-output < %t/2
20; RUN: head -c8 %t/version.gcno | grep '^oncg.204'
21; RUN: rm %t/version.gcno
22
23; RUN: cat %t/big.txt %s %t/version.txt > %t/big.ll
24; RUN: opt -insert-gcov-profiling -disable-output < %t/big.ll
25; RUN: head -c8 %t/version.gcno | grep '^gcno408.'
26
27define void @test() !dbg !5 {
28  ret void, !dbg !8
29}
30
31!llvm.gcov = !{!9}
32!llvm.dbg.cu = !{!0}
33!llvm.module.flags = !{!12}
34
35!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)
36!2 = !DIFile(filename: "version", directory: "/usr/local/google/home/nlewycky")
37!3 = !{}
38!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)
39!6 = !DIFile(filename: "<stdin>", directory: ".")
40!7 = !DISubroutineType(types: !{null})
41!8 = !DILocation(line: 1, scope: !5)
42;; !9 is added through the echo line at the top.
43!10 = !DIFile(filename: "<stdin>", directory: ".")
44!11 = !DIFile(filename: "version", directory: "/usr/local/google/home/nlewycky")
45!12 = !{i32 1, !"Debug Info Version", i32 3}
46