summaryrefslogtreecommitdiff
path: root/test/Transforms/GCOVProfiling
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2013-03-14 05:13:26 +0000
committerNick Lewycky <nicholas@mxc.ca>2013-03-14 05:13:26 +0000
commita204ef3168c8804808c716115ba915c89d8849b9 (patch)
tree89977f1b395a5d809205057e9d486774e2945ce3 /test/Transforms/GCOVProfiling
parentc14f1c4587ba19781e557dee605efac0e1bd6109 (diff)
downloadllvm-a204ef3168c8804808c716115ba915c89d8849b9.tar.gz
llvm-a204ef3168c8804808c716115ba915c89d8849b9.tar.bz2
llvm-a204ef3168c8804808c716115ba915c89d8849b9.tar.xz
Refactor GCOV's six constructor arguments into a struct with a getter that
constructs default arguments. It can now take default arguments from cl::opt'ions. Add a new -default-gcov-version=... option, and actually test it! Sink the reverse-order of the version into GCOVProfiling, hiding it from our users. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177002 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Transforms/GCOVProfiling')
-rw-r--r--test/Transforms/GCOVProfiling/lit.local.cfg1
-rw-r--r--test/Transforms/GCOVProfiling/version.ll27
2 files changed, 28 insertions, 0 deletions
diff --git a/test/Transforms/GCOVProfiling/lit.local.cfg b/test/Transforms/GCOVProfiling/lit.local.cfg
new file mode 100644
index 0000000000..19eebc0ac7
--- /dev/null
+++ b/test/Transforms/GCOVProfiling/lit.local.cfg
@@ -0,0 +1 @@
+config.suffixes = ['.ll', '.c', '.cpp']
diff --git a/test/Transforms/GCOVProfiling/version.ll b/test/Transforms/GCOVProfiling/version.ll
new file mode 100644
index 0000000000..bd7f43b5a1
--- /dev/null
+++ b/test/Transforms/GCOVProfiling/version.ll
@@ -0,0 +1,27 @@
+; RUN: echo '!9 = metadata !{metadata !"%s", metadata !0}' > %t1
+; RUN: cat %s %t1 > %t2
+; RUN: opt -insert-gcov-profiling -disable-output < %t2
+; RUN: head -c12 version.gcno | grep '^oncg\*204MVLL$'
+; RUN: rm version.gcno
+; RUN: not opt -insert-gcov-profiling -default-gcov-version=asdfasdf -disable-output < %t2
+; RUN: opt -insert-gcov-profiling -default-gcov-version=407* -disable-output < %t2
+; RUN: head -c12 version.gcno | grep '^oncg\*704MVLL$'
+; RUN: rm version.gcno
+
+define void @test() {
+ ret void, !dbg !8
+}
+
+!llvm.gcov = !{!9}
+!llvm.dbg.cu = !{!0}
+
+!0 = metadata !{metadata !"%s/version", metadata !1}
+!1 = metadata !{i32 786449, i32 0, i32 4, metadata !2, metadata !"clang version 3.3 (trunk 176994)", i1 false, metadata !"", i32 0, metadata !3, metadata !3, metadata !4, metadata !3, metadata !""} ; [ DW_TAG_compile_unit ] [./version] [DW_LANG_C_plus_plus]
+!2 = metadata !{i32 786473, metadata !"version", metadata !"/usr/local/google/home/nlewycky"} ; [ DW_TAG_file_type ]
+!3 = metadata !{i32 0}
+!4 = metadata !{metadata !5}
+!5 = metadata !{i32 786478, i32 0, metadata !6, metadata !"test", metadata !"test", metadata !"", metadata !6, i32 1, metadata !7, i1 false, i1 true, i32 0, i32 0, null, i32 256, i1 false, void ()* @test, null, null, metadata !3, i32 1} ; [ DW_TAG_subprogram ] [line 1] [def] [test]
+!6 = metadata !{i32 786473, metadata !"<stdin>", metadata !"."} ; [ DW_TAG_file_type ]
+!7 = metadata !{i32 786453, i32 0, metadata !"", i32 0, i32 0, i64 0, i64 0, i64 0, i32 0, null, metadata !3, i32 0, i32 0} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ]
+!8= metadata !{i32 1, i32 0, metadata !5, null}
+;; !9 is added through the echo line at the top.