LLVM/project 8d8d24dllvm/lib/Target/AMDGPU SIFrameLowering.cpp SIMachineFunctionInfo.h, llvm/test/CodeGen/AMDGPU amdgpu-spill-cfi-saved-regs.ll

[AMDGPU] Implement -amdgpu-spill-cfi-saved-regs

These spills need special CFI anyway, so implementing them directly
where CFI is emitted avoids the need to invent a mechanism to track them
from ISel.

Change-Id: If4f34abb3a8e0e46b859a7c74ade21eff58c4047
Co-authored-by: Scott Linder scott.linder at amd.com
Co-authored-by: Venkata Ramanaiah Nalamothu VenkataRamanaiah.Nalamothu at amd.com
DeltaFile
+2,998-0llvm/test/CodeGen/AMDGPU/amdgpu-spill-cfi-saved-regs.ll
+37-12llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+11-2llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+9-0llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+7-0llvm/lib/Target/AMDGPU/SIFrameLowering.h
+2-1llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+3,064-152 files not shown
+3,067-168 files

LLVM/project 778274allvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll gfx-callable-argument-types.ll

[AMDGPU] Implement CFI for CSR spills

Introduce new SPILL pseudos to allow CFI to be generated for only CSR
spills, and to make ISA-instruction-level accurate information.

Other targets either generate slightly incorrect information or rely on
conventions for how spills are placed within the entry block. The
approach in this change produces larger unwind tables, with the
increased size being spent on additional DW_CFA_advance_location
instructions needed to describe the unwinding accurately.

Change-Id: I9b09646abd2ac4e56eddf5e9aeca1a5bebbd43dd
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+3,360-1,955llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,924-1,929llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,700-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+531-531llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+508-508llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+405-406llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+9,428-5,341103 files not shown
+13,413-7,714109 files

LLVM/project 79f21ebllvm/include/llvm/CodeGen MachineFunction.h, llvm/lib/CodeGen MachineFunction.cpp

[AMDGPU][MC] Replace shifted registers in CFI instructions

Change-Id: I0d99e9fe43ec3b6fecac20531119956dca2e4e5c
DeltaFile
+67-67llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
+33-0llvm/lib/MC/MCDwarf.cpp
+15-15llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
+10-0llvm/lib/CodeGen/MachineFunction.cpp
+4-4llvm/test/CodeGen/AMDGPU/debug-frame.ll
+4-0llvm/include/llvm/CodeGen/MachineFunction.h
+133-864 files not shown
+141-8810 files

LLVM/project a4fdcf1llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

[AMDGPU] Use register pair for PC spill

Change-Id: Ibedeef926f7ff235a06de65a83087c151f66a416
DeltaFile
+2,562-2,562llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,276-1,274llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+818-816llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
+613-613llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+552-552llvm/test/CodeGen/AMDGPU/indirect-call.ll
+100-898llvm/test/CodeGen/AMDGPU/bf16.ll
+5,921-6,71586 files not shown
+9,565-10,29692 files

LLVM/project 53c8d46clang/lib/Driver/ToolChains Gnu.cpp, clang/test/Driver amdgpu-unwind.cl

[Clang] Default to async unwind tables for amdgcn

To avoid codegen changes when enabling debug-info (see
https://bugs.llvm.org/show_bug.cgi?id=37240) we want to
enable unwind tables by default.

There is some pessimization in post-prologepilog scheduling, and a
general solution to the problem of CFI_INSTRUCTION-as-scheduling-barrier
should be explored.

Change-Id: I83625875966928c7c4411cd7b95174dc58bda25a
DeltaFile
+26-0clang/test/Driver/amdgpu-unwind.cl
+1-0clang/lib/Driver/ToolChains/Gnu.cpp
+27-02 files

LLVM/project 642caaallvm/include/llvm/MC MCDwarf.h, llvm/lib/CodeGen MachineOperand.cpp

[MC][Dwarf] Add custom CFI pseudo-ops for use in AMDGPU

While these can be represented with .cfi_escape, using these pseudo-cfi
instructions makes .s/.mir files more readable, and it is necessary to
support updating registers in CFI instructions (something that the
AMDGPU backend requires).

Change-Id: I763d0cabe5990394670281d4afb5a170981e55d0
DeltaFile
+186-0llvm/lib/MC/MCDwarf.cpp
+106-0llvm/lib/MC/MCParser/AsmParser.cpp
+91-1llvm/include/llvm/MC/MCDwarf.h
+76-0llvm/lib/MC/MCAsmStreamer.cpp
+75-0llvm/lib/CodeGen/MIRParser/MIParser.cpp
+58-0llvm/lib/CodeGen/MachineOperand.cpp
+592-115 files not shown
+997-121 files

LLVM/project abcaf7bllvm/test/CodeGen/AMDGPU accvgpr-spill-scc-clobber.mir pei-build-av-spill.mir

[AMDGPU] Implement CFI for non-kernel functions

This does not implement CSR spills other than those AMDGPU handles
during PEI. The remaining spills are handled in a subsequent patch.

Change-Id: I5e3a9a62cf9189245011a82a129790d813d49373
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+5,568-0llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,000-96llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+2,208-72llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+2,196-0llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
+2,136-0llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
+1,671-1llvm/test/CodeGen/AMDGPU/debug-frame.ll
+16,779-16978 files not shown
+22,562-60884 files

LLVM/project ffc2b31llvm/lib/Target/AMDGPU SIFrameLowering.cpp, llvm/test/CodeGen/AMDGPU debug-frame.ll eliminate-frame-index-v-add-u32.mir

[AMDGPU] Emit entry function Dwarf CFI

Entry functions represent the end of unwinding, as they are the
outer-most frame. This implies they can only have a meaningful
definition for the CFA, which AMDGPU defines using a memory location
description with a literal private address space address. The return
address is set to undefined as a sentinel value to signal the end of
unwinding.

Change-Id: I21580f6a24f4869ba32939c9c6332506032cc654
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+1,405-0llvm/test/CodeGen/AMDGPU/debug-frame.ll
+204-12llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
+134-6llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
+114-10llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
+42-5llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+34-0llvm/test/CodeGen/AMDGPU/entry-function-cfi.mir
+1,933-3321 files not shown
+2,040-4527 files

LLVM/project 15f2f56llvm/lib/CodeGen/MIRParser MIParser.cpp, llvm/test/CodeGen/MIR/Generic expected-unsigned.mir

[MIR] Error on signed integer in getUnsigned

Previously we effectively took the absolute value of the APSInt, instead
diagnose the unexpected negative value.

Change-Id: I4efe961e7b29fdf1d5f97df12f8139aac12c9219
DeltaFile
+26-0llvm/test/CodeGen/MIR/Generic/expected-unsigned.mir
+4-1llvm/lib/CodeGen/MIRParser/MIParser.cpp
+30-12 files

LLVM/project c5f40efclang/docs ReleaseNotes.rst, clang/lib/Parse ParseDeclCXX.cpp ParsePragma.cpp

[Clang] fix crash parsing forbidden attribute args in pragma attributes (#182362)

Fixes #182122

--- 

This patch resolves a crash when parsing `#pragma clang attribute`
arguments for attributes that forbid arguments. The root cause is that
the `#pragma` attribute path doesn't pass `EndLoc` to


https://github.com/llvm/llvm-project/blob/413cafa4624eb37e586e266f44abd64896e1c598/clang/lib/Parse/ParsePragma.cpp#L1982-L1985

unlike the normal attribute parsing flow


https://github.com/llvm/llvm-project/blob/413cafa4624eb37e586e266f44abd64896e1c598/clang/lib/Parse/ParseDeclCXX.cpp#L4706

Without `EndLoc`, argument parsing cannot update the parsed end token

    [11 lines not shown]
DeltaFile
+7-0clang/test/FixIt/fixit-pragma-attribute.cpp
+4-3clang/lib/Parse/ParseDeclCXX.cpp
+7-0clang/test/Parser/pragma-attribute.cpp
+2-1clang/lib/Parse/ParsePragma.cpp
+1-0clang/docs/ReleaseNotes.rst
+21-45 files

LLVM/project 378375bllvm/include/llvm/Frontend/OpenMP OMPIRBuilder.h, llvm/lib/Frontend/OpenMP OMPIRBuilder.cpp

Refactor and support multiple affinity register for a task

- Support multiple affinity register for a task
- Move iterator loop generate logic to OMPIRBuilder
- Extract iterator loop body convertion logic
- Refactor buildAffinityData by hoisting the creation of affinity_list
- IteratorsOp -> IteratorOp
- Add mlir to llvmir test
DeltaFile
+143-123mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+226-0mlir/test/Target/LLVMIR/openmp-iterator.mlir
+68-16llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+34-1llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
+471-1404 files

LLVM/project dbda921llvm/lib/Target/AMDGPU SIFrameLowering.cpp SIMachineFunctionInfo.h, llvm/test/CodeGen/AMDGPU amdgpu-spill-cfi-saved-regs.ll

[AMDGPU] Implement -amdgpu-spill-cfi-saved-regs

These spills need special CFI anyway, so implementing them directly
where CFI is emitted avoids the need to invent a mechanism to track them
from ISel.

Change-Id: If4f34abb3a8e0e46b859a7c74ade21eff58c4047
Co-authored-by: Scott Linder scott.linder at amd.com
Co-authored-by: Venkata Ramanaiah Nalamothu VenkataRamanaiah.Nalamothu at amd.com
DeltaFile
+2,998-0llvm/test/CodeGen/AMDGPU/amdgpu-spill-cfi-saved-regs.ll
+37-12llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+11-2llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+9-0llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+7-0llvm/lib/Target/AMDGPU/SIFrameLowering.h
+2-1llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+3,064-152 files not shown
+3,067-168 files

LLVM/project 5e61255llvm/include/llvm/CodeGen MachineFunction.h, llvm/lib/CodeGen MachineFunction.cpp

[AMDGPU][MC] Replace shifted registers in CFI instructions

Change-Id: I0d99e9fe43ec3b6fecac20531119956dca2e4e5c
DeltaFile
+67-67llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
+33-0llvm/lib/MC/MCDwarf.cpp
+15-15llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
+10-0llvm/lib/CodeGen/MachineFunction.cpp
+4-4llvm/test/CodeGen/AMDGPU/debug-frame.ll
+4-0llvm/include/llvm/CodeGen/MachineFunction.h
+133-864 files not shown
+141-8810 files

LLVM/project a3cc934llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll gfx-callable-argument-types.ll

[AMDGPU] Implement CFI for CSR spills

Introduce new SPILL pseudos to allow CFI to be generated for only CSR
spills, and to make ISA-instruction-level accurate information.

Other targets either generate slightly incorrect information or rely on
conventions for how spills are placed within the entry block. The
approach in this change produces larger unwind tables, with the
increased size being spent on additional DW_CFA_advance_location
instructions needed to describe the unwinding accurately.

Change-Id: I9b09646abd2ac4e56eddf5e9aeca1a5bebbd43dd
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+3,360-1,955llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,924-1,929llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,700-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+531-531llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+508-508llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+405-406llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+9,428-5,341103 files not shown
+13,413-7,714109 files

LLVM/project 4efc6a9llvm/cmake/modules HandleLLVMOptions.cmake

[cmake] Don't use PCH when clang-cache launcher is used (#183620)

Fix incremental build failure when using PCH build and clang-cache
together.
DeltaFile
+8-0llvm/cmake/modules/HandleLLVMOptions.cmake
+8-01 files

LLVM/project 52f76c0mlir/lib/Dialect/XeGPU/Transforms XeGPUSgToWiDistributeExperimental.cpp, mlir/test/Dialect/XeGPU sg-to-wi-experimental-unit.mlir

[MLIR][XeGPU] Add distribution pattern for xegpu.load & store for sg to wi pass (#181917)

This PR adds distribution pattern for xegpu.load & store ops for the new
sg-to-wi pass
DeltaFile
+200-2mlir/lib/Dialect/XeGPU/Transforms/XeGPUSgToWiDistributeExperimental.cpp
+114-0mlir/test/Dialect/XeGPU/sg-to-wi-experimental-unit.mlir
+314-22 files

LLVM/project 1fc59edllvm/test/CodeGen/SystemZ zos-ada-relocations.ll

Update test case to account for ALIAS syntax change.
DeltaFile
+1-1llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
+1-11 files

LLVM/project d7b92c5llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp, llvm/test/CodeGen/SystemZ zos-ada-relocations.ll

[SystemZ] Emit external aliases for indirect function descriptors in the ADA section

This is the last of the three patches aimed to support indirect symbol handling for
the SystemZ backend.

An external alias is emitted for indirect function descriptors within the ADA
section, rather than a temporary alias, while also setting all of the appropriate
symbol attributes that are needed for the HLASM streamer to emit the correct XATTR
and ALIAS instructions for the indirect symbols.

Moreover, this patch updates the `CodeGen/SystemZ/zos-ada-relocations.ll` test
as the ADA section is currently the only user of indirect symbols on z/OS.
DeltaFile
+7-4llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+5-1llvm/test/CodeGen/SystemZ/zos-ada-relocations.ll
+12-52 files

LLVM/project 4bec1b8llvm/lib/MC MCAsmInfoGOFF.cpp

Fix clang-format.
DeltaFile
+2-2llvm/lib/MC/MCAsmInfoGOFF.cpp
+2-21 files

LLVM/project 4c60c01llvm/lib/Target/Hexagon HexagonConstPropagation.cpp, llvm/test/CodeGen/Hexagon constp-const32-signbit.mir

[Hexagon] Fix assert on sign-bit CONST32 immediates (#182118)

This patch fixes a HexagonConstPropagation assert when evaluating
sign-bit CONST32/CONST64 immediates (e.g. 0x80000000) after ConstantInt
stopped implicitly truncating, by allowing truncation for that signed
case.
DeltaFile
+22-0llvm/test/CodeGen/Hexagon/constp-const32-signbit.mir
+2-1llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
+24-12 files

LLVM/project 7cf2845llvm/lib/Target/AMDGPU SIFrameLowering.cpp SIMachineFunctionInfo.h, llvm/test/CodeGen/AMDGPU amdgpu-spill-cfi-saved-regs.ll

[AMDGPU] Implement -amdgpu-spill-cfi-saved-regs

These spills need special CFI anyway, so implementing them directly
where CFI is emitted avoids the need to invent a mechanism to track them
from ISel.

Change-Id: If4f34abb3a8e0e46b859a7c74ade21eff58c4047
Co-authored-by: Scott Linder scott.linder at amd.com
Co-authored-by: Venkata Ramanaiah Nalamothu VenkataRamanaiah.Nalamothu at amd.com
DeltaFile
+2,998-0llvm/test/CodeGen/AMDGPU/amdgpu-spill-cfi-saved-regs.ll
+37-12llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
+11-2llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+9-0llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
+7-0llvm/lib/Target/AMDGPU/SIFrameLowering.h
+2-1llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+3,064-152 files not shown
+3,067-168 files

LLVM/project 83d0610llvm/include/llvm/CodeGen MachineFunction.h, llvm/lib/CodeGen MachineFunction.cpp

[AMDGPU][MC] Replace shifted registers in CFI instructions

Change-Id: I0d99e9fe43ec3b6fecac20531119956dca2e4e5c
DeltaFile
+67-67llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
+33-0llvm/lib/MC/MCDwarf.cpp
+15-15llvm/test/CodeGen/AMDGPU/dwarf-multi-register-use-crash.ll
+10-0llvm/lib/CodeGen/MachineFunction.cpp
+4-4llvm/test/CodeGen/AMDGPU/debug-frame.ll
+4-0llvm/include/llvm/CodeGen/MachineFunction.h
+133-864 files not shown
+141-8810 files

LLVM/project 46091c3llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll gfx-callable-argument-types.ll

[AMDGPU] Implement CFI for CSR spills

Introduce new SPILL pseudos to allow CFI to be generated for only CSR
spills, and to make ISA-instruction-level accurate information.

Other targets either generate slightly incorrect information or rely on
conventions for how spills are placed within the entry block. The
approach in this change produces larger unwind tables, with the
increased size being spent on additional DW_CFA_advance_location
instructions needed to describe the unwinding accurately.

Change-Id: I9b09646abd2ac4e56eddf5e9aeca1a5bebbd43dd
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+3,360-1,955llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,924-1,929llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+2,700-12llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+531-531llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+508-508llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+405-406llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+9,428-5,341103 files not shown
+13,415-7,714109 files

LLVM/project ae75483llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll

[AMDGPU] Use register pair for PC spill

Change-Id: Ibedeef926f7ff235a06de65a83087c151f66a416
DeltaFile
+2,562-2,562llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+1,276-1,274llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+818-816llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
+613-613llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
+552-552llvm/test/CodeGen/AMDGPU/indirect-call.ll
+100-898llvm/test/CodeGen/AMDGPU/bf16.ll
+5,921-6,71586 files not shown
+9,565-10,29692 files

LLVM/project aeeedc7llvm/test/CodeGen/AMDGPU accvgpr-spill-scc-clobber.mir pei-build-av-spill.mir

[AMDGPU] Implement CFI for non-kernel functions

This does not implement CSR spills other than those AMDGPU handles
during PEI. The remaining spills are handled in a subsequent patch.

Change-Id: I5e3a9a62cf9189245011a82a129790d813d49373
Co-authored-by: Scott Linder <scott.linder at amd.com>
Co-authored-by: Venkata Ramanaiah Nalamothu <VenkataRamanaiah.Nalamothu at amd.com>
DeltaFile
+5,568-0llvm/test/CodeGen/AMDGPU/accvgpr-spill-scc-clobber.mir
+3,000-96llvm/test/CodeGen/AMDGPU/pei-build-av-spill.mir
+2,208-72llvm/test/CodeGen/AMDGPU/pei-build-spill.mir
+2,196-0llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-mov-b32.mir
+2,136-0llvm/test/CodeGen/AMDGPU/vgpr-spill-scc-clobber.mir
+1,671-1llvm/test/CodeGen/AMDGPU/debug-frame.ll
+16,779-16978 files not shown
+22,562-60884 files

LLVM/project b153fe0clang/include/clang/CIR/Dialect/Builder CIRBaseBuilder.h, clang/lib/CIR/CodeGen CIRGenBuiltinAArch64.cpp

[CIR][AArch64] Add lowering for vaba_* and vabd_* builtins (1/N)

Add CIR lowering for the following AdvSIMD (NEON) intrinsic families:

* vabd_*  – Absolute difference
  https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#absolute-difference

* vaba_*  – Absolute difference and accumulate
  https://arm-software.github.io/acle/neon_intrinsics/advsimd.html#absolute-difference-and-accumulate

Tests for these intrinsics were split out from:
  test/CodeGen/AArch64/neon-intrinsics.c

and moved to:
  test/CodeGen/AArch64/neon/intrinsics.c

The following helper hooks were adapted from the ClangIR project:
  * getNeonType, emitNeonCall, emitNeonCallToOp.


    [4 lines not shown]
DeltaFile
+213-0clang/test/CodeGen/AArch64/neon/intrinsics.c
+0-174clang/test/CodeGen/AArch64/neon-intrinsics.c
+137-0clang/lib/CIR/CodeGen/CIRGenBuiltinAArch64.cpp
+3-0clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
+353-1744 files

LLVM/project 45a22b7llvm/include/llvm/Analysis ScalarEvolutionExpressions.h, llvm/lib/Transforms/Scalar LoopFuse.cpp LoopPredication.cpp

!fixup address latest comments, thanks
DeltaFile
+18-20llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
+3-3llvm/lib/Transforms/Scalar/LoopFuse.cpp
+1-4llvm/lib/Transforms/Scalar/LoopPredication.cpp
+1-4llvm/lib/Transforms/Scalar/NaryReassociate.cpp
+1-4llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
+1-2llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
+25-371 files not shown
+26-387 files

LLVM/project 9deb21bllvm/cmake/modules HandleLLVMOptions.cmake

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+8-0llvm/cmake/modules/HandleLLVMOptions.cmake
+8-01 files

LLVM/project 60eac41clang/lib/Analysis/Scalable ModelStringConversions.h, clang/lib/Analysis/Scalable/Serialization JSONFormat.cpp

[clang][ssaf] Improve serialization for Model types and error messages in `JSONFormat`

This changes fixes the diagnostic infrastructure in `JSONFormat`
implementation to pass model objects (`EntityId`, `EntityLinkage`,
`BuildNamespace`, `NestedBuildNamespace`, `SummaryName`) directly to
`ErrorBuilder` instead of manually extracting their components. This
relies on existing `llvm::format_provider` specializations for these
objects.

To support consistent string conversion for `BuildNamespaceKind` and
`EntityLinkageType`, across both serialization and `operator<<`,
`toString`/`fromString` functions have been introduced in an internal
header `ModelStringConversions.h`.

`EntityLinkage::LinkageType` is promoted to a standalone enum class
`EntityLinkageType` at namespace scope, following the same pattern as
`BuildNamespaceKind`.

Tests have been added for `operator<<` and `format_provider` for all

    [2 lines not shown]
DeltaFile
+140-134clang/unittests/Analysis/Scalable/Serialization/JSONFormatTest/TUSummaryTest.cpp
+58-71clang/lib/Analysis/Scalable/Serialization/JSONFormat.cpp
+106-0clang/unittests/Analysis/Scalable/ModelStringConversionsTest.cpp
+87-0clang/lib/Analysis/Scalable/ModelStringConversions.h
+42-23clang/unittests/Analysis/Scalable/BuildNamespaceTest.cpp
+41-3clang/unittests/Analysis/Scalable/EntityLinkageTest.cpp
+474-23112 files not shown
+567-30318 files

LLVM/project 6c532a6clang/lib/CodeGen CGDecl.cpp CGOpenMPRuntimeGPU.cpp

[OpenMP] Remove NVPTX local addrspace on parameters (#183195)

In CGOpenMPRuntimeGPU::translateParameter, reference-type captured
variables were translated to pointer parameters with two address-space
annotations:

1. LangAS::opencl_global on the pointee (for map'd variables), which
correctly produces ptr addrspace(1) in NVPTX IR.
2. getLangASFromTargetAS(NVPTX_local_addr=5) on the pointer itself,
annotating the parameter as living in NVPTX local (stack) memory.

The second annotation is incorrect at the Clang type-system level:
EmitParmDecl only supports parameters to be in LangAS::Default (or the
special cases for OpenCL).

Temporarily add an assert in EmitParmDecl that catches parameters with
non-default address spaces in non-OpenCL compilations, and fix the
violation by dropping the NVPTX_local_addr addAddressSpace call.


    [8 lines not shown]
DeltaFile
+2-0clang/lib/CodeGen/CGDecl.cpp
+0-2clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
+2-22 files