Displaying 5 results from an estimated 5 matches for "__llvm_profile_write_file".
2017 Dec 20
2
Question about : lprofValueProfNodes
...what I’m trying to do.
I’m doing something unconventional.
The objective is to implement PGO and code coverage on a system that does not exit and does not have any file io, or any of stdc libraries that libclang-profile is using. (more like a kernel)
So what I’m trying to do is instead of calling __llvm_profile_write_file () from the application, read the sections __llvm_prf_data, __llvm_prf_names, __llvm_prf_cnts and __llvm_prf_vnds after the critical tasks are done and transfer them to outside of the system.
Then dump these sections in a char * array in a c file and attribute them to be in the associated section....
2017 Dec 20
2
Question about : lprofValueProfNodes
...gt; I’m doing something unconventional.
> The objective is to implement PGO and code coverage on a system that does
> not exit and does not have any file io, or any of stdc libraries that
> libclang-profile is using. (more like a kernel)
> So what I’m trying to do is instead of calling __llvm_profile_write_file
> () from the application, read the sections __llvm_prf_data,
> __llvm_prf_names, __llvm_prf_cnts and __llvm_prf_vnds after the critical
> tasks are done and transfer them to outside of the system.
>
>
> You may already have worked this out, but for completeness I'll mention
&...
2018 Mar 13
1
Profiling Support for BareMetal Target
...ames))
__stop___llvm_prf_names = .;
__start___llvm_prf_vnds = .;
KEEP(*(__llvm_prf_vnds))
__stop___llvm_prf_vnds = .;
2. Since there are not .ctors or atexit available i called the
functions lprofSetupValueProfiler and __llvm_profile_initialize_file
from the startup before main and __llvm_profile_write_file during the
exit after main.
3. Made changes in the compiler-rt library to adapt the profile
sources for a bare metal target.
When i run the elf file of a simple return 0 main i do get a
default.profraw file and after processing the raw data using
llvm-profdata and llvm-cov all i get is
error: a.o...
2017 Dec 19
3
Question about : lprofValueProfNodes
Hi
This array is defined in compiler-rt: InstrProfilingValue.c but I can’t find where it is used?
And the comment on it does not say much about why we need it either.
Can someone explain why we need this and where it is used?
/* A shared static pool in addition to the vnodes statically
* allocated by the compiler. */
COMPILER_RT_VISIBILITY ValueProfNode
2017 Sep 11
2
Using source-based code coverage on baremetal
I think that this proposal would be very useful, and I will describe our experiences of trying to do this for our embedded bare-metal target.
Recently we implemented support for just the '-fprofile-instr-generate' option and the 'compiler-rt/lib/profile' sources, and added the following to our LD scripts:
/* Append the LLVM profiling sections */
. = ALIGN(4);