summaryrefslogtreecommitdiff
path: root/docs/CoverageMappingFormat.rst
diff options
context:
space:
mode:
authorXinliang David Li <davidxl@google.com>2016-01-27 03:13:09 +0000
committerXinliang David Li <davidxl@google.com>2016-01-27 03:13:09 +0000
commit04aa02841fe4effb5a45701ee18e9a226f027c36 (patch)
treecca5ff6980ce1415ce6c93041e6ff52c3a8386ce /docs/CoverageMappingFormat.rst
parent94dbbd19d011420067792bb918ace48741b67720 (diff)
[Coverage] Fix more bugs in covmap V1 documentation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258906 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs/CoverageMappingFormat.rst')
-rw-r--r--docs/CoverageMappingFormat.rst19
1 files changed, 11 insertions, 8 deletions
diff --git a/docs/CoverageMappingFormat.rst b/docs/CoverageMappingFormat.rst
index 84cddff5ed9..97809d56290 100644
--- a/docs/CoverageMappingFormat.rst
+++ b/docs/CoverageMappingFormat.rst
@@ -251,7 +251,7 @@ The coverage mapping variable generated by Clang has 3 fields:
.. code-block:: llvm
- @__llvm_coverage_mapping = internal constant { { i32, i32, i32, i32 }, [2 x { i8*, i32, i32 }], [40 x i8] }
+ @__llvm_coverage_mapping = internal constant { { i32, i32, i32, i32 }, [2 x { i8*, i32, i32, i64 }], [40 x i8] }
{
{ i32, i32, i32, i32 } ; Coverage map header
{
@@ -260,14 +260,16 @@ The coverage mapping variable generated by Clang has 3 fields:
i32 20, ; The length of the string that contains the encoded coverage mapping data
i32 0, ; Coverage mapping format version
},
- [2 x { i8*, i32, i32 }] [ ; Function records
- { i8*, i32, i32 } { i8* getelementptr inbounds ([3 x i8]* @__llvm_profile_name_foo, i32 0, i32 0), ; Function's name
+ [2 x { i8*, i32, i32, i64 }] [ ; Function records
+ { i8*, i32, i32, i64 } { i8* getelementptr inbounds ([3 x i8]* @__profn_foo, i32 0, i32 0), ; Function's name
i32 3, ; Function's name length
- i32 9 ; Function's encoded coverage mapping data string length
+ i32 9, ; Function's encoded coverage mapping data string length
+ i64 0 ; Function's structural hash
},
- { i8*, i32, i32 } { i8* getelementptr inbounds ([3 x i8]* @__llvm_profile_name_bar, i32 0, i32 0), ; Function's name
+ { i8*, i32, i32, i64 } { i8* getelementptr inbounds ([3 x i8]* @__profn_bar, i32 0, i32 0), ; Function's name
i32 3, ; Function's name length
- i32 9 ; Function's encoded coverage mapping data string length
+ i32 9, ; Function's encoded coverage mapping data string length
+ i64 0 ; Function's structural hash
}],
[40 x i8] c"..." ; Encoded data (dissected later)
}, section "__llvm_covmap", align 8
@@ -294,10 +296,11 @@ A function record is a structure of the following type:
.. code-block:: llvm
- { i8*, i32, i32 }
+ { i8*, i32, i32, i64 }
It contains the pointer to the function's name, function's name length,
-and the length of the encoded mapping data for that function.
+the length of the encoded mapping data for that function, and function's
+hash value.
Encoded data:
-------------