LLVM/project 49e7538lldb/test/API/functionalities/scripted_frame_provider/wrapped_frame_register_context frame_provider.py

[lldb][test] Fix 64-bit register assumption in wrapped frame test (#217659)

Added in #216840 / b0e9c530b5f0206de4a4f59f6728dbd5f10a5ca2.

This is failing on our downstream Arm 32-bit Linux bot:
```
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
  * frame #0: 0x013d0630 a.out`compute(a=<unavailable>, b=<unavailable>) at main.c:3:10 [synthetic]
    frame #1: 0x013d065c a.out`main at main.c:6:25
    frame #2: 0xea2b739a libc.so.6`
    frame #3: 0xea2b743e libc.so.6`__libc_start_main + 94
    frame #4: 0x013d0538 a.out`_start + 40

Expecting sub string: "compute(a=3, b=4)" (was not found)
```
I have not had time to reproduce it locally, but I did notice that the
test packs a struct of registers using `Q` (8 bytes) regardless of
register size.


    [6 lines not shown]
DeltaFile
+19-3lldb/test/API/functionalities/scripted_frame_provider/wrapped_frame_register_context/frame_provider.py
+19-31 files

LLVM/project 584453b.github/workflows compiler-rt-libc-builtins-tests.yml, compiler-rt/lib/builtins CMakeLists.txt

[CI] check libc freestanding in compiler-rt
DeltaFile
+227-0compiler-rt/lib/builtins/libc-isolation/libc-shared-manifest.txt
+59-0.github/workflows/compiler-rt-libc-builtins-tests.yml
+34-0compiler-rt/lib/builtins/libc-isolation/libc-shared-closure.sh
+26-0compiler-rt/lib/builtins/CMakeLists.txt
+25-0compiler-rt/lib/builtins/libc-isolation/export-libc-shared.cmake
+16-0compiler-rt/lib/builtins/libc-isolation/regen-manifest.sh
+387-06 files

LLVM/project b5bccd6llvm/include/llvm/CodeGen/GlobalISel InstructionSelect.h, llvm/lib/CodeGen/GlobalISel InstructionSelect.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+68-13llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
+50-7llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
+3-12llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
+0-5llvm/test/CodeGen/SPIRV/llc-pipeline.ll
+2-1llvm/unittests/CodeGen/GlobalISel/InstructionSelectTest.cpp
+1-1llvm/lib/Target/X86/X86TargetMachine.cpp
+124-3914 files not shown
+138-5120 files

LLVM/project 2761c67llvm/include/llvm/CodeGen/GlobalISel InstructionSelect.h, llvm/lib/CodeGen/GlobalISel InstructionSelect.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+68-13llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
+50-7llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
+3-12llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
+0-5llvm/test/CodeGen/SPIRV/llc-pipeline.ll
+2-1llvm/unittests/CodeGen/GlobalISel/InstructionSelectTest.cpp
+1-1llvm/lib/Target/X86/X86TargetMachine.cpp
+124-3914 files not shown
+138-5120 files

LLVM/project 6b17aa0llvm/lib/DWARFLinker/Parallel DWARFLinkerImpl.cpp DWARFLinkerCompileUnit.h

[DWARFLinker] Fix getContaingFile typo (NFC) (#217957)

Rename CompileUnit::getContaingFile to getContainingFile and update its
call sites in the parallel DWARF linker.
DeltaFile
+5-6llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
+5-5llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
+5-5llvm/lib/DWARFLinker/Parallel/DIEAttributeCloner.cpp
+1-1llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
+1-1llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.h
+17-185 files

LLVM/project 079dd25clang/include/clang/CIR/Dialect/IR CIRTypesDetails.h, clang/lib/CIR/Dialect/IR CIRTypes.cpp

[CIR] Allow only CIR types in function signatures (#215922)

The calling convention lowering pass expects cir.func operations to
contain only CIR types in the signature. This change adds verifier
support to enforce that.

In the process, I discovered that it wasn't possible to walk the
subtypes of a CIR struct or union. The `AttrTypeSubElementHandler`
implementation to handle that (including the TODO comment) is copied
from the LLVM struct type handling.

Adding tests for this revealed a problem where if the `FuncType`
verifier reports an error, the `FuncOp` parser asserted. This change
fixes that by using `FuncType::getChecked()` to catch and report the
error.
DeltaFile
+52-0clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
+36-0clang/test/CIR/IR/invalid-func.cir
+24-0clang/lib/CIR/Dialect/IR/CIRTypes.cpp
+12-8clang/test/CIR/IR/builtin-int-cast.cir
+10-8clang/test/CIR/Lowering/builtin-int-cast.cir
+7-5clang/test/CIR/Transforms/builtin-int-cast-fold.cir
+141-211 files not shown
+144-227 files

LLVM/project 62503d0clang/test/CodeGen/AArch64 abi-classify-arg-types.c, llvm/include/llvm/ABI TargetInfo.h

[LLVMABI][AARCH64] Support transparent union arguments (#217686)

This adds support for using the first field in a transparent union for
the purposes of argument classification.

The `useFirstFieldIfTransparentUnion` function was already implemented
for the `X86_64TargetInfo` class. I moved it to the `TargetInfo` base
class because there is nothing target-specific about it.

Assisted-by: Cursor / various models
DeltaFile
+45-0llvm/unittests/ABI/AArch64TargetInfoTest.cpp
+23-0clang/test/CodeGen/AArch64/abi-classify-arg-types.c
+0-13llvm/lib/ABI/Targets/X86.cpp
+11-0llvm/lib/ABI/TargetInfo.cpp
+4-0llvm/include/llvm/ABI/TargetInfo.h
+2-0llvm/lib/ABI/Targets/AArch64.cpp
+85-136 files

LLVM/project cddd439llvm/include/llvm/MC MCGOFFStreamer.h MCSymbolGOFF.h, llvm/lib/MC MCSymbolGOFF.cpp MCGOFFStreamer.cpp

Move code to MCSymbolGOFF
DeltaFile
+7-30llvm/lib/MC/MCGOFFStreamer.cpp
+23-0llvm/lib/MC/MCSymbolGOFF.cpp
+7-3llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+7-0llvm/include/llvm/MC/MCSymbolGOFF.h
+0-3llvm/include/llvm/MC/MCGOFFStreamer.h
+44-365 files

LLVM/project c4d5b68llvm/lib/ObjCopy/ELF ELFObject.h ELFObject.cpp, llvm/unittests/ObjCopy ObjCopyTest.cpp

[llvm-objcopy] Stream ELF output to regular files

Write ELF output directly to seekable regular files instead of first allocating a buffer for the entire output. Keep buffered output for stdout and other non-seekable streams.

Use separate buffered and file-backed output implementations. Serialize regenerated metadata sequentially, seeking once per output range, and report sticky file errors after writing finishes. Truncate and extend seekable output up front so unwritten layout gaps read as zero without being materialized; explicitly overwrite only removed section contents within copied segments.

On a synthetic stamping-style ELF containing a 1 GiB payload, three warm-cache no-op copies had median peak RSS of 2,102,916 KiB before and 1,053,844 KiB after (49.9% lower). Median wall time improved from 1.06 s to 0.77 s, and the outputs were byte-identical.

Co-authored-by: Jeremy Braun <jtbraun at meta.com>

Assisted-by: OpenAI Codex
DeltaFile
+273-107llvm/lib/ObjCopy/ELF/ELFObject.cpp
+62-0llvm/unittests/ObjCopy/ObjCopyTest.cpp
+34-9llvm/lib/ObjCopy/ELF/ELFObject.h
+369-1163 files

LLVM/project 9160aedllvm/include/llvm/Support raw_ostream.h, llvm/lib/Support raw_ostream.cpp

[Support] Support seekable temporary output streams

Use raw_fd_stream for temporary outputs so callbacks can perform positioned writes and resize the destination. Add raw_fd_ostream::takeError and raw_fd_stream::resize, and return stream failures through Error while preserving an existing destination.

Co-authored-by: Jeremy Braun <jtbraun at meta.com>

Assisted-by: OpenAI Codex
DeltaFile
+66-0llvm/unittests/Support/raw_ostream_test.cpp
+48-3llvm/lib/Support/raw_ostream.cpp
+7-0llvm/include/llvm/Support/raw_ostream.h
+121-33 files

LLVM/project 8673c15llvm/include/llvm/MC MCGOFFStreamer.h, llvm/lib/MC MCGOFFStreamer.cpp

[SystemZ][z/OS] Support emittinh common symbols in HLASM

This is a follow-up to #210179. It reuses the logic to emit common
symbols in HLASM, too.
DeltaFile
+17-12llvm/lib/MC/MCGOFFStreamer.cpp
+6-0llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+5-0llvm/test/CodeGen/SystemZ/zos-common-global.ll
+3-0llvm/include/llvm/MC/MCGOFFStreamer.h
+1-1llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
+32-135 files

LLVM/project 3bcb76bllvm/lib/ObjCopy/ELF ELFObject.h ELFObject.cpp, llvm/test/tools/llvm-objcopy/ELF many-sections.test

[llvm-objcopy] Route section copies through writeSectionContents

Centralize section byte copies behind a virtual helper so ELF output can later target either a memory buffer or a seekable stream. Materialize SHT_SYMTAB_SHNDX entries using the target ELF word type to preserve output endianness.

Co-authored-by: Jeremy Braun <jtbraun at meta.com>

Assisted-by: OpenAI Codex
DeltaFile
+26-15llvm/lib/ObjCopy/ELF/ELFObject.cpp
+4-0llvm/test/tools/llvm-objcopy/ELF/many-sections.test
+1-0llvm/lib/ObjCopy/ELF/ELFObject.h
+31-153 files

LLVM/project 81c46dalldb/packages/Python/lldbsuite/test lldbarm64e.py

[lldb] fix arm64e tests not compiling with an arm64e target (#216397)

Arm64eTestBase.build() only overrode TRIPLE, but ARCH_CFLAGS is a Make
command-line variable set separately by the test harness to a non-arm64e
flag. A plain in-Makefile assignment can't override a command-line
variable, so the compiler silently fell back to the host's default
(non-arm64e) triple and __ptrauth attributes failed to compile. Now
overrides ARCH_CFLAGS too.
DeltaFile
+2-3lldb/packages/Python/lldbsuite/test/lldbarm64e.py
+2-31 files

LLVM/project d792813llvm/include/llvm/MC MCGOFFStreamer.h MCSymbolGOFF.h, llvm/lib/MC MCSymbolGOFF.cpp MCGOFFStreamer.cpp

Move code to MCSymbolGOFF
DeltaFile
+7-30llvm/lib/MC/MCGOFFStreamer.cpp
+23-0llvm/lib/MC/MCSymbolGOFF.cpp
+7-3llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
+7-0llvm/include/llvm/MC/MCSymbolGOFF.h
+0-3llvm/include/llvm/MC/MCGOFFStreamer.h
+44-365 files

LLVM/project 911a18bllvm/include/llvm/CodeGen/GlobalISel InstructionSelect.h, llvm/lib/CodeGen/GlobalISel InstructionSelect.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+68-13llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
+50-7llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
+3-12llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
+0-5llvm/test/CodeGen/SPIRV/llc-pipeline.ll
+2-1llvm/unittests/CodeGen/GlobalISel/InstructionSelectTest.cpp
+1-1llvm/lib/Target/X86/X86TargetMachine.cpp
+124-3914 files not shown
+138-5120 files

LLVM/project f8d85eallvm/include/llvm/CodeGen/GlobalISel InstructionSelect.h, llvm/lib/CodeGen/GlobalISel InstructionSelect.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+3-12llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
+7-5llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
+4-2llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
+0-5llvm/test/CodeGen/SPIRV/llc-pipeline.ll
+1-1llvm/lib/Target/M68k/M68kTargetMachine.cpp
+15-255 files

LLVM/project 2b6f752llvm/include/llvm/Frontend/OpenMP OMPDescriptors.h.inc, llvm/lib/Frontend/OpenMP OMPDescriptors.inc

Add license preamble
DeltaFile
+8-0llvm/lib/Frontend/OpenMP/OMPDescriptors.inc
+8-0llvm/include/llvm/Frontend/OpenMP/OMPDescriptors.h.inc
+16-02 files

LLVM/project e3ad538llvm/include/llvm/Frontend/OpenMP OMPDescriptors.h

Add LLVM_ABI to member functions
DeltaFile
+5-5llvm/include/llvm/Frontend/OpenMP/OMPDescriptors.h
+5-51 files

LLVM/project 54cff0cclang/include/clang/StaticAnalyzer/Core/PathSensitive SMTConstraintManager.h

[analyzer][z3][NFC] use ranged-based for loop in removeDeadBindings (#217938)
DeltaFile
+5-4clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
+5-41 files

LLVM/project a51cd52llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp, llvm/test/CodeGen/SPIRV/debug-info debug-function-declaration-namespace-scope.ll debug-function-namespace-scope.ll

Add support for DebugLexicalBlock.
DeltaFile
+121-5llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+55-0llvm/test/CodeGen/SPIRV/debug-info/debug-lexical-block.ll
+48-0llvm/test/CodeGen/SPIRV/debug-info/debug-lexical-block-namespace.ll
+36-0llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+9-6llvm/test/CodeGen/SPIRV/debug-info/debug-function-namespace-scope.ll
+9-4llvm/test/CodeGen/SPIRV/debug-info/debug-function-declaration-namespace-scope.ll
+278-156 files

LLVM/project 6e493edutils/bazel/llvm-project-overlay/libc BUILD.bazel

[Bazel] Fixes e7635cc (#217958)

This fixes e7635cccfae4d34d861d76ac404127a24d7eb768 (#217822).

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=e7635cccfae4d34d861d76ac404127a24d7eb768

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+6-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+6-01 files

LLVM/project a5ec50allvm/include/llvm/IR VPIntrinsics.def, llvm/lib/CodeGen/SelectionDAG MatchContext.h LegalizeVectorOps.cpp

[DAG] Remove trivial VP SDNodes. NFC

This removes the codegen parts of the trivial VP intrinsics. It's quite far reaching, but the general categories of code removed are:

- Removing definitions from VPIntrinsics.def
- Legalization and expansion code
- MatchContext used to match over both VP and non-VP nodes
- Some dead DAGCombines and folds in SelectionDAGBuilder

There are still more things to be cleaned up after this, e.g. removing more of the VPIntrinsic class hierarchy, removing ExpandVectorPredication/moving expansion into other places, removing MatchContext from SDPatternMatch
DeltaFile
+80-283llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+3-340llvm/include/llvm/IR/VPIntrinsics.def
+6-336llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+47-282llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+7-217llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+0-182llvm/lib/CodeGen/SelectionDAG/MatchContext.h
+143-1,64011 files not shown
+188-2,01417 files

LLVM/project c3c460dllvm/lib/Target/VE VVPNodes.def

[VE] Remove trivial VP SDNode mappings. NFC

These SDNodes aren't emitted anymore and will be removed in an upcoming patch.
DeltaFile
+9-9llvm/lib/Target/VE/VVPNodes.def
+9-91 files

LLVM/project c4429f1llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp LegalizeVectorOps.cpp, llvm/test/CodeGen/VE/Vector vp_urem.ll vp_srem.ll

[DAG] Expand vp.*rem and vp.cttz.elts with non-vp nodes.

Trivial VP SDNodes will be removed in an upcoming patch. The division is still predicated so we avoid UB.
DeltaFile
+24-12llvm/test/CodeGen/VE/Vector/vp_urem.ll
+24-12llvm/test/CodeGen/VE/Vector/vp_srem.ll
+5-5llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+3-5llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+56-344 files

LLVM/project 7df17e9llvm/docs LangRef.md, llvm/include/llvm/IR VPIntrinsics.def Intrinsics.td

[IR] Remove trivial VP intrinsics. NFC

Trivial VP intrinsics are now all autoupgraded to their non-VP counterparts, so the intrinsics themselves are dead.

This removes the intrinsics and their corresponding LangRef definitions, as well as the VPIntrinsic subclasses and some methods in ExpandVectorPredication which are now dead. Removing the SDNodes is deferred to a separate patch.
DeltaFile
+0-2,733llvm/docs/LangRef.md
+1-317llvm/include/llvm/IR/Intrinsics.td
+97-143llvm/include/llvm/IR/VPIntrinsics.def
+2-170llvm/lib/CodeGen/ExpandVectorPredication.cpp
+1-87llvm/lib/IR/IntrinsicInst.cpp
+0-72mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
+101-3,5228 files not shown
+107-3,76814 files

LLVM/project d8708dcmlir/test/Target/LLVMIR llvmir-intrinsics.mlir

Fix mlir test
DeltaFile
+0-127mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
+0-1271 files

LLVM/project a9f00cbclang/test/CIR/CodeGen fixed-point-arith.cpp, lldb/test/API/functionalities/gdb_remote_client TestWasm.py

Merge remote-tracking branch 'origin/main' into vplan-based-stride-mv-rt-guard
DeltaFile
+1,628-280llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
+0-1,354llvm/test/Transforms/VectorCombine/RISCV/vpintrin-scalarization.ll
+602-567llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
+765-96llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
+759-0clang/test/CIR/CodeGen/fixed-point-arith.cpp
+608-81lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
+4,362-2,378699 files not shown
+21,898-9,638705 files

LLVM/project 44341d3llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize vplan-based-stride-mv.ll

Apply Luke's fix/test for predicated BTC
DeltaFile
+133-0llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
+75-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-based-stride-mv.ll
+1-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+209-13 files

LLVM/project 4ccc07bllvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV select-const.ll

[RISCV] Use SLLI+ADD for a select of constants that differ by a power of 2 in more cases. (#217812)

Previously we restricted to cases that can use ADDI, but we need
to materialize a constant for the czero+add lowering. Using slli
avoids materializing the delta constant.

I'm restricting to cases where we can't fold the comparison into
the czero.
DeltaFile
+162-8llvm/test/CodeGen/RISCV/select-const.ll
+23-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+185-92 files

LLVM/project e7635cclibc/src/__support/math CMakeLists.txt roundf.h, libc/test/src/math RoundTest.h

[libc][math] Add some explicit macro checks to round and roundf. (#217822)

This will allow users to use them without going through our cmake build
checks or forcing the flag `__LIBC_USE_BUILTIN_ROUND`.
DeltaFile
+1-47libc/test/src/math/RoundTest.h
+28-1libc/src/__support/math/roundf.h
+28-1libc/src/__support/math/round.h
+7-0libc/src/__support/math/CMakeLists.txt
+64-494 files