[all-commits] [llvm/llvm-project] 96e5ee: [BOLT][AArch64] Add partial support for lite mode ...

Fangrui Song via All-commits all-commits at lists.llvm.org
Fri Mar 28 10:38:35 PDT 2025


  Branch: refs/heads/users/MaskRay/spr/riscvasmparser-dont-treat-operands-with-relocation-specifier-as-parse-time-constants
  Home:   https://github.com/llvm/llvm-project
  Commit: 96e5ee23a76136851a52f48c780249e2a86a5ce9
      https://github.com/llvm/llvm-project/commit/96e5ee23a76136851a52f48c780249e2a86a5ce9
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/AArch64/lite-mode.s

  Log Message:
  -----------
  [BOLT][AArch64] Add partial support for lite mode (#133014)

In lite mode, we only emit code for a subset of functions while
preserving the original code in .bolt.org.text. This requires updating
code references in non-emitted functions to ensure that:

* Non-optimized versions of the optimized code never execute.
* Function pointer comparison semantics is preserved.

On x86-64, we can update code references in-place using "pending
relocations" added in scanExternalRefs(). However, on AArch64, this is
not always possible due to address range limitations and linker address
"relaxation".

There are two types of code-to-code references: control transfer (e.g.,
calls and branches) and function pointer materialization.
AArch64-specific control transfer instructions are covered by #116964.

For function pointer materialization, simply changing the immediate
field of an instruction is not always sufficient. In some cases, we need
to modify a pair of instructions, such as undoing linker relaxation and
converting NOP+ADR into ADRP+ADD sequence.

To achieve this, we use the instruction patch mechanism instead of
pending relocations. Instruction patches are emitted via the regular MC
layer, just like regular functions. However, they have a fixed address
and do not have an associated symbol table entry. This allows us to make
more complex changes to the code, ensuring that function pointers are
correctly updated. Such mechanism should also be portable to RISC-V and
other architectures.

To summarize, for AArch64, we extend the scanExternalRefs() process to
undo linker relaxation and use instruction patches to partially
overwrite unoptimized code.


  Commit: 4485e25dd2a57be1ee504b4dd863a1e140f5084c
      https://github.com/llvm/llvm-project/commit/4485e25dd2a57be1ee504b4dd863a1e140f5084c
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h

  Log Message:
  -----------
  [compiler-rt][nfc] DenseMap needs placement new (#133329)


  Commit: 68571f91515b8467723322ece8da3ea2d00c7596
      https://github.com/llvm/llvm-project/commit/68571f91515b8467723322ece8da3ea2d00c7596
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h

  Log Message:
  -----------
  Revert "[compiler-rt][nfc] DenseMap needs placement new (#133329)"

This reverts commit 4485e25dd2a57be1ee504b4dd863a1e140f5084c.
Buildbot failures, e.g. https://lab.llvm.org/buildbot/#/builders/66/builds/11827


  Commit: bed2bdf17b68b33dd1519a836ec2b77da8746053
      https://github.com/llvm/llvm-project/commit/bed2bdf17b68b33dd1519a836ec2b77da8746053
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-03-27 (Thu, 27 Mar 2025)

  Changed paths:
    M compiler-rt/test/CMakeLists.txt

  Log Message:
  -----------
  [NFCI] Change compiler_rt_Test_runtime to lowercase (#133362)


  Commit: 0ed8b27890232738fa8e276d0fd2ac5c3c8e74ea
      https://github.com/llvm/llvm-project/commit/0ed8b27890232738fa8e276d0fd2ac5c3c8e74ea
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/remove-attributes-convergent-uncontrolled.ll
    A llvm/test/tools/llvm-reduce/remove-attributes-convergent.ll
    M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp

  Log Message:
  -----------
  llvm-reduce: Avoid removing convergent with convergence tokens (#132946)

Check if the intrinsics are declared in the module as an overly
conservative fix.

Fixes #132695


  Commit: 7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
      https://github.com/llvm/llvm-project/commit/7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.h

  Log Message:
  -----------
  MIPS: Implement isAsCheapAsAMove for addiu (#133273)

Set `addiu` as `isAsCheapAsAMove` only when the src register or imm is
zero only.

If other cases are set `isAsCheapAsAMove`, MachineLICM will reject to
hoist it.


  Commit: a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
      https://github.com/llvm/llvm-project/commit/a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
  Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp

  Log Message:
  -----------
  [RISCV] Remove duplicate check in SelectAddrRegImmLsb00000. NFC (#133372)


  Commit: 5b36835df010c5813808d34e45428c624fb52ff1
      https://github.com/llvm/llvm-project/commit/5b36835df010c5813808d34e45428c624fb52ff1
  Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    A flang/test/Driver/m64-option.f90

  Log Message:
  -----------
  [flang] Expose -m64 option (#132409)

Exposes `-m64` option for Flang. 
These options can be used to build libraries or tools (e.g. OpenBlas).


  Commit: e3f1c464f7283e79f566b33b87258ee55f77e139
      https://github.com/llvm/llvm-project/commit/e3f1c464f7283e79f566b33b87258ee55f77e139
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lld/ELF/Driver.cpp
    M lld/test/ELF/aarch64-feature-pac.s

  Log Message:
  -----------
  [PAC][lld] Support `-z nopac-plt` flag (#132973)

Support `-z nopac-plt` so it's possible to cancel previous `-z pac-plt`.


  Commit: 68f71aae3b4222afcd53cf0f84110032d1d34ec6
      https://github.com/llvm/llvm-project/commit/68f71aae3b4222afcd53cf0f84110032d1d34ec6
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvmir] add llvm.sincos intrinsics (#133311)

https://llvm.org/docs/LangRef.html#llvm-frexp-intrinsic

Signed-off-by: Letu Ren <fantasquex at gmail.com>


  Commit: 29cb00331f19dd2a93524fbd9f5367cb0d25fc72
      https://github.com/llvm/llvm-project/commit/29cb00331f19dd2a93524fbd9f5367cb0d25fc72
  Author: Letu Ren <fantasquex at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir

  Log Message:
  -----------
  [mlir][llvmir] add llvm.experimental.constrained.uitofp intrinsics (#133300)

https://llvm.org/docs/LangRef.html#llvm-experimental-constrained-uitofp-intrinsic

Signed-off-by: Letu Ren <fantasquex at gmail.com>


  Commit: f5f4da6db6904a88d23d4bacd01330a205683343
      https://github.com/llvm/llvm-project/commit/f5f4da6db6904a88d23d4bacd01330a205683343
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll

  Log Message:
  -----------
  [RISCV] Don't vectorize for loops with small trip count (#132176)

Inspired by https://reviews.llvm.org/D130755.

I don't know the logic behind the value 5, it is copied from AArch64.

For some tests, I have to change the trip count so that we don't
break what they are testing.


  Commit: 0a74cbfac462dfbf446e1f560e987619f93194ac
      https://github.com/llvm/llvm-project/commit/0a74cbfac462dfbf446e1f560e987619f93194ac
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libclc/CMakeLists.txt
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc] Pass -fapprox-func when compiling 'native' builtins (#133119)

The libclc build system isn't well set up to pass arbitrary options to
arbitrary source files in a non-intrusive way. There isn't currently any
other motivating example to warrant rewriting the build system just to
satisfy this requirement. So this commit uses a filename-based approach
to inserting this option into the list of compile flags.


  Commit: b52977b868b02625ade1f14bfbe835e299b26f0e
      https://github.com/llvm/llvm-project/commit/b52977b868b02625ade1f14bfbe835e299b26f0e
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
    A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
    A libclc/clc/include/clc/math/clc_pow.h
    A libclc/clc/include/clc/math/clc_pown.h
    A libclc/clc/include/clc/math/clc_powr.h
    M libclc/clc/include/clc/math/tables.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_pow.cl
    A libclc/clc/lib/generic/math/clc_pow.inc
    A libclc/clc/lib/generic/math/clc_pown.cl
    A libclc/clc/lib/generic/math/clc_pown.inc
    A libclc/clc/lib/generic/math/clc_powr.cl
    A libclc/clc/lib/generic/math/clc_powr.inc
    M libclc/clc/lib/generic/math/clc_tables.cl
    M libclc/clspv/lib/SOURCES
    M libclc/generic/include/clc/math/pown.h
    R libclc/generic/include/clc/math/pown.inc
    R libclc/generic/include/math/clc_pow.h
    R libclc/generic/include/math/clc_pown.h
    R libclc/generic/include/math/clc_pown.inc
    R libclc/generic/include/math/clc_powr.h
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/math/clc_exp10.cl
    R libclc/generic/lib/math/clc_pow.cl
    R libclc/generic/lib/math/clc_pown.cl
    R libclc/generic/lib/math/clc_powr.cl
    M libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/exp_helper.cl
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/pow.cl
    M libclc/generic/lib/math/pown.cl
    R libclc/generic/lib/math/pown.inc
    M libclc/generic/lib/math/powr.cl
    M libclc/generic/lib/math/tables.cl
    M libclc/spirv/lib/SOURCES

  Log Message:
  -----------
  [libclc] Move pow, powr & pown to the CLC library (#133294)

These functions were already nominally in the CLC library.

Similar to others, these builtins are now vectorized and are not broken
down into scalar types.


  Commit: 883612859bd255fc964c121ea6d3b1a9fb37fc65
      https://github.com/llvm/llvm-project/commit/883612859bd255fc964c121ea6d3b1a9fb37fc65
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/include/llvm/TableGen/Record.h
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/TableGen/TGParser.cpp
    A llvm/test/TableGen/instances.td

  Log Message:
  -----------
  [TableGen] Add `!instances` operator to get defined records (#129680)

The format is: `!instances<T>([regex])`.
    
This operator produces a list of records whose type is `T`. If
`regex` is provided, only records whose name matches the regular
expression `regex` will be included. The format of `regex` is ERE
(Extended POSIX Regular Expressions).


  Commit: 7b75db5755e63ddefa35101cf6a1179de560d312
      https://github.com/llvm/llvm-project/commit/7b75db5755e63ddefa35101cf6a1179de560d312
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp

  Log Message:
  -----------
  [VPlan] Add new VPIRPhi overlay for VPIRInsts wrapping phi nodes (NFC). (#129387)

Add a new VPIRPhi subclass of VPIRInstruction, that purely serves as an
overlay, to provide more convenient checking (via directly doing
isa/dyn_cast/cast) and specialied execute/print implementations.

Both VPIRInstruction and VPIRPhi share the same VPDefID, and are
differentiated by the backing IR instruction.

This pattern could alos be used to provide more specialized interfaces
for some VPInstructions ocpodes, without introducing new, completely
spearate recipes. An example would be modeling VPWidenPHIRecipe &
VPScalarPHIRecip using VPInstructions opcodes and providing an interface
to retrieve incoming blocks and values through a VPInstruction subclass
similar to VPIRPhi.

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


  Commit: 1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
      https://github.com/llvm/llvm-project/commit/1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
  Author: Mallikarjuna Gouda <mgouda at mips.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A clang/test/CodeGen/Mips/subtarget-feature-test.c
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/MipsSubtarget.h

  Log Message:
  -----------
  Reland [MIPS] Define SubTargetFeature for i6500 cpu (#132907) (#133366)

Relands #132907 with a fix in the testcase:
clang/test/CodeGen/Mips/subtarget-feature-test.c
enable this test for only mips64 target

PR #130587 defined same SubTargetFeature for CPUs i6400 and i6500 which
resulted into following warning when -mcpu=i6500 was used:

+i6500' is not a recognized feature for this target (ignoring feature)

This PR fixes above issue by defining separate SubTargetFeature for
i6500.


  Commit: 71f43a7c42a37d18be98b0885d62ef76e658f242
      https://github.com/llvm/llvm-project/commit/71f43a7c42a37d18be98b0885d62ef76e658f242
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/test/CodeGen/Mips/brdelayslot.ll
    M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll

  Log Message:
  -----------
  MIPS: Set EnableLoopTermFold (#133378)

Setting `EnableLoopTermFold` enables `loop-term-fold` pass.


  Commit: 50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
      https://github.com/llvm/llvm-project/commit/50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
  Author: Donát Nagy <donat.nagy at ericsson.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/test/Analysis/taint-generic.cpp

  Log Message:
  -----------
  [analyzer] Fix format attribute handling in GenericTaintChecker (#132765)

Previously `optin.taint.GenericTaint` misinterpreted the parameter
indices and produced false positives in situations when a [format
attribute](https://clang.llvm.org/docs/AttributeReference.html#format)
is applied on a non-static method. This commit fixes this bug


  Commit: c13c04fdfe9b312160310eeeee785867627ffe2f
      https://github.com/llvm/llvm-project/commit/c13c04fdfe9b312160310eeeee785867627ffe2f
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libcxx/include/__memory/allocator_traits.h

  Log Message:
  -----------
  [libc++] Simplify the implementation of the pointer aliases in allocator_traits (#127079)


  Commit: b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
      https://github.com/llvm/llvm-project/commit/b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
    M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py

  Log Message:
  -----------
  [lldb] Adjust skips on reverse continue tests (#133240)

The x86-specific issue has been fixed with #132122. Watchpoint tests
fail on aarch64 with macos<15.0 due to a kernel bug.


  Commit: 21a8c63cdc36abbf38b4402c9eb34a26598b8476
      https://github.com/llvm/llvm-project/commit/21a8c63cdc36abbf38b4402c9eb34a26598b8476
  Author: macurtis-amd <macurtis at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M offload/DeviceRTL/src/Workshare.cpp
    A offload/test/offloading/fortran/target-teams-dist-nest-par.f90

  Log Message:
  -----------
  [offload] Remove bad assert in StaticLoopChunker::Distribute (#132705)

When building with asserts enabled, this can actually cause strange
miscompilations because an incorrect llvm.assume is generated at the
point of the assertion.


  Commit: 0d64f5adbaea173380668bc4280bb816bdb3a0de
      https://github.com/llvm/llvm-project/commit/0d64f5adbaea173380668bc4280bb816bdb3a0de
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp

  Log Message:
  -----------
  [NFC] Fix a typo in StdLibraryFunctionsChecker.cpp comments (#133375)


  Commit: f7a034d400860501a26e3429e1c6a9f310f07f76
      https://github.com/llvm/llvm-project/commit/f7a034d400860501a26e3429e1c6a9f310f07f76
  Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    A llvm/test/CodeGen/AMDGPU/nor-divergent-lanemask.ll

  Log Message:
  -----------
  [AMDGPU] (x or y) xor -1 -> x nor y (#130264)

Added pattern so s_nor is selected for ((i1 x or i1 y) xor -1) instead
of s_or and s_xor . This patch is for i1 divergent. The ballot in the
test is added for the retrieval of lanemask. The control flow is needed
because the combiner can't pass through phi instructions.


  Commit: 319045d8c42dc855eacdb4bd1d71b6ac3fca3257
      https://github.com/llvm/llvm-project/commit/319045d8c42dc855eacdb4bd1d71b6ac3fca3257
  Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
    M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp

  Log Message:
  -----------
  [analyzer] Add metrics tracking time spent in Z3 solver (#133236)

These metrics would turn out to be useful for verifying an upgrade of Z3.


  Commit: 7d869045e068be152f4435d73733eb2276a6fc08
      https://github.com/llvm/llvm-project/commit/7d869045e068be152f4435d73733eb2276a6fc08
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp

  Log Message:
  -----------
  [AMDGPU] Hoist some constant stuff out of the loop in AMDGPUAsmParser.cpp. NFC. (#133398)


  Commit: 8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
      https://github.com/llvm/llvm-project/commit/8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
  Author: Paul Schwabauer <pschwabauer at intevation.de>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Serialization/ASTWriterDecl.cpp
    A clang/test/Modules/ComplexExplicitSpecifier.cpp

  Log Message:
  -----------
  [PATCH] [clang][frontend] Fix serialization for CXXConstructorDecl (refs llvm#132794) (#133077)

When retrieving the ExplicitSpecifier from a CXXConstructorDecl, one of
its canonical declarations is returned. To correctly write the
declaration record the ExplicitSpecifier of the current declaration must
be used.

Failing to do so results in a crash during deserialization.


  Commit: af150272cff97c121ed4fdb76fce702fbe2f12a3
      https://github.com/llvm/llvm-project/commit/af150272cff97c121ed4fdb76fce702fbe2f12a3
  Author: Weaver <Tom.Weaver at sony.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsTargetMachine.cpp
    M llvm/test/CodeGen/Mips/brdelayslot.ll
    M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll

  Log Message:
  -----------
  Revert "MIPS: Set EnableLoopTermFold (#133378)"

This reverts commit 71f43a7c42a37d18be98b0885d62ef76e658f242.

Caused build bot failures:
https://lab.llvm.org/buildbot/#/builders/190/builds/17267
https://lab.llvm.org/buildbot/#/builders/144/builds/21445
https://lab.llvm.org/buildbot/#/builders/46/builds/14343

please consider fixing the test failure in long-array-initialize.ll before
recommitting.


  Commit: b009c5af71a8676f1e6b4332f867957454635b2f
      https://github.com/llvm/llvm-project/commit/b009c5af71a8676f1e6b4332f867957454635b2f
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll

  Log Message:
  -----------
  [SPIR-V] Mark XFAIL the test case that fails with LLVM_ENABLE_EXPENSIVE_CHECKS enabled (#133142)

After https://github.com/llvm/llvm-project/pull/130605
structurizer/cf.switch.ifstmt.simple2.ll test case starts failing with
the "PHI operand is not live-out from predecessor" diagnostic message.
This test case didn't include usual "-verify-machineinstrs" argument and
the fail was missed before
https://github.com/llvm/llvm-project/pull/130605 merging.

The problem looks not blocking, because the test case successfully
passes its CHECK's. This PR is to fix the build process by mark the test
case as XFAIL when LLVM_ENABLE_EXPENSIVE_CHECKS is enabled.

Investigation of the Machine Verifier complaint is to do. The issue is
created: https://github.com/llvm/llvm-project/issues/133141


  Commit: 45c3fe8ff339843cdf0cfc8ccae91c0a4b7c09cd
      https://github.com/llvm/llvm-project/commit/45c3fe8ff339843cdf0cfc8ccae91c0a4b7c09cd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll

  Log Message:
  -----------
  [X86] Add test coverage for the concatable sources vpermv3 -> vpermv fold for non-constant shuffle masks (#133415)

Test both forward/reverse concat cases


  Commit: 7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
      https://github.com/llvm/llvm-project/commit/7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
  Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
    A llvm/test/CodeGen/SPIRV/structurizer/loop-unroll.ll

  Log Message:
  -----------
  [SPIR-V] Add llvm.loop.unroll metadata lowering (#132062)

.enable lowers to Unroll LoopControl
.disable lowers to DontUnroll LoopControl
.count lowers to PartialCount LoopControl
.full lowers to Unroll LoopControl

TODO in future patches: enable structurizer for non-vulkan targets.

---------

Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>


  Commit: f76254d9b2a68e0021d93e682744e4240a2368b9
      https://github.com/llvm/llvm-project/commit/f76254d9b2a68e0021d93e682744e4240a2368b9
  Author: Jesse D <jesse.a.deguire at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h

  Log Message:
  -----------
  [libc] Fix implicit conversion error in DyadicFloat::as_mantissa_type(). (#133383)

This is the same fix that was recently applied to
as_mantissa_type_rounded(), but for as_mantissa_type().


  Commit: 4cdcf3b19302d8f337b5607d6b9df170f577dc70
      https://github.com/llvm/llvm-project/commit/4cdcf3b19302d8f337b5607d6b9df170f577dc70
  Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll

  Log Message:
  -----------
  [InstCombine] Fold `(trunc nuw A to i1) == (trunc nuw B to i1)` to `A == B` (#133368)

Fixes #133344

Proof: https://alive2.llvm.org/ce/z/X3Uh23 

InstCombine couldn't optimize `i1` because `canonicalizeICmpBool()` was
transforming the comparison into bitwise operations before
`foldICmpTruncWithTruncOrExt()` was called.

This PR solves the ordering issue by placing
`foldICmpTruncWithTruncOrExt()` before `canonicalizeICmpBool()`.

I believe this will not cause any regressions since all tests are
passing.


  Commit: c4bc1b1d8177961c50c7a197bfb97b5226e749ff
      https://github.com/llvm/llvm-project/commit/c4bc1b1d8177961c50c7a197bfb97b5226e749ff
  Author: Nico Weber <thakis at chromium.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    A clang/test/Driver/arch-arm64e.c

  Log Message:
  -----------
  [clang] Update Mach-O ptrauth driver defaults (#132834)

Xcode clang default-enables a bunch of ptrauth flags when targeting
arm64e. Let's match that.


  Commit: 772173f54868eef6e1a4d40ab93b0ee6c04b1aca
      https://github.com/llvm/llvm-project/commit/772173f54868eef6e1a4d40ab93b0ee6c04b1aca
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/test/CodeGen/amdgpu-abi-version.c
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
    M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    M flang/lib/Frontend/FrontendActions.cpp
    R flang/test/Lower/AMD/code-object-version.f90
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libcxx/cmake/caches/AMDGPU.cmake
    M offload/DeviceRTL/CMakeLists.txt

  Log Message:
  -----------
  [Clang][AMDGPU] Remove special handling for COV4 libraries (#132870)

Summary:
When we were first porting to COV5, this lead to some ABI issues due to
a change in how we looked up the work group size. Bitcode libraries
relied on the builtins to emit code, but this was changed between
versions. This prevented the bitcode libraries, like OpenMP or libc,
from being used for both COV4 and COV5. The solution was to have this
'none' functionality which effectively emitted code that branched off of
a global to resolve to either version.

This isn't a great solution because it forced every TU to have this
variable in it. The patch in
https://github.com/llvm/llvm-project/pull/131033 removed support for
COV4 from OpenMP, which was the only consumer of this functionality.
Other users like HIP and OpenCL did not use this because they linked the
ROCm Device Library directly which has its own handling (The name was
borrowed from it after all).

So, now that we don't need to worry about backward compatibility with
COV4, we can remove this special handling. Users can still emit COV4
code, this simply removes the special handling used to make the OpenMP
device runtime bitcode version agnostic.


  Commit: 212a48b4daf3101871ba6e7c47cf103df66a5e56
      https://github.com/llvm/llvm-project/commit/212a48b4daf3101871ba6e7c47cf103df66a5e56
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/CodeGen/X86/combine-bitselect.ll

  Log Message:
  -----------
  [X86] combine-bitselect.ll - regenerate VPTERNLOG comments


  Commit: a481452cd88acc180f82dd5631257c8954ed7812
      https://github.com/llvm/llvm-project/commit/a481452cd88acc180f82dd5631257c8954ed7812
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add OR/XOR/SUB to RISCVInstrInfo::isCopyInstrImpl (#132002)

This adds coverage for additional instructions in isCopyInstrImpl, for
now picking just those where I can observe that there is a codegen
difference for SPEC.

This allows MachineCopyPropagation to successfully eliminate no-op moves in this form.


  Commit: 33cd00f8c82d5df45b1dfd59310929a4d315fd8e
      https://github.com/llvm/llvm-project/commit/33cd00f8c82d5df45b1dfd59310929a4d315fd8e
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M flang/include/flang/Evaluate/traverse.h

  Log Message:
  -----------
  [flang] Use more generic overload for Operation in Traverse (#133305)

Currently there are two specific overloads: for unary operations, i.e.
`Operation<D, R, O>`, and binary ones `Operation<D, R, LO, RO>`.

This makes it impossible for a derived class to use a single overload to
handle all types of operations: `Operation<D, R, O...>`. Since the base
overloads need to be included in the derived class's scope, via `using
Base::operator()` either one of the specific overloads will always be a
better candidate than the more generic derived one.

```
class MyVisitor : public Traverse<...> {
  using Traverse<...>::operator();

  template <typename D, typename R, typename... O>
  Result operator()(const Operation<D, R, O...> &op) const {
    // Will never be used.
  }
};
```
This patch replaces the two specific overloads for Operation in Traverse
with a single generic overload, while preserving the existing
functionality, and allowing derived classes to use a single overload as
well.


  Commit: 4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
      https://github.com/llvm/llvm-project/commit/4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
  Author: Matthias Springer <me at m-sp.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Improve `replaceOpWithMultiple` API (#132608)

This commit adds an additional overload to `replaceOpWithMultiple` that
accepts additional container types. This has been brought up by users of
the new `replaceOpWithMultiple` API.

In particular, one missing container type was
`SmallVector<SmallVector<Value>>`. The "default" `ArrayRef<ValueRange>`
container type can lead to use-after-scope errors in cases such as:
```c++
// Compute the replacement value ranges. Some replacements are single
// values, some are value ranges.
SmallVector<ValueRange> repl;
repl.push_back(someValueRange);  // OK
for (...) {
  // push_back(Value) triggers an implicit conversion to ValueRange,
  // which does not own the range.
  repl.push_back(someValue);  // triggers use-after-scope later
}
rewriter.replaceOpWithMultiple(op, repl);
```

In this example, users should use `SmallVector<SmallVector<Value>>
repl;`.


  Commit: 316bb89c942c1a1cf61d3e673030f82d6f0b8acf
      https://github.com/llvm/llvm-project/commit/316bb89c942c1a1cf61d3e673030f82d6f0b8acf
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Driver/ToolChain.h
    M clang/lib/Driver/ToolChain.cpp
    A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
    A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
    M clang/test/Driver/aix-ld.c
    M clang/test/Driver/aix-print-runtime-dir.c
    M clang/test/Driver/aix-rtlib.c

  Log Message:
  -----------
  [Driver] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON on AIX. (#132821)

In the wake of discussion in PR #131200 and internal discussion after,
we will add support for `LLVM_ENABLE_PER_TARGET_RUNTIME=ON` for AIX
instead of disable it. I already reverted the change in PR #131200.

The default value of the option is still OFF on AIX.


  Commit: ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
      https://github.com/llvm/llvm-project/commit/ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst

  Log Message:
  -----------
  [clang-tidy][NFC] improve documentation for `bugprone-argument-comment` check (#133436)

Improve docs for `bugprone-argument-comment` check by writing explicitly
default values for options.
Before this change, it was unclear what values are default.


  Commit: d6dcd985c03bec4b77872be00a81d92454fedc32
      https://github.com/llvm/llvm-project/commit/d6dcd985c03bec4b77872be00a81d92454fedc32
  Author: Baranov Victor <bar.victor.2002 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp

  Log Message:
  -----------
  [clang-tidy] Fix `thread_local` false positives in `misc-use-internal-linkage` check  (#132573)

Based on C++ standard (see issue
https://github.com/llvm/llvm-project/issues/131679) and
[StackOverflow](https://stackoverflow.com/questions/22794382/are-c11-thread-local-variables-automatically-static)
`thread_local` variables are implicitly `static` so we should not
suggest adding `static` on a `thread_local` variables. I'd appreciate if
someone else will confirm this too because reading standard is tricky.

However, many people still use `static` and `thread_local` together:
[github
code-search](https://github.com/search?type=code&q=%22static+thread_local%22+language%3AC%2B%2B).
Maybe disabling warnings on `thread_local` should be made as a flag?
WDYT?

Closes https://github.com/llvm/llvm-project/issues/131679.


  Commit: 53b48301eb3bb4aba63678e9b5eb7cbea7745e34
      https://github.com/llvm/llvm-project/commit/53b48301eb3bb4aba63678e9b5eb7cbea7745e34
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/lib/Target/AMDGPU/AMDGPU.h

  Log Message:
  -----------
  [AMDGPU] Tweak address space definitions. NFC. (#133442)

Define address spaces in numerical order. Fix comments to refer to
"local" instead of "group" address space.


  Commit: 579379cf7f650a3fd5a039ea5c2480d69acc3878
      https://github.com/llvm/llvm-project/commit/579379cf7f650a3fd5a039ea5c2480d69acc3878
  Author: Andras Gemes <gemesandras22 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/docs/Security.rst

  Log Message:
  -----------
  [Nomination] Add HighTec representatives to the Security Group (#124142)

I would like to nominate Mario Cupelli (@mariocup) and myself to join
the LLVM Security Group as representatives (vendor contacts) of [HighTec
EDV Systeme](https://github.com/hightec-rt).

Mario is the CTO of HighTec and has a strong background in compiler
safety qualification. I am a SW engineer with a focus on cybersecurity
and a goal to contribute to the LLVM Security Group.

HighTec collaborates with major silicon vendors and offers
safety-qualified C/C++ and Rust compilers based on LLVM. Our active
contributions to LLVM include work on the linker and various patches and
we are committed to further improving LLVM’s security.

Our motivation for joining the LLVM Security Group is to collaborate
with LLVM security experts, stay informed about the latest CVEs in LLVM
and meet the cybersecurity requirements of the automotive industry.


  Commit: b6569cce4090ea12493ab2c948ea79c6a1a1983d
      https://github.com/llvm/llvm-project/commit/b6569cce4090ea12493ab2c948ea79c6a1a1983d
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir

  Log Message:
  -----------
  [RISCV] Refine location size for segment spill and fill (#133268)

This is a follow up to #133171. I realized we could assume the structure
of the previous MMO, and thus the split is much simpler than I'd
initially pictured.


  Commit: 427725508b084c7aa595312967d74d8888b168b6
      https://github.com/llvm/llvm-project/commit/427725508b084c7aa595312967d74d8888b168b6
  Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M bolt/include/bolt/Core/Relocation.h

  Log Message:
  -----------
  [BOLT] Add getter for optional relocations (#133085)

Minor refactoring on comments.


  Commit: 48b753027382a5815295d6680c7dd407be936c86
      https://github.com/llvm/llvm-project/commit/48b753027382a5815295d6680c7dd407be936c86
  Author: Nick Sarnie <nick.sarnie at intel.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/test/Lower/OpenMP/omp-is-gpu.f90
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp

  Log Message:
  -----------
  [clang][flang][Triple][llvm] Add isOffload function to LangOpts and isGPU function to Triple (#126956)

I'm adding support for SPIR-V, so let's consolidate these checks.

---------

Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>


  Commit: 1f90a88b80998e595a3a11a7d13c333dbfa8777a
      https://github.com/llvm/llvm-project/commit/1f90a88b80998e595a3a11a7d13c333dbfa8777a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libcxx/utils/ci/run-buildbot

  Log Message:
  -----------
  [libcxx] Remove clang-18 workaround in picolib build (#133254)

clang-19 changed how Arm triples were normalised and so while we
supported 18 and 19, we could not hard code the path here.

Now that Linaro's bots are running clang-19, and libcxx is going to drop
clang-18 support (https://github.com/llvm/llvm-project/pull/130142) I
have simplified it by hard coding the path again.

I also looked into why this exists in the first place. It was added in
https://reviews.llvm.org/D154246 but not questioned at the time.

It is due to the way we build compiler-rt, which is due to the final
layout we need in the install:
1. The builtins library must be called libclang_rt.builtins.a for clang
to find it. There must not be an architecture name in the filename.
2. That builtins library must be directly in lib/, next to picolib's
installed files.

To achieve number 1 we must set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON.
However, that causes the file to be installed in a per-target dir which
breaks number 2. So to fix that, we move the builtins library up one
level into lib/.

The alternative is to turn off per-target dirs, which results in a
builtin file with an arch in the name, then rename and move that file
(since it gets installed into lib/generic/).

So in the end, it's the same amount of hacks. I think it's best to keep
the one that uses LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, as this is the
recommended way to built these days.


  Commit: db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
      https://github.com/llvm/llvm-project/commit/db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/lib/Frontend/FrontendAction.cpp

  Log Message:
  -----------
  [clang] Implement some missing interfaces for DelegatingDeserializationListener (#133424)

Split from the https://github.com/llvm/llvm-project/pull/133395 per the
review comment.

This patch also moves the `DelegatingDeserializationListener` close to
`ASTDeserializationListener`.


  Commit: bf5627c85e6975a73bf582cf0d23a993673413d0
      https://github.com/llvm/llvm-project/commit/bf5627c85e6975a73bf582cf0d23a993673413d0
  Author: Hari Limaye <hari.limaye at arm.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
    M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
    A llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll

  Log Message:
  -----------
  [LV] Optimize VPWidenIntOrFpInductionRecipe for known TC (#118828)

Optimize the IR generated for a VPWidenIntOrFpInductionRecipe to use the
narrowest type necessary, when the trip-count of a loop is known to be
constant and the only use of the recipe is the condition used by the
vector loop's backedge branch.


  Commit: 9ce77255b9a48b024e434e5c4017da07fc44bbe1
      https://github.com/llvm/llvm-project/commit/9ce77255b9a48b024e434e5c4017da07fc44bbe1
  Author: Cassandra Beckley <cbeckley at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl

  Log Message:
  -----------
  [HLSL] Add __spirv__ macro (#132848)

This macro can be used by HLSL code to detect that it is being compiled
for the SPIR-V target.


  Commit: 43829039c9b00a56847027801ab420cff2031143
      https://github.com/llvm/llvm-project/commit/43829039c9b00a56847027801ab420cff2031143
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/lib/Format/MacroCallReconstructor.cpp

  Log Message:
  -----------
  [Format] Use a range constructor of DenseSet (NFC) (#133382)


  Commit: 0ae9c65d4a1c8d1e620a2843f22e77f05fcf202f
      https://github.com/llvm/llvm-project/commit/0ae9c65d4a1c8d1e620a2843f22e77f05fcf202f
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/tools/bugpoint/CrashDebugger.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [tools] Use *Set::insert_range (NFC) (#133384)

We can use *Set::insert_range to replace "for" loop-based insertions.
In some cases, we can further fold insert_range into the set
declaration.


  Commit: 460d628d9006f63af3d296a90c32a60a347dbc2c
      https://github.com/llvm/llvm-project/commit/460d628d9006f63af3d296a90c32a60a347dbc2c
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Transforms/Scalar/GVN.cpp

  Log Message:
  -----------
  [GVN] Clean up unused argument, unify style, modernize syntax (NFC)

Finalize code style overhaul in GVN, following up to
2a0946bc0dffca89d16cd9d5208ec9416ed8100e and 9deed7d2ef3a147c4e8410910967fde601359039.


  Commit: 2218587b5b131bb8ed57c3e6c7a5c0c589493300
      https://github.com/llvm/llvm-project/commit/2218587b5b131bb8ed57c3e6c7a5c0c589493300
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h

  Log Message:
  -----------
  MIPS: Support isLegalICmpImmediate and isLegalAddImmediate (#133400)

Set it to true only if isInt<16>.
By default implemention defines them to true always. For most cases,
MIPS uses 16bit IMM, and for microMIPS, ICMP and ADDiu have 16bit IMM
flavors.


  Commit: fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
      https://github.com/llvm/llvm-project/commit/fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
  Author: swatheesh-mcw <swatheesh.muralidharan at multicorewareinc.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/openmp-modifiers.cpp
    A flang/test/Lower/OpenMP/Todo/interop-construct.f90
    A flang/test/Parser/OpenMP/interop-construct.f90
    A flang/test/Semantics/OpenMP/interop-construct.f90
    M llvm/include/llvm/Frontend/OpenMP/OMP.td

  Log Message:
  -----------
  Revert "Revert "[flang][openmp] Adds Parser and Semantic Support for Interop Construct, and Init and Use Clauses."" (#132343)

Reverts llvm/llvm-project#132005


  Commit: 22138720020dd8dfd30dbd220c49d6585126d2f7
      https://github.com/llvm/llvm-project/commit/22138720020dd8dfd30dbd220c49d6585126d2f7
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp

  Log Message:
  -----------
  llvm-reduce: Use isCallee helper (#133419)


  Commit: 8ea3f818dea7d1104429040486614c96e0698901
      https://github.com/llvm/llvm-project/commit/8ea3f818dea7d1104429040486614c96e0698901
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py

  Log Message:
  -----------
  [lldb][test] TestCCallingConventions.py: skip on older AArch64 compilers

With our Clang-15 arm64 CI this test-case crashes when compiling the test program:
```
user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
Unexpected callee-save save/restore opcode!
UNREACHABLE executed at /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1129!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/bin/clang -g -O0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk -arch arm64 -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/../../../../..//include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/lldb-build/tools/lldb/include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make -include /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/test_common.h -fno-limit-debug-info -Werror=ignored-attributes -MT ms_abi.o -MD -MP -MF ms_abi.d -c -o ms_abi.o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
1.	<eof> parser at end of file
2.	Code generation
3.	Running pass 'Function Pass Manager' on module '/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c'.
4.	Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@func'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  clang-15                 0x0000000105d512b0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  clang-15                 0x0000000105d500e4 llvm::sys::RunSignalHandlers() + 112
2  clang-15                 0x0000000105d507c4 llvm::sys::CleanupOnSignal(unsigned long) + 232
3  clang-15                 0x0000000105c79d78 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 128
4  clang-15                 0x0000000105c79f94 CrashRecoverySignalHandler(int) + 124
5  libsystem_platform.dylib 0x0000000185ecba24 _sigtramp + 56
6  libsystem_pthread.dylib  0x0000000185e9ccc0 pthread_kill + 288
7  libsystem_c.dylib        0x0000000185daca40 abort + 180
8  clang-15                 0x0000000105c88508 llvm::install_out_of_memory_new_handler() + 0
9  clang-15                 0x0000000104af7404 fixupCalleeSaveRestoreStackOffset(llvm::MachineInstr&, unsigned long long, bool, bool*) + 0
10 clang-15                 0x0000000104af53e0 llvm::AArch64FrameLowering::emitPrologue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const + 3564
```


  Commit: 71a977d0d611f3e9f6137a6b8a26b730b2886ce9
      https://github.com/llvm/llvm-project/commit/71a977d0d611f3e9f6137a6b8a26b730b2886ce9
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add shift-add (SH1ADD, ...) to isCopyInstrImpl (#133443)

As with #132002, these do show up in a compilation of llvm-test-suite
(including SPEC 2017). We remove 30-40 static instances so this isn't
anything earth shattering.

rs2 is always added to the other shifted (and potentially extended)
operand unmodified, so rs1==zero is equivalent to a copy.


  Commit: a983c3b209bf6602c0687251647535c7fa43a17a
      https://github.com/llvm/llvm-project/commit/a983c3b209bf6602c0687251647535c7fa43a17a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Make more use of CodeGenRegisterClass::EnumValue. NFC. (#132749)


  Commit: f7f479b2a3ac4c242339896fe1012342dc1e56fc
      https://github.com/llvm/llvm-project/commit/f7f479b2a3ac4c242339896fe1012342dc1e56fc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp

  Log Message:
  -----------
  [RISCV] Use templates to reduce duplicated code for assembler operand predicates. (#133351)

We already had a template isUImm function. This patch adds isSImm,
isShiftedUImm, and 2 helpers that take a predicate function to validate
the immediate with. I'm using a template for the predicate function.


  Commit: a33d789bb70e8b19840cacfc1980da883ae01ebd
      https://github.com/llvm/llvm-project/commit/a33d789bb70e8b19840cacfc1980da883ae01ebd
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Avoid invalid reductions on x86_intrcc (#133396)

If there are arguments, the first one must be byval.


  Commit: 6526cda5d865d55b1db5aa0faffb29448e5c6a23
      https://github.com/llvm/llvm-project/commit/6526cda5d865d55b1db5aa0faffb29448e5c6a23
  Author: John Harrison <harjohn at google.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h

  Log Message:
  -----------
  [lldb-dap] Migrating DAP 'initialize' to new typed RequestHandler. (#133007)

This adds new types and helpers to support the 'initialize' request with
the new typed RequestHandler. While working on this I found there were a
few cases where we incorrectly treated initialize arguments as
capabilities. The new `lldb_dap::protocol::InitializeRequestArguments`
and `lldb_dap::protocol::Capabilities` uncovered the inconsistencies.

---------

Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>


  Commit: 4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
      https://github.com/llvm/llvm-project/commit/4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/test/src/time/CMakeLists.txt
    M libc/test/src/time/mktime_test.cpp

  Log Message:
  -----------
  [libc] Enable 'mktime' for the GPU (#133437)

Summary:
This is a dependency on `strftime` which we provide, so we should have
this.


  Commit: ea8573aca5bf5a629bfb01113d74b36efd5c2a51
      https://github.com/llvm/llvm-project/commit/ea8573aca5bf5a629bfb01113d74b36efd5c2a51
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/docs/ReleaseNotes.md

  Log Message:
  -----------
  [lldb] Add statusline to the release notes (#133281)

Add a release note for the LLDB statusline: #121860


  Commit: 1b86867ab3ccf731863043718d53700535e0fb21
      https://github.com/llvm/llvm-project/commit/1b86867ab3ccf731863043718d53700535e0fb21
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
    A llvm/test/tools/llvm-reduce/remove-argument-preserve-attributes.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing callsite attributes when removing arguments (#133407)

The attribute APIs make this cumbersome. There seem to be missing
overloads using AttrBuilder for the function attrs. Plus there doesn't
seem to be a direct way to set the function attrs on the call.


  Commit: 688df34634a5e3d9423060442a47a01b185ef4e1
      https://github.com/llvm/llvm-project/commit/688df34634a5e3d9423060442a47a01b185ef4e1
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing fast math flags when removing arguments (#133408)


  Commit: 115a77df9d8475bc62bc22fe52d0d1c62d8111e5
      https://github.com/llvm/llvm-project/commit/115a77df9d8475bc62bc22fe52d0d1c62d8111e5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing metadata when removing arguments (#133409)


  Commit: 277ab85d1ccf80750f5193495c0665808c2863de
      https://github.com/llvm/llvm-project/commit/277ab85d1ccf80750f5193495c0665808c2863de
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M clang/include/clang/Lex/Preprocessor.h
    M clang/lib/Lex/Preprocessor.cpp

  Log Message:
  -----------
  [clang] Make `PreprocessorOptions` reference const


  Commit: 6b1acdb818dd158619c71546af1bf5e134cd7e03
      https://github.com/llvm/llvm-project/commit/6b1acdb818dd158619c71546af1bf5e134cd7e03
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    A llvm/test/tools/llvm-reduce/remove-arguments-preserve-bundles.ll
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp

  Log Message:
  -----------
  llvm-reduce: Fix losing operand bundles when removing arguments (#133410)


  Commit: 35830c252b119491917cb982973aee4959eb7459
      https://github.com/llvm/llvm-project/commit/35830c252b119491917cb982973aee4959eb7459
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-03-28 (Fri, 28 Mar 2025)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Core/Relocation.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/AArch64/lite-mode.s
    M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/ToolChain.h
    M clang/include/clang/Lex/Preprocessor.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/Basic/Targets/SPIR.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Format/MacroCallReconstructor.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Lex/Preprocessor.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
    M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
    M clang/test/Analysis/taint-generic.cpp
    A clang/test/CodeGen/Mips/subtarget-feature-test.c
    M clang/test/CodeGen/amdgpu-abi-version.c
    M clang/test/CodeGen/amdgpu-address-spaces.cpp
    R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
    M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
    M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
    M clang/test/CodeGenHIP/default-attributes.hip
    M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
    A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
    A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
    A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
    M clang/test/Driver/aix-ld.c
    M clang/test/Driver/aix-print-runtime-dir.c
    M clang/test/Driver/aix-rtlib.c
    A clang/test/Driver/arch-arm64e.c
    A clang/test/Modules/ComplexExplicitSpecifier.cpp
    M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    M compiler-rt/test/CMakeLists.txt
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Evaluate/traverse.h
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Semantics/openmp-modifiers.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/openmp-modifiers.cpp
    A flang/test/Driver/m64-option.f90
    R flang/test/Lower/AMD/code-object-version.f90
    A flang/test/Lower/OpenMP/Todo/interop-construct.f90
    M flang/test/Lower/OpenMP/omp-is-gpu.f90
    A flang/test/Parser/OpenMP/interop-construct.f90
    A flang/test/Semantics/OpenMP/interop-construct.f90
    M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/config/gpu/amdgpu/entrypoints.txt
    M libc/config/gpu/nvptx/entrypoints.txt
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/test/src/time/CMakeLists.txt
    M libc/test/src/time/mktime_test.cpp
    M libclc/CMakeLists.txt
    A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
    A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
    A libclc/clc/include/clc/math/clc_pow.h
    A libclc/clc/include/clc/math/clc_pown.h
    A libclc/clc/include/clc/math/clc_powr.h
    M libclc/clc/include/clc/math/tables.h
    M libclc/clc/lib/generic/SOURCES
    A libclc/clc/lib/generic/math/clc_pow.cl
    A libclc/clc/lib/generic/math/clc_pow.inc
    A libclc/clc/lib/generic/math/clc_pown.cl
    A libclc/clc/lib/generic/math/clc_pown.inc
    A libclc/clc/lib/generic/math/clc_powr.cl
    A libclc/clc/lib/generic/math/clc_powr.inc
    M libclc/clc/lib/generic/math/clc_tables.cl
    M libclc/clspv/lib/SOURCES
    M libclc/cmake/modules/AddLibclc.cmake
    M libclc/generic/include/clc/math/pown.h
    R libclc/generic/include/clc/math/pown.inc
    R libclc/generic/include/math/clc_pow.h
    R libclc/generic/include/math/clc_pown.h
    R libclc/generic/include/math/clc_pown.inc
    R libclc/generic/include/math/clc_powr.h
    M libclc/generic/lib/SOURCES
    M libclc/generic/lib/math/clc_exp10.cl
    R libclc/generic/lib/math/clc_pow.cl
    R libclc/generic/lib/math/clc_pown.cl
    R libclc/generic/lib/math/clc_powr.cl
    M libclc/generic/lib/math/clc_rootn.cl
    M libclc/generic/lib/math/exp_helper.cl
    M libclc/generic/lib/math/expm1.cl
    M libclc/generic/lib/math/pow.cl
    M libclc/generic/lib/math/pown.cl
    R libclc/generic/lib/math/pown.inc
    M libclc/generic/lib/math/powr.cl
    M libclc/generic/lib/math/tables.cl
    M libclc/spirv/lib/SOURCES
    M libcxx/cmake/caches/AMDGPU.cmake
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/utils/ci/run-buildbot
    M lld/ELF/Driver.cpp
    M lld/test/ELF/aarch64-feature-pac.s
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
    M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
    M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/RequestHandler.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
    M llvm/docs/ReleaseNotes.md
    M llvm/docs/Security.rst
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/include/llvm/Frontend/OpenMP/OMP.td
    M llvm/include/llvm/Support/AMDGPUAddrSpace.h
    M llvm/include/llvm/TableGen/Record.h
    M llvm/include/llvm/TargetParser/Triple.h
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/TableGen/Record.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/TableGen/TGLexer.h
    M llvm/lib/TableGen/TGParser.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/Mips/Mips.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.h
    M llvm/lib/Target/Mips/MipsSubtarget.h
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
    A llvm/test/CodeGen/AMDGPU/nor-divergent-lanemask.ll
    M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
    M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
    M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
    M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
    M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
    A llvm/test/CodeGen/SPIRV/structurizer/loop-unroll.ll
    M llvm/test/CodeGen/X86/combine-bitselect.ll
    A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll
    M llvm/test/MC/RISCV/rv64i-aliases-valid.s
    M llvm/test/MC/RISCV/rv64i-valid.s
    M llvm/test/MC/RISCV/rvf-valid.s
    M llvm/test/MC/RISCV/rvi-valid.s
    M llvm/test/MC/RISCV/rvzfbfmin-valid.s
    M llvm/test/MC/RISCV/rvzfh-valid.s
    M llvm/test/MC/RISCV/rvzfhmin-valid.s
    A llvm/test/TableGen/instances.td
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
    M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
    M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
    M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
    M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
    A llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
    M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
    A llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
    A llvm/test/tools/llvm-reduce/remove-argument-preserve-attributes.ll
    A llvm/test/tools/llvm-reduce/remove-arguments-preserve-bundles.ll
    A llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
    A llvm/test/tools/llvm-reduce/remove-attributes-convergent-uncontrolled.ll
    A llvm/test/tools/llvm-reduce/remove-attributes-convergent.ll
    M llvm/tools/bugpoint/CrashDebugger.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
    M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Target/LLVMIR/Import/intrinsic.ll
    M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M offload/DeviceRTL/CMakeLists.txt
    M offload/DeviceRTL/src/Workshare.cpp
    A offload/test/offloading/fortran/target-teams-dist-nest-par.f90

  Log Message:
  -----------
  rebase. update all tests

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/037e7fd97ccc...35830c252b11

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