LLVM/project f16e2e3 — clang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/SemaOpenCL builtins-amdgcn-error-gfx1250-strict.cl

Revert "[AMDGPU] Disable V_WMMA_F{16|32}_16X16X128_[BF]P8_[BF]P8 on gfx1250-strict" (#228932)

Reverts llvm/llvm-project#228564

breaks build of hipCUB for gfx1250*   LCOMPILER-2911
DeltaFile
+12-18llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+0-24llvm/test/MC/AMDGPU/gfx1250-strict_err.s
+8-8clang/include/clang/Basic/BuiltinsAMDGPU.td
+5-8llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+1-11clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-strict.cl
+1-7llvm/lib/Target/AMDGPU/AMDGPU.td
+27-766 files

LLVM/project c25440b — utils/bazel/llvm-project-overlay/clang BUILD.bazel

[Bazel] Fixes 9d94700 (#228931)

This fixes 9d947002dd923f011fcda156472bee2e2b149786 (#228288).

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

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
Co-authored-by: Aiden Grossman <aidengrossman at google.com>
DeltaFile
+3-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+3-01 files

LLVM/project 5e1edea — libcxx/utils/ci/docker linux-builder.dockerfile

[libcxx] Add user to linux-builder docker image (#228933)

Accidentally didn't move this over when copying from the builder-base
image in 84812cba90fe0a0f95544a3ff01da1e61346a68d. Without these we run
as root by default which results in not throwing permission denied
errors when running the test suite.
DeltaFile
+7-0libcxx/utils/ci/docker/linux-builder.dockerfile
+7-01 files

LLVM/project 79d0d6e — clang/include/clang/CIR/Dialect/IR CIROps.td

[CIR][NFC] Fix indentation of op description (#228920)

Fix the indentation of the MatrixColumnMajorLoadOp description
DeltaFile
+16-16clang/include/clang/CIR/Dialect/IR/CIROps.td
+16-161 files

LLVM/project bf35c46 — clang/include/clang/Basic BuiltinsAMDGPU.td, clang/test/SemaOpenCL builtins-amdgcn-error-gfx1250-strict.cl

Revert "[AMDGPU] Disable V_WMMA_F{16|32}_16X16X128_[BF]P8_[BF]P8 on gfx1250-s…"

This reverts commit 6fb8776580a4a21a676cd7a424346c09aed81216.
DeltaFile
+12-18llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+0-24llvm/test/MC/AMDGPU/gfx1250-strict_err.s
+8-8clang/include/clang/Basic/BuiltinsAMDGPU.td
+5-8llvm/include/llvm/IR/IntrinsicsAMDGPU.td
+1-11clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-strict.cl
+1-7llvm/lib/Target/AMDGPU/AMDGPU.td
+27-766 files

LLVM/project 9d94700 — clang/lib/CIR/FrontendAction CIRDiagnosticHandler.cpp CIRGenAction.cpp, clang/test/CIR/Input cir-input-unsupported.cir cir-input-emit-cir.c

[CIR] Parse .cir cc1 input and support -emit-cir from it (#228288)

Fill in the Language::CIR path of CIRGenAction::ExecuteAction: register
the ClangIR dialects, parse and verify the main file into a ModuleOp
with MLIR diagnostics routed through CIRDiagnosticHandler, and require
the module's cir.triple to match the target triple. A mismatch is an
error rather than an override, because CIR emitted by -emit-cir has
already been lowered for the target ABI of its own triple.

It is still unclear whether we should disallow any overrides of module
CIRGen attribues. At this point in time, I opt to go with a conservative
approach.

The CIR-to-CIR pipeline is not run, because -emit-cir output has already
been through it and its lowering passes are not idempotent; recording
the pipeline stage on the module is left for a follow-up. Other outputs
still report that ClangIR input is not yet supported.

`registerAllDialects` now registers the LLVM dialect. The data layout

    [14 lines not shown]
DeltaFile
+84-8clang/lib/CIR/FrontendAction/CIRGenAction.cpp
+67-0clang/test/CIR/Input/cir-input-invalid.cir
+38-1clang/lib/CIR/FrontendAction/CIRDiagnosticHandler.cpp
+30-0clang/test/CIR/Input/cir-input-emit-cir.cpp
+29-0clang/test/CIR/Input/cir-input-emit-cir.c
+3-5clang/test/CIR/Input/cir-input-unsupported.cir
+251-145 files not shown
+268-1711 files

LLVM/project 35994fa — compiler-rt/test/lsan/TestCases/Linux detached_thread_dlsym.c, llvm/test/ExecutionEngine/JITLink/x86-64 MachO_weak_references_99908.s MachO_weak_references_99909.s

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+60-0compiler-rt/test/lsan/TestCases/Linux/detached_thread_dlsym.c
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99908.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99909.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_9991.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99906.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99907.s
+65-099,995 files not shown
+100,060-0100,001 files

LLVM/project 51f7e9c — compiler-rt/lib/asan asan_thread.cpp, compiler-rt/lib/hwasan hwasan_linux.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+61-0compiler-rt/test/lsan/TestCases/Linux/detached_thread_dlsym.c
+13-0compiler-rt/lib/sanitizer_common/sanitizer_dl.cpp
+5-1compiler-rt/lib/lsan/lsan_thread.cpp
+4-1compiler-rt/lib/asan/asan_thread.cpp
+4-0compiler-rt/lib/sanitizer_common/sanitizer_dl.h
+2-0compiler-rt/lib/hwasan/hwasan_linux.cpp
+89-2100,000 files not shown
+100,089-2100,006 files

LLVM/project 14f1b93 — llvm/test/ExecutionEngine/JITLink/x86-64 MachO_weak_references_99998.s MachO_weak_references_99994.s

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99998.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99994.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99996.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99999.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99997.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99995.s
+6-099,994 files not shown
+100,000-0100,000 files

LLVM/project 2a405de — compiler-rt/test/lsan/TestCases/Linux detached_thread_dlsym.c, llvm/test/ExecutionEngine/JITLink/x86-64 MachO_weak_references_9991.s MachO_weak_references_99909.s

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+60-0compiler-rt/test/lsan/TestCases/Linux/detached_thread_dlsym.c
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_9991.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99909.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99908.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99907.s
+1-0llvm/test/ExecutionEngine/JITLink/x86-64/MachO_weak_references_99906.s
+65-099,995 files not shown
+100,060-0100,001 files

LLVM/project 9e3c7d1 — llvm/lib/MC MCSymbolELF.cpp

[MC][ELF] Preserve bits 7:4 of st_other (#228882)

The ELF gABI defines visibility in the low bits of st_other and leaves
the upper bits without a generic meaning [1]. Architecture-specific ELF
extensions use these upper bits. MIPS uses bits 7:4 to identify MIPS16
code symbols with STO_MIPS_MIPS16 (0xf0).

MCSymbolELF currently accepts only bits 7:5, so setting STO_MIPS_MIPS16
triggers an assertion. Expand the storage to preserve bits 7:4 and shift
the adjacent internal flags accordingly.

[1] ELF gABI, Section 5.1, Symbol Table Entry:
    https://gabi.xinuos.com/elf/05-symtab.html#symbol-table-entry

Assisted-by: OpenAI Codex
DeltaFile
+11-12llvm/lib/MC/MCSymbolELF.cpp
+11-121 files

LLVM/project 058a601 — lldb/packages/Python/lldbsuite/test gdbclientutils.py, lldb/source/Plugins/Process/Windows/Common NativeThreadWindows.cpp

[lldb-server] Handle jThreadExtendedInfo
DeltaFile
+51-0lldb/test/API/tools/lldb-server/TestGdbRemote_jThreadExtendedInfo.py
+49-0lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
+42-0lldb/test/API/windows/thread-extended-info/TestThreadExtendedInfo.py
+36-1lldb/packages/Python/lldbsuite/test/gdbclientutils.py
+4-0lldb/source/Plugins/Process/Windows/Common/NativeThreadWindows.cpp
+3-0lldb/test/API/windows/thread-extended-info/main.c
+185-16 files not shown
+198-112 files

LLVM/project 80cd965 —

[LoongArch] Use [X]VSETNEZ.V/[X]VSETEQZ.V for whole-vector zero check (#226814)

Introduce `loongarch_vanynonzero` and `loongarch_vallzero` for checking
wether a vector has any non zero or all of them are zero, which could
simply some vector comparison such as the one below.

Before
```
xvseq.d $xr0, $xr0, $xr1
xvmskltz.d $xr0, $xr0
xvpickve2gr.wu $a0, $xr0, 0
xvpickve2gr.wu $a1, $xr0, 4
bstrins.d $a0, $a1, 3, 2
beqz $a0, .LBB2_2
```
After
```
xvseq.d $xr0, $xr0, $xr1
xvseteqz.v $fcc0, $xr0

    [4 lines not shown]
DeltaFile
+0-00 files

LLVM/project 6477cf1 — llvm/lib/Target/LoongArch LoongArchLASXInstrInfo.td LoongArchLSXInstrInfo.td, llvm/test/CodeGen/LoongArch/lasx vset-zero-test.ll

[LoongArch] Use [X]VSETNEZ.V/[X]VSETEQZ.V for whole-vector zero check (#226814)

Introduce `loongarch_vanynonzero` and `loongarch_vallzero` for checking
wether a vector has any non zero or all of them are zero, which could
simply some vector comparison such as the one below.

Before
```
xvseq.d $xr0, $xr0, $xr1
xvmskltz.d $xr0, $xr0
xvpickve2gr.wu $a0, $xr0, 0
xvpickve2gr.wu $a1, $xr0, 4
bstrins.d $a0, $a1, 3, 2
beqz $a0, .LBB2_2
```
After
```
xvseq.d $xr0, $xr0, $xr1
xvseteqz.v $fcc0, $xr0

    [4 lines not shown]
DeltaFile
+127-0llvm/test/CodeGen/LoongArch/lasx/vset-zero-test.ll
+95-0llvm/test/CodeGen/LoongArch/lsx/vset-zero-test.ll
+55-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+21-0llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
+15-0llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+313-05 files

LLVM/project 547c18d — llvm/lib/Transforms/Vectorize/SLPVectorizer SLPCostAnalysis.cpp SLPUtils.cpp, llvm/test/Transforms/SLPVectorizer/X86 once-used-gep-index-seeds.ll gather-gep-addressing-cost.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+37-8llvm/test/Transforms/SLPVectorizer/X86/gather-gep-addressing-cost.ll
+22-12llvm/test/Transforms/SLPVectorizer/X86/once-used-gep-index-seeds.ll
+4-15llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
+13-1llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
+76-364 files

LLVM/project f4bf388 — llvm/test/Transforms/SLPVectorizer/X86 gather-gep-addressing-cost.ll once-used-gep-index-seeds.ll

[SLP][NFC]Add tests with non-profitable GEPs vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/228916
DeltaFile
+92-0llvm/test/Transforms/SLPVectorizer/X86/once-used-gep-index-seeds.ll
+69-0llvm/test/Transforms/SLPVectorizer/X86/gather-gep-addressing-cost.ll
+161-02 files

LLVM/project 656d6be — llvm/lib/CodeGen CodeGenPrepare.cpp CodeGenOptions.td, llvm/test/CodeGen/X86 sink-blockfreq.ll phi-immediate-factoring.ll

[CodeGenPrepare] Prefix option names with cgp-

Rename the CodeGenPrepare options so that they start with cgp-, and turn
the -disable-* options into positive options that default to true:

```
-addr-sink-*                  -cgp-addr-sink-*
-cgpp-huge-func               -cgp-huge-func
-disable-cgp-X                -cgp-X=0
-disable-complex-addr-modes   -cgp-complex-addr-modes=0
-disable-preheader-prot       -cgp-preheader-prot=0
-enable-andcmp-sinking        -cgp-andcmp-sinking
-force-split-store            -cgp-force-split-store
-stress-cgp-X                 -cgp-stress-X
```

The section prefix options (-profile-guided-section-prefix, etc.) are
kept, as they are not specific to CodeGenPrepare.

Aided by Opus 5.5
DeltaFile
+28-28llvm/lib/CodeGen/CodeGenOptions.td
+24-24llvm/lib/CodeGen/CodeGenPrepare.cpp
+3-3llvm/test/CodeGen/X86/sink-blockfreq.ll
+3-3llvm/test/CodeGen/X86/phi-immediate-factoring.ll
+2-2llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
+2-2llvm/test/Transforms/CodeGenPrepare/PowerPC/split-store-alignment.ll
+62-6251 files not shown
+119-11957 files

LLVM/project f54e552 — llvm/lib/CodeGen CodeGenOptions.cpp CodeGenOptions.h, utils/bazel/llvm-project-overlay/llvm BUILD.bazel

[CodeGen] Declare command line options in TableGen (#228911)

Move the cl::opts of TargetPassConfig.cpp and CodeGenPrepare.cpp into
CodeGenOptions.td, private to lib/CodeGen; other files will follow.
-enable-machine-outliner (cl::ValueOptional) and -regalloc
(RegisterPassParser) stay cl::opt.

CodeGenPrepare and its addressing-mode helpers hold
`const CodeGenOptions &Opts`; TargetPassConfig functions read
CodeGenOptions::Global. getCGPassBuilderOption() converts BoolOrDefault
members to the cl::boolOrDefault and std::optional<bool> fields of the
public CGPassBuilderOption. -basic-block-section-match-infer, which was
not cl::Hidden, is now listed by -help-hidden only.

Aided by Opus 5.5
DeltaFile
+144-318llvm/lib/CodeGen/TargetPassConfig.cpp
+96-221llvm/lib/CodeGen/CodeGenPrepare.cpp
+202-0llvm/lib/CodeGen/CodeGenOptions.td
+19-0llvm/lib/CodeGen/CodeGenOptions.h
+15-0llvm/lib/CodeGen/CodeGenOptions.cpp
+11-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+487-5393 files not shown
+507-5449 files

LLVM/project 2c06e14 — llvm/lib/Target/Mips MipsScheduleGeneric.td MicroMipsInstrInfo.td, llvm/test/MC/Mips micromips-control-instructions.s

[Mips] Add microMIPS CP0 move encodings (#228884)

Define the microMIPS MFC0 and MTC0 formats and instruction records for
pre-R6 targets, including the select field. Accept the two-operand forms
with an implicit select value of zero and add generic scheduling
entries.

Extend the control-instruction tests with explicit and implicit select
operands, checking both byte orders.

Assisted-by: OpenAI Codex # Testcases
DeltaFile
+15-0llvm/lib/Target/Mips/MicroMipsInstrFormats.td
+12-1llvm/test/MC/Mips/micromips-control-instructions.s
+11-0llvm/lib/Target/Mips/MicroMipsInstrInfo.td
+2-2llvm/lib/Target/Mips/MipsScheduleGeneric.td
+40-34 files

LLVM/project a6158f5 — llvm/lib/CodeGen CodeGenPrepare.cpp CodeGenOptions.td, llvm/test/CodeGen/X86 sink-blockfreq.ll phi-immediate-factoring.ll

[CodeGenPrepare] Prefix option names with cgp-

Rename the CodeGenPrepare options so that they start with cgp-, and turn
the -disable-* options into positive options that default to true:

```
-addr-sink-*                  -cgp-addr-sink-*
-cgpp-huge-func               -cgp-huge-func
-disable-cgp-X                -cgp-X=0
-disable-complex-addr-modes   -cgp-complex-addr-modes=0
-disable-preheader-prot       -cgp-preheader-prot=0
-enable-andcmp-sinking        -cgp-andcmp-sinking
-force-split-store            -cgp-force-split-store
-stress-cgp-X                 -cgp-stress-X
```

The section prefix options (-profile-guided-section-prefix, etc.) are
kept, as they are not specific to CodeGenPrepare.

Aided by Opus 5.5
DeltaFile
+28-28llvm/lib/CodeGen/CodeGenOptions.td
+24-24llvm/lib/CodeGen/CodeGenPrepare.cpp
+3-3llvm/test/CodeGen/X86/sink-blockfreq.ll
+3-3llvm/test/CodeGen/X86/phi-immediate-factoring.ll
+2-2llvm/test/Transforms/CodeGenPrepare/X86/sink-addrmode-base.ll
+2-2llvm/test/Transforms/CodeGenPrepare/PowerPC/split-store-alignment.ll
+62-6251 files not shown
+119-11957 files

LLVM/project e65d18f — llvm/lib/CodeGen CodeGenOptions.cpp CodeGenOptions.h, utils/bazel/llvm-project-overlay/llvm BUILD.bazel

[CodeGen] Declare command line options in TableGen

Move the cl::opts of TargetPassConfig.cpp and CodeGenPrepare.cpp into
CodeGenOptions.td, private to lib/CodeGen; other files will follow.
-enable-machine-outliner (cl::ValueOptional) and -regalloc
(RegisterPassParser) stay cl::opt.

CodeGenPrepare and its addressing-mode helpers hold
`const CodeGenOptions &Opts`; TargetPassConfig functions read
CodeGenOptions::Global. getCGPassBuilderOption() converts BoolOrDefault
members to the cl::boolOrDefault and std::optional<bool> fields of the
public CGPassBuilderOption. -basic-block-section-match-infer, which was
not cl::Hidden, is now listed by -help-hidden only.

Aided by Opus 5.5
DeltaFile
+144-318llvm/lib/CodeGen/TargetPassConfig.cpp
+96-221llvm/lib/CodeGen/CodeGenPrepare.cpp
+202-0llvm/lib/CodeGen/CodeGenOptions.td
+19-0llvm/lib/CodeGen/CodeGenOptions.h
+15-0llvm/lib/CodeGen/CodeGenOptions.cpp
+11-0utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+487-5393 files not shown
+507-5449 files

LLVM/project 1f50f09 — llvm/lib/Transforms/Vectorize VPlanRecipes.cpp LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize scev-check-unknown-prof.ll

[VPlan] Support pointer min/max bounds in VPlan memory runtime checks. (#225828)

Expand pointer-typed SCEV min/max expressions in VPSCEVExpander as
icmp + select (including profile metadata), matching SCEVExpander.

This allows modeling memory runtime checks with pointer min/max bounds
in VPlan, e.g. for accesses with a runtime stride of unknown sign.

Depends on https://github.com/llvm/llvm-project/pull/221483 

PR: https://github.com/llvm/llvm-project/pull/225828
DeltaFile
+23-23llvm/test/Transforms/LoopVectorize/VPlan/memory-checks.ll
+16-16llvm/test/Transforms/LoopVectorize/scev-check-unknown-prof.ll
+16-3llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+2-6llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+5-2llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+62-505 files

LLVM/project 9870703 — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lasx/ir-instruction uitofp.ll sitofp.ll

[Loongarch] fix int to float conversion on non-MVT vector types (#228896)

fixes https://github.com/llvm/llvm-project/issues/228894

The code added in https://github.com/llvm/llvm-project/pull/202496 can
construct an invalid MVT (e.g. a 5-element vector, which is not
something any architecture has a specific register for). So, instead use
an `EVT` which is less restrictive.
DeltaFile
+54-2llvm/test/CodeGen/LoongArch/lsx/ir-instruction/uitofp.ll
+54-0llvm/test/CodeGen/LoongArch/lsx/ir-instruction/sitofp.ll
+31-0llvm/test/CodeGen/LoongArch/lasx/ir-instruction/uitofp.ll
+31-0llvm/test/CodeGen/LoongArch/lasx/ir-instruction/sitofp.ll
+1-1llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+171-35 files

LLVM/project 9068deb — llvm/lib/Target/Mips MipsScheduleGeneric.td MicroMipsInstrInfo.td, llvm/test/MC/Mips micromips-jump-instructions.s

[Mips] Add microMIPS hazard-barrier jump encodings (#228885)

Add microMIPS encodings for jr.hb and jalr.hb. Use BaseOpcode and MMRel
to map the standard opcodes to their microMIPS encodings.

Assisted-by: OpenAI Codex # Testcases
DeltaFile
+19-0llvm/test/MC/Mips/micromips-jump-instructions.s
+7-5llvm/lib/Target/Mips/MipsInstrInfo.td
+8-0llvm/lib/Target/Mips/MicroMipsInstrInfo.td
+2-2llvm/lib/Target/Mips/MipsScheduleGeneric.td
+36-74 files

LLVM/project 40534a2 — mlir/include/mlir/Dialect/OpenACC OpenACCOps.td, mlir/test/Dialect/OpenACC side-effects.mlir

[mlir][acc] Declare the memory effects of acc.atomic.read

The operation read `x` and wrote `v` but declared no memory effects at
all, so every memory analysis had to treat both locations as unknown and
stay maximally conservative. In particular it could not be seen to
overwrite `v`.

Declare the effects per operand so the read on `x` and the write on `v`
are visible.
DeltaFile
+42-0mlir/test/Dialect/OpenACC/side-effects.mlir
+2-2mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
+44-22 files

LLVM/project 092c551 — llvm/bindings/ocaml/llvm llvm.ml llvm_ocaml.c, llvm/docs ReleaseNotes.md

[OCaml] Use DataLayout instead of string in (set_)data_layout (#228445)

Now that DataLayout is part of llvm rather than llvm_target, make use of
it in the `data_layout` and `set_data_layout` APIs.
DeltaFile
+6-7llvm/bindings/ocaml/llvm/llvm.mli
+4-6llvm/bindings/ocaml/llvm/llvm_ocaml.c
+2-3llvm/test/Bindings/OCaml/debuginfo.ml
+2-2llvm/test/Bindings/OCaml/core.ml
+2-2llvm/bindings/ocaml/llvm/llvm.ml
+4-0llvm/docs/ReleaseNotes.md
+20-201 files not shown
+21-207 files

LLVM/project 22c49fe — llvm/lib/Target/Mips/AsmParser MipsAsmParser.cpp

[Mips] Restrict microMIPS GP load folding to word loads (#228881)

Only LW has a GP-relative variant, so restrict the folding to LW_MM and
LW_MMR6.

Assisted-by: OpenAI Codex # Testcases
DeltaFile
+2-2llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
+2-21 files

LLVM/project 2f99c9c — lld/ELF/Arch Mips.cpp, lld/test/ELF mips-micro-jump-region.s

[lld][Mips] Remove signed range check for R_MICROMIPS_26_S1 (#228880)

R_MICROMIPS_26_S1 encodes a shifted index within the current PC region,
not a signed absolute address. Applying the PC-relative relocation's
signed 27-bit check rejects valid destinations in higher address
regions.

Write the jump index without that check, as for R_MIPS_26, while
retaining
the signed range check for R_MICROMIPS_PC26_S1. Cover both jumps and
calls
at a high address in little- and big-endian objects.

Assisted-by: OpenAI Codex # Testcases
DeltaFile
+27-0lld/test/ELF/mips-micro-jump-region.s
+4-0lld/ELF/Arch/Mips.cpp
+31-02 files

LLVM/project 7a7950d — llvm/lib/Target/Mips/MCTargetDesc MipsAsmBackend.cpp, llvm/test/MC/Mips unaligned-nops.s

[Mips] Emit 16-bit microMIPS NOPs for alignment (#228879)

Zero-filled halfword padding is not a complete microMIPS NOP. Emit
move $zero, $zero when alignment requires a two-byte instruction, then
use zero-encoded 32-bit NOPs for the remaining padding.

Handle an odd leading byte as data padding and preserve zero filling in
standard MIPS mode. Extend the unaligned-NOP test to cover both byte
orders, odd-sized data, and mode changes.

Assisted-by: OpenAI Codex # Testcases
DeltaFile
+36-0llvm/test/MC/Mips/unaligned-nops.s
+20-6llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
+56-62 files

LLVM/project c903e0a — flang-rt/unittests/Runtime Reduction.cpp, flang/include/flang/Common uint128.h

Add unittests
DeltaFile
+34-0flang-rt/unittests/Runtime/Reduction.cpp
+15-11flang/include/flang/Common/uint128.h
+2-2flang/unittests/Evaluate/uint128.cpp
+51-133 files