[all-commits] [llvm/llvm-project] 9e66d5: [ORC] Remove COFFPlatform::DylibsToPreload. NFC.

Qinkun Bao via All-commits all-commits at lists.llvm.org
Tue May 27 03:54:39 PDT 2025


  Branch: refs/heads/users/qinkunbao/spr/implement-srcsanitize-for-ubsan
  Home:   https://github.com/llvm/llvm-project
  Commit: 9e66d54ed4bbbaad0175aa0758a18b31e16334a3
      https://github.com/llvm/llvm-project/commit/9e66d54ed4bbbaad0175aa0758a18b31e16334a3
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp

  Log Message:
  -----------
  [ORC] Remove COFFPlatform::DylibsToPreload. NFC.

DylibsToPreload is only used in the constructor. This patch makes it a local
variable.


  Commit: b9d7ef7d5ad35a77d9ff87a8163de32422699e2c
      https://github.com/llvm/llvm-project/commit/b9d7ef7d5ad35a77d9ff87a8163de32422699e2c
  Author: Vimal <111337181+patel-vimal at users.noreply.github.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/common-cpp.mlir

  Log Message:
  -----------
  Fix handling of integer template argument in emitc.call_opaque (#141451)

Integer attributes supplied to `emitc.call_opaque` as arguments were
treated as index into the operands list. This should be the case only
for the normal arguments but not for the template arguments which can't
refer to SSA values. This commit updates the handling of template
arguments in mlir-to-cpp by removing special handling of integer
attributes.


  Commit: 88ee42af6b4a5e94f054fcc034eb627c7b0f27cf
      https://github.com/llvm/llvm-project/commit/88ee42af6b4a5e94f054fcc034eb627c7b0f27cf
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-05-26 (Mon, 26 May 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCSymbol.h
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp

  Log Message:
  -----------
  MCSymbol: Remove the default argument of getFragment

Follow-up to ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
("[MC] Remove SetUsed on isUndefined and getFragment").

The upcoming change will allow .set to reassign non-absolute values,
removing `IsUsed`.


  Commit: b75d8bdd4eb242e3936357beaf7f9407ba71d9f1
      https://github.com/llvm/llvm-project/commit/b75d8bdd4eb242e3936357beaf7f9407ba71d9f1
  Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h

  Log Message:
  -----------
  Initialize field to appease msan (#141537)

Tested with lldb and lldb-dap test suites.


  Commit: de93f7ed0d615060735ad15e720f2497ed1d2468
      https://github.com/llvm/llvm-project/commit/de93f7ed0d615060735ad15e720f2497ed1d2468
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-05-26 (Mon, 26 May 2025)

  Changed paths:
    M llvm/test/MC/AsmParser/equate-cycle.s

  Log Message:
  -----------
  MC,test: Add explicit triple

The test does not work for COFF.


  Commit: e015626f189dc76f8df9fdc25a47638c6a2f3feb
      https://github.com/llvm/llvm-project/commit/e015626f189dc76f8df9fdc25a47638c6a2f3feb
  Author: Fangrui Song <i at maskray.me>
  Date:   2025-05-26 (Mon, 26 May 2025)

  Changed paths:
    M llvm/include/llvm/MC/MCContext.h
    M llvm/include/llvm/MC/MCSymbol.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/MCSymbol.cpp
    M llvm/test/MC/ARM/thumb_set-diagnostics.s
    M llvm/test/MC/AsmParser/redef.s

  Log Message:
  -----------
  MC: Allow .set to reassign non-MCConstantExpr expressions

GNU Assembler supports symbol reassignment via .set, .equ, or =.
However, LLVM's integrated assembler only allows reassignment for
MCConstantExpr cases, as it struggles with scenarios like:

```
.data
.set x, 0
.long x         // reference the first instance
x = .-.data
.long x         // reference the second instance
.set x,.-.data
.long x         // reference the third instance
```

Between two assignments binds, we cannot ensure that a reference binds
to the earlier assignment. We use MCSymbol::IsUsed and other conditions
to reject potentially unsafe reassignments, but certain MCConstantExpr
uses could be unsafe as well.

This patch enables reassignment by cloning the symbol upon reassignment
and updating the symbol table. Existing references to the original
symbol remain unchanged, and the original symbol is excluded from the
emitted symbol table.


  Commit: c4848fa1fffd5ddf8a5a85b3cf6ae2381be36a2c
      https://github.com/llvm/llvm-project/commit/c4848fa1fffd5ddf8a5a85b3cf6ae2381be36a2c
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadb.ll
    M llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadt.ll

  Log Message:
  -----------
  [RISCV] Remove the declarations for xandesvpackfph LLVM IR intrinsics. NFC.


  Commit: 9e8fa410a08991386c2bd397d3ea05d70f387b0d
      https://github.com/llvm/llvm-project/commit/9e8fa410a08991386c2bd397d3ea05d70f387b0d
  Author: Lang Hames <lhames at gmail.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/LoadLinkableFile.h

  Log Message:
  -----------
  [ORC] Make the orc::LoadArchives enum an enum class. NFC.


  Commit: 1cf5dde423683ec229be4d32cbaa6f5626d6da86
      https://github.com/llvm/llvm-project/commit/1cf5dde423683ec229be4d32cbaa6f5626d6da86
  Author: Kazu Hirata <kazu at google.com>
  Date:   2025-05-26 (Mon, 26 May 2025)

  Changed paths:
    M llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
    M llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp

  Log Message:
  -----------
  [DebugInfo] Use llvm::find_if (NFC) (#141521)


  Commit: 17ef0fe59437f107e8f1cf7edb2fe109de4e332f
      https://github.com/llvm/llvm-project/commit/17ef0fe59437f107e8f1cf7edb2fe109de4e332f
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

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

  Log Message:
  -----------
  [clang][OpenCL] Only evaluate initializer once to check for zero init (#141474)

Both Expr::isIntegerConstantExpr() and Expr::EvaluateKnownConstInt()
evaluate the expression. Just do it once and check the integer result.


  Commit: 936bf29dda64ee33977c4ff687f21f158dc11740
      https://github.com/llvm/llvm-project/commit/936bf29dda64ee33977c4ff687f21f158dc11740
  Author: Srinivasa Ravi <srinivasar at nvidia.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    A mlir/test/Target/LLVMIR/nvvm/convert_fp6x2.mlir
    A mlir/test/Target/LLVMIR/nvvm/convert_fp8x2.mlir
    A mlir/test/Target/LLVMIR/nvvm/convert_tf32.mlir
    R mlir/test/Target/LLVMIR/nvvm/cvt_fp6x2.mlir
    R mlir/test/Target/LLVMIR/nvvm/cvt_fp8x2.mlir
    R mlir/test/Target/LLVMIR/nvvm/cvt_tf32.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir

  Log Message:
  -----------
  [MLIR][NVVM] Rename cvt Ops to convert (#140868)

This patch renames the cvt Ops and related structures to `convert` in
the NVVM dialect to be more descriptive.


  Commit: 9e6fc8dedd75bcb9a389921bee12d18eecbd9908
      https://github.com/llvm/llvm-project/commit/9e6fc8dedd75bcb9a389921bee12d18eecbd9908
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M clang/test/Driver/cl-x86-flags.c

  Log Message:
  -----------
  [Driver][X86] Fix LIT test failure on Solaris/MacOS (#141486)

The LIT test is introduced by
https://github.com/llvm/llvm-project/pull/140874. Fixed by using "--" to
separate options from input file names.


  Commit: f8d63168b6b9928ffed6b068fb35fa26a70f996d
      https://github.com/llvm/llvm-project/commit/f8d63168b6b9928ffed6b068fb35fa26a70f996d
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/p7.cpp

  Log Message:
  -----------
  [Clang] Fix a pack expansion bug in template argument deduction (#141547)

I think the intent of df18ee96206 was to substitute only those non-packs
into a pack expansion type (e.g. `T` in `T::pack...`), so let's hold off
pack expansions explicitly, in case there are calls coming from a
substitution of pack expansion.

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


  Commit: ee9294f30007a1689ee01d627d575544d528b933
      https://github.com/llvm/llvm-project/commit/ee9294f30007a1689ee01d627d575544d528b933
  Author: Ely Ronnen <elyronnen at gmail.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M lldb/utils/lldb-dotest/lldb-dotest.in

  Log Message:
  -----------
  [lldb] add missing cmake build type argument (#141427)

Necessary argument after
https://github.com/llvm/llvm-project/commit/7dc7c155251c0008d5d59b84f0c9056365740f11


  Commit: 1d5bf04030f0345690243553a7d2ea8f60b26604
      https://github.com/llvm/llvm-project/commit/1d5bf04030f0345690243553a7d2ea8f60b26604
  Author: Simon Tatham <simon.tatham at arm.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp

  Log Message:
  -----------
  [ARM] Remove unused class member in ARMConstantIslandPass (#141093)

The map variable `BlockJumpTableRefCount` was added in commit
f5f28d5b0ce76af8f6944774aa73bad9e328b020 to track whether a basic block
was the target of any jump table entries. This was used in the function
`fixupBTI` to insert and remove BTIs after jump tables had been
modified.

Commit 3b742242a53ed0c2a2e1b6bb2352cace43c22030 removed `fixupBTI` on
the grounds that the work was now being done elsewhere. That left
`BlockJumpTableRefCount` still being created, but now nothing is using
it. So we can garbage-collect that variable and all the code that
populates it.


  Commit: 80da58da343620e458e34f01df95b329e7a5763c
      https://github.com/llvm/llvm-project/commit/80da58da343620e458e34f01df95b329e7a5763c
  Author: Jan André Reuter <jan.andre.reuter at hotmail.de>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M compiler-rt/include/xray/xray_interface.h
    A compiler-rt/test/xray/TestCases/Posix/patching-unpatching.c

  Log Message:
  -----------
  [compiler-rt][XRay] Make `xray_interface.h` C compliant (#140068)

The XRay interface header uses no C++ specific features aside from using
the `std` namespace and including the C++ variant of C headers. Yet,
these changes prevent using `xray_interface.h` in external tools relying
on C for different reasons. Make this header C compliant by using C
headers, removing the `std` namespace from `std::size_t` and guard
`extern "C"`.

To make sure that further changes to not break the interface
accidentally, port one test from C++ to C. This requires the C23
standard to officially support the attribute syntax used in this test
case.

Note that this only resolves this issue for `xray_interface.h`.
`xray_records.h` is also not C compliant, but requires more work to
port.

Fixes #139902

Signed-off-by: Jan André Reuter <j.reuter at fz-juelich.de>


  Commit: 104f5d1ff84613542442b71bcb59e19c5ed17b89
      https://github.com/llvm/llvm-project/commit/104f5d1ff84613542442b71bcb59e19c5ed17b89
  Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/Checker.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    A clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt

  Log Message:
  -----------
  [analyzer] Introduce the check::BlockEntrance checker callback (#140924)

Tranersing the CFG blocks of a function is a fundamental operation. Many
C++ constructs can create splits in the control-flow, such as `if`,
`for`, and similar control structures or ternary expressions, gnu
conditionals, gotos, switches and possibly more.

Checkers should be able to get notifications about entering or leaving a
CFG block of interest.

Note that in the ExplodedGraph there is always a BlockEntrance
ProgramPoint right after the BlockEdge ProgramPoint. I considered naming
this callback check::BlockEdge, but then that may leave the observer of
the graph puzzled to see BlockEdge points followed more BlockEdge nodes
describing the same CFG transition. This confusion could also apply to
Bug Report Visitors too.

Because of this, I decided to hook BlockEntrance ProgramPoints instead.
The same confusion applies here, but I find this still a better place
TBH. There would only appear only one BlockEntrance ProgramPoint in the
graph if no checkers modify the state or emit a bug report. Otherwise
they modify some GDM (aka. State) thus create a new ExplodedNode with
the same BlockEntrance ProgramPoint in the graph.

CPP-6484


  Commit: 692d9f26b5c8a027b6c3eeeb426ee2df15ee8147
      https://github.com/llvm/llvm-project/commit/692d9f26b5c8a027b6c3eeeb426ee2df15ee8147
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

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

  Log Message:
  -----------
  [gn build] Port 104f5d1ff846


  Commit: 052c70451afb7323ef72f321f3b0b5abb024b302
      https://github.com/llvm/llvm-project/commit/052c70451afb7323ef72f321f3b0b5abb024b302
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp

  Log Message:
  -----------
  [lldb][Modules] Fix error handling of parseAndLoadModuleMapFile (#141220)

`parseAndLoadModuleMapFile` returns `true` on error. This seems to have
always been an issue? This is now preventing me from fixing a different
modules related issue. So this patch checks the return value correctly.


  Commit: 8fe33a05b94d716830f7ad119d2afcb06e09cc4d
      https://github.com/llvm/llvm-project/commit/8fe33a05b94d716830f7ad119d2afcb06e09cc4d
  Author: Michael Jabbour <117195239+michael-jabbour-sonarsource at users.noreply.github.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp

  Log Message:
  -----------
  [NFC] Fix evaluation order dependency in call arguments (#141366)

The code in `ARMAsmParser::parseDirectiveReq` passes both
`parseRegister(Reg, SRegLoc, ERegLoc)` and `SRegLoc` as arguments to
`check()`. Since function arguments are indeterminately sequenced per
C++17 [expr.call]/5, a compiler can evaluate `SRegLoc` before
`parseRegister()` executes. This means `check()` receives a null
location instead of the actual parsed source location for error
reporting.

The fix separates the calls to establish explicit sequencing, ensuring
`check()` receives the correct source location.

This issue was detected by [the CFamily analyzer for
SonarQube](https://www.sonarsource.com/knowledge/languages/cpp/). I'm
happy to provide any additional information or clarification as needed.


  Commit: 03fc480b9acde73f2cbd2ca216bf879b6b28a473
      https://github.com/llvm/llvm-project/commit/03fc480b9acde73f2cbd2ca216bf879b6b28a473
  Author: Christian Sigg <csigg at google.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

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

  Log Message:
  -----------
  [mlir][bazel] Adjust BUILD file to work with transform_build_files tool.


  Commit: 58ee6e6c4bc59a1c960c24c782661cb1578af7c4
      https://github.com/llvm/llvm-project/commit/58ee6e6c4bc59a1c960c24c782661cb1578af7c4
  Author: tangaac <tangyan01 at loongson.cn>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/lasx/shuffle-as-permute-and-shuffle.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit for lowering shuffle as lane permute and shuffle. (#141205)


  Commit: afd53edefa771e5e2136a4cb159843a74a586660
      https://github.com/llvm/llvm-project/commit/afd53edefa771e5e2136a4cb159843a74a586660
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h
    M libcxx/utils/ci/run-buildbot-container

  Log Message:
  -----------
  [libc++] Bump the docker image hash (#140517)

This updates GCC 15 to the release version to allow us to upgrade to GCC
15.


  Commit: 7569de527298a52618239ef68b9374a5c35c8b97
      https://github.com/llvm/llvm-project/commit/7569de527298a52618239ef68b9374a5c35c8b97
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/test/Preprocessor/aarch64-target-features.c

  Log Message:
  -----------
  [Clang][AArch64]Add FP8 ACLE macros implementation (#140591)

This patch implements the macros described in the ACLE[1]

[1]
https://github.com/ARM-software/acle/blob/main/main/acle.md#modal-8-bit-floating-point-extensions


  Commit: bf6cd24aaadd8310408d733c944f0d5f9cc14c0a
      https://github.com/llvm/llvm-project/commit/bf6cd24aaadd8310408d733c944f0d5f9cc14c0a
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M compiler-rt/include/xray/xray_interface.h
    R compiler-rt/test/xray/TestCases/Posix/patching-unpatching.c

  Log Message:
  -----------
  Revert "[compiler-rt][XRay] Make `xray_interface.h` C compliant" (#141570)

Reverts llvm/llvm-project#140068

Failures on PPC buildbots.


  Commit: fb27867bd5a04975516b099681587ea32f38f3d4
      https://github.com/llvm/llvm-project/commit/fb27867bd5a04975516b099681587ea32f38f3d4
  Author: Fabian Ritter <fabian.ritter at amd.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll

  Log Message:
  -----------
  [AMDGPU] SIFoldOperands: Delay foldCopyToVGPROfScalarAddOfFrameIndex (#141558)

foldCopyToVGPROfScalarAddOfFrameIndex transforms s_adds whose results are copied
to vector registers into v_adds. We don't want to do that if foldInstOperand
(which so far runs later) can fold the sreg->vreg copy away.
This patch therefore delays foldCopyToVGPROfScalarAddOfFrameIndex until after
foldInstOperand.

This avoids unnecessary movs in the flat-scratch-svs.ll test and also avoids
regressions in an upcoming patch to enable ISD::PTRADD nodes.


  Commit: 6da8f3bd5df2bb860f8cc32e9cfc739baf102295
      https://github.com/llvm/llvm-project/commit/6da8f3bd5df2bb860f8cc32e9cfc739baf102295
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combinei64TruncSrlConstant - sink EVT::getIntegerVT to ISD::ADD case only. NFC.

Don't bother creating the CleanUpVT variable unless its being used by the getZeroExtendInReg call in the ISD::ADD case

Noticed while triaging #141496


  Commit: ac9a466e39bf97ffeab127982aa7c405cb257551
      https://github.com/llvm/llvm-project/commit/ac9a466e39bf97ffeab127982aa7c405cb257551
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    A llvm/test/Transforms/LoopUnroll/peel-last-iteration-debug.ll

  Log Message:
  -----------
  [LoopPeel] Insert new phis before first non-PHI when peeling last iter.

Make sure the new phis are inserted before any non-phi instructions.
This fixes a crash when dbg_value instructions are present in the
original exit block.


  Commit: 6f3efd80ab20d5ab4ac375da0d84d5999adbfcb9
      https://github.com/llvm/llvm-project/commit/6f3efd80ab20d5ab4ac375da0d84d5999adbfcb9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineTruncatedArithmetic - move more of fold inside combinei64TruncSrlConstant

Let combinei64TruncSrlConstant decide when the fold is invalid instead of splitting so many of the conditions with combineTruncatedArithmetic

NOTE: We can probably relax the i32 truncation constraint to <= i32, perform the SRL as i32 and then truncate further.

Noticed while triaging #141496


  Commit: 94929b725f415a8ab8de35194f3c2eec5192990f
      https://github.com/llvm/llvm-project/commit/94929b725f415a8ab8de35194f3c2eec5192990f
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M clang/test/DebugInfo/KeyInstructions/agg.c
    M clang/test/DebugInfo/KeyInstructions/assign-scalar.c
    M clang/test/DebugInfo/KeyInstructions/do.c
    M clang/test/DebugInfo/KeyInstructions/if.c
    M clang/test/DebugInfo/KeyInstructions/init-agg.c
    M clang/test/DebugInfo/KeyInstructions/init-member.cpp
    M clang/test/DebugInfo/KeyInstructions/init-scalar.c
    M clang/test/DebugInfo/KeyInstructions/init-static.cpp
    M clang/test/DebugInfo/KeyInstructions/while.c

  Log Message:
  -----------
  [KeyInstr] Add triple to Clang tests

Fixes various downstream bot failures ocurring with different default targets
e.g., windows due to mangling assumptions baked into the tests.


  Commit: 47d5e94acb92ce4ec5040e95e167ba471d080244
      https://github.com/llvm/llvm-project/commit/47d5e94acb92ce4ec5040e95e167ba471d080244
  Author: FabianWolff <16052130+FabianWolff at users.noreply.github.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get-msvc.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp

  Log Message:
  -----------
  [clang-tidy] readability-redundant-smartptr-get: disable for smart pointers to arrays (#141092)

Currently we generate an incorrect suggestion for shared/unique pointers
to arrays; for instance ([Godbolt](https://godbolt.org/z/Tens1reGP)):
```c++
#include <memory>

void test_shared_ptr_to_array() {
  std::shared_ptr<int[]> i;
  auto s = sizeof(*i.get());
}
```
```
<source>:5:20: warning: redundant get() call on smart pointer [readability-redundant-smartptr-get]
    5 |   auto s = sizeof(*i.get());
      |                    ^~~~~~~
      |                    i
1 warning generated.
```
`sizeof(*i)` is incorrect, though, because the array specialization of
`std::shared/unique_ptr` does not have an `operator*()`. Therefore I
have disabled this check for smart pointers to arrays for now; future
work could, of course, improve on this by suggesting, say,
`sizeof(i[0])` in the above example.


  Commit: 059885c703e9de601d868061a0c344837a81aaf4
      https://github.com/llvm/llvm-project/commit/059885c703e9de601d868061a0c344837a81aaf4
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CGExprComplex.cpp
    A clang/test/DebugInfo/KeyInstructions/complex.c

  Log Message:
  -----------
  [KeyInstr] Complex assignment atoms (#134638)

This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.

RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668

The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.


  Commit: bf1d4228f1660db694c29e2694414340897734f7
      https://github.com/llvm/llvm-project/commit/bf1d4228f1660db694c29e2694414340897734f7
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    A clang/test/DebugInfo/KeyInstructions/try-catch.cpp

  Log Message:
  -----------
  [KeyInstr][Clang] Catch variable init atom (#134641)

This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.

RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668

The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.


  Commit: b61144bf77eedbcb209c0328e8867f693624aacc
      https://github.com/llvm/llvm-project/commit/b61144bf77eedbcb209c0328e8867f693624aacc
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/CodeGen/AArch64/active_lane_mask.ll

  Log Message:
  -----------
  [AArch64] Allow lowering of more types to GET_ACTIVE_LANE_MASK (#140062)

Adds support for operand promotion and splitting/widening the result
of the ISD::GET_ACTIVE_LANE_MASK node.
For AArch64, shouldExpandGetActiveLaneMask now returns false for more
types which we know can be legalised.


  Commit: dd8eb1e6737a612be204c59949ff3611c300e25a
      https://github.com/llvm/llvm-project/commit/dd8eb1e6737a612be204c59949ff3611c300e25a
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M clang/lib/CodeGen/CGStmt.cpp
    A clang/test/DebugInfo/KeyInstructions/switch.c

  Log Message:
  -----------
  [KeyInstr][Clang] Switch stmt atom (#134643)

This patch is part of a stack that teaches Clang to generate Key Instructions
metadata for C and C++.

RFC:
https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668

The feature is only functional in LLVM if LLVM is built with CMake flag
LLVM_EXPERIMENTAL_KEY_INSTRUCTIONs. Eventually that flag will be removed.


  Commit: 7462da18a1cd1d0fc9190b30822d4574f062b6df
      https://github.com/llvm/llvm-project/commit/7462da18a1cd1d0fc9190b30822d4574f062b6df
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2025-05-27 (Tue, 27 May 2025)

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

  Log Message:
  -----------
  [X86] Add test coverage for #141475


  Commit: 1167303be1c151b3e4e4b44f0e070e152bf69175
      https://github.com/llvm/llvm-project/commit/1167303be1c151b3e4e4b44f0e070e152bf69175
  Author: Qinkun Bao <qinkun at google.com>
  Date:   2025-05-27 (Tue, 27 May 2025)

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml
    M clang-tools-extra/clang-tidy/readability/RedundantSmartptrGetCheck.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get-msvc.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-smartptr-get.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/StaticAnalyzer/Core/Checker.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/ItaniumCXXABI.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/test/CXX/temp/temp.fct.spec/temp.deduct/p7.cpp
    M clang/test/DebugInfo/KeyInstructions/agg.c
    M clang/test/DebugInfo/KeyInstructions/assign-scalar.c
    A clang/test/DebugInfo/KeyInstructions/complex.c
    M clang/test/DebugInfo/KeyInstructions/do.c
    M clang/test/DebugInfo/KeyInstructions/if.c
    M clang/test/DebugInfo/KeyInstructions/init-agg.c
    M clang/test/DebugInfo/KeyInstructions/init-member.cpp
    M clang/test/DebugInfo/KeyInstructions/init-scalar.c
    M clang/test/DebugInfo/KeyInstructions/init-static.cpp
    A clang/test/DebugInfo/KeyInstructions/switch.c
    A clang/test/DebugInfo/KeyInstructions/try-catch.cpp
    M clang/test/DebugInfo/KeyInstructions/while.c
    M clang/test/Driver/cl-x86-flags.c
    M clang/test/Preprocessor/aarch64-target-features.c
    A clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    M libcxx/include/__cxx03/__type_traits/is_trivially_relocatable.h
    M libcxx/utils/ci/run-buildbot-container
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
    M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
    M lldb/utils/lldb-dotest/lldb-dotest.in
    M llvm/include/llvm/ExecutionEngine/Orc/COFFPlatform.h
    M llvm/include/llvm/ExecutionEngine/Orc/LoadLinkableFile.h
    M llvm/include/llvm/MC/MCContext.h
    M llvm/include/llvm/MC/MCSymbol.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCContext.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/MasmParser.cpp
    M llvm/lib/MC/MCSymbol.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Utils/LoopPeel.cpp
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/CodeGen/AArch64/active_lane_mask.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    A llvm/test/CodeGen/LoongArch/lasx/shuffle-as-permute-and-shuffle.ll
    M llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadb.ll
    M llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadt.ll
    M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
    M llvm/test/MC/ARM/thumb_set-diagnostics.s
    M llvm/test/MC/AsmParser/equate-cycle.s
    M llvm/test/MC/AsmParser/redef.s
    A llvm/test/Transforms/LoopUnroll/peel-last-iteration-debug.ll
    M llvm/unittests/DebugInfo/LogicalView/CodeViewReaderTest.cpp
    M llvm/unittests/DebugInfo/LogicalView/DWARFReaderTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Target/Cpp/common-cpp.mlir
    A mlir/test/Target/LLVMIR/nvvm/convert_fp6x2.mlir
    A mlir/test/Target/LLVMIR/nvvm/convert_fp8x2.mlir
    A mlir/test/Target/LLVMIR/nvvm/convert_tf32.mlir
    R mlir/test/Target/LLVMIR/nvvm/cvt_fp6x2.mlir
    R mlir/test/Target/LLVMIR/nvvm/cvt_fp8x2.mlir
    R mlir/test/Target/LLVMIR/nvvm/cvt_tf32.mlir
    M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/qinkunbao/spr/implement-srcsanitize-for-ubsan


Compare: https://github.com/llvm/llvm-project/compare/73f0de8eb3ce...1167303be1c1

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