LLVM/project 266b559 — utils/bazel/llvm-project-overlay/libc libc_build_rules.bzl

[bazel] Use label-like strings in libc_build_rules.bzl (#242570)

Downstream in Google, all labels are expected to look like real labels
so they can be detected with [standard bazel
libraries](https://github.com/bazel-contrib/buildtools/blob/496abbe0493db8e8ee6b763b0799701f356880be/labels/labels.go#L66).
It looks like other bits of the llvm-project-overlay go through similar
gymnastics:


https://github.com/llvm/llvm-project/blob/f2368ada4905d6003a7a6b7fd7acd99cfc65e8b9/utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl#L26

It is fairly convenient to be able to identify which strings are labels
just by checking which ones successfully parse, so this PR updates
`libc_build_rules.bzl` to conform with the existing convention.
DeltaFile
+2-2utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
+2-21 files

LLVM/project de574ff — clang/docs ReleaseNotes.md, clang/lib/CodeGen CGExpr.cpp CodeGenModule.h

[Clang][CFI] Only normalize integer types `cfi-icall` metadata (#242466)

When using `-fsanitize-cfi-icall-experimental-normalize-integers`, its
normalization was applied unconditionally when creating metadata,
appending `.normalized` and normalizing parts of C++ class vtable
`!type` metadata, virtual member-pointer metadata, virtual call checks,
and `-fexperimental-call-graph-section` metadata

This would cause ThinLTO to see vtable `!type` identifiers that mismatch
RTTI type-infos. Best case, this blocked whole-program devirtualization,
but in the worst case (mixed use of normalization) it would cause WPD to
make unsound transforms. =[

Restricting the normalization and `.normalized` suffix strictly to
`cfi-icall` function type metadata fixes these issues.

Added both direct tests and a CFI test that actually uses ThinLTO and
would break without this.

Assisted-by: Antigravity with Gemini
DeltaFile
+157-0compiler-rt/test/cfi/normalize-integers-wpd.cpp
+87-0clang/test/CodeGenCXX/cfi-icall-normalize-vtable.cpp
+29-23clang/lib/CodeGen/CodeGenModule.cpp
+7-8clang/lib/CodeGen/CodeGenModule.h
+4-0clang/docs/ReleaseNotes.md
+1-1clang/lib/CodeGen/CGExpr.cpp
+285-326 files

LLVM/project 788354f — llvm/lib/Transforms/Scalar ConstraintElimination.cpp

rework comment
DeltaFile
+6-6llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+6-61 files

LLVM/project 7c8490c — llvm/lib/Transforms/Scalar ConstraintElimination.cpp

bool -> enum

(cherry picked from commit 0058a4622d41986579c39891e9ad67dc80dde64b)
DeltaFile
+6-3llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+6-31 files

LLVM/project 949c1c6 — clang/lib/CIR/Dialect/Transforms CIRABIClassifier.cpp, clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp

[CIR] Flatten unions passed Direct in CallConvLowering (#241201)

Summary:

- On AMDGPU, a union wider than 64 bits is passed Direct with no coerce
type.
- OGCG passes it as its LLVM type's fields, storage member and tail
padding while CIR passed whole union.

Example:
`  typedef union { int a[3]; double d; } u_pad_t;`
`  void arg_u_pad(u_pad_t u) {}`

`  OGCG: @arg_u_pad(double, [8 x i8])`
`  CIR:  @arg_u_pad(%union.u_pad_t)`

- This patch flattens such a union the same way. Returns stay the union,
as in OGCG.
- A flattened field stored into a packed slot now uses the slot's

    [5 lines not shown]
DeltaFile
+286-0clang/test/CIR/Transforms/abi-lowering/amdgpu-union.cir
+35-13clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+9-5clang/lib/CIR/Dialect/Transforms/CIRABIClassifier.cpp
+330-183 files

LLVM/project 8338f48 — clang/lib/CIR/Dialect/Transforms CIRABIClassifier.cpp, clang/test/CIR/Transforms/abi-lowering amdgpu-complex.cir

[CIR] Flatten wide _Complex arguments in CallConvLowering (#240808)

Summary:

- When the ABI classifier passes a value `Direct` with no coerce type
and allows flattening, the CIR bridge only flattened struct records. A
`_Complex` was passed unchanged as one argument.
- On AMDGPU, a `_Complex` wider than 64 bits that fits the register
budget is classified this way.
- Classic codegen passes it as its two parts, but ClangIR passed one `{
double, double }`.
- This PR coerces such a `_Complex` to a `{real, imag}` struct, so the
rewriter splits it into two arguments the same way it does for structs.

Reference classic test:
[amdgcn-openmp-device-math-complex.c](https://github.com/llvm/llvm-project/blob/3f4a3d6a4f5cbcc1b7996e342f409234febbe1d0/clang/test/Headers/amdgcn-openmp-device-math-complex.c#L6)

Relates to Issue: https://github.com/llvm/llvm-project/issues/220471

Assisted by: claude opus 5.5
DeltaFile
+135-0clang/test/CIR/Transforms/abi-lowering/amdgpu-complex.cir
+12-0clang/lib/CIR/Dialect/Transforms/CIRABIClassifier.cpp
+147-02 files

LLVM/project 4c412c2 — clang/test/CodeGen oracle_function.c

fix

Created using spr 1.3.7
DeltaFile
+3-3clang/test/CodeGen/oracle_function.c
+3-31 files

LLVM/project f6e8e09 — llvm/lib/Transforms/Scalar ConstraintElimination.cpp

factor out common helper between #235161 and #241988
DeltaFile
+40-18llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+40-181 files

LLVM/project f2368ad — clang/lib/Headers hlsl.h CMakeLists.txt, clang/lib/Headers/hlsl hlsl_debugging.h

[HLSL] Add DebugBreak() (#242109)

Adds support for `void DebugBreak();` to Shader Model 6.10. The function
is defined in a new header `hlsl_debugging.h` which is included from the
main `hlsl.h` header. The function calls the existing
`__builtin_debugtrap()`. Lowering to SPIR-V and DXIL is added in
separate PRs.

Fixes #231325
DeltaFile
+25-0clang/test/SemaHLSL/BuiltIns/DebugBreak-availability.hlsl
+20-0clang/test/CodeGenHLSL/builtins/DebugBreak.hlsl
+19-0clang/lib/Headers/hlsl/hlsl_debugging.h
+14-0clang/test/SemaHLSL/BuiltIns/DebugBreak-error.hlsl
+1-0clang/lib/Headers/hlsl.h
+1-0clang/lib/Headers/CMakeLists.txt
+80-06 files

LLVM/project be5e68e — llvm/include/llvm/IR PassManagerImpl.h

IR: Look up PassInstrumentation once when erasing invalidated results (#242562)

AnalysisManager::invalidate looked up the cached PassInstrumentation
result for each erased result. It is never invalidated, so look it up
once.

Whole O3 instructions (callgrind): kimwitu++ k.bc -0.27%, SPASS cnf.bc
-0.05%, sqlite3 -0.02%.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+2-1llvm/include/llvm/IR/PassManagerImpl.h
+2-11 files

LLVM/project 8bf87b8 — flang/lib/Semantics check-omp-structure.cpp resolve-names.cpp, flang/test/Lower/OpenMP assumption-submodule.f90 assumption.f90

[flang][OpenMP] Support for "assumes no_parallelism" (#240882)

Support for the no_parallelism clause in assumes directive.
DeltaFile
+273-48flang/test/Lower/OpenMP/assumption.f90
+176-2flang/test/Semantics/OpenMP/declarative-directive01.f90
+58-12flang/lib/Semantics/resolve-names.cpp
+51-7flang/test/Lower/OpenMP/assumption-submodule.f90
+48-5flang/test/Parser/OpenMP/assumption.f90
+44-1flang/lib/Semantics/check-omp-structure.cpp
+650-7515 files not shown
+747-15421 files

LLVM/project 4b89962 — llvm/lib/Target/LoongArch LoongArchMergeBaseOffset.cpp

[LoongArch][NFC] Fix "i" -> "I" stylistically
DeltaFile
+1-1llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
+1-11 files

LLVM/project 947cfaa — llvm/lib/Target/LoongArch LoongArchMergeBaseOffset.cpp, llvm/test/CodeGen/LoongArch merge-base-offset.ll

[LoongArch] Teach LoongArchMergeBaseOffsetOpt::foldLargeOffset() about SLLI.D
DeltaFile
+31-11llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
+4-7llvm/test/CodeGen/LoongArch/merge-base-offset.ll
+35-182 files

LLVM/project b28ff7f — llvm/lib/Target/LoongArch/MCTargetDesc LoongArchMatInt.cpp, llvm/test/CodeGen/LoongArch fp-minimum-maximum.ll merge-base-offset.ll

[LoongArch] Load suitable immediates with LU12I.W+SLLI.D
DeltaFile
+47-48llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
+35-25llvm/test/CodeGen/LoongArch/fsqrt-reciprocal-estimate.ll
+10-14llvm/test/CodeGen/LoongArch/imm.ll
+9-6llvm/test/CodeGen/LoongArch/merge-base-offset.ll
+15-0llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMatInt.cpp
+8-6llvm/test/CodeGen/LoongArch/fp-minimum-maximum.ll
+124-998 files not shown
+142-11614 files

LLVM/project ecad559 — llvm/lib/Target/LoongArch LoongArchMergeBaseOffset.cpp, llvm/test/CodeGen/LoongArch merge-base-offset.ll

[LoongArch] Teach LoongArchMergeBaseOffsetOpt::foldLargeOffset() about SLLI.D
DeltaFile
+31-11llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
+4-7llvm/test/CodeGen/LoongArch/merge-base-offset.ll
+35-182 files

LLVM/project 6f0e334 — llvm/lib/Target/LoongArch LoongArchMergeBaseOffset.cpp

[LoongArch][NFC] Fix "i" -> "I" stylistically
DeltaFile
+1-1llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
+1-11 files

LLVM/project 3fbedbb — llvm/test/CodeGen/LoongArch imm.ll

[LoongArch][NFC] Add baseline test cases for immediates loadable with LU12I.W+SLLI.D
DeltaFile
+59-0llvm/test/CodeGen/LoongArch/imm.ll
+59-01 files

LLVM/project f8a0ef6 — clang/test/Headers __clang_hip_math.hip, llvm/test/CodeGen/AMDGPU combine-carry-into-uadde-usube.ll

Merge branch 'main' into users/mayanez/lld/pdb-publics
DeltaFile
+1,265-19,603utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+6,825-0utils/bazel/llvm-project-overlay/libc/src/__support/math/BUILD.bazel
+4,227-18llvm/test/CodeGen/AMDGPU/combine-carry-into-uadde-usube.ll
+3,674-0utils/bazel/llvm-project-overlay/libc/src/math/BUILD.bazel
+1,728-1,728clang/test/Headers/__clang_hip_math.hip
+1,512-1,574llvm/test/CodeGen/X86/clmul-vector.ll
+19,231-22,9231,705 files not shown
+91,606-58,2771,711 files

LLVM/project bec1c15 — llvm/lib/DebugInfo/PDB/Native GSIStreamBuilder.cpp

Fix latent overflow bug
DeltaFile
+4-1llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
+4-11 files

LLVM/project c3e504b — llvm/lib/Transforms/Scalar ConstraintElimination.cpp, llvm/test/Transforms/ConstraintElimination minmax.ll

try depth = 1, to limit compile time blowup querying deep clamp nests
DeltaFile
+2-1llvm/test/Transforms/ConstraintElimination/minmax.ll
+1-1llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+3-22 files

LLVM/project 6a48381 — llvm/include/llvm/CodeGen LiveIntervals.h, llvm/lib/CodeGen LiveIntervals.cpp

CodeGen: Allocate LiveIntervals ranges with BumpPtrAllocator (#242423)

LiveInterval and register unit LiveRange objects were individually
heap allocated and freed. Allocate them from a BumpPtrAllocator owned
by LiveIntervals, with recyclers so removed intervals and register
unit ranges reuse their storage. The arena is reset in clear(),
keeping the first slab across functions.

Reduces llc instructions by ~0.3% on the 40 largest CTMark TUs for
x86_64 and arm64. The impact is larger for amdgpu.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+18-6llvm/include/llvm/CodeGen/LiveIntervals.h
+16-6llvm/lib/CodeGen/LiveIntervals.cpp
+4-4llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
+38-163 files

NetBSD/src uTD160S — sys/arch/hb68k/pg68k pmap_pgmmu.c, sys/arch/m68k/m68k pmap_motorola.c pmap_68k.c

   No need to do the initial assignment of curlwp here.
VersionDeltaFile
1.114+4-5sys/arch/m68k/m68k/pmap_motorola.c
1.93+4-5sys/arch/m68k/m68k/pmap_68k.c
1.4+3-4sys/arch/hb68k/pg68k/pmap_pgmmu.c
1.49+2-3sys/arch/sun3/sun3x/locore2.c
1.112+2-3sys/arch/sun3/sun3/locore2.c
1.37+2-3sys/arch/sun2/sun2/locore2.c
+17-236 files

LLVM/project f895901 — llvm/lib/DebugInfo/PDB/Native GSIStreamBuilder.cpp

Fix latent overflow bug
DeltaFile
+3-1llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
+3-11 files

LLVM/project 2622e23 — llvm/unittests/ExecutionEngine/Orc LLJITTest.cpp

[NFC][tests] AIX: Disable JIT test requiring JIT link (#242556)

Avoids
```
LLVM ERROR: Incompatible object format!
```

Fixes failing CI from https://github.com/llvm/llvm-project/pull/207970.
This is consistent with 9a35c0cb452ae403c9a19a7e02f273c62e77304a.
DeltaFile
+4-0llvm/unittests/ExecutionEngine/Orc/LLJITTest.cpp
+4-01 files

FreeBSD/ports 87d9ddf — www/tikiwiki Makefile distinfo

www/tikiwiki: Update to 30.2
DeltaFile
+3-3www/tikiwiki/distinfo
+1-1www/tikiwiki/Makefile
+4-42 files

FreeBSD/ports 3c10a6e — www/py-fastapi Makefile distinfo

www/py-fastapi: Update to 0.162.7
DeltaFile
+3-3www/py-fastapi/distinfo
+1-2www/py-fastapi/Makefile
+4-52 files

FreeBSD/ports 59e8078 — www/tcexam Makefile distinfo

www/tcexam: Update to 17.5.1
DeltaFile
+3-3www/tcexam/distinfo
+1-1www/tcexam/Makefile
+4-42 files

FreeBSD/ports bec9fdf — textproc/evtx Makefile distinfo

textproc/evtx: Update to 0.15.1
DeltaFile
+191-193textproc/evtx/distinfo
+95-96textproc/evtx/Makefile
+286-2892 files

LLVM/project 3070785 — llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

OpenMP: Use getOrInsertFunction init callback for runtime functions

Use the new overload to set up the function on first use. The
MD_callback check is dropped since a newly created function will never
have metadata.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+19-38llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+19-381 files

LLVM/project dc73538 — llvm/lib/Transforms/Scalar ConstraintElimination.cpp

deduplicate constraint system queries
DeltaFile
+27-24llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+27-241 files