LLVM/project 9431920llvm/test/tools/llvm-debuginfod-find headers-winhttp.test

[llvm] Silence llvm-debuginfod-find/headers-winhttp.test on Windows bots temporarily (#187753)

Windows bots are still failing after a3db68a97b2c321e and
d7dbba55bff52f342. This test is new, let's take it off while
we investigate.
DeltaFile
+1-1llvm/test/tools/llvm-debuginfod-find/headers-winhttp.test
+1-11 files

LLVM/project 07896d4clang/test/OpenMP target_firstprivate_codegen.cpp target_teams_distribute_simd_codegen.cpp

[OpenMP] Emit aggregate kernel prototypes and remove libffi dependency (#186261)

Summary:
This PR changes the handling of the emitted kernels when targeting a CPU
to be a pointer struct.

The old handling emitted a standard function prototype, this
necessitated a target specific ABI to call it because the signature
differed with the number of arguments. Instead, this PR emits a void
pointer to a naturally aligned struct, this is what APIs like `pthreads`
assert.

This allows us to remove all the complexity around launching host
kernels and just pass the argument list.
DeltaFile
+804-696clang/test/OpenMP/target_firstprivate_codegen.cpp
+774-570clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
+762-566clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
+587-403clang/test/OpenMP/target_teams_codegen.cpp
+391-289clang/test/OpenMP/target_teams_distribute_codegen.cpp
+367-273clang/test/OpenMP/target_parallel_for_codegen.cpp
+3,685-2,79734 files not shown
+7,515-5,38940 files

LLVM/project 60db764utils/bazel/llvm-project-overlay/clang BUILD.bazel

[Bazel] Port a2c0c43699917bb26a3eb20fefcbf29ff120ce70
DeltaFile
+15-0utils/bazel/llvm-project-overlay/clang/BUILD.bazel
+15-01 files

LLVM/project 0ec6e1dclang/lib/CIR/CodeGen CIRGenModule.cpp CIRGenModule.h, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Address Space support for GlobalOps (#179082)

Related: https://github.com/llvm/llvm-project/issues/179278,
https://github.com/llvm/llvm-project/issues/160386

Extends cir.global to accept address space attributes. Globals can now
specify either `target_address_space(N)` or
`lang_address_space(offload_*)`. Address spaces are also preserved
throughout get_global ops.
DeltaFile
+68-21clang/lib/CIR/CodeGen/CIRGenModule.cpp
+46-0clang/test/CIR/Lowering/global-address-space.cir
+30-0clang/test/CIR/IR/address-space.cir
+23-2clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+20-0clang/test/CIR/IR/invalid-addrspace.cir
+16-4clang/lib/CIR/CodeGen/CIRGenModule.h
+203-279 files not shown
+270-5115 files

LLVM/project 4a5da64clang/lib/CIR/CodeGen CIRGenClass.cpp CIRGenExprScalar.cpp

[CIR][NFC] Minor cleanups to missing feature markers (#187754)

This fixes a few places where MissingFeatures asserts were incorrect,
extends the text of two errorNYI diagnostics to disambiguate them, and
fixes a typo in an adjacent comment.
DeltaFile
+3-2clang/lib/CIR/CodeGen/CIRGenClass.cpp
+2-2clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+1-1clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+1-1clang/lib/CIR/CodeGen/CIRGenDecl.cpp
+7-64 files

LLVM/project cc0cccbclang/lib/Serialization ASTReader.cpp, clang/test/Modules merge-target-features.cpp

improve

Created using spr 1.3.7
DeltaFile
+28-28clang/lib/Serialization/ASTReader.cpp
+3-2clang/test/Modules/merge-target-features.cpp
+31-302 files

LLVM/project bc6a265offload/test/offloading/fortran implicit-record-field-mapping.f90 formatted-io.f90

[offload] Use flang-rt for test feature requirements (#187733)
DeltaFile
+1-5offload/test/offloading/fortran/implicit-record-field-mapping.f90
+1-1offload/test/offloading/fortran/formatted-io.f90
+1-1offload/test/offloading/fortran/io.f90
+3-73 files

LLVM/project c002a8allvm/test/CodeGen/AArch64 ptrauth-isel.ll

[AArch64][PAC] Precommit ptrauth-isel.ll tests on calls and tail calls
DeltaFile
+209-0llvm/test/CodeGen/AArch64/ptrauth-isel.ll
+209-01 files

LLVM/project aa6f819llvm/lib/Target/AArch64 AArch64ISelLowering.cpp AArch64InstrInfo.td, llvm/lib/Target/AArch64/GISel AArch64CallLowering.cpp

[AArch64][PAC] Rework discriminator analysis for calls and tail calls

Make use of fixupBlendComponents for AUTH_TCRETURN[_BTI] and for
BLRA[_RVMARKER] pseudos the same way it is done for AUT/PAC/AUTPAC.

This patch unifies discriminator analysis for DAGISel and GlobalISel
and improves cross-BB analysis in case of DAGISel.
DeltaFile
+18-41llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+23-16llvm/test/CodeGen/AArch64/ptrauth-isel.ll
+6-18llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
+3-1llvm/lib/Target/AArch64/AArch64InstrInfo.td
+2-2llvm/test/CodeGen/AArch64/ptrauth-call.ll
+52-785 files

LLVM/project 7c02dbdllvm/lib/Target/AArch64 AArch64SystemOperands.td

fixup! Move nxs bit into TLBIEntry rather than override
DeltaFile
+17-30llvm/lib/Target/AArch64/AArch64SystemOperands.td
+17-301 files

LLVM/project eaeca6dclang/lib/AST TemplateBase.cpp

[clang] fix #187352 breakage on 32-bit platforms (#187741)

Fixes breakage reported here:
https://github.com/llvm/llvm-project/pull/187352#issuecomment-4096403838
DeltaFile
+2-2clang/lib/AST/TemplateBase.cpp
+2-21 files

LLVM/project b7e7eedllvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 deactivation-symbols.ll

Move handling of COPY $xzr here from PR147136
DeltaFile
+4-8llvm/test/CodeGen/AArch64/deactivation-symbols.ll
+6-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+10-82 files

LLVM/project 98d7b24llvm/lib/Target/AArch64 AArch64ISelDAGToDAG.cpp AArch64ISelLowering.cpp, llvm/lib/Target/AArch64/GISel AArch64InstructionSelector.cpp

[AArch64][PAC] Rework discriminator analysis in AUT and AUTPAC

Make use of post-processing the discriminator components by custom
inserter hook to eliminate duplication for DAGISel and GlobalISel and
improve cross-BB analysis for DAGISel.
DeltaFile
+314-4llvm/test/CodeGen/AArch64/ptrauth-isel.ll
+8-49llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
+12-37llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
+15-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+4-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+3-1llvm/test/CodeGen/AArch64/deactivation-symbols.ll
+356-916 files

LLVM/project 94e366ellvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer buildvector-nodes-dependency.ll

[SLP] Initial support for ordered reductions

Patch models ordered reductions as a series of extractelements for the
cases which cannot be modeled as unordered reductions.

Fixes #50590

Reviewers: RKSimon, hiraditya

Pull Request: https://github.com/llvm/llvm-project/pull/182644
DeltaFile
+94-189llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
+46-149llvm/test/Transforms/SLPVectorizer/X86/used-reduced-op.ll
+119-38llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+103-17llvm/test/Transforms/SLPVectorizer/X86/fmaxnum.ll
+69-35llvm/test/Transforms/SLPVectorizer/buildvector-nodes-dependency.ll
+83-17llvm/test/Transforms/SLPVectorizer/X86/fminnum.ll
+514-44511 files not shown
+606-56017 files

LLVM/project 0270402llvm/lib/Target/AArch64 AArch64SystemOperands.td, llvm/test/MC/AArch64 armv9a-tlbip.s

[AArch64][llvm] Separate TLBI-only feature gating from TLBIP aliases

Refactor the TLBI system operand definitions so that TLBI and TLBIP
records are emitted through separate helper multiclasses, whilst keeping
the table layout readable.

The feature-scoped wrappers now apply FeatureTLB_RMI, FeatureRME, and
FeatureTLBIW only to TLBI records (it was previously incorrectly also
applied to TLBIP instructions), while TLBIP aliases remain gated only
by FeatureD128, including their nXS forms.

Update testcases accordingly.
DeltaFile
+103-75llvm/lib/Target/AArch64/AArch64SystemOperands.td
+8-9llvm/test/MC/AArch64/armv9a-tlbip.s
+111-842 files

LLVM/project e06db74llvm/lib/Target/AArch64 AArch64SystemOperands.td

[AArch64][llvm] Rewrite the TLBI multiclass to be much clearer (NFC)

The `tlbi` multiclass is really doing four jobs at once: base TLBI,
synthesized nXS, optional TLBIP, and synthesized TLBIP nXS. Also,
`needsreg` and `optreg` are really just a 3-state operand policy in
disguise. Likewise, the PLBI multiclass has this same issue.

Change `needsreg` and `optreg` into a combined fake enum, so it's
clearer whether the instruction takes no register operand, a required
register operand or an optional register operand.

This improves on my original change 66e8270e8.
DeltaFile
+127-121llvm/lib/Target/AArch64/AArch64SystemOperands.td
+127-1211 files

LLVM/project f100978llvm/lib/Target/AArch64 AArch64SystemOperands.td

fixup! Refactor TLBI tablegen
DeltaFile
+229-132llvm/lib/Target/AArch64/AArch64SystemOperands.td
+229-1321 files

LLVM/project 36001c3llvm/lib/Target/AArch64 AArch64SystemOperands.td

fixup! Change tablegen as suggested
DeltaFile
+40-43llvm/lib/Target/AArch64/AArch64SystemOperands.td
+40-431 files

LLVM/project b2ab1e9llvm/lib/Target/AArch64 AArch64SystemOperands.td

fixup! Another tablegen optimisation
DeltaFile
+117-141llvm/lib/Target/AArch64/AArch64SystemOperands.td
+117-1411 files

LLVM/project 4b31699llvm/lib/Target/AArch64 AArch64SystemOperands.td

fixup! More tablegen fixes
DeltaFile
+32-70llvm/lib/Target/AArch64/AArch64SystemOperands.td
+32-701 files

LLVM/project 5717524mlir/include/mlir/Dialect/OpenACC OpenACCCGOps.td OpenACCOpsTypes.td, mlir/lib/Dialect/OpenACC/IR OpenACCCG.cpp

[mlir][acc] Use index for acc.par_width results (#187734)

When acc.par_width was introduced in
https://github.com/llvm/llvm-project/pull/184864
there was a discussion on whether to use index or create a new type for
the output of the operation. It was decided to create a new type; but
this means that launch arguments cannot be used directly in the region
such as for loop bounds without a conversion from the new type to index.
In order to avoid the casting operations (and introduction of an actual
operation to do this cast), simply restore acc.par_width to generate
index type. This allows its result to be directly used in
acc.compute_region.
DeltaFile
+6-6mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
+7-2mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
+0-8mlir/include/mlir/Dialect/OpenACC/OpenACCOpsTypes.td
+2-3mlir/test/Dialect/OpenACC/invalid-cg.mlir
+5-0mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
+4-1mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsCG.h
+24-202 files not shown
+29-238 files

LLVM/project 65d84ealldb/docs/resources formatterbytecode.rst, lldb/include/lldb/DataFormatters TypeSynthetic.h

[lldb] Update the calling convention of BytecodeSyntheticChildren::Update (#182155)

This changes the inputs to `update`. It's now the data stack that was
the result of `@init`. This makes `update` more predictable, as its
inputs are the same between the first call and the Nth call.
DeltaFile
+5-5lldb/source/DataFormatters/TypeSynthetic.cpp
+1-1lldb/docs/resources/formatterbytecode.rst
+1-0lldb/include/lldb/DataFormatters/TypeSynthetic.h
+7-63 files

LLVM/project d8e1f50lldb/examples/python formatter_bytecode.py, lldb/test/Shell/ScriptInterpreter/Python python-bytecode.test

[lldb][bytecode] Document invocation in compiler output (#187547)

Document compiler invocation in the compiler output, to aide subsequent
regeneration.
DeltaFile
+9-0lldb/examples/python/formatter_bytecode.py
+2-2lldb/test/Shell/ScriptInterpreter/Python/python-bytecode.test
+11-22 files

LLVM/project e835f8bflang/lib/Optimizer/OpenACC/Support FIROpenACCUtils.cpp, flang/test/Lower/OpenACC acc-reduction.f90 acc-reduction-maxmin.f90

[flang][OpenACC] Fix reduction init value for minnumf/minimumf/maxnumf/maximumf (#187647)

The reduction recipe init region was producing 0.0 instead of the
correct identity value (largest representable float for min, smallest
for max) when the reduction operator was AccMinnumf, AccMinimumf,
AccMaxnumf, or AccMaximumf. Only AccMin and AccMax were handled,
causing the new operator variants to fall through to the else branch
which returns 0.

This caused min reductions to always produce 0.0 since
min(x, 0.0) = 0.0 for all positive x.

Replace the duplicated identity value logic with
arith::getIdentityValue, using a mapping from acc::ReductionOperator
to arith::AtomicRMWKind. Use minimumf/maximumf (which respect
useOnlyFiniteValue) instead of minnumf/maxnumf (whose MLIR identity
is NaN) to get correct finite identity values.

This also fixes a pre-existing bug where the max reduction identity
for floats used getSmallest (smallest subnormal, -1.4e-45) instead
of getLargest with negative (-3.4e+38).
DeltaFile
+47-80flang/lib/Optimizer/OpenACC/Support/FIROpenACCUtils.cpp
+6-6flang/test/Lower/OpenACC/acc-reduction.f90
+2-0flang/test/Lower/OpenACC/acc-reduction-maxmin.f90
+55-863 files

LLVM/project 965ee6cflang/lib/Optimizer/Transforms FIRToMemRef.cpp, flang/test/Transforms/FIRToMemRef alloca.mlir

[FIRToMemRef] copy ACC Variable Name attribute (#187724)

When converting from fir.alloca to memref.alloca, also copy the acc
variable name attribute if it exists
DeltaFile
+26-6flang/test/Transforms/FIRToMemRef/alloca.mlir
+1-0flang/lib/Optimizer/Transforms/FIRToMemRef.cpp
+27-62 files

LLVM/project 537a8ccllvm/include/llvm/IR Instructions.h, llvm/lib/IR Instructions.cpp

[IR][NFC] Fix MSVC deprecation warnings about BranchInst (#187702)

MSVC apparently also warns about deprecation at the implementation
of deprecated functions...

Pull Request: https://github.com/llvm/llvm-project/pull/187702
DeltaFile
+3-3llvm/include/llvm/IR/Instructions.h
+6-0llvm/lib/IR/Instructions.cpp
+9-32 files

LLVM/project 5a14e4fflang-rt/lib/runtime character.cpp, flang-rt/unittests/Runtime CharacterTest.cpp

[flang] Implement SPLIT intrinsic subroutine with tests (#185584)

This is the implementation of part of F2023 new feature US 03.
Extracting tokens from a string, SPLIT intrinsic.

It's section 16.9.196 SPLIT (STRING, SET, POS [, BACK]) of Fortran 2023
Standard.

It's part of Flang issue
[#178044](https://github.com/llvm/llvm-project/issues/178044). Note that
I work with @kwyatt-ext on this issue. He implemented the other part,
TOKENIZE.

A test will be added into
[llvm-test-suite](https://github.com/llvm/llvm-test-suite) later after
this PR is merged.
DeltaFile
+98-0flang/test/Semantics/split.f90
+85-0flang-rt/unittests/Runtime/CharacterTest.cpp
+51-0flang-rt/lib/runtime/character.cpp
+10-39flang/docs/F202X.md
+45-0flang/test/Lower/Intrinsics/split.f90
+40-0flang/lib/Optimizer/Builder/IntrinsicCall.cpp
+329-397 files not shown
+404-4013 files

LLVM/project 257c656clang/lib/AST TemplateBase.cpp

[clang] fix #187352 breakage on 32-bit platforms

Fixes breakage reported here: https://github.com/llvm/llvm-project/pull/187352#issuecomment-4096403838
DeltaFile
+2-2clang/lib/AST/TemplateBase.cpp
+2-21 files

LLVM/project 68a9e9cllvm/lib/CodeGen/GlobalISel GISelValueTracking.cpp, llvm/test/CodeGen/AArch64 arm64-neon-aba-abd.ll

[GlobalISel] Add G_ABDU and G_ABDS to computeKnownBits. (#186822)

This code is adapted from `SelectionDAG::computeKnownBits`
part of #150515 
ticks off ABDS & ABDU
DeltaFile
+88-0llvm/test/CodeGen/AArch64/GlobalISel/knownbits-abdu.mir
+76-0llvm/test/CodeGen/AArch64/GlobalISel/knownbits-abds.mir
+9-20llvm/test/CodeGen/AArch64/arm64-neon-aba-abd.ll
+26-0llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
+199-204 files

LLVM/project a2c0c43clang/include/clang/ScalableStaticAnalysisFramework/Tool Utils.h, clang/lib/ScalableStaticAnalysisFramework CMakeLists.txt

[clang][ssaf] Consolidate tools and shared utilities under `clang/tools/clang-ssaf/`

This patch extracts the shared code between `clang-ssaf-format` and
`clang-ssaf-linker` into a new
`clangScalableStaticAnalysisFrameworkTool` library at
`clang/lib/ScalableStaticAnalysisFramework/Tool/`, with the public
header at
`clang/include/clang/ScalableStaticAnalysisFramework/Tool/Utils.h`. This
shared library provides:
  - `fail()` overloads for fatal error reporting
- `initTool()` — sets the tool name and version, configures the version
printer, hides unrelated command-line options, and parses arguments
  - `getToolName()` — accessor for the tool name set by `initTool()`
  - `loadPlugins()` — loads plugin shared libraries from a list of paths
  - `getFormatForExtension()` — cached format-registry lookup
  - `SummaryFile` — resolves a file path to its serialization format
  - `ErrorMessages` — shared diagnostic string constants

Tool-specific error strings remain in a `LocalErrorMessages` namespace

    [3 lines not shown]
DeltaFile
+135-0clang/lib/ScalableStaticAnalysisFramework/Tool/Utils.cpp
+9-120clang/tools/clang-ssaf-format/SSAFFormat.cpp
+9-98clang/tools/clang-ssaf-linker/SSAFLinker.cpp
+102-0clang/include/clang/ScalableStaticAnalysisFramework/Tool/Utils.h
+11-0clang/lib/ScalableStaticAnalysisFramework/Tool/CMakeLists.txt
+1-1clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
+267-2192 files not shown
+269-2198 files