Manual-sync mirror of chromium.googlesource.com/external/github.com/llvm/llvm-project (bare monorepo, no subtree suffix)
Find a file
Maksim Panchenko f440b5c12d
[BOLT] Synchronize function and section order (#172419)
The order in which functions are emitted into the output file does not
always reflect the order in which they will appear in the final file.
This discrepancy occurs because code is emitted to different sections,
such as `.text`, `.text.cold`, `.text.mover`, etc.

To make passes that rely on the relative function order - such as
`LongJmpPass` - more precise and functional, sort the output functions
to reflect their final layout, and validate the layout after code
sections are sorted.

Note that, at this time, we only directly change the order of the main
fragments of functions. The order of other fragments, such as cold and
warm sections relative to other fragment types, is determined by the
section order.
2025-12-16 21:55:33 -08:00
.ci [CI] Make premerge advisor exit with code 0 if failures are explained 2025-12-16 15:50:35 -08:00
.github [Github][CI] Bump VS in Windows Container to VS2022 (#172396) 2025-12-16 09:50:00 -08:00
bolt [BOLT] Synchronize function and section order (#172419) 2025-12-16 21:55:33 -08:00
clang [NFC] Missing riscv-registered-target in the test (#172596) 2025-12-17 13:54:58 +08:00
clang-tools-extra [clang-doc] Add a "Home" link to navbar (#171900) 2025-12-16 18:41:03 -08:00
cmake Revert "[Flang] Move builtin .mod generation into runtimes (Reapply #137828) (#169638)" 2025-12-09 22:39:41 +01:00
compiler-rt [compiler-rt] [Darwin] OS/feature detection should use the run-wrapper (#171167) 2025-12-16 15:43:38 -08:00
cross-project-tests [Dexter] Adjust launch sequencing to align closer with DAP spec (#170523) 2025-12-09 11:32:09 +00:00
flang [flang] Support -funsafe-cray-pointers (#172252) 2025-12-16 23:40:00 -05:00
flang-rt [flang][runtime] Fix GPU output for multiple statements (#172363) 2025-12-15 13:33:49 -08:00
libc [libc][fuzzing] Improve printf long double fuzzing (#172113) 2025-12-16 18:31:55 +00:00
libclc [libclc] use clc functions in clspv/shared/vstore_half.cl (#171770) 2025-12-11 15:41:55 +08:00
libcxx [libc++] Rename the wg21 paper label to wg21-paper 2025-12-16 14:19:46 -05:00
libcxxabi [libc++] Enable -Wmissing-prototypes (#116261) 2025-12-16 11:25:07 +01:00
libsycl [libsycl] fix license link in README.md. 2025-12-01 16:34:37 -05:00
libunwind [libc++] Enable -Wmissing-prototypes (#116261) 2025-12-16 11:25:07 +01:00
lld [lld][MachO] Add --lto-emit-llvm command line option 2025-12-16 07:30:53 -07:00
lldb [lldb] [docs] [sbapi]: fix lldb-forward header name (#172578) 2025-12-16 21:09:07 -08:00
llvm [AMDGPU] Regenerate gfx11/12 dpp disasm test checks. NFC (#172583) 2025-12-16 20:40:40 -08:00
llvm-libgcc
mlir [MLIR][NVVM] Fix the lowering of legacy mbar.arrive (#172476) 2025-12-17 10:05:29 +05:30
offload [OpenMP][Offload] Add LIBOMPTARGET_TREAT_ATTACH_AUTO_AS_ALWAYS to treat attach(auto) as attach(always). (#172382) 2025-12-16 15:55:27 -08:00
openmp [OpenMP][Offload] Add LIBOMPTARGET_TREAT_ATTACH_AUTO_AS_ALWAYS to treat attach(auto) as attach(always). (#172382) 2025-12-16 15:55:27 -08:00
orc-rt [orc-rt] Add QueueingTaskDispatcher API. (#172401) 2025-12-16 17:43:36 +11:00
polly [SCEVExp] Get DL from SE, strip constructor arg (NFC) (#171823) 2025-12-11 14:26:47 +00:00
runtimes [libc++] Enable -Wmissing-prototypes (#116261) 2025-12-16 11:25:07 +01:00
third-party [benchmark][NFC] Update cc_binary load (#169710) 2025-12-01 10:00:53 -06:00
utils/bazel [bazel][libc] Remove unused dep in //libc:pkey_mprotect. (#172540) 2025-12-16 11:50:26 -08:00
.clang-format Enforce Unix line endings for Clang/LLVM/MLIR projects (#161460) 2025-10-02 06:09:12 -07:00
.clang-format-ignore Add empty top level .clang-format-ignore (#136022) 2025-04-16 15:48:30 -07:00
.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][nfc] Ignore OpenAI Codex artifacts (#162481) 2025-11-25 09:32:55 +00:00
.mailmap [mailmap] Update my name 2025-04-14 16:54:14 +08:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md [www][docs] Remove last mentions of IRC (#139076) 2025-05-08 09:40:33 -04:00
LICENSE.TXT
pyproject.toml [lldb] Configure pyright to the documented minimum python version (#162952) 2025-11-20 10:30:22 -08:00
README.md
SECURITY.md

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.