search for: fcoverage

Displaying 20 results from an estimated 46 matches for "fcoverage".

Did you mean: coverage
2015 Feb 10
3
[LLVMdev] Coverage mapping issue: Malformed profile data
...Here is simple snippets test1.c: NOT OK ================== #include <stdio.h> static int foo() { return 42; } int main() { return 0; } ================== cp src/test1.c src/test.c; rm -fr default.profraw test.profdata ; clang -c -o obj/test.o src/test.c -I -g -O0 -fprofile-instr-generate -fcoverage-mapping; clang -o bin/test obj/test.o -I -g -O0 -fprofile-instr-generate -fcoverage-mapping; ./bin/test ; llvm-profdata merge -o test.profdata default.profraw; llvm-cov show ./bin/test -instr-profile=test.profdata error: Failed to load coverage: Malformed profile data test2.c: OK ==============...
2016 May 24
1
The state of IRPGO (3 remaining work items)
...tation. So, I'd like to see the driver do this (on all platforms): > > > > * -fprofile-instr-generate: IR instrumentation > > * -fprofile-instr-generate=IR: IR instrumentation > > * -fprofile-instr-generate=FE: FE instrumentation > > * -fprofile-instr-generate -fcoverage-mapping: FE + coverage > instrumentation > > I feel like this would be simpler: > * -fcoverage-mapping: -fprofile-instr-generate=FE + coverage > instrumentation > > Maybe there's a downside I'm not seeing though? > I proposed the same change in proposal B in the...
2016 May 24
0
The state of IRPGO (3 remaining work items)
...lies* FE-based instrumentation. So, I'd like to see the driver do this (on all platforms): > > * -fprofile-instr-generate: IR instrumentation > * -fprofile-instr-generate=IR: IR instrumentation > * -fprofile-instr-generate=FE: FE instrumentation > * -fprofile-instr-generate -fcoverage-mapping: FE + coverage instrumentation I feel like this would be simpler: * -fcoverage-mapping: -fprofile-instr-generate=FE + coverage instrumentation Maybe there's a downside I'm not seeing though? Also, I don't like "FE". Maybe "source"? And instead of &quot...
2015 Sep 09
2
RFC: Reducing Instr PGO size overhead
Thank you for doing this. The size issue is actually a big concern for me. So this is step in the right direction. Two other points to consider, that would help us: 1) When using -fcoverage-mapping, some of the information is emitted in the text section. This is creating linking issues with very large files. It does not seem any of this information should necessarily be in the text section. 2) Could the information emitted for -fcoverage-mapping be placed into their own sect...
2018 Mar 09
2
llvm-cov: Combined report for multiple executables
...irst\n"); return 0; } ////////// end ////////// second.cc #include "shared.h" int main() { Print2("Second\n"); return 0; } ////////// end I use the following commands to build 'first' and 'second' binaries: clang++ -O0 -c -fprofile-instr-generate -fcoverage-mapping shared.cc -o ./out/shared.o clang++ -O0 -fprofile-instr-generate -fcoverage-mapping ./out/shared.o first.cc -o ./out/first clang++ -O0 -fprofile-instr-generate -fcoverage-mapping ./out/shared.o second.cc -o ./out/second I then use the following to run the binaries: LLVM_PROFILE_FILE=...
2016 Jun 03
5
The state of IRPGO (3 remaining work items)
...lly okay with. The reduced overhead of >> IRPGO is really important on PS4 (i.e. the difference between the >> instrumented game being playable or not). I really don't want to have to >> test the triple to determine the meaning of `-fprofile-instr-generate` >> (without `-fcoverage-mapping`). >> >> >> And I agree that IRPGO is better for your users, but the best workflow >> for your users is not necessarily the best workflow for every clang user. I >> totally agree with you that testing the triple to decide the meaning of the >> option is w...
2016 Jun 02
4
The state of IRPGO (3 remaining work items)
...S4 is not something that I'm really okay with. The reduced overhead of IRPGO is really important on PS4 (i.e. the difference between the instrumented game being playable or not). I really don't want to have to test the triple to determine the meaning of `-fprofile-instr-generate` (without `-fcoverage-mapping`). And I agree that IRPGO is better for your users, but the best workflow for your users is not necessarily the best workflow for every clang user. I totally agree with you that testing the triple to decide the meaning of the option is wrong to do upstream. The best default is not a platfo...
2016 Jun 13
2
The state of IRPGO (3 remaining work items)
...ead of >>>> IRPGO is really important on PS4 (i.e. the difference between the >>>> instrumented game being playable or not). I really don't want to have to >>>> test the triple to determine the meaning of `-fprofile-instr-generate` >>>> (without `-fcoverage-mapping`). >>>> >>>> >>>> And I agree that IRPGO is better for your users, but the best workflow >>>> for your users is not necessarily the best workflow for every clang user. I >>>> totally agree with you that testing the triple to decide...
2016 Jun 02
2
The state of IRPGO (3 remaining work items)
...in behavior quiet extensively, and I after having changed my mind a couple times, I would argue in favor of keeping the current behavior for the existing flags. I think adding a new switch for IRPGO is a better option. The argument that weighted most on my opinion is the proposed interaction with -fcoverage-mapping, and it is not at all platform specific. With the proposed new behavior, turning coverage on and off in your build system will generate a binary with different performance characteristics and this feels really wrong. > > Bob already mentioned in the other thread that `-fprofile-instr...
2016 Jun 23
0
The state of IRPGO (3 remaining work items)
...he reduced overhead of >>> IRPGO is really important on PS4 (i.e. the difference between the >>> instrumented game being playable or not). I really don't want to have to >>> test the triple to determine the meaning of `-fprofile-instr-generate` >>> (without `-fcoverage-mapping`). >>> >>> >>> And I agree that IRPGO is better for your users, but the best workflow >>> for your users is not necessarily the best workflow for every clang user. I >>> totally agree with you that testing the triple to decide the meaning of the...
2015 May 22
2
[LLVMdev] GCC compatibility code coverage issue .
Hi Justin , Thank you for the confirmation and we would like to know that ,going forward the clang has the support the gcc gcov format or use the -fprofile-instr-generate -fcoverage-mapping and get ride of gcov format . We are planing to customize the clang code coverage for embedded world ,before we start tweaking the gcov / -fprofile-instr-generate code-base ,we would like to take feedback from the group . Did -fprofile-instr-generate -fcoverage-mapping better than(optimi...
2018 Mar 09
0
llvm-cov: Combined report for multiple executables
...//////// second.cc > #include "shared.h" > > int main() { > Print2("Second\n"); > return 0; > } > ////////// end > > I use the following commands to build 'first' and 'second' binaries: > clang++ -O0 -c -fprofile-instr-generate -fcoverage-mapping shared.cc > -o ./out/shared.o > clang++ -O0 -fprofile-instr-generate -fcoverage-mapping > ./out/shared.o first.cc -o ./out/first > clang++ -O0 -fprofile-instr-generate -fcoverage-mapping > ./out/shared.o second.cc -o ./out/second > > I then use the following to run t...
2015 May 27
0
[LLVMdev] GCC compatibility code coverage issue .
Umesh Kalappa <umesh.kalappa0 at gmail.com> writes: > Hi Justin , > > Thank you for the confirmation and we would like to know that ,going > forward the clang has the support the gcc gcov format or use the > -fprofile-instr-generate -fcoverage-mapping and get ride of gcov > format . Going forward, the -fprofile-instr-generate -fcoverage-mapping (which I'll refer to as instrprof) work will continue to be improved and built upon. The gcov support in llvm isn't going away, but it isn't likely to be improved or changed much...
2017 Oct 26
2
Profiling data structure
...the profiling data? > > > > At compile time, it is the macro: INST_PROF_RAW_VERSION. At runtime, it is > the second field of the raw profile header. I'm not able to use INST_PROF_RAW_VERSION at compile time. Are you sure this is exported? If I do: cc -fprofile-instr-generate -fcoverage-mapping -dM -E - < /dev/null I don't see INST_PROF_RAW_VERSION neither any similar defines. > I'm mostly worried that at some point llvm will bump the version > > and change the layout, and then I will have to update my runtime > > accordingly, but without llvm...
2016 May 24
6
The state of IRPGO (3 remaining work items)
...e-instr-generate *implies* FE-based instrumentation. So, I'd like to see the driver do this (on all platforms): * -fprofile-instr-generate: IR instrumentation * -fprofile-instr-generate=IR: IR instrumentation * -fprofile-instr-generate=FE: FE instrumentation * -fprofile-instr-generate -fcoverage-mapping: FE + coverage instrumentation It's a bit ugly because the meaning of -fprofile-instr-generate becomes context-sensitive. But, (1) it doesn't break existing common workflows and (2) it makes it easier to ship IRPGO. The big caveat here is that we'll need to wait a bit and see i...
2016 Jun 01
4
The state of IRPGO (3 remaining work items)
...in behavior quiet extensively, and I after having changed my mind a couple times, I would argue in favor of keeping the current behavior for the existing flags. I think adding a new switch for IRPGO is a better option. The argument that weighted most on my opinion is the proposed interaction with -fcoverage-mapping, and it is not at all platform specific. With the proposed new behavior, turning coverage on and off in your build system will generate a binary with different performance characteristics and this feels really wrong. I would actually make the IRPGO mode completely incompatible with the -fco...
2020 Jun 02
2
Code coverage for member functions that are defined inside the class
...only the library is instrumented). It seems like the inline member functions defined in headers are not instrumented in this case because the clients are not instrumented. The library itself does not have a copy of the inline methods either. In below example, > clang++ -fprofile-instr-generate -fcoverage-mapping -c foobar.cpp -o foobar.o > clang++ main.cpp foobar.o -o foobar > LLVM_PROFILE_FILE="foo.profraw" ./foobar > llvm-profdata merge -sparse foo.profraw -o foo.profdata > llvm-cov show ./foobar -instr-profile=foo.profdata """ 1| |#include "fo...
2016 May 25
0
The state of IRPGO (3 remaining work items)
...-based > instrumentation. So, I'd like to see the driver do this (on all platforms): > > * -fprofile-instr-generate: IR instrumentation > * -fprofile-instr-generate=IR: IR instrumentation > * -fprofile-instr-generate=FE: FE instrumentation > * -fprofile-instr-generate -fcoverage-mapping: FE + coverage > instrumentation > > It's a bit ugly because the meaning of -fprofile-instr-generate becomes > context-sensitive. But, (1) it doesn't break existing common workflows and > (2) it makes it easier to ship IRPGO. The big caveat here is that we'll >...
2016 May 25
2
The state of IRPGO (3 remaining work items)
It sounds to me we are likely to converge on the following: 1) Making IR/llvm based PGO the default; 2) Enhance -fcoverage-mapping such that it automatically turns on FE based instrumentation 3) if -fcoverage-mapping is used together with -fprofile-instr-generate, -fcoverage-mapping serves as a switch to turn on FE based instrumetnation All the above are transparent to users. The following are for advanced usage: 4)...
2020 Sep 09
2
Code Coverage Compile Issue LLVM 10
...*...:(__llvm_prf_data[__profv__**ZNK4llvm3cfg6UpdateIPNS_**10BasicBlockEE4dumpEv]+0x18): **undefined reference to `llvm::cfg::Update<llvm::**BasicBlock*>::dump() const'* I see this issue only when I compile the app with the following compiler options: *-g -O2 -fprofile-instr-generate -fcoverage-mapping* I don't use any special flags when I build LLVM. I used g++-7 (or clang++-9) to compile LLVM static libs. The issue does not appear with LLVM 6.0.0. I included all LLVM libraries in the same order whatever *llvm-config --libs *outputs. What lib am I missing? Or is this a known issue...