[llvm-dev] option similar to -finstrument-functions but for code blocks
Dean Michael Berris via llvm-dev
llvm-dev at lists.llvm.org
Thu Jan 24 04:37:01 PST 2019
> On 24 Jan 2019, at 04:13, Peng Yu via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi,
>
> I'd like to track not just at the function level, but also at the code
> block level. For example, for a if-else statement, I want to know when
> the if-branch or else-branch is enter/exit.
>
> Is there a clang option similar to -finstrument-functions for code blocks?
>
> Alternatively, I could manually insert the code to the IR .ll file.
>
> I see the generated .ll use the following function when
> -finstrument-functions is enabled. Is there an equivalent function for
> code blocks?
>
> %1 = call i8* @llvm.returnaddress(i32 0), !dbg !10
>
You’re probably looking for the “coverage” builds of clang which add instrumentation in the IR:
https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
(Details of the data you can get is at https://llvm.org/docs/CoverageMappingFormat.html).
I’m not sure there’s something built into LLVM that makes that happen, but I suggest looking into what the coverage-instrumented .ll files look like when clang does it.
Cheers
-- Dean
More information about the llvm-dev
mailing list