History log of /llvm-project/compiler-rt/lib/memprof/memprof_allocator.cpp (Results 1 – 25 of 37)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


12