LLVM/project 317f7d4llvm/lib/DWARFCFIChecker DWARFCFIState.cpp, llvm/lib/DebugInfo/CodeView DebugStringTableSubsection.cpp

[perf] Replace copy-assign by move-assign in llvm/lib/DWARFCFIChecker… (#178174)

… and llvm/lib/DebugInfo/*
DeltaFile
+1-1llvm/lib/DWARFCFIChecker/DWARFCFIState.cpp
+1-1llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
+2-22 files

LLVM/project c700c2dllvm/lib/Analysis ValueTracking.cpp, llvm/test/Transforms/Attributor/AMDGPU nofpclass-amdgcn-trig-preop.ll

AMDGPU: Implement computeKnownFPClass for llvm.amdgcn.trig.preop

Surprisingly this doesn't consider the special cases, and literally
just extracts the exponent and proceeds as normal.
DeltaFile
+12-0llvm/test/Transforms/Attributor/AMDGPU/nofpclass-amdgcn-trig-preop.ll
+4-0llvm/lib/Analysis/ValueTracking.cpp
+16-02 files

LLVM/project c9a865allvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp, llvm/test/Transforms/InstCombine/AMDGPU amdgcn-intrinsics.ll

AMDGPU: Fix incorrect fold of undef for llvm.amdgcn.trig.preop

We were folding undef inputs to qnan which is incorrect. The instruction
never returns nan. Out of bounds segment select will return 0, so fold
undef segment to 0.
DeltaFile
+29-28llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
+18-18llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+47-462 files

LLVM/project 02d786fflang/test/Integration/OpenMP map-types-and-sizes.f90, mlir/lib/Target/LLVMIR/Dialect/OpenMP OpenMPToLLVMIRTranslation.cpp

[OpenMP][MLIR] Modify lowering OpenMP Dialect lowering to support attach mapping

This PR adjusts the LLVM-IR lowering to support the new attach map type that the runtime
uses to link data and pointer together, this swaps the mapping from the older
OMP_MAP_PTR_AND_OBJ map type in most cases and allows slightly more complicated ref_ptr/ptee
and attach semantics.
DeltaFile
+292-220mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+364-0mlir/test/Target/LLVMIR/omptarget-host-ref-semantics.mlir
+100-115flang/test/Integration/OpenMP/map-types-and-sizes.f90
+32-48mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir
+70-0offload/test/offloading/fortran/map_attach_always.f90
+55-0offload/test/offloading/fortran/map_attach_never.f90
+913-38310 files not shown
+1,047-42516 files

LLVM/project 2b873aautils/bazel/llvm-project-overlay/mlir BUILD.bazel

[bazel] Add missing dependency for f992f9719fe13c9ed8bf8e3571d190a69e0e5593
DeltaFile
+1-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+1-01 files

LLVM/project e553008flang/lib/Evaluate intrinsics.cpp, flang/lib/Optimizer/Builder IntrinsicCall.cpp

[Flang] Fix type error when calling EXIT intrinsic (#178688)

`EXIT` expects a `KIND=8` integer. If such an integer was passed when
`-fdefault-integer-8` was present, the `assert` removed in this PR would
trigger. Since Flang was already silently downcasting `KIND=8` to
`KIND=4`, this PR removes the `assert` and adds a new test to validate
the correct behavior when large integers are the default
DeltaFile
+8-0flang/test/Lower/Intrinsics/exit.f90
+0-3flang/lib/Optimizer/Builder/IntrinsicCall.cpp
+1-1flang/lib/Evaluate/intrinsics.cpp
+9-43 files

LLVM/project 1dcbd48flang/lib/Lower/OpenMP Utils.cpp, flang/lib/Optimizer/OpenMP MapInfoFinalization.cpp

[Flang][OpenMP][Offload] Modify MapInfoFinalization to handle attach mapping and 6.1's ref_* and attach map keywords

This PR is one of four required to implement the attach mapping semantics in Flang, alongside the
ref_ptr/ref_ptee/ref_ptr_ptee map modifiers and the attach(always/never/auto) modifiers.

This PR is the MapInfoFinalization changes required to support these features, it mainly deals with
applying the correct attach map type and manipulating the descriptor types maps for base address
and descriptor so that when we specify ref_ptr/ref_ptee we emit one of the two maps and when we
emit ref_ptr_ptee we emit our usual default maps. In all cases we add the "glue" of an new
attach map except in cases where a user has provided attach never. In cases where we are
provided an always, we apply the always map type to our attach maps.

It's important to note the runtime has a toggle for the auto map behaviour, which will flip the
attach behaviour to the newer semantics or the older semantics for backwards compatability (outside
the purview of this PR but good to mention).
DeltaFile
+507-247flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+55-7flang/test/Lower/OpenMP/attach-and-ref-modifier.f90
+34-21flang/test/Transforms/omp-map-info-finalization.fir
+21-19flang/test/Lower/OpenMP/optional-argument-map-2.f90
+18-12flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
+17-7flang/lib/Lower/OpenMP/Utils.cpp
+652-31313 files not shown
+725-35419 files

LLVM/project c60a9aeflang/lib/Optimizer/OpenMP MapInfoFinalization.cpp, flang/lib/Utils OpenMP.cpp

[Flang][MLIR][OpenMP] Add distinct var_ptr_ptr_type to omp.map.info operations

This is a precursor patch to attach and ref_ptr/ptee mapping that I intend to upstream
over the next few weeks. The attach maps require both the type of the descriptor and
the pointed to data to calculate the appropriate offload/base pointers and size. In
the base case of ref_ptr_ptee all of this information can be gathered from the pointer
and pointee maps, but in cases where we have only one (i.e. ref_ptr/ref_ptee) we will
be missing one of the key elements required to create an corresponding attach map.

So, this PR basically adds the ability to ferry around the type of both var_ptr and
var_ptr_ptr as opposed to just var_ptr, then we can emit attach maps as seperate
map.info's that carry all the pre-requisite informaion for lowering to LLVM-IR. But,
otherwise it seems reasonable to have var_ptr_ptr mirror var_ptr in all aspects for
consistency.
DeltaFile
+25-16flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+18-11mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+18-11flang/lib/Utils/OpenMP.cpp
+14-14flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
+19-5mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+11-11flang/test/Transforms/omp-map-info-finalization.fir
+105-6839 files not shown
+201-15845 files

LLVM/project 71015b5llvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp

AMDGPU: Use extractBitsAsZExtValue to get exponent in trig_preop folding
DeltaFile
+1-1llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+1-11 files

LLVM/project 52430e7llvm/test/tools/llvm-ir2vec/Inputs input.ll, llvm/test/tools/llvm-ir2vec/bindings ir2vec-exceptions.py ir2vec-bindings.py

[llvm-ir2vec] Adding initEmbedding API to ir2vec python bindings (#177092)

Adds the initEmbedding API to ir2vec python bindings
DeltaFile
+73-1llvm/tools/llvm-ir2vec/Bindings/PyIR2Vec.cpp
+36-7llvm/tools/llvm-ir2vec/Bindings/CMakeLists.txt
+38-0llvm/test/tools/llvm-ir2vec/bindings/ir2vec-exceptions.py
+12-3llvm/test/tools/llvm-ir2vec/bindings/ir2vec-bindings.py
+5-0llvm/test/tools/llvm-ir2vec/Inputs/input.ll
+164-115 files

LLVM/project f992f97mlir/include/mlir-c Rewrite.h, mlir/lib/Bindings/Python Rewrite.cpp

[MLIR][Python] Support dialect conversion in python bindings (#177782)

This PR adds dialect conversion support to the MLIR Python bindings.
Because it introduces a number of new APIs, it’s a fairly large PR. It
mainly includes the following parts:

* Add a set of types and APIs to the C API, including
`MlirConversionTarget`, `MlirConversionPattern`, `MlirTypeConverter`,
`MlirConversionPatternRewriter`, and others.
* Add the corresponding types and APIs to the Python bindings.
* Extend `mlir-tblgen` with codegen for Python adaptor classes, which
generates an adaptor class for each op.

Note that this PR only adds support for 1-to-1 conversions, 1-to-N
type/value conversions are not supported yet.

---------

Co-authored-by: Maksim Levental <maksim.levental at gmail.com>
DeltaFile
+300-2mlir/lib/Bindings/Python/Rewrite.cpp
+208-0mlir/lib/CAPI/Transforms/Rewrite.cpp
+151-0mlir/include/mlir-c/Rewrite.h
+111-24mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
+74-39mlir/test/mlir-tblgen/op-python-bindings.td
+73-0mlir/test/python/rewrite.py
+917-656 files not shown
+1,027-6612 files

LLVM/project faf3e06clang/docs SourceBasedCodeCoverage.rst ReleaseNotes.rst, clang/include/clang/Basic DiagnosticFrontendKinds.td

[MC/DC] Enable nested expressions (#125413)

A warning "contains an operation with a nested boolean expression." is
no longer emitted. At the moment, split expressions are treated as
individual Decisions.
DeltaFile
+63-60clang/lib/CodeGen/CodeGenPGO.cpp
+26-4clang/test/CoverageMapping/mcdc-nested-expr.cpp
+0-7clang/docs/SourceBasedCodeCoverage.rst
+0-5clang/include/clang/Basic/DiagnosticFrontendKinds.td
+2-2clang/test/Frontend/custom-diag-werror-interaction.c
+1-0clang/docs/ReleaseNotes.rst
+92-786 files

LLVM/project 60b24e2llvm/test/CodeGen/AMDGPU fneg-combines.f16.ll fneg-combines.ll, llvm/test/CodeGen/RISCV fpclamptosat.ll

Merge branch 'users/chapuni/mcdc/nest/covmapdesc' into users/chapuni/mcdc/nest/nest
DeltaFile
+56,025-0llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+14,154-5,110llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+850-5,393llvm/test/CodeGen/RISCV/fpclamptosat.ll
+2,230-3,501llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
+2,626-2,303llvm/test/CodeGen/AMDGPU/fneg-combines.ll
+4,716-0llvm/test/MC/AMDGPU/gfx13_asm_sop2.s
+80,601-16,307984 files not shown
+135,807-36,963990 files

LLVM/project e91fdd9llvm/test/CodeGen/AMDGPU fneg-combines.f16.ll fneg-combines.ll, llvm/test/CodeGen/RISCV fpclamptosat.ll

Merge branch 'users/chapuni/cov/single/binop' into users/chapuni/mcdc/nest/covmapdesc
DeltaFile
+56,025-0llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+14,154-5,110llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+850-5,393llvm/test/CodeGen/RISCV/fpclamptosat.ll
+2,230-3,501llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
+2,626-2,303llvm/test/CodeGen/AMDGPU/fneg-combines.ll
+4,716-0llvm/test/MC/AMDGPU/gfx13_asm_sop2.s
+80,601-16,307984 files not shown
+135,807-36,963990 files

LLVM/project 940475cllvm/test/CodeGen/AMDGPU fneg-combines.f16.ll fneg-combines.ll, llvm/test/CodeGen/RISCV fpclamptosat.ll

Merge branch 'main' into users/chapuni/cov/single/binop
DeltaFile
+56,025-0llvm/test/CodeGen/RISCV/rvv/clmulh-sdnode.ll
+14,154-5,110llvm/test/CodeGen/RISCV/rvv/clmul-sdnode.ll
+850-5,393llvm/test/CodeGen/RISCV/fpclamptosat.ll
+2,230-3,501llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
+2,626-2,303llvm/test/CodeGen/AMDGPU/fneg-combines.ll
+4,716-0llvm/test/MC/AMDGPU/gfx13_asm_sop2.s
+80,601-16,307986 files not shown
+135,956-37,145992 files

LLVM/project a34e89fclang/lib/StaticAnalyzer/Checkers/WebKit NoDeleteChecker.cpp, clang/test/Analysis/Checkers/WebKit nodelete-annotation.cpp

[alpha.webkit.NoDeleteChecker] Don't emit a warning for a function without annotation. (#178824)

This PR fixes the bug in alpha.webkit.NoDeleteChecker that it emits a
warning for any function without
[[clang::annotate_type("webkit.nodelete")]] annotation if it contains
non-trivial code. It also fixes a bug hat we weren't checking the
presence of the annotation on superclass' corresponding member
functions.
DeltaFile
+21-29clang/lib/StaticAnalyzer/Checkers/WebKit/NoDeleteChecker.cpp
+4-0clang/test/Analysis/Checkers/WebKit/nodelete-annotation.cpp
+25-292 files

LLVM/project 8f690ecllvm/lib/ProfileData/Coverage CoverageMapping.cpp, llvm/test/tools/llvm-cov mcdc-macro.test

[MC/DC] Make covmap tolerant of nested Decisions (#125407)

CoverageMappingWriter reorders `Region`s by `endLoc DESC` to prioritize
wider `Decision` with the same `startLoc`.

In `llvm-cov`, tweak seeking Decisions by reversal order to find smaller
Decision first.
DeltaFile
+142-175llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
+7-7llvm/test/tools/llvm-cov/mcdc-macro.test
+149-1822 files

LLVM/project 60556a2clang/lib/CodeGen/Targets DirectX.cpp, clang/lib/Sema HLSLBuiltinTypeDeclBuilder.cpp SemaHLSL.cpp

[HLSL] Implement Texture2D type and Sample method in Clang (#177240)

This patch implements the `Texture2D` resource type and its `Sample`
member
function in Clang. It includes the necessary AST and Sema changes to
support
the new type and its built-in methods, as well as CodeGen support for
both
DirectX and SPIR-V targets.

Key changes:
- Added `ResourceDimension` to `HLSLAttributedResourceType` and
`HLSLResourceDimension` attribute.
- Implemented `Texture2D` and `SamplerState` in
`HLSLExternalSemaSource`.
- Added `__builtin_hlsl_resource_sample` and associated Sema checking.
- Updated `DirectXTargetCodeGenInfo` and `CommonSPIRTargetCodeGenInfo`
to handle texture types.
- Added AST, Sema, and CodeGen tests for `Texture2D`.

Part 2 of https://github.com/llvm/llvm-project/issues/175630
DeltaFile
+113-13clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
+93-0clang/test/AST/HLSL/Texture2D-AST.hlsl
+90-0clang/test/CodeGenHLSL/resources/Texture2D.sample.hlsl
+84-0clang/lib/Sema/SemaHLSL.cpp
+45-0clang/lib/Sema/HLSLExternalSemaSource.cpp
+37-7clang/lib/CodeGen/Targets/DirectX.cpp
+462-2014 files not shown
+657-4120 files

LLVM/project a7c3c2fcompiler-rt/lib/ubsan ubsan_loop_detect.cpp, compiler-rt/test/cfi lit.cfg.py

Format

Created using spr 1.3.6-beta.1
DeltaFile
+9-3compiler-rt/test/cfi/lit.cfg.py
+3-3compiler-rt/lib/ubsan/ubsan_loop_detect.cpp
+12-62 files

LLVM/project 76bb2a1compiler-rt/test/cfi CMakeLists.txt

Check for x86 in test/cfi/CMakeLists.txt

Created using spr 1.3.6-beta.1
DeltaFile
+1-1compiler-rt/test/cfi/CMakeLists.txt
+1-11 files

LLVM/project 313a200llvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine load-shufflevector.ll

[VectorCombine] Fix the PtrAdd offset in shrinkLoadForShuffles to account for element type size (#179001)

This PR fixes an [issue I pointed out in regards to incorrect GEP
indices](https://github.com/llvm/llvm-project/pull/149093#discussion_r2748266079)
introduced by PR #149093.

Changes:
- Updated the pointer offset calculation in
`VectorCombine::shrinkLoadForShuffles` so that the offset is now
multiplied by the element size (`ElemSize`) when computing the new
pointer for loads
- Updated the GEP indices in
`llvm/test/Transforms/VectorCombine/load-shufflevector.ll` for the
correct byte offsets
DeltaFile
+10-10llvm/test/Transforms/VectorCombine/load-shufflevector.ll
+6-4llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+16-142 files

LLVM/project eb603f3clang/docs UsersManual.rst, llvm/docs LangRef.rst

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+29-22llvm/lib/Target/X86/X86ISelLowering.cpp
+50-0llvm/test/CodeGen/X86/cond-loop.ll
+48-0llvm/docs/LangRef.rst
+45-0llvm/test/Transforms/LowerTypeTests/cond-loop.ll
+25-0clang/docs/UsersManual.rst
+20-5llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+217-2721 files not shown
+367-2827 files

LLVM/project 2886425compiler-rt/lib/ubsan ubsan_loop_detect.cpp, llvm/docs LangRef.rst

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+101-0compiler-rt/lib/ubsan/ubsan_loop_detect.cpp
+29-22llvm/lib/Target/X86/X86ISelLowering.cpp
+50-0llvm/test/CodeGen/X86/cond-loop.ll
+48-0llvm/docs/LangRef.rst
+45-0llvm/test/Transforms/LowerTypeTests/cond-loop.ll
+20-5llvm/lib/Transforms/IPO/LowerTypeTests.cpp
+293-2730 files not shown
+554-3836 files

LLVM/project 8065a03clang/lib/Sema SemaHLSL.cpp, clang/test/AST/HLSL matrix-general-initializer.hlsl matrix-constructors.hlsl

[HLSL] Make  Matrix types in  `buildInitializerListImpl` index in row major order for initializer lists. (#178931)

fixes #178930

- changes the loop indexing order
- updates the associated tests
DeltaFile
+32-32clang/test/AST/HLSL/matrix-general-initializer.hlsl
+3-2clang/test/AST/HLSL/matrix-constructors.hlsl
+2-2clang/lib/Sema/SemaHLSL.cpp
+37-363 files

LLVM/project 61c7d9ellvm/lib/Transforms/Instrumentation MemorySanitizer.cpp, llvm/test/Instrumentation/MemorySanitizer/AArch64 aarch64-matmul.ll

[msan] Support Arm NEON usdot (#178982)

Handle tariff-free dot-product using the existing
handleVectorDotProductIntrinsic() instead of with the default handler.
DeltaFile
+191-178llvm/test/Instrumentation/MemorySanitizer/AArch64/aarch64-matmul.ll
+3-2llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
+194-1802 files

LLVM/project d6b4aealldb/packages/Python/lldbsuite/test/make Makefile.rules, lldb/test/API/lang/cpp/thread_local TestThreadLocal.py

Restore unintentionally changed files

This restores files that were unintentionally added to commit
21a74f527839b5b8dd882e62a25093d980c79078, 'Revert "[lldb] Add FP
conversion instructions to IR interpreter (#175292)"'
DeltaFile
+1-1lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
+1-1lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+2-22 files

LLVM/project 5c2126fllvm/lib/Target/SPIRV SPIRVInstructionSelector.cpp

[SPIRV][NFC] Merge Subgroup Reduce into uniform selector (#178802)

The ReduceMax, ReduceMin, and ReduceSum selectors were all doing the
samething with the exception of which opcode they were using.

This change unifies these implementations and allows pick the opcode via
a helper lambda.
DeltaFile
+42-54llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
+42-541 files

LLVM/project b560203mlir/test/Dialect/MemRef high-rank-overflow.mlir

[MLIR] Disable high-rank-overflow with UBSan (#178994)

See discussion in #178395
DeltaFile
+2-0mlir/test/Dialect/MemRef/high-rank-overflow.mlir
+2-01 files

LLVM/project ef720acllvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp

[AMDGPU][SIInsertWaitcnts][NFC] Use loop to set Wait entries (#178764)

Please note that the original code was skipping STORE_CNT but this one
is not.
DeltaFile
+7-26llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+7-261 files

LLVM/project 59f8e75clang/lib/Driver/ToolChains Darwin.cpp

[clang][driver][darwin] Tweak the use after scope fix in Darwin driver toolchain (#178981)

It's ever so slightly cleaner looking and less error prone to make the
SmallVector hold std::string instead of making a local just for the
version string.
DeltaFile
+2-3clang/lib/Driver/ToolChains/Darwin.cpp
+2-31 files