LLVM/project 3964dfdllvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Introduce MI flag for Live Range split instructions

For some targets, it is required to identify the COPY instruction
corresponds to the RA inserted live range split. Adding the new
flag `MachineInstr::LRSplit` to serve the purpose.
DeltaFile
+2-1llvm/include/llvm/CodeGen/MachineInstr.h
+2-0llvm/lib/CodeGen/SplitKit.cpp
+4-12 files

LLVM/project 89c8a25libcxx/include optional version, libcxx/test/libcxx/experimental fexperimental-library.compile.pass.cpp

[libc++] Make optional::iterator experimental (#173470)

We haven't yet decided what we want the `optional::iterator` type to be
in the end, so let's make it experimental for now so that we don't
commit to an ABI yet.
DeltaFile
+11-5libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+11-5libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
+2-2libcxx/include/optional
+3-1libcxx/include/version
+4-0libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
+3-1libcxx/test/libcxx/utilities/optional/nodiscard.verify.cpp
+34-148 files not shown
+48-1514 files

LLVM/project 6f5c214llvm/docs ReleaseNotes.md, llvm/docs/TableGen ProgRef.rst

[TableGen] Remove deprecated !getop and !setop (#175155)

They have been deprecated for more than five years in favor of !getdagop
and !setdagop. See https://reviews.llvm.org/D89814.
DeltaFile
+0-194llvm/test/TableGen/getsetop.td
+191-0llvm/test/TableGen/getsetdagop.td
+2-4llvm/lib/TableGen/TGLexer.cpp
+0-4llvm/docs/TableGen/ProgRef.rst
+3-0llvm/docs/ReleaseNotes.md
+196-2025 files

LLVM/project 45b1aabllvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Introduce MI flag for Live Range split instructions

For some targets, it is required to identify the COPY instruction
corresponds to the RA inserted live range split. Adding the new
flag `MachineInstr::LRSplit` to serve the purpose.
DeltaFile
+2-1llvm/include/llvm/CodeGen/MachineInstr.h
+2-0llvm/lib/CodeGen/SplitKit.cpp
+4-12 files

LLVM/project 5c43243clang/lib/Headers spirvintrin.h gpuintrin.h, clang/test/Headers gpuintrin.c gpuintrin_lang.c

[SPIR-V] Initial support for SPIR-V in `gpuintrin.h` (#174910)

Summary:
https://github.com/llvm/llvm-project/pull/174862 and
https://github.com/llvm/llvm-project/pull/174655 provided the intrinsics
required to get the fundamental operations working for these. This patch
sets up the basic support (as far as I know).

This should be the first step towards allowing SPIR-V to build things
like the LLVM libc and the OpenMP Device Runtime Library. The
implementations here are intentionally inefficient, such as not using
the dedicated SPIR-V opcode for read firstlane. This is just to start
and hopefully start testing things later.

Would appreciate someone more familiar with  the backend double-checking
these.
DeltaFile
+437-5clang/test/Headers/gpuintrin.c
+194-0clang/lib/Headers/spirvintrin.h
+19-1clang/test/Headers/gpuintrin_lang.c
+2-0clang/lib/Headers/gpuintrin.h
+1-0clang/lib/Headers/CMakeLists.txt
+653-65 files

LLVM/project a519089llvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Introduce MI flag for Live Range split instructions

For some targets, it is required to identify the COPY instruction
corresponds to the RA inserted live range split. Adding the new
flag `MachineInstr::LRSplit` to serve the purpose.
DeltaFile
+2-1llvm/include/llvm/CodeGen/MachineInstr.h
+2-0llvm/lib/CodeGen/SplitKit.cpp
+4-12 files

LLVM/project 8f58ce2utils/bazel/llvm-project-overlay/mlir BUILD.bazel

Fix Bazel build for 75fefa3 (#175179)

Co-authored-by: Pranav Kant <prka at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+1-01 files

LLVM/project 6bfa042flang/docs OpenMPSupport.md, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][mlir] Add checks and test for linear clause on omp.wsloop and omp.simd (#174916)

This PR adds additional checks and tests for linear clause on omp.wsloop
and omp.simd (both standalone and composite). For composite simd
constructs, the translation to LLVMIR uses the same
`LinearClauseProcessor` under `convertOmpSimd`, as already present in
previous PRs like https://github.com/llvm/llvm-project/pull/150386 and
https://github.com/llvm/llvm-project/pull/139386
DeltaFile
+108-0flang/test/Lower/OpenMP/composite_simd_linear.f90
+60-36flang/lib/Lower/OpenMP/OpenMP.cpp
+24-0mlir/test/Target/LLVMIR/openmp-llvm-invalid.mlir
+10-9mlir/test/Dialect/OpenMP/ops.mlir
+7-7flang/docs/OpenMPSupport.md
+5-5flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
+214-571 files not shown
+220-577 files

LLVM/project fb47a25lldb/test/API/tools/lldb-dap/attach TestDAP_attach.py

[lldb-dap] add timeout to spawn_and_wait test utility (#174461)

DeltaFile
+5-1lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
+5-11 files

LLVM/project d66b9dellvm/test/CodeGen/X86 packus.ll packss.ll

[X86] Add baseline test coverage for #169995 (#175175)

DeltaFile
+716-7llvm/test/CodeGen/X86/packus.ll
+342-4llvm/test/CodeGen/X86/packss.ll
+221-0llvm/test/CodeGen/X86/masked_packus.ll
+215-0llvm/test/CodeGen/X86/masked_packss.ll
+1,494-114 files

LLVM/project ed004cfllvm/lib/Transforms/Vectorize LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize/AArch64 induction-costs.ll

Revert "[VPlan] Only use isAddressSCEVForCost in legacy getAddressAccSCEV (NFCI)"

This caused assertion failures:

  llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:7265:
  VectorizationFactor llvm::LoopVectorizationPlanner::computeBestVF():
  Assertion `(BestFactor.Width == LegacyVF.Width || BestPlan.hasEarlyExit() || !Legal->getLAI()->getSymbolicStrides().empty() || UsesEVLGatherScatter || planContainsAdditionalSimplifications( getPlanFor(BestFactor.Width), CostCtx, OrigLoop, BestFactor.Width) || planContainsAdditionalSimplifications( getPlanFor(LegacyVF.Width), CostCtx, OrigLoop, LegacyVF.Width))
  && " VPlan cost model and legacy cost model disagreed"' failed.

see comment on https://github.com/llvm/llvm-project/pull/171204

This reverts commit 01d34eb38fa0587cb95eedd3bada8257abc122f8.
DeltaFile
+12-40llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
+9-3llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+21-432 files

LLVM/project 17392f6llvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Introduce MI flag for Live Range split instructions

For some targets, it is required to identify the COPY instruction
corresponds to the RA inserted live range split. Adding the new
flag `MachineInstr::LRSplit` to serve the purpose.
DeltaFile
+2-1llvm/include/llvm/CodeGen/MachineInstr.h
+2-0llvm/lib/CodeGen/SplitKit.cpp
+4-12 files

LLVM/project ded109cclang/lib/CodeGen CGExprScalar.cpp, clang/test/CodeGen ext-int.c

[clang][CodeGen] Fix ConstantInt::get for i1 in EmitScalarPrePostIncDec (#175152)

In ScalarExprEmitter::EmitScalarPrePostIncDec we create ConstantInt
values that are either 1 or -1. There is a special case when the type is
i1 (e.g. for unsigned _BitInt(1)) when we need to be able to create a
"i1 true" value for both inc and dec.

To avoid triggering the assertions added by the pull request #171456 we
now treat the ConstantInt as unsigned for increments and as signed for
decrements.
DeltaFile
+42-0clang/test/CodeGen/ext-int.c
+4-1clang/lib/CodeGen/CGExprScalar.cpp
+46-12 files

LLVM/project b342854llvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Introduce MI flag for Live Range split instructions

For some targets, it is required to identify the COPY instruction
corresponds to the RA inserted live range split. Adding the new
flag `MachineInstr::LRSplit` to serve the purpose.
DeltaFile
+2-1llvm/include/llvm/CodeGen/MachineInstr.h
+2-0llvm/lib/CodeGen/SplitKit.cpp
+4-12 files

LLVM/project ecc8a95llvm/include/llvm/Support CommandLine.h, llvm/lib/ExecutionEngine/Orc JITTargetMachineBuilder.cpp

[CommandLine] Use DenseMap instead of StringMap (NFC) (#174988)

StringMap duplicates the option name to a new allocation for every
option, which is not necessary. Instead we can use the same StringRef
that the Option already uses inside a DenseMap. This reduces the amount
of allocations when loading libLLVM.
DeltaFile
+15-16llvm/lib/Support/CommandLine.cpp
+6-6llvm/include/llvm/Support/CommandLine.h
+3-3llvm/unittests/Support/CommandLineTest.cpp
+1-2llvm/tools/llvm-remarkutil/RemarkSummary.cpp
+1-1llvm/unittests/Support/CommandLineInit/CommandLineInitTest.cpp
+1-0llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp
+27-281 files not shown
+28-287 files

LLVM/project e82399dflang/lib/Optimizer/OpenMP MapInfoFinalization.cpp, flang/test/Transforms omp-map-info-finalization-implicit-field.fir

[flang][OpenMP] Prevent `omp.map.info` ops with user-defined mappers from being marked as parial maps (#175133)

The following test was triggering a runtime crash **on the host before
launching the kernel**:
```fortran
program test_omp_target_map_bug_v5
  implicit none
  type nested_type
    real, allocatable :: alloc_field(:)
  end type nested_type

  type nesting_type
    integer :: int_field
    type(nested_type) :: derived_field
  end type nesting_type

  type(nesting_type) :: config

  allocate(config%derived_field%alloc_field(1))

    [62 lines not shown]
DeltaFile
+34-0offload/test/offloading/fortran/default-mapper-nested-derived-type.f90
+25-1flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
+2-1flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+61-23 files

LLVM/project afb5a58llvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Introduce MI flag for Live Range split instructions

For some targets, it is required to identify the COPY instruction
corresponds to the RA inserted live range split. Adding the new
flag `MachineInstr::LRSplit` to serve the purpose.
DeltaFile
+2-1llvm/include/llvm/CodeGen/MachineInstr.h
+2-0llvm/lib/CodeGen/SplitKit.cpp
+4-12 files

LLVM/project 6b0f475llvm/test/MC/AMDGPU gfx11_asm_vopc.s gfx11_asm_vop3_from_vopc.s, llvm/test/MC/Disassembler/AMDGPU gfx12_dasm_vop3_dpp16.txt gfx12_dasm_vop3.txt

[AMDGPU] Regenerate all MC checks after #164424 (#175156)

Includes one manual fix to add -filetype=null to a RUN line in
test/MC/AMDGPU/gfx1250_asm_sop1.s. Everything else is autogenerated.
DeltaFile
+1,768-1,768llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
+1,530-1,530llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
+1,502-1,502llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
+1,343-1,343llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
+1,290-1,290llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
+1,276-1,276llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
+8,709-8,709110 files not shown
+39,664-39,664116 files

LLVM/project 5deefd0flang/lib/Lower/Support ReductionProcessor.cpp, flang/lib/Optimizer/OpenMP FunctionFiltering.cpp

[OpenMP][flang] Move `todo` for checking reduction support status on the GPU

Moves a `todo` to check for the current level of support for by-ref
reductions to the `FunctionFiltering` pass. This guarantees that the
check does not trigger when the same module is compiled twice: on the
CPU and on the GPU.
DeltaFile
+24-0flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
+0-20flang/lib/Lower/Support/ReductionProcessor.cpp
+24-202 files

LLVM/project 7f5dbbcllvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs amdgpu_asm.s.expected amdgpu_asm.s, llvm/utils update_mc_test_checks.py

[Utils][update_mc_test_checks] Handle double quotes in asm source (#175161)

DeltaFile
+3-0llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm.s.expected
+2-0llvm/test/tools/UpdateTestChecks/update_mc_test_checks/Inputs/amdgpu_asm.s
+1-0llvm/utils/update_mc_test_checks.py
+6-03 files

LLVM/project 4db9be8llvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Introduce MI flag for Live Range split instructions

For some targets, it is required to identify the COPY instruction
corresponds to the RA inserted live range split. Adding the new
flag `MachineInstr::LRSplit` to serve the purpose.
DeltaFile
+2-1llvm/include/llvm/CodeGen/MachineInstr.h
+2-0llvm/lib/CodeGen/SplitKit.cpp
+4-12 files

LLVM/project 6a5c894mlir/lib/Analysis SliceWalk.cpp

[mlir][Analysis][NFC] Improve `RegionBranchOpInterface` API usage (#173983)

Remove a helper function and query the `RegionBranchOpInterface`
instead. (Which does the same thing.) Also add a TODO for a bug in the
implementation of `SliceWalk.cpp`. (The bug is not fixed yet.)
DeltaFile
+10-50mlir/lib/Analysis/SliceWalk.cpp
+10-501 files

LLVM/project 9c5ae9allvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Introduce MI flag for Live Range split instructions

For some targets, it is required to identify the COPY instruction
corresponds to the RA inserted live range split. Adding the new
flag `MachineInstr::LRSplit` to serve the purpose.
DeltaFile
+2-1llvm/include/llvm/CodeGen/MachineInstr.h
+2-0llvm/lib/CodeGen/SplitKit.cpp
+4-12 files

LLVM/project 7eae17eclang/include/clang/Parse Parser.h, clang/lib/Parse ParseDecl.cpp

[clang] Fix string literal parsing on some attributes (#171017)

At the time ParseAttributeArgumentList is called, the first argument
of an attribute may have already been parsed. We need to take this into
account when accessing ParsedAttributeArgumentsProperties mask, which
specifies which of the attribute arguments are string literals.

Pull Request: https://github.com/llvm/llvm-project/pull/171017
DeltaFile
+8-4clang/include/clang/Parse/Parser.h
+3-3clang/lib/Parse/ParseDecl.cpp
+3-0clang/test/Sema/attr-modular-format.c
+14-73 files

LLVM/project 82353b5llvm/lib/CodeGen ReachingDefAnalysis.cpp

[CodeGen][NFC] Improve readability of getLocalLiveOutMIDef (#175074)

Reorder some code to make it less confusing.
DeltaFile
+5-5llvm/lib/CodeGen/ReachingDefAnalysis.cpp
+5-51 files

LLVM/project 19425b3mlir/lib/Analysis SliceWalk.cpp

[mlir][Analysis] Improve `RegionBranchOpInterface` API usage
DeltaFile
+10-50mlir/lib/Analysis/SliceWalk.cpp
+10-501 files

LLVM/project f4a089allvm/include/llvm/CodeGen MachineInstr.h, llvm/lib/CodeGen SplitKit.cpp

[CodeGen] Introduce MI flag for Live Range split instructions

For some targets, it is required to identify the COPY instruction
corresponds to the RA inserted live range split. Adding the new
flag `MachineInstr::LRSplit` to serve the purpose.
DeltaFile
+2-1llvm/include/llvm/CodeGen/MachineInstr.h
+2-0llvm/lib/CodeGen/SplitKit.cpp
+4-12 files

LLVM/project 4772815clang/include/clang/AST TypeBase.h

[NFC][clang] Fix a typo in Typebase.h (#175163)

This was introduced since 7c402b8b81
DeltaFile
+2-2clang/include/clang/AST/TypeBase.h
+2-21 files

LLVM/project 75fefa3mlir/lib/Dialect/Quant/IR QuantOps.cpp, mlir/test/Dialect/Quant inlining.mlir

[MLIR][Quant] Add DialectInlinerInterface to QuantDialect (#172509)

Signed-off-by: Jonas Rickert <jonas.rickert at amd.com>
DeltaFile
+47-0mlir/test/Dialect/Quant/inlining.mlir
+10-0mlir/lib/Dialect/Quant/IR/QuantOps.cpp
+57-02 files

LLVM/project 8a922e8flang-rt/lib/runtime extensions.cpp

[flang-rt][build] Disable build-time warning of '-Wshift-count-negative' from g++ compiler and remove unsupported floating-point data. (#174915)

When building the flang-rt project with the g++ compiler on Linux-X86_64
machine, the compiler gives the following warning:

```
llvm-project/flang-rt/lib/runtime/extensions.cpp:455:26: warning: left shift count is negative [-Wshift-count-negative]
   455 |     mask = ~(unsigned)0u << ((8 - digits) * 4 + 1);
       |            ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~

```

All the discussion records see:
https://github.com/llvm/llvm-project/pull/173955

Co-authored-by: liao jun <liaojun at ultrarisc.com>
DeltaFile
+1-3flang-rt/lib/runtime/extensions.cpp
+1-31 files