LLVM/project 8b09e47clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenBuiltinX86.cpp

[CIR][X86] Add support for `cpuid`/`cpuidex` (#173197)

Adds support for the `__builtin_ia32_cpuid` and `__builtin_ia32_cpuidex`
X86 builtins.

Part of [167765](https://github.com/llvm/llvm-project/issues/167765).
DeltaFile
+149-0clang/test/CIR/CodeGenBuiltins/X86/ms-x86-intrinsics.c
+66-0clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+41-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+9-1clang/lib/CIR/CodeGen/CIRGenBuiltinX86.cpp
+265-14 files

LLVM/project e21fcc2clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/CodeGen CIRGenExprScalar.cpp

[CIR] Upstream handling for data member pointer casts (#171950)

This adds the CIR basic handling for casts of data member pointers. Cast
to bool and null, as well as member function pointer casts will be
handled in followup PRs.
DeltaFile
+135-0clang/test/CIR/CodeGen/pointer-to-data-member-cast.cpp
+54-0clang/include/clang/CIR/Dialect/IR/CIROps.td
+52-0clang/lib/CIR/Dialect/Transforms/TargetLowering/LowerItaniumCXXABI.cpp
+34-0clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+32-0clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+20-1clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
+327-13 files not shown
+342-19 files

LLVM/project 5e78d5eflang/include/flang/Evaluate tools.h, flang/test/Lower/CUDA cuda-data-transfer.cuf

[flang][cuda] Update cuda data transfer rules for full managed assigment (#175243)

DeltaFile
+16-0flang/test/Lower/CUDA/cuda-data-transfer.cuf
+1-2flang/include/flang/Evaluate/tools.h
+17-22 files

LLVM/project a96cda0llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 externally-used-copyables.ll

[SLP]Update deps for copyables operands, if the user is used several times in node

If the user instruction is used several times in the node, and in one
cases its operand is copyable, but in another is not, need to check all
operands to be sure we do not miss scheduling
DeltaFile
+259-0llvm/test/Transforms/SLPVectorizer/AArch64/externally-used-copyables.ll
+85-0llvm/test/Transforms/SLPVectorizer/X86/multi-parent-instr-copyable-regular.ll
+77-0llvm/test/Transforms/SLPVectorizer/X86/associate-copyable-non-copyable-op.ll
+8-25llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+2-5llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-node-with-non-schedulable-parent.ll
+431-305 files

LLVM/project f223ebfbolt Maintainers.md

[BOLT] Add aaupov to X86 maintainers list
DeltaFile
+3-0bolt/Maintainers.md
+3-01 files

LLVM/project 456d693clang/lib/CodeGen CGOpenMPRuntime.cpp

Minor NFC refactor/cleanup.
DeltaFile
+35-40clang/lib/CodeGen/CGOpenMPRuntime.cpp
+35-401 files

LLVM/project 3834d26clang/docs OpenMPSupport.rst ReleaseNotes.rst

Update RST files.
DeltaFile
+4-0clang/docs/OpenMPSupport.rst
+2-0clang/docs/ReleaseNotes.rst
+6-02 files

LLVM/project fc10e3bclang/test/OpenMP target_data_use_device_ptr_fallback_codegen.cpp

Add clang codegen test.
DeltaFile
+27-0clang/test/OpenMP/target_data_use_device_ptr_fallback_codegen.cpp
+27-01 files

LLVM/project 92109afclang/lib/CodeGen CGOpenMPRuntime.cpp, offload/test/mapping/use_device_ptr target_data_use_device_ptr_class_member_fallback_nullify.cpp target_data_use_device_ptr_class_member_ref_fallback_nullify.cpp

[Clang][OpenMP] Initial codegen changes for `use_device_ptr(fb_nullify)`.
DeltaFile
+30-10clang/lib/CodeGen/CGOpenMPRuntime.cpp
+1-3offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_fallback_nullify.cpp
+1-3offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_fallback_nullify.cpp
+1-3offload/test/mapping/use_device_ptr/target_data_use_device_ptr_var_fallback_nullify.cpp
+33-194 files

LLVM/project 9f20350llvm/lib/Target/AMDGPU AMDGPULowerKernelAttributes.cpp

[AMDGPU] Fix AMDGPULowerKernelAttributes not invalidating analysis (#175256)

Summary:
The new PM wasn't using the changed result which triggered failures
after https://github.com/llvm/llvm-project/pull/174112
DeltaFile
+4-2llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
+4-21 files

LLVM/project c7a3e5dmlir/include/mlir/Bindings/Python IRCore.h, mlir/lib/Bindings/Python IRCore.cpp

[mlir][Python] downcast ir.Value to BlockArgument or OpResult
DeltaFile
+23-13mlir/lib/Bindings/Python/IRCore.cpp
+8-5mlir/include/mlir/Bindings/Python/IRCore.h
+31-182 files

LLVM/project 75d82a2offload/test/mapping/use_device_ptr target_data_use_device_ptr_var_fallback_nullify.cpp target_data_use_device_ptr_class_member_ref_fallback_nullify.cpp

Update test checks to incorporate Parsing/Sema changes.
DeltaFile
+3-3offload/test/mapping/use_device_ptr/target_data_use_device_ptr_var_fallback_nullify.cpp
+3-3offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_fallback_nullify.cpp
+3-3offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_fallback_nullify.cpp
+2-3offload/test/mapping/use_device_ptr/target_data_use_device_ptr_var_ref_fallback_nullify.cpp
+0-2offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_fallback_preserve.cpp
+0-2offload/test/mapping/use_device_ptr/target_data_use_device_ptr_var_fallback_preserve.cpp
+11-164 files not shown
+11-2410 files

LLVM/project 80310d7offload/test/mapping/use_device_ptr target_data_use_device_ptr_class_member_fallback_nullify.cpp target_data_use_device_ptr_class_member_ref_fallback_nullify.cpp

Clang-format changed its mind.
DeltaFile
+1-1offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_fallback_nullify.cpp
+1-1offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_fallback_nullify.cpp
+2-22 files

LLVM/project 660e4edoffload/test/mapping/use_device_ptr target_data_use_device_ptr_class_member_fallback_nullify.cpp target_data_use_device_ptr_class_member_ref_fallback_nullify.cpp

Clang-format fixes.
DeltaFile
+1-1offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_fallback_nullify.cpp
+1-1offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_fallback_nullify.cpp
+2-22 files

LLVM/project 7dbda31offload/test/mapping/use_device_ptr target_data_use_device_ptr_class_member_ref_fallback.cpp target_data_use_device_ptr_class_member_fallback.cpp

[NFC][OpenMP][Offload] Add tests for `use_device_ptr(fb_preserve/nullify)`.

The fallback modifiers are currently part of OpenMP 6.1. The tests
mostly fail for now. The associated libomptarget and clang parsing/sema
changes are in #169438, #169603 and #170578, with clang codegen to
follow.
DeltaFile
+35-0offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_fallback.cpp
+34-0offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_fallback.cpp
+31-0offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_fallback_preserve.cpp
+31-0offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_ref_fallback_nullify.cpp
+30-0offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_fallback_preserve.cpp
+30-0offload/test/mapping/use_device_ptr/target_data_use_device_ptr_class_member_fallback_nullify.cpp
+191-07 files not shown
+337-2113 files

LLVM/project 0e260adclang/test/OpenMP target_data_use_device_ptr_fallback_ast_print.cpp target_data_use_device_ptr_fallback_messages.cpp

Add tests.
DeltaFile
+36-0clang/test/OpenMP/target_data_use_device_ptr_fallback_ast_print.cpp
+28-0clang/test/OpenMP/target_data_use_device_ptr_fallback_messages.cpp
+64-02 files

LLVM/project 1986d1fclang/include/clang/AST OpenMPClause.h, clang/include/clang/Sema SemaOpenMP.h

Minor formatting changes.
DeltaFile
+6-5clang/include/clang/AST/OpenMPClause.h
+4-2clang/include/clang/Sema/SemaOpenMP.h
+4-2clang/lib/Sema/SemaOpenMP.cpp
+2-3clang/lib/Parse/ParseOpenMP.cpp
+1-1clang/test/OpenMP/target_data_use_device_ptr_fallback_messages.cpp
+17-135 files

LLVM/project 009a8aeclang/include/clang/AST OpenMPClause.h, clang/lib/AST OpenMPClause.cpp

[OpenMP][Clang] Parsing/Sema support for `use_device_ptr(fb_preserve/fb_nullify)`.

Depends on #169603.

This is the `use_device_ptr` counterpart of #168905.

With OpenMP 6.1, a `fallback` modifier can be specified on the
`use_device_ptr` clause to control the behavior when a pointer lookup
fails, i.e. there is no device pointer to translate into.

The default is `fb_preserve` (i.e. retain the original pointer), while
`fb_nullify` means: use `nullptr` as the translated pointer.
DeltaFile
+35-4clang/include/clang/AST/OpenMPClause.h
+20-2clang/lib/Basic/OpenMPKinds.cpp
+18-0clang/lib/Parse/ParseOpenMP.cpp
+14-3clang/lib/AST/OpenMPClause.cpp
+9-5clang/lib/Sema/SemaOpenMP.cpp
+8-4clang/lib/Sema/TreeTransform.h
+104-185 files not shown
+130-2011 files

LLVM/project d3e8b0ellvm/test/MC/AMDGPU gfx8_asm_vop3.s gfx7_asm_vop3.s, llvm/test/MC/Disassembler/AMDGPU gfx9_vop3.txt

Merge remote-tracking branch 'upstream/main' into users/abhinavgaba/udp-fallback-1
DeltaFile
+42,349-42,348llvm/test/MC/AMDGPU/gfx8_asm_vop3.s
+41,419-41,418llvm/test/MC/AMDGPU/gfx7_asm_vop3.s
+36,428-36,427llvm/test/MC/AMDGPU/gfx9_asm_vop3.s
+28,175-28,174llvm/test/MC/AMDGPU/gfx9_asm_vopc.s
+22,708-22,884llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
+22,276-22,275llvm/test/MC/AMDGPU/gfx8_asm_vopc.s
+193,355-193,5264,406 files not shown
+1,269,625-1,123,4284,412 files

LLVM/project cd81aaeoffload/libomptarget omptarget.cpp, offload/test/mapping/use_device_addr target_data_use_device_addr_arrsec_ref_not_existing.cpp target_data_use_device_addr_var_not_existing.cpp

[OpenMP] Preserve the original address when `use_device_ptr/addr` lookup fails. (#174659)

As per OpenMP 5.1, we need to assume that when the lookup for
`use_device_ptr/addr` fails, the incoming pointer was already device
accessible.
    
Prior to 5.1, a lookup-failure meant a user-error (for
`use_device_ptr`),
so we could do anything in that scenario. For `use_device_addr`,
it was always incorrect to set the address to null.

OpenMP 6.1 adds a way to retain the previous behavior of nullifying a
pointer
when the lookup fails. That will be tackled by the PR stack
starting with https://github.com/llvm/llvm-project/pull/169603.
DeltaFile
+33-3offload/libomptarget/omptarget.cpp
+7-21offload/test/mapping/use_device_addr/target_data_use_device_addr_arrsec_ref_not_existing.cpp
+8-19offload/test/mapping/use_device_ptr/target_data_use_device_ptr_ref_not_existing.cpp
+6-15offload/test/mapping/use_device_addr/target_data_use_device_addr_var_not_existing.cpp
+6-15offload/test/mapping/use_device_addr/target_data_use_device_addr_var_ref_not_existing.cpp
+5-15offload/test/mapping/use_device_addr/target_data_use_device_addr_arrsec_not_existing.cpp
+65-887 files not shown
+78-11813 files

LLVM/project 88ef315lldb/tools/lldb-dap/extension package-lock.json, llvm/test/CodeGen/AMDGPU fcanonicalize.ll

rebase

Created using spr 1.3.8-beta.1
DeltaFile
+6,878-0llvm/test/CodeGen/X86/clmul-vector.ll
+0-6,820llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
+4,120-1,913llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
+5,850-0lldb/tools/lldb-dap/extension/package-lock.json
+5,742-0llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+0-5,599llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fp.s
+22,590-14,3323,935 files not shown
+318,629-169,6193,941 files

LLVM/project e6e0fccmlir/docs/Bindings Python.md

[mlir][Python] add docs about downstream type/attr implementation
DeltaFile
+58-11mlir/docs/Bindings/Python.md
+58-111 files

LLVM/project acb78bdllvm/lib/Transforms/Vectorize VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize/X86 vplan-single-bit-ind-var.ll

[VPlan] Use unsigned integers for lane start indices (#175231)

a83c89495ba6fe0134dcaa02372c320cc7ff0dbf caused assertion failures here
as if we have a single bit induction variable and two lanes (0 and 1),
then the second lane index (1) will be out of bounds of what a signed
1-bit integer can hold. Lane indices are always >0 according to
VPlanHelpers.h:125, and the lane representation in this code is also
unsigned.

The test case come from tensorflow/XLA.
DeltaFile
+48-0llvm/test/Transforms/LoopVectorize/X86/vplan-single-bit-ind-var.ll
+3-4llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+51-42 files

LLVM/project 480af73llvm/test lit.cfg.py, llvm/utils profcheck-xfail.txt

[profcheck] Exclude `IRCE` because it's not hooked up to the pass pipeline (#175238)

To keep the profcheck effort manageable, excluding (for now) passes that aren't yet hooked up to a pass pipeline.

Issue #147390
DeltaFile
+0-32llvm/utils/profcheck-xfail.txt
+2-0llvm/test/lit.cfg.py
+2-322 files

LLVM/project acf7738mlir/include/mlir/Conversion Passes.td, mlir/include/mlir/Conversion/ArithAndMathToAPFloat ArithToAPFloat.h

add source type pre-condition
DeltaFile
+54-30mlir/lib/Conversion/ArithAndMathToAPFloat/ArithToAPFloat.cpp
+30-16mlir/lib/Conversion/ArithAndMathToAPFloat/MathToAPFloat.cpp
+26-4mlir/lib/Conversion/ArithAndMathToAPFloat/Utils.cpp
+8-0mlir/include/mlir/Conversion/Passes.td
+6-1mlir/lib/Conversion/ArithAndMathToAPFloat/Utils.h
+1-0mlir/include/mlir/Conversion/ArithAndMathToAPFloat/ArithToAPFloat.h
+125-511 files not shown
+126-517 files

LLVM/project 79069cellvm/test/MC/AMDGPU gfx8_asm_vop3.s gfx7_asm_vop3.s, llvm/test/MC/Disassembler/AMDGPU gfx9_vop3.txt

[AMDGPU] Generate checks for many MC tests (#175174)

Generate checks for all tests where that did not change the number of
checks with each prefix, and where the resulting test still passed.
DeltaFile
+42,349-42,348llvm/test/MC/AMDGPU/gfx8_asm_vop3.s
+41,419-41,418llvm/test/MC/AMDGPU/gfx7_asm_vop3.s
+36,428-36,427llvm/test/MC/AMDGPU/gfx9_asm_vop3.s
+28,175-28,174llvm/test/MC/AMDGPU/gfx9_asm_vopc.s
+22,708-22,884llvm/test/MC/Disassembler/AMDGPU/gfx9_vop3.txt
+22,276-22,275llvm/test/MC/AMDGPU/gfx8_asm_vopc.s
+193,355-193,526454 files not shown
+951,368-954,116460 files

LLVM/project c11df52llvm/include/llvm/ExecutionEngine/Orc BacktraceTools.h, llvm/lib/ExecutionEngine/Orc BacktraceTools.cpp CMakeLists.txt

Revert "[ORC] Add utilities for limited symbolication of JIT backtraces (#175099)"

This reverts commit 906b48616c03948a4df62a5a144f7108f3c455e8.

The forward fix for this got reverted in
25976e83606f1a7615e3725e6038bb53ee96c3d5, so reverting the original
commit given it is still broken and the forward fix that mitigated most
of the issues is no longer in tree.
DeltaFile
+0-147llvm/lib/ExecutionEngine/Orc/BacktraceTools.cpp
+0-99llvm/include/llvm/ExecutionEngine/Orc/BacktraceTools.h
+0-57llvm/tools/llvm-jitlink/llvm-jitlink.cpp
+0-30llvm/test/ExecutionEngine/JITLink/Generic/backtrace-symbolication.ll
+0-1llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
+0-3345 files

LLVM/project d956b3alibc/src/__support/wctype/conversion/random stdrng.h CMakeLists.txt

[libc][wctype] Upstream StdRng from PtrHash-cc prototype to LLVM libc
DeltaFile
+269-0libc/src/__support/wctype/conversion/random/stdrng.h
+10-0libc/src/__support/wctype/conversion/random/CMakeLists.txt
+279-02 files

LLVM/project 0400f21libc/src/__support/wctype/conversion/random vec512_storage.cpp imm.h

[libc][wctype] Upstream immintrin storage from PtrHash-cc prototype to LLVM libc
DeltaFile
+342-0libc/src/__support/wctype/conversion/random/vec512_storage.cpp
+268-0libc/src/__support/wctype/conversion/random/imm.h
+82-0libc/src/__support/wctype/conversion/random/vec512_storage.h
+76-0libc/src/__support/wctype/conversion/random/vec128_storage.h
+63-0libc/src/__support/wctype/conversion/random/vec256_storage.h
+60-0libc/src/__support/wctype/conversion/random/vec256_storage.cpp
+891-01 files not shown
+913-07 files

LLVM/project 7d82867libc/src/__support/wctype/conversion/utils enumerate.h enumerate.hpp

fix extension
DeltaFile
+70-0libc/src/__support/wctype/conversion/utils/enumerate.h
+0-70libc/src/__support/wctype/conversion/utils/enumerate.hpp
+70-702 files