LLVM/project b9cc1d7llvm/include/llvm/CodeGen/GlobalISel Combiner.h, llvm/lib/CodeGen/GlobalISel Combiner.cpp

GlobalISel: Make CombinerInfo const (#183263)

DeltaFile
+2-2llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
+1-1llvm/lib/CodeGen/GlobalISel/Combiner.cpp
+3-32 files

LLVM/project 2df95efcmake/Modules LLVMVersion.cmake, libcxx/include __config

Bump version to 22.1.1
DeltaFile
+1-1cmake/Modules/LLVMVersion.cmake
+1-1libcxx/include/__config
+1-1llvm/utils/gn/secondary/llvm/version.gni
+1-1llvm/utils/lit/lit/__init__.py
+1-1llvm/utils/mlgo-utils/mlgo/__init__.py
+5-55 files

LLVM/project cec03aellvm/utils/release github-upload-release.py

[llvm][release] Link to .jsonl signatures for Windows x86_64 and ARM64 (#183053)

Previously we linked to .sig files, which were created by the person who
built the release.

Now these are built in GitHub so they have .jsonl signature files
instead.
DeltaFile
+4-4llvm/utils/release/github-upload-release.py
+4-41 files

LLVM/project 99d853bllvm/include/llvm/Object ELF.h

fixup! [Object][ELF] Fix section header zero check
DeltaFile
+10-10llvm/include/llvm/Object/ELF.h
+10-101 files

LLVM/project 42aac86llvm/include/llvm/CodeGen/GlobalISel Combiner.h, llvm/lib/CodeGen/GlobalISel Combiner.cpp

GlobalISel: Make CombinerInfo const
DeltaFile
+2-2llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
+1-1llvm/lib/CodeGen/GlobalISel/Combiner.cpp
+3-32 files

LLVM/project 9088f38libc/startup/linux/riscv irelative.cpp

[libc] Fix LIBC_INLINE build error in riscv/irelative.cpp (#183249)

LIBC_INLINE is defined in attributes.h, which was not included. Since
constexpr already implies inline, simply remove the LIBC_INLINE
qualifier from the static helper, matching the x86_64 and aarch64
irelative implementations.
DeltaFile
+1-1libc/startup/linux/riscv/irelative.cpp
+1-11 files

LLVM/project 90edb20libclc CMakeLists.txt

[libclc] Compile with -fdenormal-fp-math=dynamic (#183262)

This PR is extracted from #157633.
`-fdenormal-fp-math=dynamic` is required to defer denormal handling and
should be used for libclc library compilation.

Additionally, if the default ieee value is incompatible with the user
code's denormal-fp-math setting, this mismatch prevents libclc functions
from being inlined.
DeltaFile
+1-0libclc/CMakeLists.txt
+1-01 files

LLVM/project a7cfc67clang/include/clang/Basic OpenCLExtensions.def, clang/test/SemaOpenCL extension-version.cl

[OpenCL] Set intel extensions minimum version to OpenCL 1.0 (#176854)

Motivation is similar to b12e070b9238. Following intel extensions are
changed:
cl_intel_required_subgroup_size
cl_intel_subgroups
cl_intel_subgroups_char
cl_intel_subgroups_long
cl_intel_subgroups_short
cl_intel_subgroup_buffer_prefetch
cl_intel_subgroup_local_block_io
cl_intel_device_side_avc_motion_estimation

Relates to https://github.com/KhronosGroup/OpenCL-CTS/pull/2376.
DeltaFile
+9-9clang/test/SemaOpenCL/extension-version.cl
+8-8clang/include/clang/Basic/OpenCLExtensions.def
+17-172 files

LLVM/project fb8c0e6clang/test/OpenMP target_update_strided_struct_variable_count_and_stride_messages.c target_update_variable_count_and_stride_messages.c

[Clang][OpenMP][NFC] Diagnostics/parsing tests for non-contiguous updates. (#181780)

NFC PR for validating parsing checks for variable count/stride,
pointer-based array sections, struct member array sections,
multiple/partial array updates -- for non-contiguous updates
DeltaFile
+55-0clang/test/OpenMP/target_update_strided_struct_variable_count_and_stride_messages.c
+53-0clang/test/OpenMP/target_update_variable_count_and_stride_messages.c
+46-0clang/test/OpenMP/target_update_strided_ptr_variable_count_messages.c
+42-0clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_from.c
+42-0clang/test/OpenMP/target_update_strided_struct_ptr_multiple_messages_to.c
+41-0clang/test/OpenMP/target_update_strided_ptr_variable_stride_messages.c
+279-05 files not shown
+438-011 files

LLVM/project bded7e9llvm/lib/CodeGen/GlobalISel GISelValueTracking.cpp, llvm/test/CodeGen/AArch64/GlobalISel compute-known-bits-bitcast-assertion.ll

[AArch64][GISel] Fix computeKnownBits through a COPY with different fixed-width vector types (#179123)

Fix an assertion in known bits through a COPY by making computeKnownBits
length-aware for different fixed width vectors. If the lengths of the
vectors are different all lanes are demanded.

Fixes #178242
DeltaFile
+40-0llvm/test/CodeGen/AArch64/GlobalISel/compute-known-bits-bitcast-assertion.ll
+10-6llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
+50-62 files

LLVM/project bc76535llvm/test/Transforms/LoopVectorize/AArch64 veclib-intrinsic-calls.ll

[LV][NFC] Regen CHECK lines in LoopVectorize/AArch64/veclib-intrinsic-calls.ll (#183098)

DeltaFile
+406-406llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
+406-4061 files

LLVM/project 2fc45ballvm/include/llvm/MC MCAsmInfo.h, llvm/lib/MC MCAsmInfo.cpp

[MC] Set UseAtForSpecifier in initializeAtSpecifiers and default to false (#183253)

Set UseAtForSpecifier = true inside initializeAtSpecifiers() so that
all targets calling it automatically get the correct setting. Change
the default to false so targets that don't use @ for relocation
specifiers (RISC-V, Sparc, Mips, LoongArch, etc.) don't need to
explicitly opt out. In addition, discourage future targets from using
this @ , which has parsing ambiguity issues.

For ARM and AArch64, move UseAtForSpecifier = false to after the
initializeAtSpecifiers() call.
DeltaFile
+3-5llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
+2-3llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
+1-1llvm/include/llvm/MC/MCAsmInfo.h
+1-0llvm/lib/MC/MCAsmInfo.cpp
+7-94 files

LLVM/project 20859e2clang/lib/Driver/ToolChains BareMetal.cpp, clang/test/Driver baremetal.cpp

[Clang][Driver] Move -T option after -L in BareMetal driver (#183055)

`-L` option affects linker script search paths when `-T` is specified. For lld
the order of `-L` and `-T` flags does not matter and paths provided with the
`-L` option will be used. E.g. for the command `ld.lld -T script -L dir`,
  `ld.lld` uses `dir` to find `script`. However, for GNU ld the order matters
  and only the paths provided before the `-T` option will be used.

This change reorders the flags in BareMetal driver to ensure compatibility with
both GNU ld and lld. It restores the behavior clang-20 and earlier drivers have
for RISC-V. (before merging RISCVToolchain.cpp to Baremetal.cpp). GCC (both
Linux and baremetal) and Clang Linux drivers do the same reordering.
DeltaFile
+11-1clang/test/Driver/baremetal.cpp
+3-4clang/lib/Driver/ToolChains/BareMetal.cpp
+14-52 files

LLVM/project 4f4087ellvm/utils extract_symbols.py

[Windows] Adjust exported symbols to filter out profile symbols (#167985)

When building Clang for Windows with clang-cl with -fprofile-generate
and LLVM_EXPORT_SYMBOLS_FOR_PLUGINS, the build fails with
  lld-link: error: too many exported symbols (got 76137, max 65535)

Removing the symbols generated from the use of that flag removes about
13K symbols.
DeltaFile
+3-0llvm/utils/extract_symbols.py
+3-01 files

LLVM/project f2a10abllvm/utils extract_symbols.py

[Windows] Adjust exported symbols to filter out dumpColor and printPretty (#182964)

Like the dump symbols, these symbols are meant for debugging. This is
enough to get from slightly above 65536 exported symbols to slightly
under 65536 exported symbols.

Cc: @michalpaszkowski, @john-brawn-arm
DeltaFile
+4-3llvm/utils/extract_symbols.py
+4-31 files

LLVM/project 19e9bcbllvm/utils extract_symbols.py

[Windows] Don't hide Type::getAs symbols (#182966)

Cc: @michalpaszkowski, @john-brawn-arm
DeltaFile
+5-0llvm/utils/extract_symbols.py
+5-01 files

LLVM/project 1eeb712llvm/utils/TableGen SubtargetEmitter.cpp

[TableGen] fix unreachable code warning in *GenSubtargetInfo.inc files (#182477)

fix unreachable code warning in *GenSubtargetInfo.inc files
DeltaFile
+12-7llvm/utils/TableGen/SubtargetEmitter.cpp
+12-71 files

LLVM/project 0691eeemlir/lib/Dialect/Linalg/Transforms Specialize.cpp, mlir/test/Dialect/Linalg specialize-generic-ops.mlir

[mlir][linalg] fix specialization of transposed matmul variants (#181387)

Currently all generics that represent `linalg.matmul_transpose_a/b`
variants will get specialized to a regular `linalg.matmul` without any
special indexing maps. This patch fixes this behavior to correctly emit
`linalg.matmul` with the correct indexing maps for the transposed
variants.
DeltaFile
+199-0mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
+8-6mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
+207-62 files

LLVM/project 8a64dccclang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp, clang/test/CIR/CodeGenBuiltins/AArch64 acle_sve_dup.c

[CIR][AArch64] Add lowering + tests for predicated SVE svdup_x builtins (#182542)

This PR adds CIR lowering + tests for the predicated SVE `svdup` builtins
on AArch64. The corresponding ACLE intrinsics are documented at:
https://developer.arm.com/architectures/instruction-sets/intrinsics

This PR covers the merging-predicated variants with suffix `_x`, e.g.
`svdup_n_f32_x`. The corresponding LLVM intrinsics take an undef which
are merged into the result for lanes where the predicate is false.
DeltaFile
+175-1clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
+4-3clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+179-42 files

LLVM/project 3bd7dc3lldb/source/Plugins/Platform/FreeBSD PlatformFreeBSD.cpp, lldb/source/Plugins/Platform/Linux PlatformLinux.cpp

[lldb][TypeSystem][NFC] Remove unused AccessType parameters to TypeSystemClang APIs (#183023)

In https://github.com/llvm/llvm-project/pull/182956 we stopped using the
access specifiers and unconditionally set all access to `AS_public`.
This patch is a follow-up cleanup to remove all the `AccessType`
parameters of the `TypeSystemClang` APIs (which since
https://github.com/llvm/llvm-project/pull/182956 are never used)
DeltaFile
+63-65lldb/unittests/Symbol/TestTypeSystemClang.cpp
+23-37lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+22-32lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
+21-31lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp
+18-29lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp
+5-41lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
+152-23514 files not shown
+228-34920 files

LLVM/project 55ce4b7llvm/include/llvm/ExecutionEngine/Orc WaitingOnGraph.h

Reapply "[ORC] Simplify WaitingOnGraph::Coalescer::remove." (#183231)

This reapplies 85354c6d8bc, which was reverted in d7347c0b81a due to bot
failures.

In this commit further changes are made to address the bot failure, and
general readability.

WaitingOnGraph::Coalescer::remove is renamed WaitingOnGraph::Coalescer::erase,
since its behavior is now similar to common container erase operations.

WaitingOnGraph::Coalescer::clear is provided to enable a fast reset of
Coalescer state.

SuperNodeBuilder::takeSuperNodes is updated to clear the Coalescer state before
returning the SuperNodes, ensuring that future calls to SuperNodeBuilder::add
do not trip the assert that caused the builder failures.
DeltaFile
+48-22llvm/include/llvm/ExecutionEngine/Orc/WaitingOnGraph.h
+48-221 files

LLVM/project db5a570llvm/lib/Target/RISCV RISCVFeatures.td, llvm/test/CodeGen/RISCV attributes.ll

[RISCV] Make P imply Zba, Zbb, Zmmul, and Zicsr. (#183247)

Relevant spec PRs https://github.com/riscv/riscv-p-spec/pull/163 and
https://github.com/riscv/riscv-p-spec/pull/164
DeltaFile
+12-16llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-ctls-rv64.mir
+3-2llvm/test/MC/RISCV/rv32p-valid.s
+3-1llvm/lib/Target/RISCV/RISCVFeatures.td
+2-2llvm/test/MC/RISCV/attribute-arch.s
+1-1llvm/test/CodeGen/RISCV/attributes.ll
+21-225 files

LLVM/project 9d5574dllvm/tools/bugpoint CrashDebugger.cpp Miscompilation.cpp

llvm: Delete bugpoint (#182320)

For crash reduction, I don't think it does anything that llvm-reduce
can't. Pass pipeline reduction also has a separate reduction script.
The main thing there isn't a replacement tool is the miscompilation
reducer, but I'm not sure that's actually functioned for years.

There are still some references to bugpoint in various comments
and pieces of documentation that don't all necessarily make sense
to replace or remove. In particular there are a few passes documented
as "only for bugpoint", but I've left those alone in case they are
useful for manual reductions.
DeltaFile
+0-1,412llvm/tools/bugpoint/CrashDebugger.cpp
+0-1,080llvm/tools/bugpoint/Miscompilation.cpp
+0-849llvm/tools/bugpoint/ToolRunner.cpp
+0-451llvm/tools/bugpoint/ExecutionDriver.cpp
+0-410llvm/tools/bugpoint/ExtractFunction.cpp
+0-290llvm/tools/bugpoint/BugDriver.h
+0-4,49238 files not shown
+17-6,70644 files

LLVM/project 550c65bllvm/lib/Target/SystemZ SystemZInstrInfo.cpp, llvm/test/CodeGen/SystemZ foldmemop-global.mir

[SystemZ] Allow folding from another MBB in foldMemoryOperandImpl(). (#182921)

After 7c1d517 "[SystemZ] Enable rematerialization for scalar loads
(#179838)", an assertion in foldMemoryOperandImpl() that checked
that the original load and the subsuming instruction are in the same
MBB started to fail.

There is no fundamental reason to not allow this, so this assertion has
been removed and this case is now handled as well by the search that
checks for CC liveness.
DeltaFile
+124-0llvm/test/CodeGen/SystemZ/foldmemop-global.mir
+6-8llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
+130-82 files

LLVM/project 29f32e6clang/lib/CIR/CodeGen CIRGenCUDARuntime.cpp CIRGenExpr.cpp, clang/test/CIR/CodeGenCUDA kernel-call.cu

[CIR][CUDA][HIP] Emit host-side kernel calls (#179809)

Related: https://github.com/llvm/llvm-project/issues/179278,
https://github.com/llvm/llvm-project/issues/175871
DeltaFile
+58-1clang/test/CIR/CodeGenCUDA/kernel-call.cu
+25-0clang/lib/CIR/CodeGen/CIRGenCUDARuntime.cpp
+8-5clang/lib/CIR/CodeGen/CIRGenExpr.cpp
+8-0clang/lib/CIR/CodeGen/CIRGenExprCXX.cpp
+6-0clang/lib/CIR/CodeGen/CIRGenCUDARuntime.h
+6-0clang/lib/CIR/CodeGen/CIRGenCUDANV.cpp
+111-62 files not shown
+118-78 files

LLVM/project fc1cba8clang/lib/AST/ByteCode Interp.h Interp.cpp

[clang][bytecode] Copy EvalID into InterpState (#182913)

So the EvalID there is independent of changes to the one in the Context.
This is currently an NFC change but will make future commits easier.
DeltaFile
+6-8clang/lib/AST/ByteCode/Interp.h
+2-10clang/lib/AST/ByteCode/Interp.cpp
+12-0clang/lib/AST/ByteCode/Context.h
+5-2clang/lib/AST/ByteCode/Compiler.cpp
+2-2clang/lib/AST/ByteCode/InterpState.cpp
+2-0clang/lib/AST/ByteCode/InterpState.h
+29-226 files

LLVM/project 0fa0bb1clang-tools-extra/clangd Selection.cpp, clang-tools-extra/clangd/unittests XRefsTests.cpp

[clangd] Handle MemberPointerTypeLoc in SelectionTree (#183242)

This is another type loc that overlaps the name of the declaration whose
type it is, and so needs special handling to allow the declaration
itself to be targeted.

Fixes https://github.com/clangd/clangd/issues/2608
DeltaFile
+10-0clang-tools-extra/clangd/unittests/XRefsTests.cpp
+4-0clang-tools-extra/clangd/Selection.cpp
+14-02 files

LLVM/project bc9d5b0clang/lib/CodeGen CGDebugInfo.cpp, clang/test/DebugInfo/CXX callsite-edges.cpp callsite-base.cpp

[clang][DebugInfo] Add virtuality call-site target information in DWARF. (#182510)

Given the test case:

  struct CBase {
    virtual void foo();
  };

  void bar(CBase *Base) {
    Base->foo();
  }

and using '-emit-call-site-info' with llc, the following DWARF
is produced for the indirect call 'Base->foo()':

1$: DW_TAG_structure_type "CBase"
      ...
2$:   DW_TAG_subprogram "foo"
        ...

    [20 lines not shown]
DeltaFile
+99-0cross-project-tests/debuginfo-tests/clang_llvm_roundtrip/callsite-dwarf.cpp
+93-0clang/test/DebugInfo/CXX/callsite-edges.cpp
+70-0clang/test/DebugInfo/CXX/callsite-base.cpp
+58-0clang/test/DebugInfo/CXX/callsite-derived.cpp
+28-1llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+23-0clang/lib/CodeGen/CGDebugInfo.cpp
+371-119 files not shown
+451-2325 files

LLVM/project 9ce3c09clang/test/CIR/CodeGenCUDA kernel-call.cu

fix these tests yo
DeltaFile
+8-8clang/test/CIR/CodeGenCUDA/kernel-call.cu
+8-81 files

LLVM/project 590568bmlir/lib/ExecutionEngine CMakeLists.txt

[MLIR] DISABLE_PCH_REUSE for runtime wrappers
DeltaFile
+5-0mlir/lib/ExecutionEngine/CMakeLists.txt
+5-01 files