Manual-sync mirror of chromium.googlesource.com/external/github.com/llvm/llvm-project (bare monorepo, no subtree suffix)
Find a file
William Moses d8d33abac0
[MLIR] Allow recovering from semi-affine sets in FlatLinearValueConst… (#212346)
…raints

The IntegerSet constructor of FlatLinearValueConstraints asserts when
flattening fails, which happens for semi-affine integer sets. Since the
failure is signalled from inside a constructor, callers have no way to
detect the unsupported case ahead of time and no way to work around it;
they simply crash.

Add an optional `bool *error` parameter to the constructor. When it is
non-null, hitting the unimplemented case sets `*error` to true and
returns instead of asserting, letting callers bail out gracefully.
`*error` is set to false on success. When the pointer is null the
previous assert behavior is retained, so existing callers are
unaffected.
2026-07-27 22:26:34 +00:00
.ci [libc++] Rename pre-commit CI workflows (#211844) 2026-07-24 14:56:19 -04:00
.github [libc++] Rename the test suite used on LNT (#212347) 2026-07-27 17:34:47 -04:00
bolt [BOLT] Fix strict mode bug in removal of block referenced by JT (#211940) 2026-07-27 12:35:54 -07:00
clang [Offload] Decouple CUDA source from NVPTX syncthreads assumption (#212339) 2026-07-27 14:30:50 -07:00
clang-tools-extra Add Objective-C support to include-cleaner's AST walker. (#211119) 2026-07-27 12:14:27 -04:00
cmake Bump version to 24.0.0git (#209473) 2026-07-14 09:21:03 -04:00
compiler-rt [scudo] Test to verify fork and allocate does not deadlock. (#211975) 2026-07-27 10:49:24 -07:00
cross-project-tests cross-project-tests: Migrate amdgpu tests to use subarch triples (#210115) 2026-07-24 17:38:34 +02:00
flang [flang][cuda] Do not emit cuf.register_variable_static for device/constant under unified mode (#212344) 2026-07-27 20:59:07 +00:00
flang-rt [flang-rt][cuda] Keep device-context cleanup probe from leaking a last-error (#211910) 2026-07-24 21:23:58 +00:00
libc [libc] Add stub implementation for strptime. (#211088) 2026-07-27 16:19:21 +01:00
libclc libclc: Fix signed 0 handling in sincospi (#211260) 2026-07-23 06:24:44 +02:00
libcxx [libc++] Rename the test suite used on LNT (#212347) 2026-07-27 17:34:47 -04:00
libcxxabi [libc++abi][NFC] Remove some XFAILs which never trigger (#211241) 2026-07-26 16:19:32 +02:00
libsycl [SYCL] Update SYCL to use the new liboffload allocation API (#212223) 2026-07-27 14:14:41 +02:00
libunwind [libunwind][PPC64] Fix unw_getcontext corrupting callee-saved VSX registers on LE (#198371) 2026-07-25 12:11:31 -07:00
lld [lld] Don't drop RELR relocations for late-added GOT entries (#211911) 2026-07-27 10:39:23 -07:00
lldb [LLDB] Hide unresolvable children from ObjC tagged pointers (#211936) 2026-07-27 14:59:17 -07:00
llvm RuntimeLibcalls: Migrate to dag libcall predicates (#210674) 2026-07-27 22:03:46 +00:00
llvm-libgcc [docs] Finish misc MyST migration (#210209) 2026-07-17 11:56:59 -07:00
mlir [MLIR] Allow recovering from semi-affine sets in FlatLinearValueConst… (#212346) 2026-07-27 22:26:34 +00:00
offload [OFFLOAD][L0] Fix zero argurment kernel launch (#212296) 2026-07-27 21:44:06 +02:00
openmp FIX some OMPT tests that fail on RISC-V (#156914) 2026-07-24 11:24:36 +02:00
orc-rt [orc-rt] Fix maybe_unused attribute. (#212237) 2026-07-27 22:55:23 +10:00
polly [SCEV] Remove ptrtoint expression (NFC). (#212038) 2026-07-26 21:28:16 +01:00
runtimes Remove debug leftovers (#211068) 2026-07-21 23:23:13 -07:00
third-party Fix a warning and an uninitialized variable in benchmark (#200927) 2026-06-02 13:49:06 -07:00
utils [Bazel] Fixes 98d41d2 (#212244) 2026-07-27 09:04:47 -05:00
.clang-format
.clang-format-ignore [Docs] Update coding standard for TD files (#200848) 2026-06-01 21:35:58 +01: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 Add "Split clang/lib/CodeGen/CGBuiltin.cpp" to .git-blame-ignore-revs (#203419) 2026-06-12 12:03:28 +01:00
.gitattributes [libclang/python] Enable packaging clang python bindings (#125806) 2025-11-24 17:21:24 -08:00
.gitignore gitignore: Add emacs lock files (#205055) 2026-06-22 18:19:29 +02:00
.mailmap mailmap: Add entries for Peter Collingbourne. (#210526) 2026-07-18 11:02:06 -07:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE.TXT
pyproject.toml [docs] Create utils/docs (#203962) 2026-06-24 15:12:48 -04:00
README.md [libc++] Rename pre-commit CI workflows (#211844) 2026-07-24 14:56:19 -04:00
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.