Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6 |
|
#
968e3b68 |
| 10-Dec-2024 |
Ellis Hoag <ellis.sparky.hoag@gmail.com> |
[memprof] Add flag to control profile dump at exit (#119452)
Add the `dump_at_exit` flag to control whether or not profiles should be
dumped when the program exits. Since we can call
`__memprof_pr
[memprof] Add flag to control profile dump at exit (#119452)
Add the `dump_at_exit` flag to control whether or not profiles should be
dumped when the program exits. Since we can call
`__memprof_profile_dump()` directly, we don't necessarily need to dump
profiles at exit.
show more ...
|
Revision tags: llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init |
|
#
30b93db5 |
| 26-Jun-2024 |
Matthew Weingarten <matt@weingarten.org> |
[Memprof] Adds the option to collect AccessCountHistograms for memprof. (#94264)
Adds compile time flag -mllvm -memprof-histogram and runtime flag
histogram=true|false to turn Histogram collection
[Memprof] Adds the option to collect AccessCountHistograms for memprof. (#94264)
Adds compile time flag -mllvm -memprof-histogram and runtime flag
histogram=true|false to turn Histogram collection on and off. The
-memprof-histogram flag relies on -memprof-use-callbacks=true to work.
Updates shadow mapping logic in histogram mode from having one 8 byte
counter for 64 bytes, to 1 byte for 8 bytes, capped at 255. Only
supports this granularity as of now.
Updates the RawMemprofReader and serializing MemoryInfoBlocks to binary
format, including changing to a new version of the raw binary format
from version 3 to version 4.
Updates creating MemoryInfoBlocks with and without Histograms. When two
MemoryInfoBlocks are merged, AccessCounts are summed up and the shorter
Histogram is removed.
Adds a memprof_histogram test case.
Initial commit for adding AccessCountHistograms up until RawProfile for
memprof
show more ...
|
Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2 |
|
#
bd132411 |
| 07-Feb-2024 |
Enna1 <xumingjie.enna1@bytedance.com> |
[MemProf][NFC] Clean up runtime code (#80581)
|
Revision tags: llvmorg-18.1.0-rc1, llvmorg-19-init |
|
#
ae86239e |
| 29-Nov-2023 |
Teresa Johnson <tejohnson@google.com> |
[MemProf] Add interface for reseting the profile file descriptor (#73714)
Add __memprof_profile_reset() interface which can be used to facilitate
dumping multiple rounds of profiles from a single b
[MemProf] Add interface for reseting the profile file descriptor (#73714)
Add __memprof_profile_reset() interface which can be used to facilitate
dumping multiple rounds of profiles from a single binary run. This
closes the current file descriptor and resets the internal file
descriptor to invalid (-1), which ensures the underlying writer reopens
the recorded profile filename. This can be used once the client is done
moving or copying a dumped profile, to prepare for reinvoking profile
dumping.
show more ...
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init |
|
#
96928abb |
| 21-Jun-2023 |
Vitaly Buka <vitalybuka@google.com> |
[NFC][sanitizer] Pass user region into OnMapSecondary
|
#
05181357 |
| 12-Jun-2023 |
Vitaly Buka <vitalybuka@google.com> |
[NFC][sanitizer] Move ArrayRef into own header
|
Revision tags: llvmorg-16.0.6, llvmorg-16.0.5 |
|
#
7639265a |
| 24-May-2023 |
Jin Xin Ng <njx@google.com> |
[sanitizer] Implement __sanitizer_get_allocated_size_fast
The primary motivation for this change is to allow FreeHooks to obtain the allocated size of the pointer being freed in a fast, efficient ma
[sanitizer] Implement __sanitizer_get_allocated_size_fast
The primary motivation for this change is to allow FreeHooks to obtain the allocated size of the pointer being freed in a fast, efficient manner.
Differential Revision: https://reviews.llvm.org/D151360
show more ...
|
Revision tags: llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2 |
|
#
8c63dc6f |
| 13-Apr-2023 |
Fangrui Song <i@maskray.me> |
Internalize AllocationBegin functions after D147005
Reviewed By: thurston
Differential Revision: https://reviews.llvm.org/D148195
|
Revision tags: llvmorg-16.0.1 |
|
#
d644ab02 |
| 04-Apr-2023 |
Thurston Dang <thurston@google.com> |
Update __sanitizer_get_allocated_begin to return const void*
D147005 introduced __sanitizer_get_allocated_begin, with a return value of void*. This involved a few naughty casts that dropped the cons
Update __sanitizer_get_allocated_begin to return const void*
D147005 introduced __sanitizer_get_allocated_begin, with a return value of void*. This involved a few naughty casts that dropped the const. This patch adds back the const qualifier.
Differential Revision: https://reviews.llvm.org/D147489
show more ...
|
#
415b1cfd |
| 03-Apr-2023 |
Thurston Dang <thurston@google.com> |
Add __sanitizer_get_allocated_begin API and implementations
This function will return the start of the allocation, if given a pointer that lies within an allocation. Otherwise, it returns NULL.
It
Add __sanitizer_get_allocated_begin API and implementations
This function will return the start of the allocation, if given a pointer that lies within an allocation. Otherwise, it returns NULL.
It will be useful for detecting dynamic TLS allocations in glibc >=2.25, which uses malloc (see https://github.com/google/sanitizers/issues/1409#issuecomment-1214244142).
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D147005
show more ...
|
Revision tags: llvmorg-16.0.0 |
|
#
a1bbf5ac |
| 13-Mar-2023 |
Snehasish Kumar <snehasishk@google.com> |
[memprof] Record BuildIDs in the raw profile.
This patch adds support for recording BuildIds usng the sanitizer ListOfModules API. We add another entry to the SegmentEntry struct and change the memp
[memprof] Record BuildIDs in the raw profile.
This patch adds support for recording BuildIds usng the sanitizer ListOfModules API. We add another entry to the SegmentEntry struct and change the memprof raw version.
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D145190
show more ...
|
#
debe80cb |
| 13-Mar-2023 |
Snehasish Kumar <snehasishk@google.com> |
Revert "[memprof] Record BuildIDs in the raw profile."
This reverts commit 287177a47a396ca6cc0bef7696108cdaa0c68e5f.
|
Revision tags: llvmorg-16.0.0-rc4 |
|
#
287177a4 |
| 28-Feb-2023 |
Snehasish Kumar <snehasishk@google.com> |
[memprof] Record BuildIDs in the raw profile.
This patch adds support for recording BuildIds usng the sanitizer ListOfModules API. We add another entry to the SegmentEntry struct and change the memp
[memprof] Record BuildIDs in the raw profile.
This patch adds support for recording BuildIds usng the sanitizer ListOfModules API. We add another entry to the SegmentEntry struct and change the memprof raw version.
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D145190
show more ...
|
#
79ebb638 |
| 07-Mar-2023 |
Snehasish Kumar <snehasishk@google.com> |
[memprof] Simplify initialized flags.
As discussed in D145428, the memprof_init_is_running check can be moved to the end of the initialization routine to avoid intercepting allocations during initia
[memprof] Simplify initialized flags.
As discussed in D145428, the memprof_init_is_running check can be moved to the end of the initialization routine to avoid intercepting allocations during initialization. Also, the memprof_init_done flag can be removed and replaced with memprof_inited. Finally, memprof_inited can also be moved to the end of the method.
Tested on the existing check-memprof tests; memprof profile collection succeeded on a large internal workload.
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D145528
show more ...
|
Revision tags: llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6 |
|
#
311801a0 |
| 28-Nov-2022 |
Teresa Johnson <tejohnson@google.com> |
Revert "[MemProf] Defer profile file setup until dump time"
This reverts commit ea1826ee57984d4f44fdb4b35a47169d393618ed.
This change is breaking the ability of tests to override the profile output
Revert "[MemProf] Defer profile file setup until dump time"
This reverts commit ea1826ee57984d4f44fdb4b35a47169d393618ed.
This change is breaking the ability of tests to override the profile output file. Need to add a mechanism to do that before resubmitting.
show more ...
|
#
cf5c5372 |
| 23-Nov-2022 |
Snehasish Kumar <snehasishk@google.com> |
[memprof] Fix RAII usage of SpinMutexLock, remove unused headers.
For the RAII lock usage we need to create a local var. There were some headers which clang-tidy identified as unused.
Reviewed By:
[memprof] Fix RAII usage of SpinMutexLock, remove unused headers.
For the RAII lock usage we need to create a local var. There were some headers which clang-tidy identified as unused.
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D138593
show more ...
|
#
ea1826ee |
| 17-Nov-2022 |
Teresa Johnson <tejohnson@google.com> |
[MemProf] Defer profile file setup until dump time
With all of the writing of the memprof profile consolidated into one place, there is no need to set up the profile file (which creates the file and
[MemProf] Defer profile file setup until dump time
With all of the writing of the memprof profile consolidated into one place, there is no need to set up the profile file (which creates the file and also redirects all printing from the runtime to it) until we are ready to dump the profile.
This allows errors and other messages to be dumped to stderr instead of the profile file, which by default is in a binary format. Additionally, reset the output file to stderr after dumping the profile so that any requested memprof allocator statistics are printed to stderr.
Differential Revision: https://reviews.llvm.org/D138175
show more ...
|
Revision tags: llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2 |
|
#
12e137ab |
| 13-Apr-2022 |
Vitaly Buka <vitalybuka@google.com> |
[NFC][sanitizer] Consolidate malloc hook invocations
|
#
b84673b3 |
| 13-Apr-2022 |
Vitaly Buka <vitalybuka@google.com> |
[NFC][sanitizer] Remove unnececary HOOK macros
|
Revision tags: llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
#
f89319b8 |
| 14-Feb-2022 |
Snehasish Kumar <snehasishk@google.com> |
Reland "[memprof] Refactor out the MemInfoBlock into a macro based def."
This reverts commit 857ec0d01f8021ff0d9540fcbf6ff24e29868ba4.
Fixes -DLLVM_ENABLE_MODULES=On build by adding the new textual
Reland "[memprof] Refactor out the MemInfoBlock into a macro based def."
This reverts commit 857ec0d01f8021ff0d9540fcbf6ff24e29868ba4.
Fixes -DLLVM_ENABLE_MODULES=On build by adding the new textual header to the modulemap file.
Reviewed in https://reviews.llvm.org/D117722
show more ...
|
#
857ec0d0 |
| 14-Feb-2022 |
Snehasish Kumar <snehasishk@google.com> |
Revert "[memprof] Refactor out the MemInfoBlock into a macro based def."
This reverts commit 9def83c6d02944b2931efd50cd2491953a772aab. [4/4]
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
#
9def83c6 |
| 19-Jan-2022 |
Snehasish Kumar <snehasishk@google.com> |
[memprof] Refactor out the MemInfoBlock into a macro based def.
This patch refactors out the MemInfoBlock definition into a macro based header which can be included to generate enums, structus and c
[memprof] Refactor out the MemInfoBlock into a macro based def.
This patch refactors out the MemInfoBlock definition into a macro based header which can be included to generate enums, structus and code for each field recorded by the memprof profiling runtime.
Differential Revision: https://reviews.llvm.org/D117722
show more ...
|
Revision tags: llvmorg-13.0.1-rc2 |
|
#
8306968b |
| 29-Dec-2021 |
Snehasish Kumar <snehasishk@google.com> |
[memprof] Move the meminfo block struct to MemProfData.inc.
The definition of the MemInfoBlock is shared between the memprof compiler-rt runtime and llvm/lib/ProfileData/. This change removes the me
[memprof] Move the meminfo block struct to MemProfData.inc.
The definition of the MemInfoBlock is shared between the memprof compiler-rt runtime and llvm/lib/ProfileData/. This change removes the memprof_meminfoblock header and moves the struct to the shared include file. To enable this sharing, the Print method is moved to the memprof_allocator (the only place it is used) and the remaining uses are updated to refer to the MemInfoBlock defined in the MemProfData.inc file.
Also a couple of other minor changes which improve usability of the types in MemProfData.inc. * Update the PACKED macro to handle commas. * Add constructors and equality operators. * Don't initialize the buildid field.
Differential Revision: https://reviews.llvm.org/D116780
show more ...
|
#
765921de |
| 05-Jan-2022 |
Dmitry Vyukov <dvyukov@google.com> |
sanitizer_common: prefix thread-safety macros with SANITIZER_
Currently we use very common names for macros like ACQUIRE/RELEASE, which cause conflicts with system headers. Prefix all macros with SA
sanitizer_common: prefix thread-safety macros with SANITIZER_
Currently we use very common names for macros like ACQUIRE/RELEASE, which cause conflicts with system headers. Prefix all macros with SANITIZER_ to avoid conflicts.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D116652
show more ...
|
#
36e6a259 |
| 02-Dec-2021 |
Vitaly Buka <vitalybuka@google.com> |
[NFC][sanitizer] Remove SetSoftRssLimitExceededCallback
According comments on D44404, something like that was the goal.
Reviewed By: morehouse, kstoimenov
Differential Revision: https://reviews.ll
[NFC][sanitizer] Remove SetSoftRssLimitExceededCallback
According comments on D44404, something like that was the goal.
Reviewed By: morehouse, kstoimenov
Differential Revision: https://reviews.llvm.org/D114991
show more ...
|