search for: __llvm_prf_vnds

Displaying 12 results from an estimated 12 matches for "__llvm_prf_vnds".

Did you mean: __llvm_prf_cnts
2017 Dec 20
2
Question about : lprofValueProfNodes
...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. Then compile that file with –u__llvm_profile_runtime to create an executable that calls __llvm_profile_write_file...
2017 Jul 25
2
PGO, zlib and 'default.profraw'
...ed or ‘zlib’ disabled. On Windows with VS2015 there is no ‘zlib’. But I think that there is something different causing the problem, possibly in the linking. When profiling instrumentation is enabled, there are 4 new sections introduced: __llvm_prf_cnts __llvm_prf_data __llvm_prf_names __llvm_prf_vnds Since our target is an heterogeneous multi-core embedded system, it requires the use of some elaborate linking techniques, and the LD scripts are carefully crafted for this purpose. We use ‘ld’ from Binutils v2.28. However, I do not know what these new sections mean to ‘llvm-profdata’ or how...
2018 Mar 13
1
Profiling Support for BareMetal Target
...: __start___llvm_prf_cnts = .; KEEP(*(__llvm_prf_cnts)) __stop___llvm_prf_cnts = .; __start___llvm_prf_data = .; KEEP(*(__llvm_prf_data)) __stop___llvm_prf_data = .; __start___llvm_prf_names = .; KEEP(*(__llvm_prf_names)) __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 chan...
2017 Dec 20
2
Question about : lprofValueProfNodes
...nd 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 > that this is typically done by: > 1. Allocating a buffer big enough to contain all the data > (see __llvm_profile_...
2019 Jan 24
2
答复: 答复: How to add new arch for llvm-cov show?
...information to compiler). 2. New error was “Failed to load coverage: No coverage data found” since the compiler cannot get NamesSection(at loadBinaryFormat in CoverageMappingReader.cpp). I thought it was my ldscript problem because I put __llvm_prf_names, __llvm_prf_cnts, __llvm_prf_data and __llvm_prf_vnds inside .rodata section. Compiler checked .rodata but not things inside .rodata. What’s the right position to put these 4 __llvm_prf_* sections? Best, Ruobin. 发件人: vsk at apple.com [mailto:vsk at apple.com] 代表 Vedant Kumar 发送时间: 2019年1月24日 0:12 收件人: xuruobin <xuruobin at huawei.com> 抄送: vsk...
2019 Jan 25
2
答复: How to add new arch for llvm-cov show?
...->e_machine, Type); 2. New error was “Failed to load coverage: No coverage data found” since the compiler cannot get NamesSection(at loadBinaryFormat in CoverageMappingReader.cpp). I thought it was my ldscript problem because I put __llvm_prf_names, __llvm_prf_cnts, __llvm_prf_data and __llvm_prf_vnds inside .rodata section. Compiler checked .rodata but not things inside .rodata. What’s the right position to put these 4 __llvm_prf_* sections? I’m not sure what changed, exactly, between the point you encountered the last error and this one. Could you elaborate? This is just a shot in the dark,...
2019 Jan 23
3
答复: How to add new arch for llvm-cov show?
Hi vedant, The program didn't pass the checking "OF->getArch() != Triple(Arch).getArch()" loadBinaryFormat in CoverageMappingReader.cpp and returned an error. It's because "OF->getArch()" returned null and "Triple(Arch).getArch()" returned XXXX(name of my arch). The returned value of " OF->getArch()" is decided by "
2017 Jul 18
2
PGO, zlib and 'default.profraw'
set LLVM_ENABLE_ZLIB=ON with cmake invocation. zlib should be installed and zlib.h header file needs to be in the header search path. Is your llvm-profdata tool built together with clang? David On Tue, Jul 18, 2017 at 1:04 PM, Martin J. O'Riordan via llvm-dev < llvm-dev at lists.llvm.org> wrote: > How can I build the profile reader with ZLIB support enabled? I configure > and
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
2019 May 16
2
How data is laid out in default.profraw when doing profiling?
Hi all, I'm now working on llvm-cov for a new target and have a problem here. Because of some reasons, users do not stub in the main function and after running elf file, they cannot get a default profraw. Now they want to construct a default profraw manually but don't know how data is laid out in `default profraw` file. We found a struct ProfDataIOVec in InstrProfilingWriter.c in
2017 Sep 11
2
Using source-based code coverage on baremetal
...LIGN(4); PROVIDE(__start___llvm_prf_data = .); *(__llvm_prf_data) PROVIDE(__stop___llvm_prf_data = .); . = ALIGN(4); PROVIDE(__start___llvm_prf_names = .); *(__llvm_prf_names) PROVIDE(__stop___llvm_prf_names = .); . = ALIGN(4); PROVIDE(__start___llvm_prf_vnds = .); *(__llvm_prf_vnds) PROVIDE(__stop___llvm_prf_vnds = .); This removed the need for the '.ctors' model for registering functions (which also reduces the run-time cost) and enabled our target to use the model described in 'InstrProfilingPlatformLinux.cpp' instead of...
2017 Sep 06
5
Using source-based code coverage on baremetal
Hi all, I think using code coverage on baremetal has come up once or twice on llvmdev, but I don't think anyone has actually written up how the workflow works, or what issues come up.  This description is based on work done together with my colleague Weiming Zhao. By "baremetal" here, I mean an embedded environment without an operating system.  We specifically used a ARM target