llvm-capstone/llvm
Mingming Liu 5ce286849a
[CGProfile] Use callee's PGO name when caller->callee is an indirect call. (#78610)
- With PGO, indirect call edges are constructed using value profiles, and the profile address is mapped to a function's PGO name. The PGO name is computed using a functions linkage before LTO internalization or global promotion.
- With ThinLTO, local functions [could be
promoted](2663d2cb9c/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp (L288)) to have external linkage; and with
[full](2663d2cb9c/llvm/lib/LTO/LTO.cpp (L1328))
or
[thin](2663d2cb9c/llvm/lib/LTO/LTO.cpp (L448))
LTO, global functions could be internalized. Edge construction should use a function's PGO name before its linkage is updated.
2024-01-22 10:36:03 -08:00
..
benchmarks
bindings
cmake [LLVM][CMake] Add ffi_static target for the FFI static library (#78779) 2024-01-22 07:27:06 -06:00
docs AMDGPU/Docs: Add link to MI300 Instruction Set Architecture (#78777) 2024-01-22 10:32:35 -05:00
examples [Kaleidoscope] LLVM is not needed for chapter two (#69823) 2024-01-12 20:48:43 -08:00
include [CGProfile] Use callee's PGO name when caller->callee is an indirect call. (#78610) 2024-01-22 10:36:03 -08:00
lib [CGProfile] Use callee's PGO name when caller->callee is an indirect call. (#78610) 2024-01-22 10:36:03 -08:00
projects
resources
runtimes [libc] Fix libc-hdrgen crosscompiling (#78227) 2024-01-16 07:39:06 -06:00
test [CGProfile] Use callee's PGO name when caller->callee is an indirect call. (#78610) 2024-01-22 10:36:03 -08:00
tools [coverage] skipping code coverage for 'if constexpr' and 'if consteval' (#78033) 2024-01-22 12:50:20 +01:00
unittests [JITLink][AArch32] Implement ELF relocation R_ARM_NONE 2024-01-22 16:47:17 +01:00
utils [AArch64][SME] Take arm_sme.h out of draft (#78961) 2024-01-22 17:12:16 +00:00
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt [MLGO] Upstream the corpus extraction tooling (#72319) 2024-01-19 17:23:51 -08:00
CODE_OWNERS.TXT [llvm] Add myself as codeowner for TextAPI (#70399) 2023-10-26 20:07:58 -07:00
configure Remove autoconf support 2016-01-26 21:29:08 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
README.txt
RELEASE_TESTERS.TXT Update RELEASE_TESTERS.TXT 2022-10-07 10:37:25 +02:00

The LLVM Compiler Infrastructure
================================

This directory and its subdirectories contain source code for LLVM,
a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.