Manual-sync mirror of chromium.googlesource.com/external/github.com/llvm/llvm-project (bare monorepo, no subtree suffix)
Find a file
Amir Ayupov 61480755ee
[BOLT] Support multiple perf data inputs
Allow multiple -p/-perfdata args (comma-separated and repeated).
Process them in parallel with `--perfdata-jobs/-pj` (default 4,
0 for all available hardware threads). Keep YAML/DataReader
inputs single-profile only.

This also enables density computation with multiple perf files.
Prior to that, it was impossible to compute total density as
it wasn't computed from symbolized profiles.

Depends on
#199323
#199322
#199321
#199320

Test Plan:
Updated pre-aggregated-perf.test and perf_test

For a large binary (300MB text) and 7 ETM perf data files
(6GB each), compared to parallel perf2bolt + merge-fdata:
* processing time is equal: 670+3s -> 669s (within noise),
* output is equivalent: sorted fdata is equal.

Reviewers:
paschalis-mpeis, rafaelauler, yozhu, ayermolo, yavtuk, maksfb, yota9

Reviewed By: paschalis-mpeis, rafaelauler

Pull Request: https://github.com/llvm/llvm-project/pull/199324
2026-06-01 08:24:08 -07:00
.ci [CI] Add 'lld' to LLVM projects in build script for lldb windows bot (#200207) 2026-05-28 16:35:08 +00:00
.github workflows/release-binaries: Install LLDB test deps (#199900) 2026-06-01 13:36:31 +01:00
bolt [BOLT] Support multiple perf data inputs 2026-06-01 08:24:08 -07:00
clang [clang] Parse __typeof_unqual__ consistently with __typeof__ (#198948) 2026-06-01 16:51:33 +02:00
clang-tools-extra [clang-tools-extra][docs] Convert maintainers file to Markdown (#200365) 2026-06-01 11:13:00 +01:00
cmake [runtimes][CMake] Move Fortran support code from flang-rt (#171610) 2026-04-21 10:58:43 +00:00
compiler-rt [asan] Allow OOM Policy Injection in Allocator::Allocate API (#196413) 2026-05-31 23:05:59 -07:00
cross-project-tests [WebAssembly] Add f16x8.demote_f32x4_zero to wasm_simd128.h. (#199795) 2026-05-27 09:58:16 -07:00
flang [flang][OpenMP] Restricting Integration test atomic-capture-release.f90 run to x86 and aarch64 (#200770) 2026-06-01 10:19:49 -05:00
flang-rt [Flang] Fix runtime module file dependency on tests (#200417) 2026-05-29 12:15:52 -05:00
libc [libc] Add sys/uio.h to Linux public header target lists (#200793) 2026-06-01 15:59:42 +02:00
libclc [libclc][test] Update math/cos.cl check lines after #199981 revert (#200353) 2026-05-29 11:16:27 -07:00
libcxx [libc++][ranges] P2542R8: Implement views::concat (#120920) 2026-05-30 23:26:16 +01:00
libcxxabi [Clang] Mangling of pack indexing type and expression for itanium (#123513) 2026-05-15 16:50:30 +02:00
libsycl [libsycl] Add parallel_for feature (#189068) 2026-06-01 15:31:32 +02:00
libunwind [libunwind] Add SME detection for Apple platforms (#193630) 2026-05-05 02:25:33 +00:00
lld [lld][LoongArch] Handle DTPREL relocations in debug sections (#199327) 2026-05-29 22:24:48 +08:00
lldb [lldb][windows] refactor null handling in DynamicLoaderWindowsDYLD (#200821) 2026-06-01 15:52:56 +01:00
llvm [LoopInterchange] Add test where loop has memory-affected calls (NFC) (#200827) 2026-06-01 15:17:23 +00:00
llvm-libgcc [Runtimes] Introduce variables containing resource dir paths (#177953) 2026-04-02 10:32:14 +00:00
mlir [mlir][nvgpu] Add roundtrip tests for warpgroup MMA operations (#199272) 2026-06-01 15:55:09 +02:00
offload [offload][OpenMP] Add strict flag for blocks and threads in kernel arguments (#199483) 2026-05-30 02:28:35 -07:00
openmp [Flang] Move builtin .mod generation into runtimes (Reapply #137828) (#171515) 2026-05-29 10:50:52 +02:00
orc-rt [orc-rt] Remove NativeDylibManager unload operation. (#200119) 2026-05-28 17:33:32 +10:00
polly [polly] Simplify with DenseMap::remove_if. NFC (#199577) 2026-05-25 22:35:48 +00:00
runtimes [Flang] Move builtin .mod generation into runtimes (Reapply #137828) (#171515) 2026-05-29 10:50:52 +02:00
third-party Update Google Benchmark to v1.9.5 (#198964) 2026-05-29 18:58:04 -04:00
utils/bazel [bazel] Port ae1d75e (#200758) 2026-06-01 11:04:34 +02:00
.clang-format
.clang-format-ignore
.clang-tidy Add default empty header filter regex to root .clang-tidy (#167386) 2025-11-11 01:36:25 +03:00
.git-blame-ignore-revs [clang-tidy][NFC] Add clang-tidy formatting commit to .git-blame-ignore-revs (#167126) 2025-11-20 21:42:10 +08:00
.gitattributes [libclang/python] Enable packaging clang python bindings (#125806) 2025-11-24 17:21:24 -08:00
.gitignore [llvm][.gitignore] Ignore .agents directory (#194236) 2026-04-27 20:45:53 +08:00
.mailmap [mailmap] Add mailmap entry for myself (#189447) 2026-03-30 18:35:34 +00:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.TXT
pyproject.toml List psutil as a dependency in pyproject.toml 2026-05-04 13:10:21 -07:00
README.md
SECURITY.md [SECURITY.md] add pointers to "what is a security issue" (#177372) 2026-01-22 17:19:09 -07:00

The LLVM Compiler Infrastructure

OpenSSF Scorecard OpenSSF Best Practices libc++

Welcome to the LLVM project!

This repository contains the source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and run-time environments.

The LLVM project has multiple components. The core of the project is itself called "LLVM". This contains all of the tools, libraries, and header files needed to process intermediate representations and convert them into object files. Tools include an assembler, disassembler, bitcode analyzer, and bitcode optimizer.

C-like languages use the Clang frontend. This component compiles C, C++, Objective-C, and Objective-C++ code into LLVM bitcode -- and from there into object files, using LLVM.

Other components include: the libc++ C++ standard library, the LLD linker, and more.

Getting the Source Code and Building LLVM

Consult the Getting Started with LLVM page for information on building and running LLVM.

For information on how to contribute to the LLVM project, please take a look at the Contributing to LLVM guide.

Getting in touch

Join the LLVM Discourse forums, Discord chat, LLVM Office Hours or Regular sync-ups.

The LLVM project has adopted a code of conduct for participants to all modes of communication within the project.