LLVM/project dabc383openmp/runtime/src/include omp.h.var omp-tools.h.var

[OpenMP][OMPT] Make omp_control_tool enums available in omp-tools.h (#216076)

OpenMP 6.1 will introduce this change: the enums must be available by
including either header file, but including both must also be valid.
DeltaFile
+18-0openmp/runtime/src/include/omp-tools.h.var
+4-0openmp/runtime/src/include/omp.h.var
+22-02 files

LLVM/project 47f7a59clang/include/clang/AST Decl.h, clang/include/clang/Sema Sema.h

[clang] Move DefaultedFunctionKind from Sema to AST (#214846)

I plan on using this to implement DW_AT_defaulted in CGDebugInfo.
Putting this on FunctionDecl itself seems like a better move than
reaching into Sema from CGDebugInfo.

See: https://github.com/llvm/llvm-project/pull/213188
DeltaFile
+0-94clang/include/clang/Sema/Sema.h
+90-0clang/include/clang/AST/Decl.h
+16-70clang/lib/Sema/SemaDeclCXX.cpp
+55-0clang/lib/AST/Decl.cpp
+4-3clang/lib/Sema/SemaAccess.cpp
+3-2clang/lib/Sema/SemaTemplateInstantiate.cpp
+168-1698 files not shown
+181-17714 files

LLVM/project df7a7ee.github/workflows libcxx-benchmark-cron.yml

[libc++] Cache anchor commits in the benchmark cron (#216124)

Selecting the anchor commits is the only step that needs a full monorepo
clone, so we instead cache it and recompute it once per day.

Fixes #215447
DeltaFile
+40-6.github/workflows/libcxx-benchmark-cron.yml
+40-61 files

LLVM/project dbac582lldb/packages/Python/lldbsuite/test/make Makefile.rules

[LLDB] Fix tool dependency tracking on windows (#215927)

On Windows $(CXX) is converted into "$(CXX)" which doesn't work as a
path as needed by dependency tracking. Separate the two uses.
DeltaFile
+6-3lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+6-31 files

LLVM/project 03e81ealldb/include/lldb/Expression IRExecutionUnit.h ObjectFileJIT.h, lldb/source/Expression ObjectFileJIT.cpp

[LLDB] Add a GetTargetSP() accessor to ObjectFileJITDelegate. (NFC) (#215893)

This is needed to implement the Swift REPL and potentially generally
useful to other expression evaluators.
DeltaFile
+7-0lldb/include/lldb/Expression/ObjectFileJIT.h
+6-0lldb/source/Expression/ObjectFileJIT.cpp
+2-0lldb/include/lldb/Expression/IRExecutionUnit.h
+15-03 files

LLVM/project bb123b2clang/lib/Frontend SerializedDiagnosticPrinter.cpp, clang/test/Misc serialized-diags-large-fixit.m

[Clang][Frontend] Fix fix-it size overflow in emitted .dia (#216075)

When fix-its are emitted into a .dia, we previously stored the fix-it
text in a blob of arbitrary size, but the size of the text was stored in
a separate 16 bit field. For really large fix-its, the size won't fit it
those 16 bits, and the compiler crashes.

Switch to a variable length encoding of the fit-it size. This is similar
to this issue:
https://github.com/llvm/llvm-project/commit/e26aea5b290165f3bccffab662a706d4a56f7540

We also remove a hard coded check in the clang library used to load .dia
files that failed for fix-its whose size doesn't fit in 16 bits.

Generated with codex

Co-authored-by: Nuri Amari <nuriamari at fb.com>
DeltaFile
+45-0clang/test/Misc/serialized-diags-large-fixit.m
+0-3clang/tools/libclang/CXLoadedDiagnostic.cpp
+1-1clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
+46-43 files

LLVM/project 84f08dbllvm/lib/CodeGen/GlobalISel CMakeLists.txt

GlobalISel: Fix missing dependency on TargetParser (#216122)
DeltaFile
+1-0llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
+1-01 files

LLVM/project 715b0c4llvm/tools/lli lli.cpp

lli: Record the host triple on triple-less modules

The JIT compiles for the host, but modules without a target triple kept
an empty triple, which module-triple-based analyses (e.g. runtime
libcall selection) cannot resolve. Set the resolved JIT triple on the
module. This defends against jit test regressions when RuntimeLibraryInfo
starts getting computed from the module instead of TargetOptions.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+14-1llvm/tools/lli/lli.cpp
+14-11 files

LLVM/project 33237f7clang/lib/CodeGen BackendUtil.cpp, llvm/include/llvm/Analysis RuntimeLibcallInfo.h

CodeGen: Remove TargetOptions::FloatABIType

This is now fully replaced with the "float-abi" module flag.
If the module flag is not present, the default is computed
from the triple. Consumers are updated to read the module flag.

RuntimeLibraryAnalysis now defers analysis until run() on a Module,
instead of during the pass constructor as before. This requires copying
all of the remaining relevant TargetOptions so they are available
when the module is seen.

Unfortunately, ARM still depends on TargetOptions for determining
the float-abi. -target-abi=aapcs16 still changes the default float-abi,
but an explicit module flag wins.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+45-0llvm/test/LTO/ARM/float-abi-module-flag.ll
+19-17llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
+15-20llvm/lib/Target/ARM/ARMTargetMachine.cpp
+28-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/float-abi-module-flag.ll
+5-18llvm/lib/Analysis/RuntimeLibcallInfo.cpp
+3-14clang/lib/CodeGen/BackendUtil.cpp
+115-6923 files not shown
+174-12629 files

LLVM/project b85730bllvm/lib/CodeGen CommandFlags.cpp, llvm/test/CodeGen/ARM float-abi-synthesize-flag.ll

CodeGen: Synthesize "float-abi" module flag from -float-abi

Avoid annoying test updates when the corresponding TargetOptions
field is removed. Make the -float-abi llc/opt option a lit test
convenience that records the floating-point ABI in the IR,
mirroring how -mcpu/-mattr are recorded as function attributes.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+32-0llvm/test/CodeGen/ARM/float-abi-synthesize-flag.ll
+11-1llvm/lib/CodeGen/CommandFlags.cpp
+43-12 files

LLVM/project 3e17662llvm/lib/CodeGen CommandFlags.cpp, llvm/test/CodeGen/ARM float-abi-module-flag.ll float-abi-synthesize-flag.ll

Error on -float-abi conflicting with the "float-abi" module flag
DeltaFile
+17-5llvm/lib/CodeGen/CommandFlags.cpp
+5-3llvm/test/CodeGen/ARM/float-abi-module-flag.ll
+6-2llvm/test/CodeGen/ARM/float-abi-synthesize-flag.ll
+3-2llvm/test/CodeGen/CSKY/float-abi-module-flag.ll
+31-124 files

LLVM/project 00fb3f7llvm/lib/CodeGen CommandFlags.cpp

Remove opt description change
DeltaFile
+1-3llvm/lib/CodeGen/CommandFlags.cpp
+1-31 files

LLVM/project 94e2d3dllvm/test/CodeGen/AMDGPU/GlobalISel mul-known-bits.i128.ll

Apply suggestion from @chinmaydd
DeltaFile
+1-1llvm/test/CodeGen/AMDGPU/GlobalISel/mul-known-bits.i128.ll
+1-11 files

LLVM/project 5e4d13eclang/docs InternalsManual.md CMakeLists.txt, clang/include/clang/Basic AttrDocs.td

[clang][docs] Migrate AttributeReference to markdown (#215631)

Tracking issue: #201242

This change is a one-off using a different methodology, described here.

AttributeReference.rst is generated, not checked in, so there's no
separate rename PR. The reST markup lives in AttrDocs.td, which is
essentially a tablegen wrapper that we can "join" with Attr.td to
produce complete reference. I can't simply stream AttrDocs.td through
rst2myst to migrate it.

Instead, my agent used Python regexes to match `let Content = [{` and
similar blocks (`code Intro = [{`) through to the closing delimiters
(`}];`). The one-off script imported the `rst_to_myst` module and called
the `rst_to_myst` library function on the inner reST body text. It then
built up a list of alternating fragments of tablegen and markdown
strings that were concatenated to produce the new contents of
AttrDocs.td.

    [25 lines not shown]
DeltaFile
+4,235-4,283clang/include/clang/Basic/AttrDocs.td
+21-14clang/utils/TableGen/ClangAttrEmitter.cpp
+8-0clang/docs/LanguageExtensions.md
+2-2clang/docs/InternalsManual.md
+2-2clang/docs/CMakeLists.txt
+1-1llvm/docs/TableGen/BackEnds.rst
+4,269-4,3026 files

LLVM/project 0e1dea1libc/test/src/math CMakeLists.txt ceilf128_test.cpp, libc/test/src/math/smoke CMakeLists.txt ceilf128_test.cpp

add alias in test files
DeltaFile
+5-1libc/test/src/math/smoke/ceilf128_test.cpp
+5-1libc/test/src/math/ceilf128_test.cpp
+1-0libc/test/src/math/smoke/CMakeLists.txt
+1-0libc/test/src/math/CMakeLists.txt
+12-24 files

LLVM/project 113256aclang-tools-extra/docs ReleaseNotes.md, clang-tools-extra/test/clang-tidy/checkers/misc const-correctness-pointer-as-pointers.cpp

[clang-tidy] Fix `misc-const-correctness` false positive on writes through assigned pointers (#216050)

`ExprPointeeResolve` did not resolve through `=`, so a write such as
`*(p = q) = 0` was not recognized as mutating `p`'s pointee and the
check suggested a `const` pointee that does not compile:

```cpp
void func(int *ptr1) {
  int *ptr2 = ptr1;
  int *ptr3 = ptr1;
  *(ptr2 = ptr3) = 0;   // warning: pointee of 'ptr2' can be declared 'const'
}
```
Godbolt: https://godbolt.org/z/3o8qnEKs3

An assignment yields an lvalue for the LHS holding the value of the RHS,
so
the dereferenced object is reachable through both operands. Resolve
through

    [5 lines not shown]
DeltaFile
+48-0clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp
+43-0clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
+8-3clang-tools-extra/docs/ReleaseNotes.md
+2-0clang/lib/Analysis/ExprMutationAnalyzer.cpp
+101-34 files

LLVM/project 2dd35f8llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/X86 store-of-insert-load-isel.ll

[DAGCombine] Fix alignment of store in replaceStoreOfInsertLoad. (#215895)

For the variable index case, the alignment of the original store was
used, which is too large.

Fixes #215530
DeltaFile
+57-0llvm/test/CodeGen/X86/store-of-insert-load-isel.ll
+7-2llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+64-22 files

LLVM/project ca46214clang/docs AutomaticReferenceCounting.md ControlFlowIntegrityDesign.md, clang/docs/CIR CleanupAndEHDesign.md

Fix defects after reviewing HTML
DeltaFile
+32-32clang/docs/CIR/CleanupAndEHDesign.md
+13-15clang/docs/ControlFlowIntegrityDesign.md
+3-3clang/docs/AutomaticReferenceCounting.md
+48-503 files

LLVM/project a325020clang/docs ConstantInterpreter.md HardwareAssistedAddressSanitizerDesign.md, clang/docs/CIR CleanupAndEHDesign.md

[docs] Finish MyST migration for selected docs
DeltaFile
+104-121clang/docs/ControlFlowIntegrityDesign.md
+94-98clang/docs/AutomaticReferenceCounting.md
+38-39clang/docs/CIR/CleanupAndEHDesign.md
+23-24clang/docs/HardwareAssistedAddressSanitizerDesign.md
+23-24clang/docs/Block-ABI-Apple.md
+11-13clang/docs/ConstantInterpreter.md
+293-3197 files not shown
+314-34613 files

LLVM/project 0898fd1clang/docs ControlFlowIntegrityDesign.md Block-ABI-Apple.md, clang/docs/CIR ABILowering.md CleanupAndEHDesign.md

[docs] Convert selected rst docs with rst2myst
DeltaFile
+1,504-1,583clang/docs/AutomaticReferenceCounting.md
+1,110-1,139clang/docs/CIR/CleanupAndEHDesign.md
+640-663clang/docs/Block-ABI-Apple.md
+346-378clang/docs/CIR/ABILowering.md
+336-338clang/docs/ControlFlowIntegrityDesign.md
+203-211clang/docs/HLSL/FunctionCalls.md
+4,139-4,31212 files not shown
+5,094-5,40618 files

LLVM/project 9a49624clang/docs Block-ABI-Apple.rst Block-ABI-Apple.md, clang/docs/CIR CleanupAndEHDesign.rst CleanupAndEHDesign.md

[docs] Rename selected Clang docs to Markdown
DeltaFile
+0-2,674clang/docs/AutomaticReferenceCounting.rst
+2,674-0clang/docs/AutomaticReferenceCounting.md
+0-1,631clang/docs/CIR/CleanupAndEHDesign.rst
+1,631-0clang/docs/CIR/CleanupAndEHDesign.md
+0-944clang/docs/Block-ABI-Apple.rst
+944-0clang/docs/Block-ABI-Apple.md
+5,249-5,24931 files not shown
+9,486-9,48737 files

LLVM/project 26538e8llvm/lib/Target/SPIRV SPIRVUtils.h SPIRVUtils.cpp, llvm/test/CodeGen/SPIRV atomiccmpxchg-storage-class-semantics-vulkan.ll atomicrmw-storage-class-semantics-vulkan.ll

[SPIR-V] Drop storage-class MemorySemantics bit for relaxed Vulkan atomics (#215802)

VUID-StandaloneSpirv-MemorySemantics-10871 forbids combining a storage
class semantics bit with a relaxed memory order

The backend unconditionally OR'd the two together, which was untested
until #215634 moved this test under the SPIR-V backend where spirv-val
actually runs

Unblocks the currently failing on main
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/InterlockedOr-scope.ll` test
DeltaFile
+39-0llvm/test/CodeGen/SPIRV/atomicrmw-storage-class-semantics-vulkan.ll
+20-0llvm/test/CodeGen/SPIRV/atomiccmpxchg-storage-class-semantics-vulkan.ll
+10-4llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+8-5llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
+8-0llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+3-0llvm/lib/Target/SPIRV/SPIRVUtils.h
+88-96 files

LLVM/project fe9c586libc/src/__support/math ceilf128.h, libc/src/math ceilf128.h

nits
DeltaFile
+3-3libc/test/shared/shared_math_constexpr_test.cpp
+1-1libc/src/__support/math/ceilf128.h
+2-0libc/src/math/generic/ceilf128.cpp
+1-0libc/src/math/ceilf128.h
+7-44 files

LLVM/project 6fa686bllvm/lib/CodeGen/GlobalISel CMakeLists.txt

GlobalISel: Fix missing dependency on TargetParser
DeltaFile
+1-0llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
+1-01 files

LLVM/project db75e39clang/test/CodeGen systemz-charset.cpp

[SystemZ][z/OS] Fix typo in CHECK line in systemz-charset.cpp (#216101)

This patch fixes a typo of `CHECK=UTF8` to `CHECK-UTF8` in the following
testcase
clang/test/CodeGen/systemz-charset.cpp
DeltaFile
+7-7clang/test/CodeGen/systemz-charset.cpp
+7-71 files

LLVM/project 173f268clang/include/clang/AST ASTContext.h, clang/lib/AST ASTContext.cpp

[NFC] Move PaddingClearer functionality into ASTContext (#215823)

CIR needs to use this functionality to support
`__builtin_clear_padding`, and a
`bit-cast-padding` warning could also apparently use it as well. This
patch moves
this logic to a function in `ASTContext`, which returns a vector of
effectively 'pair'
objects. This result is now ALSO cached, so we don't have to generate it
multiple
times for the same objects, as suggested by Eli.

The logic is effectively copy/pasted with some minor changes to remove
the dependency
on CodeGen/LLVM-IR.

The conversion of the 'pair' objects to IR is done in CodeGen, but that
function is generally
only mildly changed.
DeltaFile
+60-320clang/lib/CodeGen/CGBuiltin.cpp
+282-0clang/lib/AST/ASTContext.cpp
+15-0clang/include/clang/AST/ASTContext.h
+357-3203 files

LLVM/project bed58b8clang/include/clang/Basic Specifiers.h, clang/lib/CodeGen CGDebugInfo.cpp

[clang][SPIR-V] Use the C calling convention as the target default (#210882)

On SPIR-V, `__cdecl` has no device-side equivalent, so it needs to be
normalized to the device default CC to match plain function type
DeltaFile
+33-33clang/include/clang/Basic/Specifiers.h
+38-0clang/test/SemaHIP/amdgcnspirv-host-cconv-in-abstract-type.hip
+16-8clang/lib/CodeGen/CGDebugInfo.cpp
+9-9clang/test/CodeGenHLSL/resources/TypedBuffers-constructor.hlsl
+9-9clang/test/CodeGenHLSL/resources/StructuredBuffers-constructors.hlsl
+8-8clang/test/CodeGenHLSL/resources/Textures-GetDimensions.hlsl
+113-6712 files not shown
+161-11718 files

LLVM/project 6f5f722libc/config/linux/riscv entrypoints.txt

nits:entrypoints
DeltaFile
+0-1libc/config/linux/riscv/entrypoints.txt
+0-11 files

LLVM/project 180e9e9libc/src/math ceilf128.h, libc/test/shared shared_math_constexpr_test.cpp

nits
DeltaFile
+9-9libc/test/shared/shared_math_constexpr_test.cpp
+1-2libc/src/math/ceilf128.h
+10-112 files

LLVM/project fdc1789llvm/include/llvm/CodeGen TargetLowering.h, llvm/lib/CodeGen RDFGraph.cpp MachineLICM.cpp

CodeGen: Pass the exception model to the EH register hooks (#216099)

Currently this is sourced from TargetOptions. In the future
this should come from program state, so needs to be passed in
from a value derived from the module flag. Thread through the
argument for future use. For now it's still sourced directly
from the TargetOptions.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+8-4llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+4-6llvm/lib/Target/ARM/ARMISelLowering.cpp
+6-3llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
+5-2llvm/lib/CodeGen/RDFGraph.cpp
+5-2llvm/lib/CodeGen/MachineLICM.cpp
+5-2llvm/include/llvm/CodeGen/TargetLowering.h
+33-1928 files not shown
+125-7434 files