Manual-sync mirror of chromium.googlesource.com/external/github.com/llvm/llvm-project (bare monorepo, no subtree suffix)
Find a file
Marco Elver fb6f1bde00
[ItaniumDemangle] Strip __alloc_token_ to transparently demangle allocation functions (#191048)
Update the Itanium demangler to recognize and strip `__alloc_token_`
prefixes introduced by AllocToken instrumentation [1]. This ensures that
instrumented allocation functions (e.g., `__alloc_token__Znwm`) demangle
back to their original source-level names (e.g., `operator new(unsigned
long)`) with a suffix `(.alloc_token)` indicating their non-standard
origin.

Since AllocToken is intended to be transparent to users who continue to
use `operator new` as before, the demangled name should reflect this
reality instead of confusing users with internal instrumentation names
in stack traces or symbolization output.

Synchronize changes across llvm and libcxxabi copies.

[1] https://clang.llvm.org/docs/AllocToken.html

Original RFC: https://discourse.llvm.org/t/rfc-a-framework-for-allocator-partitioning-hints/87434
2026-04-22 17:57:30 +02:00
.ci [CI] Fix cross-project-tests dependencies (#193323) 2026-04-21 22:37:08 +00:00
.github [Github] Bump Github Runner Version to 2.334.0 (#193318) 2026-04-21 14:04:48 -07:00
bolt [bolt] AArch64: Fix TLSDESC to LE relaxation by mold (#190370) 2026-04-22 14:59:11 +01:00
clang [clang][bytecode] print array root state in Pointer::print() (#193494) 2026-04-22 16:27:12 +02:00
clang-tools-extra [clang-tidy][readability-identifier-length] Add a line count threshold (without std::transform_reduce) (#193276) 2026-04-22 19:11:18 +08:00
cmake [runtimes][CMake] Move Fortran support code from flang-rt (#171610) 2026-04-21 10:58:43 +00:00
compiler-rt [compiler-rt] Initial support for compiler-rt builtins on SPIRV64 target (#192897) 2026-04-22 22:57:42 +08:00
cross-project-tests [cross-project-tests] Add llvm-modextract as a dependency (#193296) 2026-04-21 14:06:12 -07:00
flang [flang][OpenMP] Remove unused member, NFC (#193512) 2026-04-22 10:12:33 -05:00
flang-rt [runtimes][CMake] Move Fortran support code from flang-rt (#171610) 2026-04-21 10:58:43 +00:00
libc [libc] Add struct sockaddr_storage (on linux) (#192978) 2026-04-22 16:43:04 +02:00
libclc [libclc] Fix atomic_fetch_add/sub overloads for uintptr_t (#192570) 2026-04-16 23:41:51 +00:00
libcxx [libc++][ranges] P2164R9: Implements views::enumerate (#73617) 2026-04-22 08:42:38 -04:00
libcxxabi [ItaniumDemangle] Strip __alloc_token_ to transparently demangle allocation functions (#191048) 2026-04-22 17:57:30 +02:00
libsycl [libsycl][Driver] Move and rename the SYCL shared library (#188770) 2026-04-20 11:54:02 -07:00
libunwind [LFI][libunwind] Avoid writing to reserved registers on the aarch64_lfi target (#192739) 2026-04-21 15:42:31 -07:00
lld [ELF] Improve allocateHeaders tests (#193419) 2026-04-21 23:31:42 -07:00
lldb [lldb] Fix inappropriate uses of LLDB_INVALID_IMAGE_TOKEN (#193365) 2026-04-22 18:53:38 +03:00
llvm [ItaniumDemangle] Strip __alloc_token_ to transparently demangle allocation functions (#191048) 2026-04-22 17:57:30 +02:00
llvm-libgcc [Runtimes] Introduce variables containing resource dir paths (#177953) 2026-04-02 10:32:14 +00:00
mlir [mlir] targeted verification for transform "inlining" (#192956) 2026-04-22 17:22:26 +02:00
offload [offload] Get kernel argument sizes from Level Zero (#192487) 2026-04-22 15:58:40 +02:00
openmp [OpenMP] Fix OpenMP device subdir installation w/ multilibs (#193378) 2026-04-22 07:46:12 -05:00
orc-rt [orc-rt] Add Session::attach convenience overload. (#191199) 2026-04-10 08:45:50 +10:00
polly [Passes] Remove Os and Oz optimization pipelines (#191363) 2026-04-22 09:34:35 +00:00
runtimes [runtimes] Enable Fortran only with explicit CMAKE_Fortran_COMPILER (#193332) 2026-04-22 01:17:39 +02:00
third-party [Benchmark] Fix warnings around usage of __COUNTER__ (#184524) 2026-03-04 01:39:16 +00:00
utils/bazel [MLIR][BUILD]: Fix for 36331abd8c (#193523) 2026-04-22 15:55:46 +00: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] Add instructions.md to coding assistants section (#181211) 2026-02-12 19:51:42 +00: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 [lldb] Configure pyright to the documented minimum python version (#162952) 2025-11-20 10:30:22 -08: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.