Manual-sync mirror of chromium.googlesource.com/external/github.com/llvm/llvm-project (bare monorepo, no subtree suffix)
Find a file
William Huynh 0b1639581a
[libc] Change LIBC_THREAD_LOCAL to be dependent on LIBC_THREAD_MODE (#151527)
When single-threaded mode is selected, all instances of the keyword
`LIBC_THREAD_LOCAL` are stubbed out, similar to how it currently works
on the GPU. This allows baremetal builds to avoid using thread_local.

However, libcxx uses shared headers, so we need to be careful there.
Thankfully, there is already an option to disable multithreading in
libcxx, so a flag is added such that single-threaded mode is propagated
down to libc.
2025-08-06 15:04:26 +01:00
.ci [CI] Make monolithic-* scripts only run Github steps on Github 2025-08-06 06:19:01 -07:00
.github [libcxx] [ci] Update Clang on Windows (#152206) 2025-08-06 10:06:29 +03:00
bolt [BOLT] Use llvm-nm by default on Windows (#151805) 2025-08-05 11:33:26 +04:00
clang [Clang] Fix warning on synthetic offload arch argument in host only mode (#151969) 2025-08-06 07:30:07 -05:00
clang-tools-extra [include-cleaner] Respect language when tracking IWYU pragmas on stdlib headers (#152142) 2025-08-05 16:24:01 +02:00
cmake [libc] Change LIBC_THREAD_LOCAL to be dependent on LIBC_THREAD_MODE (#151527) 2025-08-06 15:04:26 +01:00
compiler-rt [sanitizer_common] Disable SanitizerCommon lsan tests on Apple arm64 (#151929) 2025-08-06 10:08:57 +01:00
cross-project-tests [DTLTO][LLD][ELF] Support bitcode members of thin archives (#149425) 2025-08-01 09:38:46 +01:00
flang Revert "[flang][cmake] Re-apply "Fix bcc dependencies (#125822)"" 2025-08-06 15:10:52 +02:00
flang-rt [flang][runtime] Handle empty NAMELIST value list (#151770) 2025-08-05 13:40:11 -07:00
libc [libc] Change LIBC_THREAD_LOCAL to be dependent on LIBC_THREAD_MODE (#151527) 2025-08-06 15:04:26 +01:00
libclc [libclc] Move mem_fence and barrier to clc library (#151446) 2025-08-06 09:49:28 +08:00
libcxx Revert "[libc++] Fix incorrect down cast in __tree::operator=" 2025-08-06 12:09:07 +02:00
libcxxabi [libc++][hardening] Introduce assertion semantics. (#149459) 2025-07-29 00:19:15 -07:00
libsycl [SYCL] Add libsycl, a SYCL RT library implementation project (#144372) 2025-07-31 11:28:39 -07:00
libunwind [libunwind] Fix return type of DwarfFDECache::findFDE() in definition (#146308) 2025-07-23 00:03:19 +02:00
lld [LLD][COFF] Don't resolve weak aliases when performing local import (#152000) 2025-08-05 00:21:04 +02:00
lldb Revert "[lldb][test] Re-enable TestQueueFromStdModule.py" 2025-08-06 12:19:04 +01:00
llvm [DAG] getNode - fold (sext (trunc x)) -> x iff the upper bits are already signbits (#151945) 2025-08-06 14:55:46 +01:00
llvm-libgcc
mlir [mlir][spirv] Add support for Invariant and Patch decorations (#152301) 2025-08-06 14:40:03 +01:00
offload [OpenMP] Fix weak linkage on malloc declaration 2025-08-05 17:38:59 -05:00
openmp [OpenMP] Fix LLVM_ENABLE_PROJECTS=openmp build (#151117) 2025-08-05 13:42:46 +02:00
polly Slightly improve the getenv("bar") linking problem 2025-07-23 12:14:51 +01:00
runtimes [SYCL] Add libsycl, a SYCL RT library implementation project (#144372) 2025-07-31 11:28:39 -07:00
third-party [win][arm64ec] Fixes to unblock building LLVM and Clang as Arm64EC (#150068) 2025-07-31 09:30:05 -07:00
utils/bazel [bazel] Port fa39b67de0 (#152191) 2025-08-05 12:39:54 -07:00
.clang-format
.clang-format-ignore Add empty top level .clang-format-ignore (#136022) 2025-04-16 15:48:30 -07:00
.clang-tidy Format root clang-tidy config (NFC) (#147902) 2025-07-11 07:18:29 +03:00
.git-blame-ignore-revs Update .git-blame-ignore-revs for OpBuilder update (#150772) 2025-07-26 18:46:16 +02:00
.gitattributes Revert "Finally formalise our defacto line-ending policy" 2024-10-18 21:16:24 +01:00
.gitignore [JITLink] Switch to SymbolStringPtr for Symbol names (#115796) 2024-12-06 10:22:09 +11: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
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.