[all-commits] [llvm/llvm-project] 90acfb: [memprof] Use linear IDs for Frames and call stack...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Thu May 30 18:08:18 PDT 2024
Branch: refs/heads/users/MaskRay/spr/elf-detect-convergence-of-output-section-addresses
Home: https://github.com/llvm/llvm-project
Commit: 90acfbf90ddcb9c8c3338373bd13cb44f73bbd00
https://github.com/llvm/llvm-project/commit/90acfbf90ddcb9c8c3338373bd13cb44f73bbd00
Author: Kazu Hirata <kazu at google.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
Log Message:
-----------
[memprof] Use linear IDs for Frames and call stacks (#93740)
With this patch, we stop using on-disk hash tables for Frames and call
stacks. Instead, we'll write out all the Frames as a flat array while
maintaining mappings from FrameIds to the indexes into the array.
Then we serialize call stacks in terms of those indexes.
Likewise, we'll write out all the call stacks as another flat array
while maintaining mappings from CallStackIds to the indexes into the
call stack array. One minor difference from Frames is that the
indexes into the call stack array are not contiguous because call
stacks are variable-length objects.
Then we serialize IndexedMemProfRecords in terms of the indexes
into the call stack array.
Now, we describe each call stack with 32-bit indexes into the Frame
array (as opposed to the 64-bit FrameIds in Version 2). The use of
the smaller type cuts down the profile file size by about 40% relative
to Version 2. The departure from the on-disk hash tables contributes
a little bit to the savings, too.
For now, IndexedMemProfRecords refer to call stacks with 64-bit
indexes into the call stack array. As a follow-up, I'll change that
to uint32_t, including necessary updates to RecordWriterTrait.
Commit: 629b6f4eb129375324486181ac4fda1288ebecbc
https://github.com/llvm/llvm-project/commit/629b6f4eb129375324486181ac4fda1288ebecbc
Author: shaw young <58664393+shawbyoung at users.noreply.github.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M bolt/include/bolt/Core/FunctionLayout.h
M bolt/lib/Core/FunctionLayout.cpp
Log Message:
-----------
[BOLT][NFC] Extend updateLayoutIndices (#93861)
Make FunctionLayout::updateLayoutIndices const and add an overloaded
function that updates LayoutIndices given an Order parameter.
Commit: fc2b15987b417174ee6d899178af08c47e04575b
https://github.com/llvm/llvm-project/commit/fc2b15987b417174ee6d899178af08c47e04575b
Author: Sterling Augustine <saugustine at google.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M llvm/test/CodeGen/X86/apx/asm-constraint-2-jR.ll
Log Message:
-----------
Send output to a temp file, even in the error case
Prior to this, the test tries to write to the source directory,
which prevents it from working when the source is on a read-only
file systems.
Commit: 419d363385c7fa8bd969a817f95ab025ae94277c
https://github.com/llvm/llvm-project/commit/419d363385c7fa8bd969a817f95ab025ae94277c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
Log Message:
-----------
AMDGPU: Add kernarg input attributes to preloaded kernarg test (#93669)
Explicitly mark the unused implicit arguments in the test, since this
should be sensitive to the number of free user SGPRs.
This is in preparation for #83131.
Commit: d9fbccf9a9b1ee2b76267146b4582415df67e66c
https://github.com/llvm/llvm-project/commit/d9fbccf9a9b1ee2b76267146b4582415df67e66c
Author: David Blaikie <dblaikie at gmail.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M clang/test/Driver/debug-options.c
Log Message:
-----------
Fix test on MacOS where -fstandalone-debug is the default
This test is meant to check the behavior when -fno-standalone-debug is
active - it doesn't care whether it's explicit or implicit, so let's
make it explicit so it applies equally to MacOS and other platforms.
Commit: 235ddbd138b14aa1479adda2dc16f5f4055f1053
https://github.com/llvm/llvm-project/commit/235ddbd138b14aa1479adda2dc16f5f4055f1053
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M llvm/docs/DirectXUsage.rst
Log Message:
-----------
[DirectX] [Docs] Add DXILOpTableGenDesign.rst to toctree of DirectXUsage. (#93864)
Fix doc build failure.
Commit: d4ff9615a1531f4a466b7d1fb0f175e3ae489289
https://github.com/llvm/llvm-project/commit/d4ff9615a1531f4a466b7d1fb0f175e3ae489289
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M clang/include/clang/Sema/Attr.h
Log Message:
-----------
Add missing #include for ObjCMethodDecl.
DeclBase.h only contains a forward declaration of ObjCMethodDecl, and
when building clang/Sema/Attr.h with header modules this causes a build
failure because `llvm::isa<ObjCMethodDecl>` requires the full type.
Commit: 852aaf54071ad072335dcac57f544d4da34c875a
https://github.com/llvm/llvm-project/commit/852aaf54071ad072335dcac57f544d4da34c875a
Author: Aaron Siddhartha Mondal <aaron at tracemachina.com>
Date: 2024-05-31 (Fri, 31 May 2024)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/VectorEngine.cmake
M clang/utils/analyzer/entrypoint.py
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/xray/tests/CMakeLists.txt
M lldb/docs/resources/build.rst
M lldb/source/Core/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
R llvm/cmake/modules/FindTerminfo.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/Config/config.h.cmake
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/Unix/Process.inc
M llvm/utils/gn/README.rst
R llvm/utils/gn/build/libs/terminfo/BUILD.gn
R llvm/utils/gn/build/libs/terminfo/enable.gni
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn
M utils/bazel/.bazelrc
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
Reapply "[Support] Remove terminfo dependency (#92865)" (#93889)
This reverts commit fe82a3da36196157c0caa1ef2505186782f750d1.
This broke LLDB on MacOS due to a missing symbol during linking.
The fix has been applied in c6c08eee37bada190bd1aa4593c88a5e2c8cdaac.
Original commit message:
The terminfo dependency introduces a significant nonhermeticity into the
build. It doesn't respect `--no-undefined-version` meaning that it's not
a dependency that can be built with Clang 17+. This forces maintainers
of source-based distributions to implement patches or ignore linker
errors.
Remove it to reduce the closure size and improve portability of
LLVM-based tools. Users can still use command line arguments to toggle
color support expliticly.
Fixes #75490
Closes #53294 #23355
Commit: e1c3e16d24b5cc097ff08e9283f53319acd3f245
https://github.com/llvm/llvm-project/commit/e1c3e16d24b5cc097ff08e9283f53319acd3f245
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Decl.cpp
M clang/test/SemaObjCXX/block-capture.mm
Log Message:
-----------
[clang] Fix a crash when a variable is captured by a block nested inside a lambda (#93749)
`Eval->Value.get` returns a null pointer when the variable doesn't have
an initializer. Use `cast_if_present` instead of `cast`.
This fixes https://github.com/llvm/llvm-project/issues/93625.
rdar://128482541
Commit: f38d84ce328c2acdce372680a41d8cf6c1bdf7c4
https://github.com/llvm/llvm-project/commit/f38d84ce328c2acdce372680a41d8cf6c1bdf7c4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Log Message:
-----------
[VPlan] Use ir-bb prefix for VPIRBasicBlock.
Follow-up to adjust the names and tests after
https://github.com/llvm/llvm-project/pull/93398.
Commit: e9954ec087d640809082f46d1c7e5ac1767b798d
https://github.com/llvm/llvm-project/commit/e9954ec087d640809082f46d1c7e5ac1767b798d
Author: Amir Ayupov <aaupov at fb.com>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/register-fragments-bolt-symbols.s
Log Message:
-----------
[BOLT] Detect .warm split functions as cold fragments (#93759)
CDSplit splits functions up to three ways: main fragment with no suffix,
and fragments with .cold and .warm suffixes.
Add .warm suffix to the regex used to recognize split fragments.
Test Plan: updated register-fragments-bolt-symbols.s
Commit: 4bd0524dddc8151bd17b23f843a20ffa0ea352c7
https://github.com/llvm/llvm-project/commit/4bd0524dddc8151bd17b23f843a20ffa0ea352c7
Author: Fangrui Song <i at maskray.me>
Date: 2024-05-30 (Thu, 30 May 2024)
Changed paths:
M bolt/include/bolt/Core/FunctionLayout.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/FunctionLayout.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/register-fragments-bolt-symbols.s
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/cmake/caches/VectorEngine.cmake
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Attr.h
M clang/lib/AST/Decl.cpp
M clang/test/Driver/debug-options.c
M clang/test/SemaObjCXX/block-capture.mm
M clang/utils/analyzer/entrypoint.py
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/xray/tests/CMakeLists.txt
M lld/ELF/LinkerScript.cpp
M lldb/docs/resources/build.rst
M lldb/source/Core/CMakeLists.txt
M llvm/CMakeLists.txt
M llvm/cmake/config-ix.cmake
R llvm/cmake/modules/FindTerminfo.cmake
M llvm/cmake/modules/LLVMConfig.cmake.in
M llvm/docs/DirectXUsage.rst
M llvm/docs/ReleaseNotes.rst
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/ProfileData/InstrProfReader.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/ProfileData/InstrProfWriter.cpp
M llvm/lib/ProfileData/MemProf.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/X86/apx/asm-constraint-2-jR.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/utils/gn/README.rst
R llvm/utils/gn/build/libs/terminfo/BUILD.gn
R llvm/utils/gn/build/libs/terminfo/enable.gni
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-config/BUILD.gn
M utils/bazel/.bazelrc
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
update comment
Created using spr 1.3.5-bogner
Compare: https://github.com/llvm/llvm-project/compare/6a05cd6b491a...4bd0524dddc8
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list