LLVM/project 55fd9aellvm/lib/Target/DirectX DXILPrepare.cpp DirectX.h, llvm/lib/Target/DirectX/DirectXIRPasses DXILDebugInfo.cpp

[DirectX] Delay converting to old-style debug info (#201336)

This has no impact at the moment, but upcoming work relies on debug info
still using new-style debug records after DXILPrepare.
DeltaFile
+65-56llvm/lib/Target/DirectX/DXILPrepare.cpp
+10-0llvm/lib/Target/DirectX/DirectXIRPasses/DXILDebugInfo.cpp
+4-0llvm/lib/Target/DirectX/DirectX.h
+79-563 files

LLVM/project f951af0llvm/lib/Support UnicodeNameToCodepointGenerated.cpp, llvm/test/CodeGen/AArch64 sve-fixed-length-masked-expandloads.ll

Merge branch 'main' into users/wyattke/enum-sem-1
DeltaFile
+23,873-20,923llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+17,332-16,290llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+26,606-0llvm/test/CodeGen/AArch64/sve-fixed-length-masked-expandloads.ll
+11,355-10,407llvm/test/CodeGen/Thumb2/mve-clmul.ll
+12,365-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.av.load.b128.ll
+10,469-10llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+102,000-47,63021,200 files not shown
+1,431,012-665,00621,206 files

LLVM/project 1d84916lldb/source/Plugins/SymbolFile/NativePDB PdbAstBuilderClang.cpp PdbSymUid.h

[lldb][NativePDB] Remove uses of cantFail in AST builder (#200452)

As a continuation of #187158, this removes uses of `llvm::cantFail` and
replaces them with logs and early returns.

The motivation for this is the PDB of the
[ExprLanguageNote.test](https://github.com/llvm/llvm-project/blob/c241374079f12aabe5d1db5133cb5d924a3cc1d6/lldb/test/Shell/Expr/TestExprLanguageNote.test).
It's incrementally linked (if the built clang uses link.exe by default).
After some amount of checkouts + rebuilds, the PDB gets (semantically)
corrupted such that some type indices point to incorrect records. While
this is a bug in the MSVC linker, we shouldn't crash if we get these
inputs.
DeltaFile
+141-31lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilderClang.cpp
+17-6lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.h
+15-0lldb/source/Plugins/SymbolFile/NativePDB/PdbSymUid.cpp
+173-373 files

LLVM/project 43a128fmlir/include/mlir/Dialect/OpenACC OpenACCCGOps.td, mlir/lib/Dialect/OpenACC/IR OpenACCCG.cpp

[mlir][acc] Add reduction accumulate operation (#201954)

Introduce `acc.reduction_accumulate` to represent merging an SSA result
into storage (typically the private memory storage) which will then be
used to combine into the final destination storage.
DeltaFile
+50-0mlir/test/Dialect/OpenACC/ops-cg.mlir
+41-0mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
+34-0mlir/test/Dialect/OpenACC/invalid-cg.mlir
+17-0mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
+142-04 files

LLVM/project 0b062c5libcxx/test/libcxx/transitive_includes cxx03.csv cxx11.csv

revert some transitive include change
DeltaFile
+0-5libcxx/test/libcxx/transitive_includes/cxx03.csv
+0-5libcxx/test/libcxx/transitive_includes/cxx11.csv
+0-5libcxx/test/libcxx/transitive_includes/cxx14.csv
+0-5libcxx/test/libcxx/transitive_includes/cxx17.csv
+0-204 files

LLVM/project 31ed758flang/lib/Lower/OpenMP OpenMP.cpp, flang/test/Lower/OpenMP target-inreduction.f90

[flang][OpenMP] Lower target in_reduction for host fallback

Teach Flang lowering and MLIR OpenMP translation to carry
in_reduction through omp.target for the host-fallback path.

The translation looks up task reduction-private storage with
__kmpc_task_reduction_get_th_data and binds the target region's
in_reduction block argument to that private pointer, so uses inside the
region do not keep referring to the original variable.

The patch also preserves in_reduction operands in the TargetOp builder
path and ensures target in_reduction list items are mapped into the
target region when needed.

The device/offload-entry path remains diagnosed as not yet implemented.
DeltaFile
+112-12mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+83-3mlir/test/Target/LLVMIR/openmp-todo.mlir
+62-18flang/lib/Lower/OpenMP/OpenMP.cpp
+60-0mlir/test/Dialect/OpenMP/invalid.mlir
+50-0mlir/test/Target/LLVMIR/openmp-target-in-reduction.mlir
+28-0flang/test/Lower/OpenMP/target-inreduction.f90
+395-333 files not shown
+432-539 files

LLVM/project 6465b39llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU async-buffer-loads.ll

AMDGPU/GlobalISel: RegBankLegalize rules for buffer load async lds
DeltaFile
+15-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+1-1llvm/test/CodeGen/AMDGPU/async-buffer-loads.ll
+16-12 files

LLVM/project f5fed78llvm/lib/Transforms/Vectorize VPlanRecipes.cpp VPlan.h

[VPlan] Rename VPIRFlags::getFastMathFlags (NFC) (#200487)

Rename it to getFastMathFlagsOrNone, in line with the recently-landed IR
change 02997d759 ([IR] Introduce Instruction::getFastMathFlagsOrNone,
#200457).
DeltaFile
+22-18llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+6-6llvm/lib/Transforms/Vectorize/VPlan.h
+4-4llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+3-3llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+2-2llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
+38-346 files

LLVM/project 12ebb8fruntimes CMakeLists.txt

[LLVM][Runtimes] Fix path attempting to install to wrong location (#202352)

Summary:
When LLVM_BINARY_DIR was not set this should default to a root location
and configuration would fail by trying to write to some random system
location with insufficient perms.

Fixes the failure introduced in
https://github.com/llvm/llvm-project/commit/b4f5ae234c6d
DeltaFile
+8-12runtimes/CMakeLists.txt
+8-121 files

LLVM/project b7e10e7llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp AMDGPURegBankLegalizeHelper.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.tensor.load.store.ll

AMDGPU/GlobalISel: RegBankLegalize rules for tensor load/store to lds
DeltaFile
+7-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+4-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tensor.load.store.ll
+1-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
+13-24 files

LLVM/project 76699bcllvm/lib/MC MCDXContainerWriter.cpp, llvm/lib/Target/DirectX DXContainerGlobals.cpp

[DirectX] Write DXIL with debug info to ILDB part (#201423)

This patch writes bitcode with debug info to ILDB part, then strips that
bitcode from all debug info and writes it to DXIL part.

Note: as of now, `StripDebugInfo` doesn't remove all the debug info, but
this will be fixed in #201336 and doesn't affect this patch.
DeltaFile
+96-13llvm/lib/Target/DirectX/DXILWriter/DXILWriterPass.cpp
+98-0llvm/test/CodeGen/DirectX/embed-ildb.ll
+1-5llvm/lib/Target/DirectX/DXContainerGlobals.cpp
+3-3llvm/lib/MC/MCDXContainerWriter.cpp
+3-1llvm/test/tools/dxil-dis/vla.ll
+3-1llvm/test/tools/dxil-dis/di-subrangetype.ll
+204-2312 files not shown
+238-3418 files

LLVM/project d97e0c1llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.cvt.f16.fp8.ll llvm.amdgcn.cvt.fp8.f16.ll

AMDGPU/GlobalISel: RegBankLegalize rules for cvt f16<->fp8/bf8

Small types are impemented using integers in LLVMIR,
because of this there are no irtranslator failures.
DeltaFile
+20-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+6-8llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.f16.fp8.ll
+2-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.f16.ll
+1-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pk.f16.ll
+29-114 files

LLVM/project c25b042llvm/test/CodeGen/AMDGPU consecutive-loads-in-branch.ll

[NFC][AMDGPU][VOPD] Add lit test demonstrating current VOPD pairing behaviour (#201943)

This is a pre-commit test for #201930

The behaviour addressed loc cit is the `global_load_b128 v[2:5]`
corresponding to `%A.load` being followed immediately by its user due to
VOPDPairingMutation choosing to fuse the address computation for
`%B.load` with the use of `%A.load`.
DeltaFile
+139-0llvm/test/CodeGen/AMDGPU/consecutive-loads-in-branch.ll
+139-01 files

LLVM/project c8208a4libc/shared/math acosbf16.h, libc/src/__support/math acosbf16.h

[libc][math][c23] Add acosbf16 math function (#184633)

This PR intends to add acosbf16 higher math function for bfloat16 type .
DeltaFile
+97-0libc/src/__support/math/acosbf16.h
+46-0libc/test/src/math/smoke/acosbf16_test.cpp
+45-0libc/test/src/math/acosbf16_test.cpp
+23-0libc/shared/math/acosbf16.h
+21-0libc/src/math/acosbf16.h
+20-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+252-023 files not shown
+345-329 files

LLVM/project 8c1a55cllvm/lib/Target/X86 X86InstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/X86 x86-vpmadd52.ll

[InstCombine][X86] Fold add(vpmadd52(0, a, b), x) -> vpmadd52(x, a, b) (#195937)

vpmadd52 computes acc + P(a, b) mod 2^64 where P is independent of acc
so add(vpmadd52(0, a, b), x) = vpmadd52(x, a, b).

Applies to all six vpmadd52{h,l}.uq.{128,256,512} variants.

Fixes #194697
DeltaFile
+158-0llvm/test/Transforms/InstCombine/X86/x86-vpmadd52.ll
+25-0llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
+183-02 files

LLVM/project 158182allvm/lib/Transforms/Scalar StructurizeCFG.cpp

clarify comment for less confusion
DeltaFile
+6-3llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
+6-31 files

LLVM/project 22f2663llvm/test/MC/COFF/ARM lit.local.cfg

[ARM] Remove llvm/test/MC/COFF/ARM/lit.local.cfg. NFC (#202342)

Given there are no files in this folder (since
ff1d084aa2f07927f3c63c93f3286822abe9d1ac) the unused lit.local.cfg can
be
removed.
DeltaFile
+0-2llvm/test/MC/COFF/ARM/lit.local.cfg
+0-21 files

LLVM/project 86d4fadlibc/include/llvm-libc-macros/linux sys-socket-macros.h, libc/test/src/sys/socket/linux socketopt_test.cpp CMakeLists.txt

[libc] Add remaining SO_ constants (#202278)

There are two complications here:
- These options have different values on some architectures. These
aren't architectures we're likely to support soon, but I've left a
#error so that it lights up in a porting attempt.
- The time-related options have two flavours, depending on the
sizeof(time_t). Since we now support only 64-bit time_t, and only
kernels newer than 5.10, we can unconditionally use the new versions
(released in 5.1). I added a test for one of the time options to verify
that it works.
DeltaFile
+83-0libc/include/llvm-libc-macros/linux/sys-socket-macros.h
+49-0libc/test/src/sys/socket/linux/socketopt_test.cpp
+6-0libc/test/src/sys/socket/linux/CMakeLists.txt
+138-03 files

LLVM/project b5c01f7llvm/lib/Target/AMDGPU AMDGPURegBankLegalizeHelper.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.cvt.scalef32.pk.gfx950.ll

AMDGPU/GlobalISel: Fix missing VgprV32S32 in RegBankLegalizeHelper

Left out in two places by accident, original PR #202075.
DeltaFile
+98-48llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
+3-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
+101-492 files

LLVM/project 5b6236cflang-rt/lib/runtime CMakeLists.txt, llvm/cmake/modules LLVMExternalProjectUtils.cmake

[Runtimes] Drop 'flang' from runtimes configure dependency (#198205)

Summary:
This PR cuts `flang` out of the core runtimes configure dependency. We
will need the runtimes infrastructure to handle `flang` module
generation, but this dependency poisons the entire dependency stack.
`flang` and `mlir` are by far the heavily parts of the LLVM stack and
for distribution we want to only build it when absolutely necessary,
which as of now is only to install flang module files.

The approach here is to simply remove the `flang` target from the core
dependency tree, but intead configure it for the top-level `module`
targets which are part of `all`. To make this work we need to pass
COMPILER_WORKS and set up a dummy location so that configuration passes.
it's a little backdoor, but this is an extremely important quality of
life improvement for LLVM distribution support.
DeltaFile
+41-5llvm/runtimes/CMakeLists.txt
+24-6runtimes/cmake/config-Fortran.cmake
+21-0flang-rt/lib/runtime/CMakeLists.txt
+12-2openmp/module/CMakeLists.txt
+1-4llvm/cmake/modules/LLVMExternalProjectUtils.cmake
+99-175 files

LLVM/project 1d29f3ellvm/docs AMDGPUUsage.rst

[AMDGPU] Drop docs for invalid load-release and store-acquire operations

The LangRef says "release and acq_rel orderings are not valid on load
instructions" [for loads](https://llvm.org/docs/LangRef.html#load-instruction)
and "acquire and acq_rel orderings aren't valid on store instructions"
[for stores](https://llvm.org/docs/LangRef.html#store-instruction).
Providing them in textual IR is diagnosed with an error.

Therefore, we should not define semantics for these invalid constructs.

Part of LCOMPILER-2273.
DeltaFile
+0-9llvm/docs/AMDGPUUsage.rst
+0-91 files

LLVM/project d11a719llvm/docs LangRef.rst, llvm/lib/IR Verifier.cpp

Revert "[IR] Reject unhandled assume bundles and seperate them from normal attributes" (#202336)

Reverts llvm/llvm-project#197007

This causes an assertion failure.
DeltaFile
+217-0llvm/test/Transforms/Util/assume-builder.ll
+112-0llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
+55-55llvm/docs/LangRef.rst
+44-56llvm/lib/IR/Verifier.cpp
+39-50llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+81-0llvm/test/Transforms/Attributor/nofree.ll
+548-16117 files not shown
+684-59323 files

LLVM/project 57297d5flang/lib/Semantics resolve-names.cpp, flang/test/Semantics/OpenMP declare-target-resolve.f90

Limit name collection to extended list items
DeltaFile
+24-12flang/test/Semantics/OpenMP/declare-target-resolve.f90
+6-0flang/lib/Semantics/resolve-names.cpp
+30-122 files

LLVM/project 3f5c25fclang/include/clang/Basic Builtins.td, clang/lib/AST ASTContext.cpp

[clang] Implement C2y stdc_memreverse8 and stdc_memreverse8u{8,16,32,64} builtins (#197358)

Implements the C2y <stdbit.h> memory reversal functions stdc_memreverse8
and stdc_memreverse8u{8,16,32,64}. The typed variants lower to
llvm.bswap and support constexpr evaluation.
DeltaFile
+107-0clang/test/CodeGen/builtin-stdc-memreverse8.c
+84-0clang/test/Sema/builtin-stdc-memreverse8.c
+35-0clang/lib/CodeGen/CGBuiltin.cpp
+28-2clang/lib/AST/ASTContext.cpp
+17-0clang/include/clang/Basic/Builtins.td
+13-0clang/lib/Sema/SemaChecking.cpp
+284-29 files not shown
+330-315 files

LLVM/project 55611declang/docs ReleaseNotes.rst, clang/include/clang/Sema DeclSpec.h

[clang][Sema]fix crash of invalid friend declaration with storage-class specifier (#190597)

Fix an assertion failure in Sema::ActOnFriendTypeDecl when parsing an
invalid friend type declaration that incorrectly includes a
storage-class specifier (e.g., 'static', 'extern', 'register').

Root cause:
If the type specifier is marked as invalid, DeclSpec::Finish returns
early. However, even when the type specifier is invalid, some other
checks can still be performed instead of skipping everything.

This change allows necessary checks to proceed, preventing the
assertion in ActOnFriendTypeDecl and enabling proper error diagnostics.

Fixes: https://github.com/llvm/llvm-project/issues/186569

Co-authored-by: victorl <liuvicsen at gmail.com>
DeltaFile
+17-8clang/lib/Sema/DeclSpec.cpp
+4-0clang/include/clang/Sema/DeclSpec.h
+1-0clang/test/CXX/class/class.friend/p6.cpp
+1-0clang/docs/ReleaseNotes.rst
+23-84 files

LLVM/project 91d54b4llvm/lib/Transforms/Scalar StructurizeCFG.cpp, llvm/test/Transforms/StructurizeCFG callbr.ll

make island naming in tests consistent; improve two edge cases
DeltaFile
+130-68llvm/test/Transforms/StructurizeCFG/callbr.ll
+13-17llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
+143-852 files

LLVM/project 307cb2fflang/lib/Semantics resolve-names.cpp, flang/test/Semantics/OpenMP declare-target-resolve.f90 declare-target-common-block2.f90

Reset declared-by-declare-target when encountered in designator
DeltaFile
+51-0flang/test/Semantics/OpenMP/declare-target-resolve.f90
+0-23flang/test/Semantics/OpenMP/declare-target-common-block2.f90
+0-23flang/test/Semantics/OpenMP/declare-target-equivalence.f90
+10-0flang/lib/Semantics/resolve-names.cpp
+61-464 files

LLVM/project 32c3d95clang/test/CodeGen/LoongArch/lasx builtin-alias.c builtin.c, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll memintrinsic-unroll.ll

Merge branch 'main' into users/jeanPerier/mem2reg-fix-197158
DeltaFile
+5,590-5,510llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+10,469-10llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
+3,563-3,543llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
+6,598-111llvm/test/CodeGen/X86/clmul-vector.ll
+2,749-2,749clang/test/CodeGen/LoongArch/lasx/builtin-alias.c
+2,745-2,745clang/test/CodeGen/LoongArch/lasx/builtin.c
+31,714-14,6685,871 files not shown
+316,766-177,7765,877 files

LLVM/project c65e6dallvm/test/tools/llvm-cgdata error.test, llvm/test/tools/llvm-offload-binary llvm-offload-binary.ll

[z/OS] Mark 19 tests UNSUPPORTED on z/OS due to an issue in printf. (#196391)

Those tests fail on z/OS because printf interprets octal escape
sequences as EBCDIC characters and converts them to ASCII, producing
incorrect values in the output.
DeltaFile
+4-1llvm/test/tools/llvm-profdata/malformed-not-space-for-another-header.test
+5-0llvm/test/tools/llvm-offload-binary/llvm-offload-binary.ll
+5-0llvm/test/tools/llvm-cgdata/error.test
+4-1llvm/test/tools/llvm-profdata/raw-two-profiles.test
+4-1llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
+4-1llvm/test/tools/llvm-profdata/raw-32-bits-le.test
+26-413 files not shown
+81-1119 files

LLVM/project 3e03c88llvm/test/MC/ARM directive-type-diagnostics.s

[ARM] Delete llvm/test/MC/ARM/directive-type-diagnostics.s (NFC) (#201080)

It's bit-identical to llvm/test/MC/ELF/ARM/directive-type-diagnostics.s
DeltaFile
+0-10llvm/test/MC/ARM/directive-type-diagnostics.s
+0-101 files