diff options
Diffstat (limited to 'llvm/docs/CoverageMappingFormat.rst')
-rw-r--r-- | llvm/docs/CoverageMappingFormat.rst | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/llvm/docs/CoverageMappingFormat.rst b/llvm/docs/CoverageMappingFormat.rst index 97809d56290..47d84e37619 100644 --- a/llvm/docs/CoverageMappingFormat.rst +++ b/llvm/docs/CoverageMappingFormat.rst @@ -260,20 +260,31 @@ 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, 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 + [2 x { i64, i32, i64 }] [ ; Function records + { i64, i32, i64 } { + i64 0x5cf8c24cdb18bdac, ; Function's name MD5 i32 9, ; Function's encoded coverage mapping data string length i64 0 ; Function's structural hash }, - { 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 + { i64, i32, i64 } { + i64 0xe413754a191db537, ; Function's name MD5 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 +The function record layout has evolved since version 1. In version 1, the function record for *foo* is defined as follows: + +.. code-block:: llvm + + { 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 + i64 0 ; Function's structural hash + } + + Coverage Mapping Header: ------------------------ @@ -296,11 +307,10 @@ A function record is a structure of the following type: .. code-block:: llvm - { i8*, i32, i32, i64 } + { i64, i32, i64 } -It contains the pointer to the function's name, function's name length, -the length of the encoded mapping data for that function, and function's -hash value. +It contains function name's MD5, the length of the encoded mapping data for that function, and function's +structural hash value. Encoded data: ------------- |