|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, 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, 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, llvmorg-18.1.0-rc1, llvmorg-19-init, 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, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, 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, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, 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 |
|
| #
611ffcf4 |
| 14-Jul-2022 |
Kazu Hirata <[email protected]> |
[llvm] Use value instead of getValue (NFC)
|
| #
a7938c74 |
| 26-Jun-2022 |
Kazu Hirata <[email protected]> |
[llvm] Don't use Optional::hasValue (NFC)
This patch replaces Optional::hasValue with the implicit cast to bool in conditionals only.
|
| #
3b7c3a65 |
| 25-Jun-2022 |
Kazu Hirata <[email protected]> |
Revert "Don't use Optional::hasValue (NFC)"
This reverts commit aa8feeefd3ac6c78ee8f67bf033976fc7d68bc6d.
|
| #
aa8feeef |
| 25-Jun-2022 |
Kazu Hirata <[email protected]> |
Don't use Optional::hasValue (NFC)
|
|
Revision tags: llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
ec51971e |
| 24-May-2022 |
Snehasish Kumar <[email protected]> |
[memprof] Keep and display symbol names in the RawMemProfReader.
Extend the Frame struct to hold the symbol name if requested when a RawMemProfReader object is constructed. This change updates the t
[memprof] Keep and display symbol names in the RawMemProfReader.
Extend the Frame struct to hold the symbol name if requested when a RawMemProfReader object is constructed. This change updates the tests and removes the need to pass --debug to obtain the mapping from GUID to symbol names.
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D126344
show more ...
|
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1 |
|
| #
6dd6a616 |
| 22-Mar-2022 |
Snehasish Kumar <[email protected]> |
[memprof] Deduplicate and outline frame storage in the memprof profile.
The current implementation of memprof information in the indexed profile format stores the representation of each calling cont
[memprof] Deduplicate and outline frame storage in the memprof profile.
The current implementation of memprof information in the indexed profile format stores the representation of each calling context fram inline. This patch uses an interned representation where the frame contents are stored in a separate on-disk hash table. The table is indexed via a hash of the contents of the frame. With this patch, the compressed size of a large memprof profile reduces by ~22%.
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D123094
show more ...
|
| #
27a4f254 |
| 22-Mar-2022 |
Snehasish Kumar <[email protected]> |
Reland "[memprof] Store callsite metadata with memprof records."
This reverts commit f4b794427e8037a4e952cacdfe7201e961f31a6f.
Reland with underlying msan issue fixed in D122260.
|
| #
f4b79442 |
| 21-Mar-2022 |
Mitch Phillips <[email protected]> |
Revert "[memprof] Store callsite metadata with memprof records."
This reverts commit 0d362c90d335509c57c0fbd01ae1829e2b9c3765.
Reason: Causes the MSan buildbot to fail (see comments on https://revi
Revert "[memprof] Store callsite metadata with memprof records."
This reverts commit 0d362c90d335509c57c0fbd01ae1829e2b9c3765.
Reason: Causes the MSan buildbot to fail (see comments on https://reviews.llvm.org/D121179 for more information
show more ...
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
0d362c90 |
| 02-Mar-2022 |
Snehasish Kumar <[email protected]> |
[memprof] Store callsite metadata with memprof records.
To ease profile annotation, each of the callsites in a function can be annotated with profile data - "IR metadata format for MemProf" [1]. Thi
[memprof] Store callsite metadata with memprof records.
To ease profile annotation, each of the callsites in a function can be annotated with profile data - "IR metadata format for MemProf" [1]. This patch extends the on-disk serialized record format to store the debug information for allocation callsites incl inline frames. This change is incompatible with the existing format i.e. indexed profiles must be regenerated, raw profiles are unaffected.
[1] https://groups.google.com/g/llvm-dev/c/aWHsdMxKAfE/m/WtEmRqyhAgAJ
Reviewed By: tejohnson
Differential Revision: https://reviews.llvm.org/D121179
show more ...
|
| #
c9a3d296 |
| 16-Mar-2022 |
Snehasish Kumar <[email protected]> |
[memprof] Update the frame is inline logic and unittests.
Since DI frames are enumerated with the leaf function at index 0, this patch fixes the logic when IsInlineFrame is set. Also update the unit
[memprof] Update the frame is inline logic and unittests.
Since DI frames are enumerated with the leaf function at index 0, this patch fixes the logic when IsInlineFrame is set. Also update the unittests to check that only the last frame is marked as non-inline from a set of DI Frames for a PC address.
Differential Revision: https://reviews.llvm.org/D121830
show more ...
|
| #
ed98c1b3 |
| 09-Mar-2022 |
serge-sans-paille <[email protected]> |
Cleanup includes: DebugInfo & CodeGen
Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D121332
|
| #
11314f40 |
| 03-Mar-2022 |
Snehasish Kumar <[email protected]> |
[memprof] Filter out callstack frames which cannot be symbolized.
This patch filters out callstack frames which can't be symbolized or if the frames belong to the runtime. Symbolization may not be p
[memprof] Filter out callstack frames which cannot be symbolized.
This patch filters out callstack frames which can't be symbolized or if the frames belong to the runtime. Symbolization may not be possible if debug information is unavailable or if the addresses are from a shared library. For now we only support optimization of the main binary which is statically linked to the compiler runtime.
Differential Revision: https://reviews.llvm.org/D120860
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc2 |
|
| #
dda7b749 |
| 23-Feb-2022 |
Snehasish Kumar <[email protected]> |
[memprof] Symbolize and cache stack frames.
Currently, symbolization of stack frames occurs on demand when the instrprof writer iterates over all the records in the raw memprof reader. With this cha
[memprof] Symbolize and cache stack frames.
Currently, symbolization of stack frames occurs on demand when the instrprof writer iterates over all the records in the raw memprof reader. With this change we symbolize and cache the frames immediately after reading the raw profiles. For a large internal binary this results in a runtime reduction of ~50% (2m -> 48s) when merging a memprof raw profile with a raw instr profile to generate an indexed profile. This change also makes it simpler in the future to generate additional calling context metadata to attach to each memprof record.
Differential Revision: https://reviews.llvm.org/D120430
show more ...
|
| #
0a418490 |
| 18-Feb-2022 |
Snehasish Kumar <[email protected]> |
Reland "[memprof] Extend the index prof format to include memory profiles."
This patch adds support for optional memory profile information to be included with and indexed profile. The indexed profi
Reland "[memprof] Extend the index prof format to include memory profiles."
This patch adds support for optional memory profile information to be included with and indexed profile. The indexed profile header adds a new field which points to the offset of the memory profile section (if present) in the indexed profile. For users who do not utilize this feature the only overhead is a 64-bit offset in the header.
The memory profile section contains (1) profile metadata describing the information recorded for each entry (2) an on-disk hashtable containing the profile records indexed via llvm::md5(function_name). We chose to introduce a separate hash table instead of the existing one since the indexing for the instrumented fdo hash table is based on a CFG hash which itself is perturbed by memprof instrumentation.
This commit also includes the changes reviewed separately in D120093.
Differential Revision: https://reviews.llvm.org/D120103
show more ...
|
| #
19bdf44d |
| 17-Feb-2022 |
Snehasish Kumar <[email protected]> |
Revert "Reland "[memprof] Extend the index prof format to include memory profiles.""
This reverts commit 807ba7aace188ada83ddb4477265728e97346af1.
|
| #
807ba7aa |
| 14-Feb-2022 |
Snehasish Kumar <[email protected]> |
Reland "[memprof] Extend the index prof format to include memory profiles."
This reverts commit 85355a560a33897453df2ef959e255ee725eebce.
This patch adds support for optional memory profile informa
Reland "[memprof] Extend the index prof format to include memory profiles."
This reverts commit 85355a560a33897453df2ef959e255ee725eebce.
This patch adds support for optional memory profile information to be included with and indexed profile. The indexed profile header adds a new field which points to the offset of the memory profile section (if present) in the indexed profile. For users who do not utilize this feature the only overhead is a 64-bit offset in the header.
The memory profile section contains (1) profile metadata describing the information recorded for each entry (2) an on-disk hashtable containing the profile records indexed via llvm::md5(function_name). We chose to introduce a separate hash table instead of the existing one since the indexing for the instrumented fdo hash table is based on a CFG hash which itself is perturbed by memprof instrumentation.
Differential Revision: https://reviews.llvm.org/D118653
show more ...
|
| #
50713461 |
| 14-Feb-2022 |
Snehasish Kumar <[email protected]> |
Reland "[memprof] Introduce a wrapper around MemInfoBlock."
This reverts commit e6999040f5758f89a64b6232119b775b7bd1c85b.
Update test to fix signed int comparison warning, fix whitespace in compile
Reland "[memprof] Introduce a wrapper around MemInfoBlock."
This reverts commit e6999040f5758f89a64b6232119b775b7bd1c85b.
Update test to fix signed int comparison warning, fix whitespace in compiler-rt MIBEntryDef.inc file.
Differential Revision: https://reviews.llvm.org/D117256
show more ...
|
| #
f89319b8 |
| 14-Feb-2022 |
Snehasish Kumar <[email protected]> |
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 <[email protected]> |
Revert "[memprof] Refactor out the MemInfoBlock into a macro based def."
This reverts commit 9def83c6d02944b2931efd50cd2491953a772aab. [4/4]
|
| #
e6999040 |
| 14-Feb-2022 |
Snehasish Kumar <[email protected]> |
Revert "[memprof] Introduce a wrapper around MemInfoBlock."
This reverts commit 9b67165285c5e752fce3b554769f5a22e7b38da8. [3/4]
|
| #
85355a56 |
| 14-Feb-2022 |
Snehasish Kumar <[email protected]> |
Revert "Reland "[memprof] Extend the index prof format to include memory profiles.""
This reverts commit de54e4ab78ef09b60f870e8df6f8a87e56d6bd94 [1/4]
|
| #
de54e4ab |
| 14-Feb-2022 |
Snehasish Kumar <[email protected]> |
Reland "[memprof] Extend the index prof format to include memory profiles."
This reverts commit 0f73fb18ca333e38cdb9ffa701a8db026c56041d.
Use llvm/Profile/MIBEntryDef.inc instead of relative path.
Reland "[memprof] Extend the index prof format to include memory profiles."
This reverts commit 0f73fb18ca333e38cdb9ffa701a8db026c56041d.
Use llvm/Profile/MIBEntryDef.inc instead of relative path.
Generated the raw profile data with `-mllvm -enable-name-compression=false` so that builbots where the reader is built without zlib do not fail.
Also updated the test build instructions.
show more ...
|
| #
0f73fb18 |
| 14-Feb-2022 |
Snehasish Kumar <[email protected]> |
Revert "[memprof] Extend the index prof format to include memory profiles."
This reverts commit 43c2348c5b926df6bdbc5b70efaa35ecdefe12d5.
Buildbots are failing with an error on reading memprof test
Revert "[memprof] Extend the index prof format to include memory profiles."
This reverts commit 43c2348c5b926df6bdbc5b70efaa35ecdefe12d5.
Buildbots are failing with an error on reading memprof testdata. "Inputs/basic.profraw: profile uses zlib compression but the profile reader was built without zlib support"
https://lab.llvm.org/buildbot/#/builders/16/builds/24490
show more ...
|
| #
43c2348c |
| 12-Feb-2022 |
Snehasish Kumar <[email protected]> |
[memprof] Extend the index prof format to include memory profiles.
This patch adds support for optional memory profile information to be included with and indexed profile. The indexed profile header
[memprof] Extend the index prof format to include memory profiles.
This patch adds support for optional memory profile information to be included with and indexed profile. The indexed profile header adds a new field which points to the offset of the memory profile section (if present) in the indexed profile. For users who do not utilize this feature the only overhead is a 64-bit offset in the header.
The memory profile section contains (1) profile metadata describing the information recorded for each entry (2) an on-disk hashtable containing the profile records indexed via llvm::md5(function_name). We chose to introduce a separate hash table instead of the existing one since the indexing for the instrumented fdo hash table is based on a CFG hash which itself is perturbed by memprof instrumentation.
Differential Revision: https://reviews.llvm.org/D118653
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
| #
9b671652 |
| 19-Jan-2022 |
Snehasish Kumar <[email protected]> |
[memprof] Introduce a wrapper around MemInfoBlock.
Use the macro based format to add a wrapper around the MemInfoBlock when stored in the MemProfRecord. This wrapped block can then be serialized/des
[memprof] Introduce a wrapper around MemInfoBlock.
Use the macro based format to add a wrapper around the MemInfoBlock when stored in the MemProfRecord. This wrapped block can then be serialized/deserialized based on a schema specified by a list of enums.
Differential Revision: https://reviews.llvm.org/D117256
show more ...
|