[all-commits] [llvm/llvm-project] 857ac4: [MLIR][OpenMP] Lowering nontemporal clause to LLVM...

Alexander Richardson via All-commits all-commits at lists.llvm.org
Wed Apr 30 11:58:08 PDT 2025


  Branch: refs/heads/users/arichardson/spr/datalayout-introduce-datalayoutgetpointeraddresssizeas
  Home:   https://github.com/llvm/llvm-project
  Commit: 857ac4c229d209ebf3990c4760e2fc546beeac9c
      https://github.com/llvm/llvm-project/commit/857ac4c229d209ebf3990c4760e2fc546beeac9c
  Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/LowerNontemporal.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/test/Fir/basic-program.fir
    A flang/test/Fir/convert-nontemporal-to-llvm.fir
    A flang/test/Fir/simd-nontemporal.fir
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Target/LLVMIR/openmp-nontemporal.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Lowering nontemporal clause to LLVM IR for SIMD directive (#118751)

This patch,
- Added a new attribute `nontemporal` to fir.load and fir.store operation in the FIR dialect.
- Added a pass `lower-nontemporal` which is called before FIRToLLVM conversion pass and adds the nontemporal attribute to loads and stores on the list items specified in the nontemporal clause of the SIMD directive.
- Set the `UnitAttr:$nontemporal` to llvm.load and llvm.store operations during FIR to LLVM dialect conversion, if the corresponding fir.load or fir.store operations have the nontemporal attribute.
- Attached the `nontemporal metadata` to load and store instructions that have the nontemporal attribute, during LLVM dialect to LLVM IR translation.


  Commit: 96eeb6c1a93ab295d9baa4baad2efe1c2b51ffc0
      https://github.com/llvm/llvm-project/commit/96eeb6c1a93ab295d9baa4baad2efe1c2b51ffc0
  Author: Peiyong Lin <linpyong at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/instructions.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir][llvm] Support nusw and nuw in GEP (#137272)

nusw and nuw were introduced in getelementptr, this patch plumbs them in
MLIR.

Since inbounds implies nusw, this patch also adds an inboundsFlag to
represent the concept of raw inbounds with no nusw implication, and have
the inbounds literal captured as the combination of inboundsFlag and
nusw.

Fixes: iree#20482

Signed-off-by: Lin, Peiyong <linpyong at gmail.com>


  Commit: 4bf93c098c8b04a06f228b05732d691d0ce2babc
      https://github.com/llvm/llvm-project/commit/4bf93c098c8b04a06f228b05732d691d0ce2babc
  Author: Marco Elver <elver at google.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/lib/Analysis/ThreadSafety.cpp

  Log Message:
  -----------
  Thread Safety Analysis: Fix style

Comment fix and apply new clang-format style in
ScopedLockableFactEntry::unlock().

Factored out from https://github.com/llvm/llvm-project/pull/137133

NFC.


  Commit: af497d9a658ebca437aff79cd9532cd93b7a58a0
      https://github.com/llvm/llvm-project/commit/af497d9a658ebca437aff79cd9532cd93b7a58a0
  Author: NewSigma <46043910+NewSigma at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp

  Log Message:
  -----------
  [DSE] Simpily if condition (NFC) (#137777)

Note that the key-value pair has already been initialized, so assignment
is not necessary.


  Commit: c96f019fa3bc02bbc60343de606235c6e2cef4bd
      https://github.com/llvm/llvm-project/commit/c96f019fa3bc02bbc60343de606235c6e2cef4bd
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp

  Log Message:
  -----------
  [BasicBlockUtils] Remove broken support for eh pads in SplitEdge() (#137816)

d81d9e8b8604c85709de0a22bb8dd672a28f0401 changed SplitEdge() to make use
of ehAwareSplitEdge() for critical edges where the target is an eh pad.
However, the implementation is incorrect at least for landing pads. What
is currently produced for the code in the modified unit test is
something like this:

    continue:
      invoke void @sink()
              to label %normal unwind label %new_bb

    new_bb:
      %cp = cleanuppad within %exception []
      cleanupret from %cp unwind label %exception

    exception:
      %cleanup = landingpad i8 cleanup
      br label %trivial-eh-handler

This mixes different exception handling mechanisms in a nonsensical way,
and is not well-formed IR. To actually "split" the landingpad edge (for
a rather loose definition of "split"), I think we'd have to generate
something along these lines:

      exception.split:
        %cleanup.split = landingpad i8 cleanup
        br label %exception.cont

      exception:
        %cleanup.orig = landingpad i8 cleanup
        br label %exception.cont
      
      exception.cont:
%cleanup = phi i8 [ %cleanup.split, %exception_split ], [ %cleanup.orig,
%exception ]

I didn't bother actually implementing that, seeing as how nobody noticed
the existing codegen being broken in the last four years, so clearly
nobody actually needs this function to work with EH edges. Just return
nullptr instead.


  Commit: 38cb7d5e7591cdfb39d1030480920ec1ce4873c6
      https://github.com/llvm/llvm-project/commit/38cb7d5e7591cdfb39d1030480920ec1ce4873c6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Assembler/invalid-label-call-arg.ll
    M llvm/test/Assembler/invalid-label.ll
    M llvm/test/CodeGen/X86/asm-block-labels.ll
    M llvm/test/Verifier/invalid-label-param.ll

  Log Message:
  -----------
  [IR] Don't allow label arguments (#137799)

We currently accept label arguments to inline asm calls. This support
predates both blockaddresses and callbr and is only covered by one X86
test. Remove it in favor of callbr (or at least blockaddress, though
that cannot guarantee correct codegen, just like using block labels
directly can't).

I didn't bother implementing bitcode upgrade support for this, but I can
add it if desired.


  Commit: 7752e0a10b25da2f2eadbed10606bd5454dbca05
      https://github.com/llvm/llvm-project/commit/7752e0a10b25da2f2eadbed10606bd5454dbca05
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  Revert "[clang-format] Add OneLineFormatOffRegex option (#137577)"

This reverts commit b8bb1ccb4f9126d1bc9817be24e17f186a75a08b which triggered
an assertion failure in CodeGenTest.TestNonAlterTest.


  Commit: b2627851373e7afed1f7b14d7013edf41d20a4f5
      https://github.com/llvm/llvm-project/commit/b2627851373e7afed1f7b14d7013edf41d20a4f5
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel

  Log Message:
  -----------
  [bazel] Give ConstantFolding.cpp "-ftrapping-math" (for #137652)

I've introduced the split lib `AnalysisFpExc`. Let me know if better
solutions would be applicable.


  Commit: c91c3f930cfc75eb4e8b623ecd59c807863aa6c0
      https://github.com/llvm/llvm-project/commit/c91c3f930cfc75eb4e8b623ecd59c807863aa6c0
  Author: Ricardo Jesus <rjj at nvidia.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll

  Log Message:
  -----------
  [InstCombine] Do not combine shuffle+bitcast if the bitcast is eliminable. (#135769)

If we are attempting to combine shuffle+bitcast but the bitcast is
pairable with a subsequent bitcast, we should not fold the shuffle as
doing so can block further simplifications.

The motivation for this is a long-standing regression affecting SIMDe on
AArch64, introduced indirectly by the AlwaysInliner (1a2e77cf). Some
reproducers:
* https://godbolt.org/z/53qx18s6M
* https://godbolt.org/z/o5e43h5M7


  Commit: 7318074168e324097b7f6ec93e34915463bf70f1
      https://github.com/llvm/llvm-project/commit/7318074168e324097b7f6ec93e34915463bf70f1
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/include/mlir/Interfaces/FunctionInterfaces.td
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Query/Query.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/IR/test-func-erase-result.mlir
    M mlir/test/lib/IR/TestFunc.cpp

  Log Message:
  -----------
  [mlir] allow function type cloning to fail (#137130)

`FunctionOpInterface` assumed the fact that the function type (attribute
of the operation) can be cloned with arbirary lists of function
arguments and results to support argument and result list mutation. This
is not always correct, in particular, LLVM dialect functions require
exactly one result making it impossible to erase the result.

Allow function type cloning to fail and propagate this failure through
various APIs that use it. The common assumption is that existing IR has
not been modified.

Fixes #131142.

Reland a8c7ecdcbc3e89b493b495c6831cc93671c3b844 / #136300.


  Commit: 55d0610e7bbea470c47985d9d3f638dff85411b5
      https://github.com/llvm/llvm-project/commit/55d0610e7bbea470c47985d9d3f638dff85411b5
  Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/lib/AsmParser/Parser.cpp
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/IR/invalid.mlir
    M mlir/test/IR/parser.mlir
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.td

  Log Message:
  -----------
  [mlir] make `parseCustomOperationName()` API check token type (#136306)

Previously, this parser API call would accept any token and interpret
its spelling as operation name, including tokens that are are not valid
operation names. Make it accept only bare identifiers and keywords. The
latter is questionable but consistent with current practices upstream.

Fixes #132889.


  Commit: 53a8b8900397bd16167fe537d53c0c8d84911534
      https://github.com/llvm/llvm-project/commit/53a8b8900397bd16167fe537d53c0c8d84911534
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    A llvm/include/llvm/CodeGen/ShrinkWrap.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mir
    M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
    M llvm/test/CodeGen/PowerPC/shrink-wrap.mir
    M llvm/test/CodeGen/X86/shrink_wrap_dbg_value.mir

  Log Message:
  -----------
  [CodeGen][NewPM] Port "ShrinkWrap" pass to NPM (#129880)


  Commit: db859db74d0a76803b13781ff74ade8527a9c685
      https://github.com/llvm/llvm-project/commit/db859db74d0a76803b13781ff74ade8527a9c685
  Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    R llvm/test/CodeGen/AArch64/nofpclass.ll
    R llvm/test/CodeGen/Mips/nofpclass.ll

  Log Message:
  -----------
  Revert "CodeGen: Add ISD::AssertNoFPClass (#135946)"

This reverts commit f0c61d2242bbc7576ca5e4137a5ea8f63e4859a9.


  Commit: f62f36b91de684ddfe129532e3a5086009b16f34
      https://github.com/llvm/llvm-project/commit/f62f36b91de684ddfe129532e3a5086009b16f34
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaExprCXX.cpp

  Log Message:
  -----------
  [clang][NFC] Avoid a duplicate variable in SemaExprCXX.cpp (#137464)


  Commit: e91cbd4f299fd3f42928aff63f5d95f07be3f7fc
      https://github.com/llvm/llvm-project/commit/e91cbd4f299fd3f42928aff63f5d95f07be3f7fc
  Author: Akshat Oke <Akshat.Oke at amd.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/include/llvm/CodeGen/VirtRegMap.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx90a.mir
    M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
    M llvm/test/CodeGen/AMDGPU/greedy-remark-crash-unassigned-reg.mir
    M llvm/test/CodeGen/X86/pr30821.mir

  Log Message:
  -----------
  [CodeGen][NPM] Port VirtRegRewriter to NPM (#130564)


  Commit: 99cb3f7ac6281e2fda0aee4c941a825fa3c4fccf
      https://github.com/llvm/llvm-project/commit/99cb3f7ac6281e2fda0aee4c941a825fa3c4fccf
  Author: Arnab Dutta <85476402+arnab-polymage at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Utils.h
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
    M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
    M mlir/test/Dialect/MemRef/normalize-memrefs.mlir

  Log Message:
  -----------
  [mlir] Add memref normalization support for reinterpret_cast op (#133417)

Rewrites memrefs defined by reinterpet_cast ops to have an identity
layout map and updates all their indexing uses. Also, extend
`replaceAllMemRefUsesWith` utility to work when there are multiple 
occurrences of `oldMemRef` in `op`'s operand list when op is 
non-dereferencing.

Fixes #122090 
Fixes #121091


  Commit: 8f75747935c6b18cb462554b54d9cf222b994afd
      https://github.com/llvm/llvm-project/commit/8f75747935c6b18cb462554b54d9cf222b994afd
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    A llvm/lib/Target/RISCV/RISCVInstrPredicates.td
    M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp

  Log Message:
  -----------
  [RISCV][NFC] Convert some predicates to TIIPredicate (#129658)

These predicates can also be used in macro fusion and scheduling
model.


  Commit: 51c26023000486b5f2f78c73c145efb0262514a4
      https://github.com/llvm/llvm-project/commit/51c26023000486b5f2f78c73c145efb0262514a4
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
    M llvm/test/MC/RISCV/xqcilo-valid.s

  Log Message:
  -----------
  [RISCV] Add compress patterns for Xqcilo load/store instructions (#137758)


  Commit: 08f0aa48006a34ad24d70a500cf8e0c619f421bc
      https://github.com/llvm/llvm-project/commit/08f0aa48006a34ad24d70a500cf8e0c619f421bc
  Author: Mel Chen <mel.chen at sifive.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/IVDescriptors.cpp

  Log Message:
  -----------
  [IVDescriptors] Call getOpcode on demand in getReductionOpChain. nfc (#118777)

Non-arithmetic reductions do not require the binary opcodes.
As a first step toward removing the dependency of non-arithmetic
reductions on `getOpcode` function, this patch refactors the
`getReductionOpChain` function.

In the future, once all users of `getOpcode` function are refactored, an
assertion can be added to `getOpcode` function to ensure that only
arithmetic reductions rely on it.


  Commit: bb2f7596a8b963af06e9dde821dcea1252ba4892
      https://github.com/llvm/llvm-project/commit/bb2f7596a8b963af06e9dde821dcea1252ba4892
  Author: jeremyd2019 <github at jdrake.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M lld/COFF/Writer.cpp
    A lld/test/COFF/merge-data-bss.test

  Log Message:
  -----------
  [LLD][COFF] Ensure .bss is merged at the end of a section. (#137677)

Because it is full of zeros, it is expected that as much of it as
possible is elided from the actual image, and that cannot happen if
there is initialized data in the section after it.


  Commit: 3e523502a15944c0da8067bad93ab1fc1bac47b7
      https://github.com/llvm/llvm-project/commit/3e523502a15944c0da8067bad93ab1fc1bac47b7
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/include/llvm/Config/llvm-config.h.cmake
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M utils/bazel/llvm_configs/config.h.cmake
    M utils/bazel/llvm_configs/llvm-config.h.cmake

  Log Message:
  -----------
  [DLCov] Move DebugLoc coverage macro to llvm-config.h (#137787)

This patch follows the reversion of #107279, which caused errors by
including `llvm/Config/config.h` in a public header. In order to reapply
that patch, this PR moves the definition of the config option to the
`llvm-config.h` header instead, so that it can be used publicly. This
patch also adds `LLVM_` as a prefix to the define, since it is now in a
public header.


  Commit: 04aa5a88d17f5c1cab7acde2e87de05a405e60f1
      https://github.com/llvm/llvm-project/commit/04aa5a88d17f5c1cab7acde2e87de05a405e60f1
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/test/OpenMP/irbuilder_nested_parallel_for.c
    M clang/test/OpenMP/nested_loop_codegen.cpp
    M clang/test/OpenMP/parallel_codegen.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    A mlir/test/Target/LLVMIR/omptarget-parallel-llvm-debug.mlir

  Log Message:
  -----------
  [OMPIRBuilder] Don't discard the debug record from entry block. (#135161)

When we get a function back from `CodeExtractor`, we discard its entry
block after coping its instructions into the entry block we prepared.
While copying the instructions, the terminator is discarded for obvious
reasons. But if there were some debug values attached to the terminator,
those are useful and needs to be copied.


  Commit: 6951d5d6cff4062e06af2107a2e715966932d8f5
      https://github.com/llvm/llvm-project/commit/6951d5d6cff4062e06af2107a2e715966932d8f5
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py

  Log Message:
  -----------
  [NFC][lldb][test] Fix typo in test setup commands. (#137944)


  Commit: 1cf1dc340dcc265423c33ef9e62fd8f0ecfae1bc
      https://github.com/llvm/llvm-project/commit/1cf1dc340dcc265423c33ef9e62fd8f0ecfae1bc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/include/llvm/IR/CFG.h

  Log Message:
  -----------
  [IR] Convert check to assertion in PredIterator (NFC) (#137931)

After https://github.com/llvm/llvm-project/pull/137799 and
https://github.com/llvm/llvm-project/pull/137816, instruction uses of
BasicBlocks are always terminators, so assert that instead of checking
it.


  Commit: 6ae7177de8d101487518bac72a1e2ab0a2ca18c9
      https://github.com/llvm/llvm-project/commit/6ae7177de8d101487518bac72a1e2ab0a2ca18c9
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp

  Log Message:
  -----------
  [mlir][spirv] Update mergeInfo of blocks nested in regions (#137789)

The current code that updates mergeInfo iterates only over
constructBlocks, potentially leaving blocks nested in already structured
regions with invalid mergeInfo. This patch adds walk for each block to
ensure all nested blocks are considered.

It is not possible to add a unit test exercising this change as whether
the problem occurs depends on the structuring order that is currently
non-deterministic.


  Commit: 77581e27514db084da59738c4d26ed7e70a31736
      https://github.com/llvm/llvm-project/commit/77581e27514db084da59738c4d26ed7e70a31736
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M flang-rt/README.md
    M flang/CMakeLists.txt
    R flang/cmake/modules/AddFlangOffloadRuntime.cmake
    M flang/examples/CMakeLists.txt
    R flang/examples/ExternalHelloWorld/CMakeLists.txt
    R flang/runtime/CMakeLists.txt
    R flang/runtime/CUDA/CMakeLists.txt
    R flang/runtime/Float128Math/CMakeLists.txt
    M flang/test/CMakeLists.txt
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt
    R flang/unittests/Runtime/CMakeLists.txt
    R flang/unittests/Runtime/CUDA/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  Reapply "[Flang] Remove FLANG_INCLUDE_RUNTIME (#124126)"

This reverts commit 27539c3f903be26c487703943d3c27d45d4542b2. Retry
with new buildbot configuration after master restart.

Original message:

Remove the FLANG_INCLUDE_RUNTIME option which was replaced by
LLVM_ENABLE_RUNTIMES=flang-rt.

The FLANG_INCLUDE_RUNTIME option was added in #122336 which disables the
non-runtimes build instructions for the Flang runtime so they do not
conflict with the LLVM_ENABLE_RUNTIMES=flang-rt option added in #110217.
In order to not maintain multiple build instructions for the same thing,
this PR completely removes the old build instructions (effectively
forcing FLANG_INCLUDE_RUNTIME=OFF).

As per discussion in
https://discourse.llvm.org/t/buildbot-changes-with-llvm-enable-runtimes-flang-rt/83571/2
we now implicitly add LLVM_ENABLE_RUNTIMES=flang-rt whenever Flang is
compiled in a bootstrapping (non-standalone) build. Because it is
possible to build Flang-RT separately, this behavior can be disabled
using `-DFLANG_ENABLE_FLANG_RT=OFF`. Also see the discussion an
implicitly adding runtimes/projects in #123964.


  Commit: 92195f6fc873cd27a5aa0852252dfe44ccdc6ea0
      https://github.com/llvm/llvm-project/commit/92195f6fc873cd27a5aa0852252dfe44ccdc6ea0
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/docs/HowToUpdateDebugInfo.rst
    M llvm/include/llvm/IR/DebugLoc.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugLoc.cpp
    M llvm/lib/Transforms/Utils/Debugify.cpp

  Log Message:
  -----------
  Reapply "[DLCov] Implement DebugLoc coverage tracking (#107279)"

Reapplied after fixing the config issue that was causing issues following
the previous merge.

This reverts commit fdbf073a86573c9ac4d595fac8e06d252ce1469f.


  Commit: b3d130279f5c59a82d48d4647bef626ac4e202cf
      https://github.com/llvm/llvm-project/commit/b3d130279f5c59a82d48d4647bef626ac4e202cf
  Author: Charles Zablit <c_zablit at apple.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M lldb/include/lldb/DataFormatters/TypeSynthetic.h
    M lldb/include/lldb/DataFormatters/VectorIterator.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/ValueObject/ValueObject.h
    M lldb/include/lldb/ValueObject/ValueObjectRegister.h
    M lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
    M lldb/source/API/SBValue.cpp
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/DataFormatters/TypeSynthetic.cpp
    M lldb/source/DataFormatters/VectorType.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
    M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
    M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/Language/ObjC/NSArray.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/source/Plugins/Language/ObjC/NSException.cpp
    M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
    M lldb/source/Plugins/Language/ObjC/NSSet.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/source/ValueObject/ValueObjectRegister.cpp
    M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
    M lldb/unittests/Platform/PlatformSiginfoTest.cpp

  Log Message:
  -----------
  [lldb] Upgrade `GetIndexOfChildWithName` to use `llvm::Expected` (#136693)

This patch replaces the use of `UINT32_MAX` as the error return value of
`GetIndexOfChildWithName` with `llvm::Expected`.


# Tasks to do in another PR

1. Replace `CalculateNumChildrenIgnoringErrors` with
`CalculateNumChildren`. See [this
comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2056319358).
2. Update `lldb_private::formatters::ExtractIndexFromString` to use
`llvm::Expected`. See [this
comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2054217536).
3. Create a new class which carries both user and internal errors. See
[this
comment](https://github.com/llvm/llvm-project/pull/136693#discussion_r2056439608).


  Commit: 1563d74145faa41bc5b1cdb1df2add84d6f01d39
      https://github.com/llvm/llvm-project/commit/1563d74145faa41bc5b1cdb1df2add84d6f01d39
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [Passes] Remove extra ';' outside of a function (NFC)

/llvm-project/llvm/lib/Passes/PassBuilder.cpp:1508:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
 1508 | };
      |  ^
1 error generated.


  Commit: d68c732473a12f2fba495baebd7094b25bdfdce7
      https://github.com/llvm/llvm-project/commit/d68c732473a12f2fba495baebd7094b25bdfdce7
  Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M flang/lib/Evaluate/CMakeLists.txt
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Parser/CMakeLists.txt
    M flang/lib/Semantics/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [flang] Use precompiled headers in Frontend, Lower, Parser, Semantics and Evaluate (#131137)

Precompiling larger headers can save a lot of compile time across
various compilation units.

For the time being, disable precompiled headers for ccache builds on Windows
due to issues with reliably passing the appropriate options to ccache.

Selected compile time & memory improvements are as follows:

flang/lib/Parser/Fortran-parsers.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:47.31 -> 0:41.68
Maximum resident set size (kbytes): 2062140 -> 1745584

flang/lib/Lower/Bridge.cpp:
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:19.16 -> 0:45.86
Maximum resident set size (kbytes): 3849144 -> 2443476

flang/lib/Lower/PFTBuilder.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:29.24 -> 1:00.99
Maximum resident set size (kbytes): 4218368 -> 2923128

flang/lib/Lower/Allocatable.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:53.03 -> 0:22.50
Maximum resident set size (kbytes): 3092840 -> 2116908

flang/lib/Semantics/Semantics.cpp
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:18.75 -> 1:00.20
Maximum resident set size (kbytes): 3527744 -> 2545308

While the newly added precompiled headers are as follows:

Parser:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:09.62
Maximum resident set size (kbytes): 1034608

Lower:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:41.33
Maximum resident set size (kbytes): 3615240

Semantics:
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:26.69
Maximum resident set size (kbytes): 2403776

---------

Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>


  Commit: 3dc3d431e7385874f200a83bb2f291d2d45b1d16
      https://github.com/llvm/llvm-project/commit/3dc3d431e7385874f200a83bb2f291d2d45b1d16
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp

  Log Message:
  -----------
  SPIRV: Simplify phi processing (#137050)


  Commit: f2b8539803ea5887a9653d26cdcacaabd536ae1c
      https://github.com/llvm/llvm-project/commit/f2b8539803ea5887a9653d26cdcacaabd536ae1c
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/test/C/C2y/n3353.c

  Log Message:
  -----------
  [C2y] Correctly handle 0 in the preprocessor (#137844)

We do not diagnose 0 as a deprecated octal literal outside of the
preprocessor. This fixes a bug where we were accidentally diagnosing 0
from a preprocessor conditional, however.

No release note because this is fixing an issue with a new change.


  Commit: 6e43cdbc25e90d88251d69519822713afc20108c
      https://github.com/llvm/llvm-project/commit/6e43cdbc25e90d88251d69519822713afc20108c
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/VirtRegMap.cpp

  Log Message:
  -----------
  [CodeGen] Remove unused variable 'ID' (NFC)

/llvm-project/llvm/lib/CodeGen/VirtRegMap.cpp:225:15:
error: unused variable 'ID' [-Werror,-Wunused-variable]
  static char ID;
              ^
1 error generated.


  Commit: 6dfd35457123089b3506899c8bc522f3dfa6e959
      https://github.com/llvm/llvm-project/commit/6dfd35457123089b3506899c8bc522f3dfa6e959
  Author: halbi2 <hehiralbi at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/attr-ownership.c

  Log Message:
  -----------
  [clang] ownership_returns attribute takes no more than 2 arguments (#137897)


  Commit: 26da8870ede83fb9759a5c068b713beb742399ec
      https://github.com/llvm/llvm-project/commit/26da8870ede83fb9759a5c068b713beb742399ec
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp

  Log Message:
  -----------
  Fix MSVC "not all control paths return a value" warning. NFC.


  Commit: 120e940356561035bf37bc4fcb6fab771e7a9b7d
      https://github.com/llvm/llvm-project/commit/120e940356561035bf37bc4fcb6fab771e7a9b7d
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    A mlir/test/Integration/Dialect/MemRef/atomic-rmw-runtime-verification.mlir
    A mlir/test/Integration/Dialect/MemRef/store-runtime-verification.mlir

  Log Message:
  -----------
  [mlir][memref] Add runtime verification for `memref.atomic_rmw` (#130414)

Implement runtime verification for `memref.atomic_rmw` and
`memref.generic_atomic_rmw`. Also add a missing test for `memref.store`.


  Commit: 101fd87f98c9354103311db9523bc00b9df71d18
      https://github.com/llvm/llvm-project/commit/101fd87f98c9354103311db9523bc00b9df71d18
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/include/llvm/ADT/ArrayRef.h
    M llvm/unittests/ADT/ArrayRefTest.cpp

  Log Message:
  -----------
  [ArrayRef] Add constructor from iterator_range<U*> (NFC). (#137796)

Add a new constructor to ArrayRef that takes an iterator_range with a
random access iterator that can be converted.

This can help to avoid creating unnecessary iterator_ranges for types
where an ArrayRef can already be constructed. To be used in
https://github.com/llvm/llvm-project/pull/137798.


PR: https://github.com/llvm/llvm-project/pull/137796


  Commit: 5b6fc610919cc2e88fe3d9bfcc23637c75a636c9
      https://github.com/llvm/llvm-project/commit/5b6fc610919cc2e88fe3d9bfcc23637c75a636c9
  Author: Wenju He <wenju.he at intel.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M libclc/generic/include/clc/async/async_work_group_copy.h
    M libclc/generic/include/clc/async/async_work_group_strided_copy.h
    R libclc/generic/include/clc/async/gentype.inc
    M libclc/generic/include/clc/async/prefetch.h
    M libclc/generic/lib/async/async_work_group_copy.cl
    M libclc/generic/lib/async/async_work_group_strided_copy.cl
    M libclc/generic/lib/async/prefetch.cl

  Log Message:
  -----------
  [libclc] Add v3 variants of async_work_group_copy/async_work_group_strided_copy/prefetch (#137932)

3-component vector type is supported for them per OpenCL spec.


  Commit: 8dc89e34199b6b1d0f5ea1f9940ccc8e957eef0a
      https://github.com/llvm/llvm-project/commit/8dc89e34199b6b1d0f5ea1f9940ccc8e957eef0a
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-shift.ll

  Log Message:
  -----------
  [LLVM][InstCombine] Enable constant folding for SVE asr,lsl and lsr intrinsics. (#137350)

The SVE intrinsics support shift amounts greater-than-or-equal to the
element type's bit-length, essentially saturating the shift amount to
the bit-length. However, the IR instructions consider this undefined
behaviour that results in poison. To account for this we now ignore the
result of the simplifications that result in poison. This allows
existing code to be used to simplify the shifts but does mean:

1) We don't simplify cases like "svlsl_s32(x, splat(32)) => 0".
2) We no longer constant fold cases like "svadd(poison, X) => poison"

For (1) we'd need dedicated target specific combines anyway and the
result of (2) is not specified by the ACLE and replicating LLVM IR
behaviour might be confusing to ACLE writers.


  Commit: 730f4a1ab3b642aa0ce1c88a9a2f80efbbb33539
      https://github.com/llvm/llvm-project/commit/730f4a1ab3b642aa0ce1c88a9a2f80efbbb33539
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
    A mlir/test/Target/SPIRV/consecutive-selection.spv

  Log Message:
  -----------
  [mlir][spirv] Split header and merge block in `mlir.selection`s (#134875)

In the example below with the current code the first selection construct
(`if`/`else` in GLSL for simplicity) share its merge block with a header
block of the second construct.

```
bool _115;
if (_107)
{
    // ...
    _115 = _200 < _174;
}
else
{
    _115 = _107;
}
bool _123;
if (_115)
{
    // ...
    _123 = _213 < _174;
}
else
{
    _123 = _115;
}
```

This results in a malformed nesting of `mlir.selection` instructions
where one selection ends up inside a header block of another selection
construct. For example:

```
%61 = spirv.mlir.selection -> i1 {
  %80 = spirv.mlir.selection -> i1 {
    spirv.BranchConditional %60, ^bb1, ^bb2(%60 : i1)
  ^bb1:  // pred: ^bb0
    // ...
    spirv.Branch ^bb2(%101 : i1)
  ^bb2(%102: i1):  // 2 preds: ^bb0, ^bb1
    spirv.mlir.merge %102 : i1
  }
  spirv.BranchConditional %80, ^bb1, ^bb2(%80 : i1)
^bb1:  // pred: ^bb0
  // ...
  spirv.Branch ^bb2(%90 : i1)
^bb2(%91: i1):  // 2 preds: ^bb0, ^bb1
  spirv.mlir.merge %91 : i1
}
```

This change ensures that the merge block of one selection is not a
header block of another, splitting blocks if necessary. The existing
block splitting mechanism is updated to handle this case.


  Commit: 1180740ced0218865577a09c9245f035e443a6f0
      https://github.com/llvm/llvm-project/commit/1180740ced0218865577a09c9245f035e443a6f0
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    R libclc/generic/include/clc/integer/integer-gentype.inc

  Log Message:
  -----------
  [libclc][NFC] Remove unused integer-gentype.inc

This is presumably replaced with uses of integer/gentype.inc.


  Commit: 5b20b5721a0623bad51c9d3734b47842ee921ee3
      https://github.com/llvm/llvm-project/commit/5b20b5721a0623bad51c9d3734b47842ee921ee3
  Author: Gergely Bálint <50703923+bgergely0 at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M bolt/docs/BinaryAnalysis.md
    M bolt/lib/Core/BinaryFunction.cpp

  Log Message:
  -----------
  [BOLT][AArch64] Allow binary-analysis and heatmap tool to run with pac-ret binaries (#136664)

OpNegateRAState support is only needed for tools that produce binaries.


  Commit: 3b12bac6d1b3ac8aa4b465abe5adec8110025fac
      https://github.com/llvm/llvm-project/commit/3b12bac6d1b3ac8aa4b465abe5adec8110025fac
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll

  Log Message:
  -----------
  [LLVM][Reassociate] Extend ConvertShiftToMul to allow for ConstantInt vectors. (#137340)

This has the side effect of fixing the FIXME for when
use-constant-int-for-fixed-length-splat becomes the default.


  Commit: de6d010f4e3fbfdb54e257c496c16db30c6c0d91
      https://github.com/llvm/llvm-project/commit/de6d010f4e3fbfdb54e257c496c16db30c6c0d91
  Author: Jorn Tuyls <jtuyls at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/docs/DefiningDialects/AttributesAndTypes.md
    A mlir/test/IR/custom-struct-attr-roundtrip.mlir
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/mlir-tblgen/attr-or-type-format-invalid.td
    M mlir/test/mlir-tblgen/attr-or-type-format.td
    M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.h
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp

  Log Message:
  -----------
  [mlir][tblgen] Add custom parsing and printing within struct (#133939)

This PR extends the `struct` directive in tablegen to support nested
`custom` directives. Note that this assumes/verifies that that `custom`
directive has a single parameter.

This enables defining custom field parsing and printing functions if the
`struct` directive doesn't suffice. There is some existing potential
downstream usage for it:
https://github.com/openxla/stablehlo/blob/a3c7de92425e8035437dae67ab2318a82eca79a1/stablehlo/dialect/StablehloOps.cpp#L3102


  Commit: 0d6c9f32735a71812208f92eb640ae88a089a930
      https://github.com/llvm/llvm-project/commit/0d6c9f32735a71812208f92eb640ae88a089a930
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/unittests/ADT/ArrayRefTest.cpp

  Log Message:
  -----------
  [ArrayRefTest] Use plain array instead of std::array in unit tests.

std::array<> doesn't seem to decay to plain pointers on some MSVC
versions, causing windows build failures after 101fd87f98c9.

Use plain arrays to fix windows builds, including
https://lab.llvm.org/buildbot/#/builders/2/builds/22803


  Commit: f1248d6347a3d013c82ec34d27a09e9dcdbce44e
      https://github.com/llvm/llvm-project/commit/f1248d6347a3d013c82ec34d27a09e9dcdbce44e
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn

  Log Message:
  -----------
  [gn] fix minor mistake from 3e523502a159


  Commit: 6feb4a8ef4d1e2fc899092fb3f90f11a2d86eccb
      https://github.com/llvm/llvm-project/commit/6feb4a8ef4d1e2fc899092fb3f90f11a2d86eccb
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Type.h
    M llvm/lib/IR/Type.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/test/Assembler/2004-11-28-InvalidTypeCrash.ll
    M llvm/test/Assembler/2005-05-05-OpaqueUndefValues.ll
    M llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
    M llvm/test/CodeGen/WebAssembly/externref-unsized-load.ll
    M llvm/test/CodeGen/WebAssembly/externref-unsized-store.ll
    M llvm/test/CodeGen/X86/cfguard-x86-64-vectorcall.ll
    M llvm/test/CodeGen/X86/cfguard-x86-vectorcall.ll
    R llvm/test/Linker/Inputs/pr22807-1.ll
    R llvm/test/Linker/Inputs/pr22807-2.ll
    A llvm/test/Linker/Inputs/pr22807.ll
    M llvm/test/Linker/Inputs/type-unique-opaque.ll
    M llvm/test/Linker/intrinsics-with-unnamed-types.ll
    M llvm/test/Linker/pr22807.ll
    M llvm/test/Linker/type-unique-opaque.ll
    M llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
    M llvm/test/ThinLTO/X86/import_opaque_type.ll
    M llvm/test/Transforms/InstSimplify/gv-alloca-cmp.ll
    M llvm/test/Transforms/Reg2Mem/non-token-test.ll
    M llvm/test/Verifier/memset-pattern-unsized.ll
    M llvm/test/Verifier/nofpclass.ll
    M llvm/test/Verifier/unsized-types-load.ll
    M llvm/test/Verifier/unsized-types-store.ll
    M llvm/unittests/FuzzMutate/OperationsTest.cpp

  Log Message:
  -----------
  [IR] Don't allow values of opaque type (#137625)

Consider opaque types as non-first-class types, i.e. do not allow SSA
values to have opaque type.


  Commit: 0ba136147814cb8bc19dfa1712dad3a25b3ae27a
      https://github.com/llvm/llvm-project/commit/0ba136147814cb8bc19dfa1712dad3a25b3ae27a
  Author: Alan Li <me at alanli.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
    M mlir/test/Dialect/GPU/subgroupId-rewrite.mlir

  Log Message:
  -----------
  [MLIR][GPU] Use arith instead of index for subgroup_id (#137843)

Trying to simplify situation by using `arith` dialect instead of `index`
in the rewriting of `gpu.subgroup_id`.


  Commit: e87aaaf3274d721bf338012f5b299e65b0201fc5
      https://github.com/llvm/llvm-project/commit/e87aaaf3274d721bf338012f5b299e65b0201fc5
  Author: Kip Hamiltons <48076495+KipHamiltons at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Minor editorial fixes (#137782)


  Commit: fa7e69561c86f898537b80787250ba6673d810ff
      https://github.com/llvm/llvm-project/commit/fa7e69561c86f898537b80787250ba6673d810ff
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gn

  Log Message:
  -----------
  [gn] Make RISCV/MCTargetDesc depend on RISCV/TargetInfo

RISCVMCTargetDesc.cpp calls getTheRISCV{32,64}Target(), which is in TargetInfo.
Looks like this dependency has been missing for a long time.


  Commit: e66eb836e67f2fb0e92b62029f779dad49f5b22b
      https://github.com/llvm/llvm-project/commit/e66eb836e67f2fb0e92b62029f779dad49f5b22b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/clang/unittests/Frontend/BUILD.gn

  Log Message:
  -----------
  [gn] Make FrontendTests depend on AllTargetsDescs

The CMake build merged most clang unittests into a single binary.
The gn build doesn't (yet?) do this, but as part of that change,
FrontendTests somehow picked up a dependency on AllTargetsDescs,
see https://github.com/llvm/llvm-project/pull/134196#discussion_r2068617059


  Commit: 976493822443c52a71ed3c67aaca9a555b20c55d
      https://github.com/llvm/llvm-project/commit/976493822443c52a71ed3c67aaca9a555b20c55d
  Author: Anchu Rajendran S <asudhaku at amd.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [llvm][mlir] Adding instrument function entry and instrument function exit attributes (#137856)


  Commit: 132f7867ff8fa42a62e8ef965cb69acf5d09452c
      https://github.com/llvm/llvm-project/commit/132f7867ff8fa42a62e8ef965cb69acf5d09452c
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/lib/Pass/IRPrinting.cpp
    M mlir/test/Pass/ir-printing-file-tree.mlir

  Log Message:
  -----------
  [mlir] Fix `--mlir-print-ir-tree-dir` when the symbol name contains `/` (or `\` on windows) (#137686)

Fixes #137622


  Commit: 01e029602a8ae860852ad2dd8c6ea347c9200066
      https://github.com/llvm/llvm-project/commit/01e029602a8ae860852ad2dd8c6ea347c9200066
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def

  Log Message:
  -----------
  [clang] Temporarily silence noisy warning for FPEvalMethod

See https://github.com/llvm/llvm-project/issues/137600#issuecomment-2842011513


  Commit: 349dc34b461a4df6eca4443f5935366cde4508bd
      https://github.com/llvm/llvm-project/commit/349dc34b461a4df6eca4443f5935366cde4508bd
  Author: Iris Shi <0.0 at owo.li>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/ConstraintElimination/abs.ll
    A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll

  Log Message:
  -----------
  [ConstraintElim] Fix poison check before adding intrinsic facts (#136291)


  Commit: a5fef2aff8f6a86e329fe81ad8db90674fe8f079
      https://github.com/llvm/llvm-project/commit/a5fef2aff8f6a86e329fe81ad8db90674fe8f079
  Author: Steven Perron <stevenperron at google.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll

  Log Message:
  -----------
  [SPIRV] Fix test with VK1.3 validation (#137633)

An update to the spirv validator is now correctly rejecting vulkan
shaders with the linkage capability. We have a couple tests that need
updating to remove the capability.

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


  Commit: b54b3e81f28c7ead02e6a29274ad03088a70a988
      https://github.com/llvm/llvm-project/commit/b54b3e81f28c7ead02e6a29274ad03088a70a988
  Author: Iris Shi <0.0 at owo.li>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll

  Log Message:
  -----------
  Recommit "[ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)" (#136467)


  Commit: 1a14ef1c89bf4632bf25a959142770f190dcaaf1
      https://github.com/llvm/llvm-project/commit/1a14ef1c89bf4632bf25a959142770f190dcaaf1
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.h

  Log Message:
  -----------
  [clang] Temporarily silence noisy warning for FPEvalMethod in another place

When adding an explicit default copy ctor and assignment operator,
clang emits the diag there, instead of for the class. That's narrow
enough that we can suppress the warning there too.

With this, it only files building a single file (CompilerInvocation.cpp).

See https://github.com/llvm/llvm-project/issues/137600#issuecomment-2842011513


  Commit: c626ef9b5fca9a822ac25b0de4b9b215cec4b9d5
      https://github.com/llvm/llvm-project/commit/c626ef9b5fca9a822ac25b0de4b9b215cec4b9d5
  Author: Dominik Steenken <dost at de.ibm.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
    M llvm/test/MC/SystemZ/machine-directive-invalid.s
    M llvm/test/MC/SystemZ/machine-directive.s

  Log Message:
  -----------
  [SystemZ] Implement .machine (push|pop) directives (#137302)

The `.machine push` and `.machine pop` directives were missing from the
SystemZ Backend Asm Parser. This PR adds them, and expands the
corresponding test to test proper operation.

Internally, this is modeled as a simple stack implemented on a
`SmallVector<StringRef>`.


  Commit: 1b7d8b2ee66672c5226f2a8d6b72b025070d9ede
      https://github.com/llvm/llvm-project/commit/1b7d8b2ee66672c5226f2a8d6b72b025070d9ede
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h

  Log Message:
  -----------
  [clang] prevent -Wunknown-warning-option with older clangs


  Commit: 6aafd5ef06599f3a7b60309dae2071dfa3f63697
      https://github.com/llvm/llvm-project/commit/6aafd5ef06599f3a7b60309dae2071dfa3f63697
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn

  Log Message:
  -----------
  [gn] Make Sparc/MCTargetDesc depend on Sparc/TargetInfo

Like fa7e69561c86f8, but for Sparc.


  Commit: 7495f92f08d5d621743d26c410e9b27d872af508
      https://github.com/llvm/llvm-project/commit/7495f92f08d5d621743d26c410e9b27d872af508
  Author: mssefat <42645939+mssefat at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/CodeGen/FinalizeISel.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/finalize-isel-kill-scc-vcc.mir
    M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll

  Log Message:
  -----------
  [AMDGPU] Fix undefined scc register in successor block of SI_KILL terminators (#134718)

Fix issue 131298 where an undefined $scc register causes verifier errors
when using SI_KILL_F32_COND_IMM_TERMINATOR instructions. The problem
occurs because the $scc register defined in a comparison before the kill
terminator is used in successor blocks, but was not properly marked as live-in.

This patch:
- Adds code to check if SCC is used in the successor block
- Adds SCC as a live-in to successor blocks
- Handles both explicit and implicit uses of SCC

With this patch the machine verifier no longer reports undefined $scc
errors in following kill terminator instruction.

Fixes #131298

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 7bc16a0f63c3f31762b97e5855932b769c4d3cf5
      https://github.com/llvm/llvm-project/commit/7bc16a0f63c3f31762b97e5855932b769c4d3cf5
  Author: Callum Fare <callum at codeplay.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/event/olDestroyEvent.cpp
    A offload/unittests/OffloadAPI/event/olWaitEvent.cpp

  Log Message:
  -----------
  [Offload] Adding missing Offload unit tests for event entry points (#137315)

A couple of liboffload entry points were missed out from the tests, and
unsurprisingly a crash in one of them made it in. Add the tests and fix
the unchecked error in `olDestroyEvent`.


  Commit: c2a62af2a51d58183bcd72ee8a86c37ddd526758
      https://github.com/llvm/llvm-project/commit/c2a62af2a51d58183bcd72ee8a86c37ddd526758
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h

  Log Message:
  -----------
  [clang] Another Wpreferred-type-bitfield-enum-conversion suppression fix!

If a compiler does not know `__has_warning`, it will of course complain
if it's used on the same line as the check for its presence. Put the use
in a separate line.

Should help e.g. https://lab.llvm.org/buildbot/#/builders/123/builds/18503


  Commit: e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
      https://github.com/llvm/llvm-project/commit/e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    A clang/test/Sema/attr-nonstring.c

  Log Message:
  -----------
  [C] Add diagnostic + attr for unterminated strings (#137829)

This introduces three things related to intialization like:

char buf[3] = "foo";

where the array does not declare enough space for the null terminator
but otherwise can represent the array contents exactly.

1) An attribute named 'nonstring' which can be used to mark that a
   field or variable is not intended to hold string data.

2) -Wunterminated-string-initialization, which is grouped under
   -Wextra, and diagnoses the above construct unless the declaration
   uses the 'nonstring' attribute.

3) -Wc++-unterminated-string-initialization, which is grouped under
   -Wc++-compat, and diagnoses the above construct even if the
   declaration uses the 'nonstring' attribute.

Fixes #137705


  Commit: 84a5435db63f43ec3f4abbb42eda2674dd35cda9
      https://github.com/llvm/llvm-project/commit/84a5435db63f43ec3f4abbb42eda2674dd35cda9
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseStmt.cpp
    A clang/test/Parser/gh137861.cpp

  Log Message:
  -----------
  Fix crash when an attribute is applied to pragma attribute/pragma dump (#137880)

These two don't result in a statement, so the attempt to apply the
attributes to them was crashing. This patch correctly prohibits the use
of attributes on these clauses.

Fixes: #137861


  Commit: 41647412c6a4091080fd47b0f554adc5c54b4b54
      https://github.com/llvm/llvm-project/commit/41647412c6a4091080fd47b0f554adc5c54b4b54
  Author: zhijian lin <zhijian at ca.ibm.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    A llvm/test/CodeGen/PowerPC/usubo_carry.ll

  Log Message:
  -----------
  [PowerPC] Fix an LowerADDSUBO_CARRY error when converting carry bit for usubo_carry (#137809)

In PowerPC, if a borrow occurs during a subtraction, the carry bit is
zero (unset). The carry bit is set if no borrow occurs.

For ISD::USUBO_CARRY, the nodes produce two results: the normal result
of the addition or subtraction, and a boolean value that is 1 if and
only if there is an outgoing carry or borrow.

Therefore, we need to convert a 1 (which indicates a borrow in
ISD::USUBO_CARRY) to 0 to match PowerPC's definition of borrow.
Similarly, we need to convert a 0 (no borrow in ISD::USUBO_CARRY) to 1
for PowerPC.

To perform this conversion, we use XOR 1 instead of XOR
DAG.getAllOnesConstant(DL, CarryOp.getValueType()).

`


  Commit: 721c5cc327e30edbdd6cf14348ec076c79079125
      https://github.com/llvm/llvm-project/commit/721c5cc327e30edbdd6cf14348ec076c79079125
  Author: Igor Wodiany <igor.wodiany at imgtec.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/docs/Dialects/SPIR-V.md
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
    M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
    M mlir/test/Target/SPIRV/loop.mlir

  Log Message:
  -----------
  [mlir][spirv] Allow yielding values from loop regions (#135344)

This change extends `spirv.mlir.loop` so it can yield values, the same
as `spirv.mlir.selection`.


  Commit: f5c8c1eedb44861cda8885a04813de999ca9d18a
      https://github.com/llvm/llvm-project/commit/f5c8c1eedb44861cda8885a04813de999ca9d18a
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
    M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll

  Log Message:
  -----------
  [SLPVectorizer] Move X86 specific handling into X86TTIImpl. (#137830)

`ad9909d "[SLP]Fix perfect diamond match with extractelements in scalars" `
changed SLPVectorizer getScalarizationOverhead() to call
TTI.getVectorInstrCost() instead of TTI.getScalarizationOverhead() in some
cases. This was due to X86 specific handlings in these (overridden) methods,
and unfortunately the general preference of TTI.getScalarizationOverhead()
was dropped. If VL is available it should always be preferred to use
getScalarizationOverhead(), and this is indeed the case for SystemZ which
has a special insertion instruction that can insert two GPR64s.

Then ` 33af951 "[SLP]Synchronize cost of gather/buildvector nodes with
codegen"` reworked SLPVectorizer getGatherCost() which together with
ad9909d caused the SystemZ test vec-elt-insertion.ll to fail.

This patch restores the SystemZ test and reverts the change in SLPVectorizer
getScalarizationOverhead() so that TTI.getScalarizationOverhead() is always
called again. The ForPoisonSrc argument is now passed on to the TTI method
so that X86 can handle this as required.

Fixes: #135346


  Commit: 75f040ab3e119e0ee87963ec9d2a01b1e6d4039e
      https://github.com/llvm/llvm-project/commit/75f040ab3e119e0ee87963ec9d2a01b1e6d4039e
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M libclc/clc/include/clc/common/clc_degrees.h
    M libclc/clc/include/clc/common/clc_radians.h
    M libclc/clc/include/clc/common/clc_sign.h
    M libclc/clc/include/clc/common/clc_smoothstep.h
    M libclc/clc/include/clc/integer/clc_add_sat.h
    M libclc/clc/include/clc/integer/clc_clz.h
    M libclc/clc/include/clc/integer/clc_ctz.h
    M libclc/clc/include/clc/integer/clc_hadd.h
    M libclc/clc/include/clc/integer/clc_mad24.h
    M libclc/clc/include/clc/integer/clc_mad_sat.h
    M libclc/clc/include/clc/integer/clc_mul24.h
    M libclc/clc/include/clc/integer/clc_mul_hi.h
    M libclc/clc/include/clc/integer/clc_rhadd.h
    M libclc/clc/include/clc/integer/clc_rotate.h
    M libclc/clc/include/clc/integer/clc_sub_sat.h
    M libclc/clc/include/clc/internal/math/clc_sw_fma.h
    M libclc/clc/include/clc/math/clc_acos.h
    M libclc/clc/include/clc/math/clc_acosh.h
    M libclc/clc/include/clc/math/clc_acospi.h
    M libclc/clc/include/clc/math/clc_asin.h
    M libclc/clc/include/clc/math/clc_asinh.h
    M libclc/clc/include/clc/math/clc_asinpi.h
    M libclc/clc/include/clc/math/clc_atan.h
    M libclc/clc/include/clc/math/clc_atan2.h
    M libclc/clc/include/clc/math/clc_atan2pi.h
    M libclc/clc/include/clc/math/clc_atanh.h
    M libclc/clc/include/clc/math/clc_atanpi.h
    M libclc/clc/include/clc/math/clc_cbrt.inc
    M libclc/clc/include/clc/math/clc_ceil.h
    M libclc/clc/include/clc/math/clc_copysign.h
    M libclc/clc/include/clc/math/clc_cosh.h
    M libclc/clc/include/clc/math/clc_cospi.h
    M libclc/clc/include/clc/math/clc_exp.h
    M libclc/clc/include/clc/math/clc_exp10.h
    M libclc/clc/include/clc/math/clc_exp2.h
    M libclc/clc/include/clc/math/clc_exp_helper.h
    M libclc/clc/include/clc/math/clc_expm1.h
    M libclc/clc/include/clc/math/clc_fabs.h
    M libclc/clc/include/clc/math/clc_fdim.h
    M libclc/clc/include/clc/math/clc_floor.h
    M libclc/clc/include/clc/math/clc_fma.h
    M libclc/clc/include/clc/math/clc_fmax.h
    M libclc/clc/include/clc/math/clc_fmin.h
    M libclc/clc/include/clc/math/clc_fmod.h
    M libclc/clc/include/clc/math/clc_fract.h
    M libclc/clc/include/clc/math/clc_frexp.h
    M libclc/clc/include/clc/math/clc_hypot.h
    M libclc/clc/include/clc/math/clc_lgamma.h
    M libclc/clc/include/clc/math/clc_lgamma_r.h
    M libclc/clc/include/clc/math/clc_log.h
    M libclc/clc/include/clc/math/clc_log10.h
    M libclc/clc/include/clc/math/clc_log1p.h
    M libclc/clc/include/clc/math/clc_log2.h
    M libclc/clc/include/clc/math/clc_mad.h
    M libclc/clc/include/clc/math/clc_modf.h
    M libclc/clc/include/clc/math/clc_nan.h
    M libclc/clc/include/clc/math/clc_native_cos.h
    M libclc/clc/include/clc/math/clc_native_divide.h
    M libclc/clc/include/clc/math/clc_native_exp.h
    M libclc/clc/include/clc/math/clc_native_exp10.h
    M libclc/clc/include/clc/math/clc_native_exp2.h
    M libclc/clc/include/clc/math/clc_native_log.h
    M libclc/clc/include/clc/math/clc_native_log10.h
    M libclc/clc/include/clc/math/clc_native_log2.h
    M libclc/clc/include/clc/math/clc_native_powr.h
    M libclc/clc/include/clc/math/clc_native_recip.h
    M libclc/clc/include/clc/math/clc_native_rsqrt.h
    M libclc/clc/include/clc/math/clc_native_sin.h
    M libclc/clc/include/clc/math/clc_native_sqrt.h
    M libclc/clc/include/clc/math/clc_native_tan.h
    M libclc/clc/include/clc/math/clc_nextafter.h
    M libclc/clc/include/clc/math/clc_pow.h
    M libclc/clc/include/clc/math/clc_pown.h
    M libclc/clc/include/clc/math/clc_powr.h
    M libclc/clc/include/clc/math/clc_remainder.h
    M libclc/clc/include/clc/math/clc_remquo.h
    M libclc/clc/include/clc/math/clc_rint.h
    M libclc/clc/include/clc/math/clc_rootn.h
    M libclc/clc/include/clc/math/clc_round.h
    M libclc/clc/include/clc/math/clc_rsqrt.h
    M libclc/clc/include/clc/math/clc_sincos_helpers.h
    M libclc/clc/include/clc/math/clc_sinh.h
    M libclc/clc/include/clc/math/clc_sinpi.h
    M libclc/clc/include/clc/math/clc_sqrt.h
    M libclc/clc/include/clc/math/clc_tanh.h
    M libclc/clc/include/clc/math/clc_tanpi.h
    M libclc/clc/include/clc/math/clc_tgamma.h
    M libclc/clc/include/clc/math/clc_trunc.h
    M libclc/clc/include/clc/relational/clc_bitselect.h
    M libclc/clc/include/clc/relational/clc_isfinite.h
    M libclc/clc/include/clc/relational/clc_isgreater.h
    M libclc/clc/include/clc/relational/clc_isgreaterequal.h
    M libclc/clc/include/clc/relational/clc_isless.h
    M libclc/clc/include/clc/relational/clc_islessequal.h
    M libclc/clc/include/clc/relational/clc_islessgreater.h
    M libclc/clc/include/clc/relational/clc_isnormal.h
    M libclc/clc/include/clc/relational/clc_isnotequal.h
    M libclc/clc/include/clc/relational/clc_isordered.h
    M libclc/clc/include/clc/relational/clc_isunordered.h
    M libclc/clc/include/clc/relational/clc_signbit.h
    M libclc/clc/lib/generic/math/clc_hypot.cl
    M libclc/clc/lib/generic/relational/clc_bitselect.cl
    M libclc/clspv/lib/shared/vstore_half.cl
    M libclc/generic/include/clc/async/async_work_group_copy.h
    M libclc/generic/include/clc/async/async_work_group_strided_copy.h
    M libclc/generic/include/clc/async/prefetch.h
    M libclc/generic/include/clc/common/degrees.h
    M libclc/generic/include/clc/common/radians.h
    M libclc/generic/include/clc/common/sign.h
    M libclc/generic/include/clc/common/smoothstep.h
    M libclc/generic/include/clc/common/step.h
    M libclc/generic/include/clc/integer/clz.h
    M libclc/generic/include/clc/integer/ctz.h
    M libclc/generic/include/clc/integer/hadd.h
    M libclc/generic/include/clc/integer/mad_hi.h
    M libclc/generic/include/clc/integer/mad_sat.h
    M libclc/generic/include/clc/integer/mul24.h
    M libclc/generic/include/clc/integer/mul_hi.h
    M libclc/generic/include/clc/integer/popcount.h
    M libclc/generic/include/clc/integer/rhadd.h
    M libclc/generic/include/clc/math/acos.h
    M libclc/generic/include/clc/math/acosh.h
    M libclc/generic/include/clc/math/acospi.h
    M libclc/generic/include/clc/math/asin.h
    M libclc/generic/include/clc/math/asinh.h
    M libclc/generic/include/clc/math/asinpi.h
    M libclc/generic/include/clc/math/atan.h
    M libclc/generic/include/clc/math/atan2.h
    M libclc/generic/include/clc/math/atan2pi.h
    M libclc/generic/include/clc/math/atanh.h
    M libclc/generic/include/clc/math/atanpi.h
    M libclc/generic/include/clc/math/cbrt.h
    M libclc/generic/include/clc/math/ceil.h
    M libclc/generic/include/clc/math/copysign.h
    M libclc/generic/include/clc/math/cos.h
    M libclc/generic/include/clc/math/cosh.h
    M libclc/generic/include/clc/math/cospi.h
    M libclc/generic/include/clc/math/erf.h
    M libclc/generic/include/clc/math/erfc.h
    M libclc/generic/include/clc/math/exp.h
    M libclc/generic/include/clc/math/exp10.h
    M libclc/generic/include/clc/math/exp2.h
    M libclc/generic/include/clc/math/expm1.h
    M libclc/generic/include/clc/math/fabs.h
    M libclc/generic/include/clc/math/fdim.h
    M libclc/generic/include/clc/math/floor.h
    M libclc/generic/include/clc/math/fma.h
    M libclc/generic/include/clc/math/fmax.h
    M libclc/generic/include/clc/math/fmin.h
    M libclc/generic/include/clc/math/half_cos.h
    M libclc/generic/include/clc/math/half_divide.h
    M libclc/generic/include/clc/math/half_exp.h
    M libclc/generic/include/clc/math/half_exp10.h
    M libclc/generic/include/clc/math/half_exp2.h
    M libclc/generic/include/clc/math/half_log.h
    M libclc/generic/include/clc/math/half_log10.h
    M libclc/generic/include/clc/math/half_log2.h
    M libclc/generic/include/clc/math/half_powr.h
    M libclc/generic/include/clc/math/half_recip.h
    M libclc/generic/include/clc/math/half_rsqrt.h
    M libclc/generic/include/clc/math/half_sin.h
    M libclc/generic/include/clc/math/half_sqrt.h
    M libclc/generic/include/clc/math/half_tan.h
    M libclc/generic/include/clc/math/hypot.h
    M libclc/generic/include/clc/math/ilogb.h
    M libclc/generic/include/clc/math/lgamma.h
    M libclc/generic/include/clc/math/lgamma_r.h
    M libclc/generic/include/clc/math/log.h
    M libclc/generic/include/clc/math/log10.h
    M libclc/generic/include/clc/math/log1p.h
    M libclc/generic/include/clc/math/log2.h
    M libclc/generic/include/clc/math/logb.h
    M libclc/generic/include/clc/math/mad.h
    M libclc/generic/include/clc/math/maxmag.h
    M libclc/generic/include/clc/math/minmag.h
    M libclc/generic/include/clc/math/native_cos.h
    M libclc/generic/include/clc/math/native_divide.h
    M libclc/generic/include/clc/math/native_exp.h
    M libclc/generic/include/clc/math/native_exp10.h
    M libclc/generic/include/clc/math/native_exp2.h
    M libclc/generic/include/clc/math/native_log.h
    M libclc/generic/include/clc/math/native_log10.h
    M libclc/generic/include/clc/math/native_log2.h
    M libclc/generic/include/clc/math/native_powr.h
    M libclc/generic/include/clc/math/native_recip.h
    M libclc/generic/include/clc/math/native_rsqrt.h
    M libclc/generic/include/clc/math/native_sin.h
    M libclc/generic/include/clc/math/native_sqrt.h
    M libclc/generic/include/clc/math/native_tan.h
    M libclc/generic/include/clc/math/nextafter.h
    M libclc/generic/include/clc/math/pow.h
    M libclc/generic/include/clc/math/pown.h
    M libclc/generic/include/clc/math/powr.h
    M libclc/generic/include/clc/math/rint.h
    M libclc/generic/include/clc/math/rootn.h
    M libclc/generic/include/clc/math/round.h
    M libclc/generic/include/clc/math/rsqrt.h
    M libclc/generic/include/clc/math/sin.h
    M libclc/generic/include/clc/math/sinh.h
    M libclc/generic/include/clc/math/sinpi.h
    M libclc/generic/include/clc/math/sqrt.h
    M libclc/generic/include/clc/math/tan.h
    M libclc/generic/include/clc/math/tanh.h
    M libclc/generic/include/clc/math/tanpi.h
    M libclc/generic/include/clc/math/tgamma.h
    M libclc/generic/include/clc/math/trunc.h
    M libclc/generic/include/clc/relational/bitselect.h
    M libclc/generic/include/clc/relational/isfinite.h
    M libclc/generic/include/clc/relational/isgreater.h
    M libclc/generic/include/clc/relational/isgreaterequal.h
    M libclc/generic/include/clc/relational/isless.h
    M libclc/generic/include/clc/relational/islessequal.h
    M libclc/generic/include/clc/relational/islessgreater.h
    M libclc/generic/include/clc/relational/isnormal.h
    M libclc/generic/include/clc/relational/isnotequal.h
    M libclc/generic/include/clc/relational/isordered.h
    M libclc/generic/include/clc/relational/isunordered.h
    M libclc/generic/include/clc/relational/signbit.h
    M libclc/generic/include/math/clc_tan.h
    M libclc/generic/lib/async/async_work_group_copy.cl
    M libclc/generic/lib/async/async_work_group_strided_copy.cl
    M libclc/generic/lib/async/prefetch.cl
    M libclc/generic/lib/shared/vload.cl
    M libclc/generic/lib/shared/vstore.cl

  Log Message:
  -----------
  [libclc] Clean up unnecessary #undef __CLC_BODYs (#137959)

This macro is automatically undefined by the various gentype-like
helpers.


  Commit: c26db586a06204a9e6f9912f41fce62a559a0196
      https://github.com/llvm/llvm-project/commit/c26db586a06204a9e6f9912f41fce62a559a0196
  Author: Prakhar Dixit <dixitprakhar11 at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir

  Log Message:
  -----------
  [mlir][affine] Modify assertion into a user visible diagnostic (#136474)

Fixes  #122227
The loop’s induction variable (%i) is used to compute two different
indices via affine.apply.
And the Vectorization Assumption is Violated i.e, Each vectorized loop
should contribute at most one non-invariant index.

**Minimal example crashing :**

```
#map = affine_map<(d0)[s0] -> (d0 mod s0)>
#map1 = affine_map<(d0)[s0] -> (d0 floordiv s0)>

func.func @single_loop_unrolling_2D_access_pattern(%arg0: index) -> memref<2x2xf32> {
  %c2 = arith.constant 2 : index
  %cst = arith.constant 1.0 : f32
  %alloc = memref.alloc() : memref<2x2xf32>

    affine.for %i = 0 to 4 {
      %row = affine.apply #map1(%i)[%c2]  
      %col = affine.apply #map(%i)[%c2]  
      affine.store %cst, %alloc[%row, %col] : memref<2x2xf32>
    }

    return %alloc : memref<2x2xf32>
  }
```
  
The single loop %i contributes two indices (%row and %col) to the 2D
memref access.

The permutation map expects one index per vectorized loop dimension, but
here one loop (%i) maps to two indices (dim=0 and dim=1).

The code detects this when trying to assign the second index (dim=1) to
the same vector dimension (perm[0]).


  Commit: a8607063f32a14a6cf453c84edcb21d08f517f25
      https://github.com/llvm/llvm-project/commit/a8607063f32a14a6cf453c84edcb21d08f517f25
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M flang-rt/lib/runtime/character.cpp
    M flang-rt/unittests/Runtime/CharacterTest.cpp

  Log Message:
  -----------
  [flang-rt] Simplify INDEX with len-1 SUBSTRING. (#137889)

The len-1 case is noticeably slower than gfortran's straightforward
implementation
https://github.com/gcc-mirror/gcc/blob/075611b646e5554ae02b2622061ea1614bf16ead/libgfortran/intrinsics/string_intrinsics_inc.c#L253
This change speeds up a simple microkernel by 37% on icelake.


  Commit: f91a6e6dab44a7eacee2312f955b6e28cb227900
      https://github.com/llvm/llvm-project/commit/f91a6e6dab44a7eacee2312f955b6e28cb227900
  Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll

  Log Message:
  -----------
  [SCEV] Reject comparision of pointers to different address spaces in SCEVWrapPredicate::implies (#137935)


  Commit: 8836bce84208737f5807c396345a41e688d3ec11
      https://github.com/llvm/llvm-project/commit/8836bce84208737f5807c396345a41e688d3ec11
  Author: Asher Mancinelli <ashermancinelli at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M flang/docs/FortranStandardsSupport.md
    M flang/docs/ReleaseNotes.md
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/test/Fir/cse.fir
    A flang/test/Fir/volatile.fir
    A flang/test/Fir/volatile2.fir
    A flang/test/HLFIR/volatile.fir
    A flang/test/Lower/volatile-openmp.f90
    A flang/test/Lower/volatile-string.f90
    A flang/test/Lower/volatile1.f90
    A flang/test/Lower/volatile2.f90
    A flang/test/Lower/volatile3.f90
    A flang/test/Lower/volatile4.f90

  Log Message:
  -----------
  [flang] Add lowering of volatile references (#132486)

[RFC on
discourse](https://discourse.llvm.org/t/rfc-volatile-representation-in-flang/85404/1)

Flang currently lacks support for volatile variables. For some cases,
the compiler produces TODO error messages and others are ignored. Some
of our tests are like the example from _C.4 Clause 8 notes: The VOLATILE
attribute (8.5.20)_ and require volatile variables.

Prior commits:
```
c9ec1bc753b0 [flang] Handle volatility in lowering and codegen (#135311)
e42f8609858f [flang][nfc] Support volatility in Fir ops (#134858)
b2711e1526f9 [flang][nfc] Support volatile on ref, box, and class types (#134386)
```


  Commit: 0e9fb5202ce2c1e3cc43436dd4c4b8cd57fa1cef
      https://github.com/llvm/llvm-project/commit/0e9fb5202ce2c1e3cc43436dd4c4b8cd57fa1cef
  Author: enh-google <enh at google.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M libc/test/src/search/lsearch_test.cpp

  Log Message:
  -----------
  [libc] lsearch_test.cpp: put helpers in anonymous namespace. (#137964)


  Commit: bad8bf56d3e4f107423b307f5f75564296703a76
      https://github.com/llvm/llvm-project/commit/bad8bf56d3e4f107423b307f5f75564296703a76
  Author: James Newling <james.newling at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] Linearization: push 'bit width' logic out of patterns (#136581)

[NFC]
Vector linearization is a collection of rewrite patterns that reduce the
rank of vector operands and results.

In https://github.com/llvm/llvm-project/pull/83314 an option to ignore
(make 'legal') operations with large inner-most dimensions was added.
This current PR is a step towards making that option live outside of
upstream MLIR. The motivation is to remove non-core functionality (I
would like to use this pass, but would prefer not to deal with
'targetVectorBitWidth` at all).

As a follow-up to this PR, I propose that user(s) of the
`targetVectorBitWidth` move the relevant code (now in
mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp) to their code
bases, and then eventually remove it from upstream. In addition the tests need to
split out (I've intentionally not modified the lit tests here, to make
it easier to confirm that this is a NFC). I'm happy to help make it
easier to do this final step!

The approach I've used is to move the logic pertaining to
`targetVectorBitWidth` out the patterns, and into the conversion target,
which the end user can control outside of core MLIR.


  Commit: d7f096e3fe611ae2cc7403c3cf2f88255a47b61d
      https://github.com/llvm/llvm-project/commit/d7f096e3fe611ae2cc7403c3cf2f88255a47b61d
  Author: Morris Hafner <mmha at users.noreply.github.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    A clang/test/CIR/IR/ternary.cir
    A clang/test/CIR/Lowering/ternary.cir
    A clang/test/CIR/Transforms/ternary.cir

  Log Message:
  -----------
  [CIR] Upstream TernaryOp (#137184)

This patch adds TernaryOp to CIR plus a pass that flattens the operator
in FlattenCFG.

This is the first PR out of (probably) 3 wrt. TernaryOp. I split the
patches up to make reviewing them easier. As such, this PR is only about
adding the CIR operation. The next PR will be about the CodeGen bits
from the C++ conditional operator and the final one will add the
cir-simplify transform for TernaryOp and SelectOp.

---------

Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>


  Commit: 0bd992a8d7193e15191f14a4bd39fd4dd181dbdb
      https://github.com/llvm/llvm-project/commit/0bd992a8d7193e15191f14a4bd39fd4dd181dbdb
  Author: Peter Rong <peterrong96 at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/Mangle.h
    M clang/lib/AST/Mangle.cpp

  Log Message:
  -----------
  [clang AST] move mangling API to namespace clang to allow calls from swift-frontend (#137884)

When implementing `@objcDirect` in Swift, Swift needs to mangle a native
`Decl` that is not a clang Node, which in turn don't have access to
`clang::MangleContext`. Reimplementing mangling logic in Swift is
redundant.

This patch moves mangling logic from `clang::MangleContext` to `clang`
using only basic types (`StringRef`, `std::optional`, etc.), such that
Swift can we can just call Clang API: Swift depends on Clang already.

We are separating this from #126639 so we can draft the proposal on the
Swift side. #126639 will be worked to depend on this PR.

Tests: No new tests, old ones should pass with no problem.

---------

Signed-off-by: Peter Rong <PeterRong at meta.com>


  Commit: ea3959e841367ef691472ccf78ec25252dbfe288
      https://github.com/llvm/llvm-project/commit/ea3959e841367ef691472ccf78ec25252dbfe288
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir

  Log Message:
  -----------
  [MLIR][Arith] Add ValueBoundsOpInterface for FloorDivSI (#137879)

Enables value bounds inference through signed division operations.


  Commit: 8e4dd21e6362ca161b7fda4fe7c5fa20f72ffab2
      https://github.com/llvm/llvm-project/commit/8e4dd21e6362ca161b7fda4fe7c5fa20f72ffab2
  Author: Finn Plummer <canadienfinn at gmail.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
    M clang/lib/Lex/LexHLSLRootSignature.cpp
    M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp

  Log Message:
  -----------
  [HLSL][RootSignature] Add lexing support for floating points (#137720)

- this takes care to add support to match the [behaviour of
DXC](https://github.com/microsoft/DirectXShaderCompiler/blob/34b6d0f91e6afd523bdc574836093f021713cce7/tools/clang/lib/Parse/HLSLRootSignature.cpp#L74)
acceptable floating point integers

Namely:
- Allow for specifying the decimal '.'
- Allow for specifying exponents with 'e' or 'E' and allow for 'f' to
denote an otherwise interpreted integer as a float

This pr is simply responsible of creating a token that could be
interpeted as a floating point integer by `NumericLiteralParser`. As
such, we are not required to validate that the special characters only
occur once and that 'f' is only at the end of the string. These will be
validated when invoking `NumericLiteralParser` during parsing.

Resolves #126565


  Commit: 6274cdb9a6714908c8a4e30d2ef0bf22a6949065
      https://github.com/llvm/llvm-project/commit/6274cdb9a6714908c8a4e30d2ef0bf22a6949065
  Author: Prabhu Rajasekaran <prabhukr at google.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/TargetOSMacros.def
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Preprocessor/init.c

  Log Message:
  -----------
  [clang] Fix UEFI Target info (#127290)

For X64 UEFI targets set appropriate integer type sizes, and relevant
ABI information. 

---------

Co-authored-by: Petr Hosek <phosek at google.com>


  Commit: ff8fc5bc45c166d686e485b306fdcdadd5b02637
      https://github.com/llvm/llvm-project/commit/ff8fc5bc45c166d686e485b306fdcdadd5b02637
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/test/Shell/lit.site.cfg.py.in

  Log Message:
  -----------
  [lldb][cmake] Add clang resource dir to LLDB shell tests config (#136761)

We want to be able to access the Clang resources directory in LLDB shell
tests, this commit adds the ability to do this by populating the
`CLANG_RESOURCE_DIR` variable in LLDBConfig.cmake.


  Commit: 88b03aafdbda85355b1522bc8ddbf8b5db8fb2b0
      https://github.com/llvm/llvm-project/commit/88b03aafdbda85355b1522bc8ddbf8b5db8fb2b0
  Author: Matthias Braun <matze at braunis.de>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_mc_test_checks.py
    M llvm/utils/update_mca_test_checks.py
    M llvm/utils/update_mir_test_checks.py
    M llvm/utils/update_test_checks.py

  Log Message:
  -----------
  Change update_xxx_checks to continue on error when processing mutliple inputs (#137728)

Change llvm/utils/update_xxx_checks.py scripts to:

Catch exceptions individually for each test. On exception print which
test triggered the exception and continue with the remaining test
updates.


  Commit: 2cd829fc2c63c7b93fa1c65f65f6d92f854ffcb7
      https://github.com/llvm/llvm-project/commit/2cd829fc2c63c7b93fa1c65f65f6d92f854ffcb7
  Author: Luke Lau <luke at igalia.com>
  Date:   2025-05-01 (Thu, 01 May 2025)

  Changed paths:
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    A llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll

  Log Message:
  -----------
  [VectorUtils][VPlan] Consolidate VPWidenIntrinsicRecipe::onlyFirstLaneUsed and isVectorIntrinsicWithScalarOpAtArg (#137497)

We can reuse isVectorIntrinsicWithScalarOpAtArg in VectorUtils to
determine if only the first lane will be used for a
VPWidenIntrinsicRecipe, provided that we also move the VP EVL operand
check into it.

This was needed by a local patch I was working on that created a
VPWidenIntrinsicRecipe with a VP intrinsic, and prevents the need to
update the scalar arguments in two places.


  Commit: 2a5ee2501d6249933b0dd4f81a4ec56e146b9669
      https://github.com/llvm/llvm-project/commit/2a5ee2501d6249933b0dd4f81a4ec56e146b9669
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/test/AST/HLSL/resource_binding_attr.hlsl
    M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
    M clang/test/SemaHLSL/resource_binding_implicit.hlsl

  Log Message:
  -----------
  [HLSL] Allow resource annotations to specify only register space (#135287)

Specifying only `space` in a `register` annotation means the compiler
should implicitly assign a register slot to the resource from the
provided virtual register space.

Closes #133346


  Commit: c02496901d979ddc7cd83aec34e408adba81e433
      https://github.com/llvm/llvm-project/commit/c02496901d979ddc7cd83aec34e408adba81e433
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn

  Log Message:
  -----------
  [gn] port ff8fc5bc45c1, kind of

This is probably the wrong value. Might have to tweak later.
But I think nobody is running these tests at the moment anyways.


  Commit: ee136383628290f7efa0fc4562beef2b411048bb
      https://github.com/llvm/llvm-project/commit/ee136383628290f7efa0fc4562beef2b411048bb
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/test/Analysis/KernelInfo/launch-bounds/amdgpu.ll
    M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
    M llvm/test/CodeGen/AMDGPU/addrspacecast-captured.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ceil.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-copysign.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp2.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fabs.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-floor.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fma.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log10.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log2.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-mad.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rint.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-round.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.sin.cos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.nobuiltins.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.weak.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-trunc.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-noclobber.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
    M llvm/test/CodeGen/AMDGPU/copy-hoist-no-spills.ll
    M llvm/test/CodeGen/AMDGPU/diverge-switch-default.ll
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
    M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
    M llvm/test/CodeGen/AMDGPU/extload-align.ll
    M llvm/test/CodeGen/AMDGPU/extra-sroa-after-unroll.ll
    M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
    M llvm/test/CodeGen/AMDGPU/loop-idiom.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/noop-shader-O0.ll
    M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/private-memory-r600.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
    M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/sroa-before-unroll.ll
    M llvm/test/CodeGen/AMDGPU/store-clobbers-load.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
    M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
    M llvm/test/CodeGen/AMDGPU/unroll.ll
    M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
    M llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll
    M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_constant_global_redzones.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_global_redzones.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_lds.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_scratch.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/global_metadata_addrspacecasts.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_lds_globals.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_scratch_globals.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
    M llvm/test/Transforms/IndVarSimplify/AMDGPU/no-widen-to-i64.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
    M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument-cost.ll
    M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/atomics.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-addressing-mode-loops.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-postinc-pos-addrspace.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/address-space-ptr-sze-gep-index-assert.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll

  Log Message:
  -----------
  [AMDGPU] Remove explicit datalayout from tests where not needed

Since e39f6c1844fab59c638d8059a6cf139adb42279a opt will infer the
correct datalayout when given a triple. Avoid explicitly specifying it
in tests that depend on the AMDGPU target being present to avoid the
string becoming out of sync with the TargetInfo value.
Only tests with REQUIRES: amdgpu-registered-target or a local lit.cfg
were updated to ensure that tests for non-target-specific passes that
happen to use the AMDGPU layout still pass when building with a limited
set of targets.

Reviewed By: shiltian, arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/137921


  Commit: a57847232f3b6d23c2d4d183be1964607140bf7b
      https://github.com/llvm/llvm-project/commit/a57847232f3b6d23c2d4d183be1964607140bf7b
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/aa-metadata.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/addrspace-7.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/dont-adjust-globalobj-alignment.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/insertion-point.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/interleaved-mayalias-store.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/invariant-load.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores-private.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/missing-alignment.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/multiple_tails.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/no-implicit-float.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/pointer-elements.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects-inseltpoison.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/store_with_aliasing_load.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/weird-type-accesses.ll

  Log Message:
  -----------
  [LoadStoreVectorizer] Remove more unnecessary data layouts from tests

The tests in this directory all depend on the AMDGPU target being
present so we can let opt infer the data layout.

Reviewed By: arsenm

Pull Request: https://github.com/llvm/llvm-project/pull/137924


  Commit: b02f2e80567af09576692554bc7ce048326dfd06
      https://github.com/llvm/llvm-project/commit/b02f2e80567af09576692554bc7ce048326dfd06
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M llvm/test/Transforms/GlobalOpt/global_alloca_diff_addrspaces.ll

  Log Message:
  -----------
  [GlobalOpt] Simplify datalayout for test

There is no need to have a full AMDGPU data layout here, we just need a
different alloca and globals address space.


  Commit: 05fad652cffb59ad798927a79b4eb9abf0b16cd3
      https://github.com/llvm/llvm-project/commit/05fad652cffb59ad798927a79b4eb9abf0b16cd3
  Author: Alex Richardson <alexrichardson at google.com>
  Date:   2025-04-30 (Wed, 30 Apr 2025)

  Changed paths:
    M bolt/docs/BinaryAnalysis.md
    M bolt/lib/Core/BinaryFunction.cpp
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Mangle.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/TargetOSMacros.def
    M clang/include/clang/CIR/Dialect/IR/CIROps.td
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
    M clang/lib/AST/Mangle.cpp
    M clang/lib/Analysis/ThreadSafety.cpp
    M clang/lib/Basic/Targets/X86.h
    M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Lex/LexHLSLRootSignature.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseStmt.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/AST/HLSL/resource_binding_attr.hlsl
    M clang/test/C/C2y/n3353.c
    A clang/test/CIR/IR/ternary.cir
    A clang/test/CIR/Lowering/ternary.cir
    A clang/test/CIR/Transforms/ternary.cir
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/OpenMP/irbuilder_nested_parallel_for.c
    M clang/test/OpenMP/nested_loop_codegen.cpp
    M clang/test/OpenMP/parallel_codegen.cpp
    A clang/test/Parser/gh137861.cpp
    M clang/test/Preprocessor/init.c
    A clang/test/Sema/attr-nonstring.c
    M clang/test/Sema/attr-ownership.c
    M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
    M clang/test/SemaHLSL/resource_binding_implicit.hlsl
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
    M flang-rt/README.md
    M flang-rt/lib/runtime/character.cpp
    M flang-rt/unittests/Runtime/CharacterTest.cpp
    M flang/CMakeLists.txt
    R flang/cmake/modules/AddFlangOffloadRuntime.cmake
    M flang/docs/FortranStandardsSupport.md
    M flang/docs/ReleaseNotes.md
    M flang/examples/CMakeLists.txt
    R flang/examples/ExternalHelloWorld/CMakeLists.txt
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/OpenMP/Passes.td
    M flang/lib/Evaluate/CMakeLists.txt
    M flang/lib/Frontend/CMakeLists.txt
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CMakeLists.txt
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/LowerNontemporal.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Parser/CMakeLists.txt
    M flang/lib/Semantics/CMakeLists.txt
    R flang/runtime/CMakeLists.txt
    R flang/runtime/CUDA/CMakeLists.txt
    R flang/runtime/Float128Math/CMakeLists.txt
    M flang/test/CMakeLists.txt
    M flang/test/Fir/basic-program.fir
    A flang/test/Fir/convert-nontemporal-to-llvm.fir
    M flang/test/Fir/cse.fir
    A flang/test/Fir/simd-nontemporal.fir
    A flang/test/Fir/volatile.fir
    A flang/test/Fir/volatile2.fir
    A flang/test/HLFIR/volatile.fir
    A flang/test/Lower/volatile-openmp.f90
    A flang/test/Lower/volatile-string.f90
    A flang/test/Lower/volatile1.f90
    A flang/test/Lower/volatile2.f90
    A flang/test/Lower/volatile3.f90
    A flang/test/Lower/volatile4.f90
    M flang/test/lit.cfg.py
    M flang/test/lit.site.cfg.py.in
    M flang/tools/f18/CMakeLists.txt
    M flang/unittests/CMakeLists.txt
    M flang/unittests/Evaluate/CMakeLists.txt
    R flang/unittests/Runtime/CMakeLists.txt
    R flang/unittests/Runtime/CUDA/CMakeLists.txt
    M libc/test/src/search/lsearch_test.cpp
    M libclc/clc/include/clc/common/clc_degrees.h
    M libclc/clc/include/clc/common/clc_radians.h
    M libclc/clc/include/clc/common/clc_sign.h
    M libclc/clc/include/clc/common/clc_smoothstep.h
    M libclc/clc/include/clc/integer/clc_add_sat.h
    M libclc/clc/include/clc/integer/clc_clz.h
    M libclc/clc/include/clc/integer/clc_ctz.h
    M libclc/clc/include/clc/integer/clc_hadd.h
    M libclc/clc/include/clc/integer/clc_mad24.h
    M libclc/clc/include/clc/integer/clc_mad_sat.h
    M libclc/clc/include/clc/integer/clc_mul24.h
    M libclc/clc/include/clc/integer/clc_mul_hi.h
    M libclc/clc/include/clc/integer/clc_rhadd.h
    M libclc/clc/include/clc/integer/clc_rotate.h
    M libclc/clc/include/clc/integer/clc_sub_sat.h
    M libclc/clc/include/clc/internal/math/clc_sw_fma.h
    M libclc/clc/include/clc/math/clc_acos.h
    M libclc/clc/include/clc/math/clc_acosh.h
    M libclc/clc/include/clc/math/clc_acospi.h
    M libclc/clc/include/clc/math/clc_asin.h
    M libclc/clc/include/clc/math/clc_asinh.h
    M libclc/clc/include/clc/math/clc_asinpi.h
    M libclc/clc/include/clc/math/clc_atan.h
    M libclc/clc/include/clc/math/clc_atan2.h
    M libclc/clc/include/clc/math/clc_atan2pi.h
    M libclc/clc/include/clc/math/clc_atanh.h
    M libclc/clc/include/clc/math/clc_atanpi.h
    M libclc/clc/include/clc/math/clc_cbrt.inc
    M libclc/clc/include/clc/math/clc_ceil.h
    M libclc/clc/include/clc/math/clc_copysign.h
    M libclc/clc/include/clc/math/clc_cosh.h
    M libclc/clc/include/clc/math/clc_cospi.h
    M libclc/clc/include/clc/math/clc_exp.h
    M libclc/clc/include/clc/math/clc_exp10.h
    M libclc/clc/include/clc/math/clc_exp2.h
    M libclc/clc/include/clc/math/clc_exp_helper.h
    M libclc/clc/include/clc/math/clc_expm1.h
    M libclc/clc/include/clc/math/clc_fabs.h
    M libclc/clc/include/clc/math/clc_fdim.h
    M libclc/clc/include/clc/math/clc_floor.h
    M libclc/clc/include/clc/math/clc_fma.h
    M libclc/clc/include/clc/math/clc_fmax.h
    M libclc/clc/include/clc/math/clc_fmin.h
    M libclc/clc/include/clc/math/clc_fmod.h
    M libclc/clc/include/clc/math/clc_fract.h
    M libclc/clc/include/clc/math/clc_frexp.h
    M libclc/clc/include/clc/math/clc_hypot.h
    M libclc/clc/include/clc/math/clc_lgamma.h
    M libclc/clc/include/clc/math/clc_lgamma_r.h
    M libclc/clc/include/clc/math/clc_log.h
    M libclc/clc/include/clc/math/clc_log10.h
    M libclc/clc/include/clc/math/clc_log1p.h
    M libclc/clc/include/clc/math/clc_log2.h
    M libclc/clc/include/clc/math/clc_mad.h
    M libclc/clc/include/clc/math/clc_modf.h
    M libclc/clc/include/clc/math/clc_nan.h
    M libclc/clc/include/clc/math/clc_native_cos.h
    M libclc/clc/include/clc/math/clc_native_divide.h
    M libclc/clc/include/clc/math/clc_native_exp.h
    M libclc/clc/include/clc/math/clc_native_exp10.h
    M libclc/clc/include/clc/math/clc_native_exp2.h
    M libclc/clc/include/clc/math/clc_native_log.h
    M libclc/clc/include/clc/math/clc_native_log10.h
    M libclc/clc/include/clc/math/clc_native_log2.h
    M libclc/clc/include/clc/math/clc_native_powr.h
    M libclc/clc/include/clc/math/clc_native_recip.h
    M libclc/clc/include/clc/math/clc_native_rsqrt.h
    M libclc/clc/include/clc/math/clc_native_sin.h
    M libclc/clc/include/clc/math/clc_native_sqrt.h
    M libclc/clc/include/clc/math/clc_native_tan.h
    M libclc/clc/include/clc/math/clc_nextafter.h
    M libclc/clc/include/clc/math/clc_pow.h
    M libclc/clc/include/clc/math/clc_pown.h
    M libclc/clc/include/clc/math/clc_powr.h
    M libclc/clc/include/clc/math/clc_remainder.h
    M libclc/clc/include/clc/math/clc_remquo.h
    M libclc/clc/include/clc/math/clc_rint.h
    M libclc/clc/include/clc/math/clc_rootn.h
    M libclc/clc/include/clc/math/clc_round.h
    M libclc/clc/include/clc/math/clc_rsqrt.h
    M libclc/clc/include/clc/math/clc_sincos_helpers.h
    M libclc/clc/include/clc/math/clc_sinh.h
    M libclc/clc/include/clc/math/clc_sinpi.h
    M libclc/clc/include/clc/math/clc_sqrt.h
    M libclc/clc/include/clc/math/clc_tanh.h
    M libclc/clc/include/clc/math/clc_tanpi.h
    M libclc/clc/include/clc/math/clc_tgamma.h
    M libclc/clc/include/clc/math/clc_trunc.h
    M libclc/clc/include/clc/relational/clc_bitselect.h
    M libclc/clc/include/clc/relational/clc_isfinite.h
    M libclc/clc/include/clc/relational/clc_isgreater.h
    M libclc/clc/include/clc/relational/clc_isgreaterequal.h
    M libclc/clc/include/clc/relational/clc_isless.h
    M libclc/clc/include/clc/relational/clc_islessequal.h
    M libclc/clc/include/clc/relational/clc_islessgreater.h
    M libclc/clc/include/clc/relational/clc_isnormal.h
    M libclc/clc/include/clc/relational/clc_isnotequal.h
    M libclc/clc/include/clc/relational/clc_isordered.h
    M libclc/clc/include/clc/relational/clc_isunordered.h
    M libclc/clc/include/clc/relational/clc_signbit.h
    M libclc/clc/lib/generic/math/clc_hypot.cl
    M libclc/clc/lib/generic/relational/clc_bitselect.cl
    M libclc/clspv/lib/shared/vstore_half.cl
    M libclc/generic/include/clc/async/async_work_group_copy.h
    M libclc/generic/include/clc/async/async_work_group_strided_copy.h
    R libclc/generic/include/clc/async/gentype.inc
    M libclc/generic/include/clc/async/prefetch.h
    M libclc/generic/include/clc/common/degrees.h
    M libclc/generic/include/clc/common/radians.h
    M libclc/generic/include/clc/common/sign.h
    M libclc/generic/include/clc/common/smoothstep.h
    M libclc/generic/include/clc/common/step.h
    M libclc/generic/include/clc/integer/clz.h
    M libclc/generic/include/clc/integer/ctz.h
    M libclc/generic/include/clc/integer/hadd.h
    R libclc/generic/include/clc/integer/integer-gentype.inc
    M libclc/generic/include/clc/integer/mad_hi.h
    M libclc/generic/include/clc/integer/mad_sat.h
    M libclc/generic/include/clc/integer/mul24.h
    M libclc/generic/include/clc/integer/mul_hi.h
    M libclc/generic/include/clc/integer/popcount.h
    M libclc/generic/include/clc/integer/rhadd.h
    M libclc/generic/include/clc/math/acos.h
    M libclc/generic/include/clc/math/acosh.h
    M libclc/generic/include/clc/math/acospi.h
    M libclc/generic/include/clc/math/asin.h
    M libclc/generic/include/clc/math/asinh.h
    M libclc/generic/include/clc/math/asinpi.h
    M libclc/generic/include/clc/math/atan.h
    M libclc/generic/include/clc/math/atan2.h
    M libclc/generic/include/clc/math/atan2pi.h
    M libclc/generic/include/clc/math/atanh.h
    M libclc/generic/include/clc/math/atanpi.h
    M libclc/generic/include/clc/math/cbrt.h
    M libclc/generic/include/clc/math/ceil.h
    M libclc/generic/include/clc/math/copysign.h
    M libclc/generic/include/clc/math/cos.h
    M libclc/generic/include/clc/math/cosh.h
    M libclc/generic/include/clc/math/cospi.h
    M libclc/generic/include/clc/math/erf.h
    M libclc/generic/include/clc/math/erfc.h
    M libclc/generic/include/clc/math/exp.h
    M libclc/generic/include/clc/math/exp10.h
    M libclc/generic/include/clc/math/exp2.h
    M libclc/generic/include/clc/math/expm1.h
    M libclc/generic/include/clc/math/fabs.h
    M libclc/generic/include/clc/math/fdim.h
    M libclc/generic/include/clc/math/floor.h
    M libclc/generic/include/clc/math/fma.h
    M libclc/generic/include/clc/math/fmax.h
    M libclc/generic/include/clc/math/fmin.h
    M libclc/generic/include/clc/math/half_cos.h
    M libclc/generic/include/clc/math/half_divide.h
    M libclc/generic/include/clc/math/half_exp.h
    M libclc/generic/include/clc/math/half_exp10.h
    M libclc/generic/include/clc/math/half_exp2.h
    M libclc/generic/include/clc/math/half_log.h
    M libclc/generic/include/clc/math/half_log10.h
    M libclc/generic/include/clc/math/half_log2.h
    M libclc/generic/include/clc/math/half_powr.h
    M libclc/generic/include/clc/math/half_recip.h
    M libclc/generic/include/clc/math/half_rsqrt.h
    M libclc/generic/include/clc/math/half_sin.h
    M libclc/generic/include/clc/math/half_sqrt.h
    M libclc/generic/include/clc/math/half_tan.h
    M libclc/generic/include/clc/math/hypot.h
    M libclc/generic/include/clc/math/ilogb.h
    M libclc/generic/include/clc/math/lgamma.h
    M libclc/generic/include/clc/math/lgamma_r.h
    M libclc/generic/include/clc/math/log.h
    M libclc/generic/include/clc/math/log10.h
    M libclc/generic/include/clc/math/log1p.h
    M libclc/generic/include/clc/math/log2.h
    M libclc/generic/include/clc/math/logb.h
    M libclc/generic/include/clc/math/mad.h
    M libclc/generic/include/clc/math/maxmag.h
    M libclc/generic/include/clc/math/minmag.h
    M libclc/generic/include/clc/math/native_cos.h
    M libclc/generic/include/clc/math/native_divide.h
    M libclc/generic/include/clc/math/native_exp.h
    M libclc/generic/include/clc/math/native_exp10.h
    M libclc/generic/include/clc/math/native_exp2.h
    M libclc/generic/include/clc/math/native_log.h
    M libclc/generic/include/clc/math/native_log10.h
    M libclc/generic/include/clc/math/native_log2.h
    M libclc/generic/include/clc/math/native_powr.h
    M libclc/generic/include/clc/math/native_recip.h
    M libclc/generic/include/clc/math/native_rsqrt.h
    M libclc/generic/include/clc/math/native_sin.h
    M libclc/generic/include/clc/math/native_sqrt.h
    M libclc/generic/include/clc/math/native_tan.h
    M libclc/generic/include/clc/math/nextafter.h
    M libclc/generic/include/clc/math/pow.h
    M libclc/generic/include/clc/math/pown.h
    M libclc/generic/include/clc/math/powr.h
    M libclc/generic/include/clc/math/rint.h
    M libclc/generic/include/clc/math/rootn.h
    M libclc/generic/include/clc/math/round.h
    M libclc/generic/include/clc/math/rsqrt.h
    M libclc/generic/include/clc/math/sin.h
    M libclc/generic/include/clc/math/sinh.h
    M libclc/generic/include/clc/math/sinpi.h
    M libclc/generic/include/clc/math/sqrt.h
    M libclc/generic/include/clc/math/tan.h
    M libclc/generic/include/clc/math/tanh.h
    M libclc/generic/include/clc/math/tanpi.h
    M libclc/generic/include/clc/math/tgamma.h
    M libclc/generic/include/clc/math/trunc.h
    M libclc/generic/include/clc/relational/bitselect.h
    M libclc/generic/include/clc/relational/isfinite.h
    M libclc/generic/include/clc/relational/isgreater.h
    M libclc/generic/include/clc/relational/isgreaterequal.h
    M libclc/generic/include/clc/relational/isless.h
    M libclc/generic/include/clc/relational/islessequal.h
    M libclc/generic/include/clc/relational/islessgreater.h
    M libclc/generic/include/clc/relational/isnormal.h
    M libclc/generic/include/clc/relational/isnotequal.h
    M libclc/generic/include/clc/relational/isordered.h
    M libclc/generic/include/clc/relational/isunordered.h
    M libclc/generic/include/clc/relational/signbit.h
    M libclc/generic/include/math/clc_tan.h
    M libclc/generic/lib/async/async_work_group_copy.cl
    M libclc/generic/lib/async/async_work_group_strided_copy.cl
    M libclc/generic/lib/async/prefetch.cl
    M libclc/generic/lib/shared/vload.cl
    M libclc/generic/lib/shared/vstore.cl
    M lld/COFF/Writer.cpp
    A lld/test/COFF/merge-data-bss.test
    M lldb/cmake/modules/LLDBConfig.cmake
    M lldb/include/lldb/DataFormatters/TypeSynthetic.h
    M lldb/include/lldb/DataFormatters/VectorIterator.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/ValueObject/ValueObject.h
    M lldb/include/lldb/ValueObject/ValueObjectRegister.h
    M lldb/include/lldb/ValueObject/ValueObjectSyntheticFilter.h
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/source/API/SBValue.cpp
    M lldb/source/DataFormatters/FormatterBytecode.cpp
    M lldb/source/DataFormatters/TypeSynthetic.cpp
    M lldb/source/DataFormatters/VectorType.cpp
    M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
    M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
    M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
    M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
    M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
    M lldb/source/Plugins/Language/ObjC/NSArray.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/NSError.cpp
    M lldb/source/Plugins/Language/ObjC/NSException.cpp
    M lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp
    M lldb/source/Plugins/Language/ObjC/NSSet.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/ValueObject/ValueObject.cpp
    M lldb/source/ValueObject/ValueObjectRegister.cpp
    M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
    M lldb/test/Shell/lit.site.cfg.py.in
    M lldb/unittests/Platform/PlatformSiginfoTest.cpp
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/docs/HowToUpdateDebugInfo.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/ADT/ArrayRef.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    A llvm/include/llvm/CodeGen/ShrinkWrap.h
    M llvm/include/llvm/CodeGen/VirtRegMap.h
    M llvm/include/llvm/Config/config.h.cmake
    M llvm/include/llvm/Config/llvm-config.h.cmake
    M llvm/include/llvm/IR/CFG.h
    M llvm/include/llvm/IR/DebugLoc.h
    M llvm/include/llvm/IR/Type.h
    M llvm/include/llvm/InitializePasses.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/Passes/MachinePassRegistry.def
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetTransformInfo.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/CodeGen.cpp
    M llvm/lib/CodeGen/FinalizeISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/ShrinkWrap.cpp
    M llvm/lib/CodeGen/VirtRegMap.cpp
    M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugLoc.cpp
    M llvm/lib/IR/Type.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Linker/IRMover.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
    A llvm/lib/Target/RISCV/RISCVInstrPredicates.td
    M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
    M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/lib/Transforms/Scalar/Reassociate.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/Debugify.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/test/Analysis/KernelInfo/launch-bounds/amdgpu.ll
    M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
    M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
    M llvm/test/Assembler/2004-11-28-InvalidTypeCrash.ll
    M llvm/test/Assembler/2005-05-05-OpaqueUndefValues.ll
    M llvm/test/Assembler/2007-01-02-Undefined-Arg-Type.ll
    A llvm/test/Assembler/invalid-label-call-arg.ll
    M llvm/test/Assembler/invalid-label.ll
    M llvm/test/CodeGen/AArch64/dont-shrink-wrap-stack-mayloadorstore.mir
    R llvm/test/CodeGen/AArch64/nofpclass.ll
    M llvm/test/CodeGen/AArch64/shrinkwrap-split-restore-point.mir
    M llvm/test/CodeGen/AMDGPU/addrspacecast-captured.ll
    M llvm/test/CodeGen/AMDGPU/alloc-aligned-tuples-gfx90a.mir
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ceil.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-copysign.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-exp2.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fabs.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-floor.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fma.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmax.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-fmin.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp-splat.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-ldexp.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log10.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-log2.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-mad.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pown.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-powr.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rint.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-rootn.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-round.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.sin.cos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.nobuiltins.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.weak.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sqrt.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-trunc.ll
    M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
    M llvm/test/CodeGen/AMDGPU/annotate-noclobber.ll
    M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-memcpy.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-copymi-not-live.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subranges-another-prune-error.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-subregjoin-fullcopy.mir
    M llvm/test/CodeGen/AMDGPU/coalescer-with-subregs-bad-identical.mir
    M llvm/test/CodeGen/AMDGPU/copy-hoist-no-spills.ll
    M llvm/test/CodeGen/AMDGPU/diverge-switch-default.ll
    M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
    M llvm/test/CodeGen/AMDGPU/expand-variadic-call.ll
    M llvm/test/CodeGen/AMDGPU/extload-align.ll
    M llvm/test/CodeGen/AMDGPU/extra-sroa-after-unroll.ll
    A llvm/test/CodeGen/AMDGPU/finalize-isel-kill-scc-vcc.mir
    M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
    M llvm/test/CodeGen/AMDGPU/force-alwaysinline-lds-global-address.ll
    M llvm/test/CodeGen/AMDGPU/greedy-remark-crash-unassigned-reg.mir
    M llvm/test/CodeGen/AMDGPU/loop-idiom.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-constants.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-control-flow.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
    M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
    M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/noop-shader-O0.ll
    M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/private-memory-r600.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-lifetime.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-constantexpr-use.ll
    M llvm/test/CodeGen/AMDGPU/promote-alloca-to-lds-select.ll
    M llvm/test/CodeGen/AMDGPU/reqd-work-group-size.ll
    M llvm/test/CodeGen/AMDGPU/sdwa-scalar-ops.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-copy-local-cse.ll
    M llvm/test/CodeGen/AMDGPU/sibling-call.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
    M llvm/test/CodeGen/AMDGPU/sroa-before-unroll.ll
    M llvm/test/CodeGen/AMDGPU/store-clobbers-load.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.convergencetokens.ll
    M llvm/test/CodeGen/AMDGPU/tail-call-uniform-target-in-vgprs-issue110930.ll
    M llvm/test/CodeGen/AMDGPU/unknown-processor.ll
    M llvm/test/CodeGen/AMDGPU/unroll.ll
    M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
    M llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll
    M llvm/test/CodeGen/AMDGPU/vector-alloca.ll
    R llvm/test/CodeGen/Mips/nofpclass.ll
    M llvm/test/CodeGen/PowerPC/shrink-wrap.mir
    A llvm/test/CodeGen/PowerPC/usubo_carry.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
    M llvm/test/CodeGen/WebAssembly/externref-unsized-load.ll
    M llvm/test/CodeGen/WebAssembly/externref-unsized-store.ll
    M llvm/test/CodeGen/X86/asm-block-labels.ll
    M llvm/test/CodeGen/X86/cfguard-x86-64-vectorcall.ll
    M llvm/test/CodeGen/X86/cfguard-x86-vectorcall.ll
    M llvm/test/CodeGen/X86/pr30821.mir
    M llvm/test/CodeGen/X86/shrink_wrap_dbg_value.mir
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_constant_global_redzones.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/adaptive_global_redzones.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_lds.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_do_not_instrument_scratch.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_constant_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_generic_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_global_address_space.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/global_metadata_addrspacecasts.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_lds_globals.ll
    M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/no_redzones_in_scratch_globals.ll
    R llvm/test/Linker/Inputs/pr22807-1.ll
    R llvm/test/Linker/Inputs/pr22807-2.ll
    A llvm/test/Linker/Inputs/pr22807.ll
    M llvm/test/Linker/Inputs/type-unique-opaque.ll
    M llvm/test/Linker/intrinsics-with-unnamed-types.ll
    M llvm/test/Linker/pr22807.ll
    M llvm/test/Linker/type-unique-opaque.ll
    M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
    M llvm/test/MC/RISCV/xqcilo-valid.s
    M llvm/test/MC/SystemZ/machine-directive-invalid.s
    M llvm/test/MC/SystemZ/machine-directive.s
    M llvm/test/ThinLTO/X86/Inputs/import_opaque_type.ll
    M llvm/test/ThinLTO/X86/import_opaque_type.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/ConstraintElimination/abs.ll
    A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
    M llvm/test/Transforms/GlobalOpt/global_alloca_diff_addrspaces.ll
    M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
    M llvm/test/Transforms/IndVarSimplify/AMDGPU/no-widen-to-i64.ll
    M llvm/test/Transforms/InferAddressSpaces/AMDGPU/ptrmask.ll
    M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument-cost.ll
    M llvm/test/Transforms/Inline/AMDGPU/amdgpu-inline-alloca-argument.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
    M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-simplify-shift.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/memcpy-from-constant.ll
    M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll
    M llvm/test/Transforms/InstSimplify/gv-alloca-cmp.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/aa-metadata.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/addrspace-7.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/adjust-alloca-alignment.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/complex-index.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/dont-adjust-globalobj-alignment.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/extended-index.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/insertion-point.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/interleaved-mayalias-store.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/invariant-load.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores-private.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/merge-vectors.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/missing-alignment.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/multiple_tails.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/no-implicit-float.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/pointer-elements.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects-inseltpoison.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/selects.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/store_with_aliasing_load.ll
    M llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/weird-type-accesses.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/atomics.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/different-addrspace-addressing-mode-loops.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-invalid-ptr-extend.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/lsr-postinc-pos-addrspace.ll
    M llvm/test/Transforms/LoopStrengthReduce/AMDGPU/preserve-addrspace-assert.ll
    A llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
    M llvm/test/Transforms/Reassociate/fast-ReassociateVector.ll
    M llvm/test/Transforms/Reg2Mem/non-token-test.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/address-space-ptr-sze-gep-index-assert.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
    M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/lower-gep.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll
    M llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll
    M llvm/test/Verifier/invalid-label-param.ll
    M llvm/test/Verifier/memset-pattern-unsized.ll
    M llvm/test/Verifier/nofpclass.ll
    M llvm/test/Verifier/unsized-types-load.ll
    M llvm/test/Verifier/unsized-types-store.ll
    M llvm/unittests/ADT/ArrayRefTest.cpp
    M llvm/unittests/FuzzMutate/OperationsTest.cpp
    M llvm/unittests/IR/DataLayoutTest.cpp
    M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/Frontend/BUILD.gn
    M llvm/utils/gn/secondary/lldb/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/MCTargetDesc/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/Sparc/MCTargetDesc/BUILD.gn
    M llvm/utils/update_analyze_test_checks.py
    M llvm/utils/update_cc_test_checks.py
    M llvm/utils/update_llc_test_checks.py
    M llvm/utils/update_mc_test_checks.py
    M llvm/utils/update_mca_test_checks.py
    M llvm/utils/update_mir_test_checks.py
    M llvm/utils/update_test_checks.py
    M mlir/docs/DefiningDialects/AttributesAndTypes.md
    M mlir/docs/Dialects/SPIR-V.md
    M mlir/include/mlir/Dialect/Affine/Utils.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/include/mlir/Interfaces/FunctionInterfaces.td
    M mlir/lib/AsmParser/Parser.cpp
    M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/IR/ValueBoundsOpInterfaceImpl.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
    M mlir/lib/Dialect/GPU/Transforms/SubgroupIdRewriter.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Pass/IRPrinting.cpp
    M mlir/lib/Query/Query.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
    M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
    M mlir/lib/Transforms/RemoveDeadValues.cpp
    M mlir/test/Dialect/Affine/SuperVectorize/vectorize_unsupported.mlir
    M mlir/test/Dialect/Arith/value-bounds-op-interface-impl.mlir
    M mlir/test/Dialect/GPU/subgroupId-rewrite.mlir
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/layout.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/MemRef/normalize-memrefs-ops.mlir
    M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
    M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
    M mlir/test/Dialect/Vector/linearize.mlir
    A mlir/test/IR/custom-struct-attr-roundtrip.mlir
    M mlir/test/IR/invalid.mlir
    M mlir/test/IR/parser.mlir
    M mlir/test/IR/test-func-erase-result.mlir
    A mlir/test/Integration/Dialect/MemRef/atomic-rmw-runtime-verification.mlir
    A mlir/test/Integration/Dialect/MemRef/store-runtime-verification.mlir
    M mlir/test/Pass/ir-printing-file-tree.mlir
    M mlir/test/Target/LLVMIR/Import/data-layout.ll
    M mlir/test/Target/LLVMIR/Import/function-attributes.ll
    M mlir/test/Target/LLVMIR/Import/instructions.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir
    A mlir/test/Target/LLVMIR/omptarget-parallel-llvm-debug.mlir
    A mlir/test/Target/LLVMIR/openmp-nontemporal.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir
    A mlir/test/Target/SPIRV/consecutive-selection.spv
    M mlir/test/Target/SPIRV/loop.mlir
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/test/lib/IR/TestFunc.cpp
    M mlir/test/mlir-tblgen/attr-or-type-format-invalid.td
    M mlir/test/mlir-tblgen/attr-or-type-format.td
    M mlir/tools/mlir-tblgen/AttrOrTypeFormatGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.h
    M mlir/tools/mlir-tblgen/OpFormatGen.cpp
    M offload/liboffload/src/OffloadImpl.cpp
    M offload/unittests/OffloadAPI/CMakeLists.txt
    A offload/unittests/OffloadAPI/event/olDestroyEvent.cpp
    A offload/unittests/OffloadAPI/event/olWaitEvent.cpp
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm_configs/config.h.cmake
    M utils/bazel/llvm_configs/llvm-config.h.cmake

  Log Message:
  -----------
  update langref to address comments and fix mlir tests

Created using spr 1.3.6-beta.1


Compare: https://github.com/llvm/llvm-project/compare/5d1f22b669b4...05fad652cffb

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list