[all-commits] [llvm/llvm-project] 5b1694: [clang] Ensure correct copying of records with aut...

Vitaly Buka via All-commits all-commits at lists.llvm.org
Thu Apr 24 23:36:10 PDT 2025


  Branch: refs/heads/users/vitalybuka/spr/drivercfi-allow-cfi-with-minimal-runtime
  Home:   https://github.com/llvm/llvm-project
  Commit: 5b16941f5707c3a326b688e0954f8882d8a36951
      https://github.com/llvm/llvm-project/commit/5b16941f5707c3a326b688e0954f8882d8a36951
  Author: Oliver Hunt <oliver at apple.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/include/clang/AST/NonTrivialTypeVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    A clang/test/CodeGen/ptrauth-in-c-struct.c
    A clang/test/CodeGen/ptrauth-qualifier-blocks.c
    M clang/test/Sema/ptrauth-qualifier.c
    M clang/test/SemaCXX/ptrauth-qualifier.cpp

  Log Message:
  -----------
  [clang] Ensure correct copying of records with authenticated fields (#136783)

When records contain fields with pointer authentication, even simple
copies can require
additional work be performed. This patch contains the core functionality
required to
handle user defined structs, as well as the implicitly constructed
structs for blocks, etc.

Co-authored-by: Ahmed Bougacha
Co-authored-by: Akira Hatanaka
Co-authored-by: John Mccall


  Commit: 42622c79592b98b899d787c89db11cea1b540b96
      https://github.com/llvm/llvm-project/commit/42622c79592b98b899d787c89db11cea1b540b96
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

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

  Log Message:
  -----------
  [bazel] Depend on full Utility library in lldb (#137265)

Since 6493345c5ab96f60ab5ee38272fb6635f2083318 the utility library is
needed by the driver. Since liblldb's exports are limited with
-exports_symbols_list on macOS, some symbols like
`__ZN12SelectHelper10FDSetWriteEi` are not exported from liblldb and
therefore cause linker failures on macOS only. In the cmake the driver
now depends on the full utility library, even though that leads to some
duplication of symbols, so it should be safe for us to do in bazel as
well.


  Commit: 262158b8aa12634c17f4b37cba62564e5c9baab4
      https://github.com/llvm/llvm-project/commit/262158b8aa12634c17f4b37cba62564e5c9baab4
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py
    M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
    M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp

  Log Message:
  -----------
  [lldb-dap] Support StackFrameFormat (#137113)

The debug adapter protocol supports an option to provide formatting
information for a stack frames as part of the StackTrace request.
lldb-dap incorrectly advertises it supports this, but until this PR that
support wasn't actually implemented.

Fixes #137057


  Commit: fdbf073a86573c9ac4d595fac8e06d252ce1469f
      https://github.com/llvm/llvm-project/commit/fdbf073a86573c9ac4d595fac8e06d252ce1469f
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

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

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

This reverts commit a9d93ecf1f8d2cfe3f77851e0df179b386cff353.

Reverted due to the commit including a config in LLVM headers that is not
available outside of the llvm source tree.


  Commit: b6746b06574686a587587acafb38881ca848089c
      https://github.com/llvm/llvm-project/commit/b6746b06574686a587587acafb38881ca848089c
  Author: Andy Kaylor <akaylor at nvidia.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    A clang/test/CIR/CodeGen/namespace.cpp

  Log Message:
  -----------
  [CIR] Upstream namepsace handling (#137253)

This adds the handlers for Decl::Namespace and Decl::UsingDirective
(which is needed for anonymous namespaces).


  Commit: c0bc77512455ca7eec72efb45fb7aa6a7e9b449c
      https://github.com/llvm/llvm-project/commit/c0bc77512455ca7eec72efb45fb7aa6a7e9b449c
  Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/module-roundtrip.mlir
    M mlir/test/Target/LLVMIR/Import/module-flags.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [MLIR][LLVM] Add CG Profile module flags support (#137115)

Dialect only accept arbitrary module flag values in face of simple types
like int and string. Whenever metadata is a bit more complex use
specific attributes to map functionality. This PR adds an attribute to
represent "CG Profile" entries, verifiers, import / translate support.


  Commit: 7122d9c5623f69a68817c38ecbe5cabd7ea13cd5
      https://github.com/llvm/llvm-project/commit/7122d9c5623f69a68817c38ecbe5cabd7ea13cd5
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll

  Log Message:
  -----------
  [RISCV] Add codegen tests for `vector.(de)interleave3/5/7` on FP scalable vectors (#137257)

We had `vector.(de)interleave3/5/7` tests for floating point fixed
vectors but not for scalable vectors. This patch adds some tests. I also
reorganized the test files so all integer tests are put at the top.


  Commit: be48c0df77413a237565a339c9ccc275b8256631
      https://github.com/llvm/llvm-project/commit/be48c0df77413a237565a339c9ccc275b8256631
  Author: Ziqing Luo <ziqing at udel.edu>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    A clang/test/SemaCXX/bug149071318.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Fix a bug that wrongly assumed CXXMethodDecl always has an identifier (#137248)

Fix a bug in UnsafeBufferUsage.cpp that wrongly assumed that
CXXMethodDecl always has an identifier.

rdar://149071318


  Commit: 70e303f11e1b9ac4af20d4fad5f1ec1c8ceb448e
      https://github.com/llvm/llvm-project/commit/70e303f11e1b9ac4af20d4fad5f1ec1c8ceb448e
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp

  Log Message:
  -----------
  [webkit.UncountedLambdaCapturesChecker] Treat a call to lambda function via a variable as safe. (#135688)

This PR makes the checker ignore a function call to lambda via a local
variable.


  Commit: 31b38d67f246066cbca9328a5b2dd66a31e71245
      https://github.com/llvm/llvm-project/commit/31b38d67f246066cbca9328a5b2dd66a31e71245
  Author: Chris B <chris.bieneman at me.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    A clang/test/SemaHLSL/Language/InitIncompleteArrays.hlsl
    M clang/test/SemaHLSL/Language/InitListAST.hlsl

  Log Message:
  -----------
  [HLSL] Handle incomplete array types (#133508)

This refactors the initialization list transformation code to handle
incomplete array types.

Fixes #132958


  Commit: 967434aa3275842637937e9ac17614a10f81bae7
      https://github.com/llvm/llvm-project/commit/967434aa3275842637937e9ac17614a10f81bae7
  Author: royitaqi <royitaqi at users.noreply.github.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M lldb/include/lldb/Symbol/ObjectFile.h
    M lldb/include/lldb/Symbol/SymbolFile.h
    M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
    M lldb/include/lldb/Target/Statistics.h
    M lldb/source/Core/Module.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Symbol/SymbolFile.cpp
    M lldb/source/Target/Statistics.cpp
    M lldb/test/API/commands/statistics/basic/TestStats.py
    M lldb/unittests/Symbol/LineTableTest.cpp
    M lldb/unittests/Symbol/SymtabTest.cpp

  Log Message:
  -----------
  [lldb] Remerge #136236 (Avoid force loading symbols in statistics collection (#136795)

Fix a [test
failure](https://github.com/llvm/llvm-project/pull/136236#issuecomment-2819772879)
in #136236, apply a minor renaming of statistics, and remerge. See
details below.

# Changes in #136236

Currently, `DebuggerStats::ReportStatistics()` calls
`Module::GetSymtab(/*can_create=*/false)`, but then the latter calls
`SymbolFile::GetSymtab()`. This will load symbols if haven't yet. See
stacktrace below.

The problem is that `DebuggerStats::ReportStatistics` should be
read-only. This is especially important because it reports stats for
symtab parsing/indexing time, which could be affected by the reporting
itself if it's not read-only.

This patch fixes this problem by adding an optional parameter
`SymbolFile::GetSymtab(bool can_create = true)` and receiving the
`false` value passed down from `Module::GetSymtab(/*can_create=*/false)`
when the call is initiated from `DebuggerStats::ReportStatistics()`.

---

Notes about the following stacktrace:
1. This can be reproduced. Create a helloworld program on **macOS** with
dSYM, add `settings set target.preload-symbols false` to `~/.lldbinit`,
do `lldb a.out`, then `statistics dump`.
2. `ObjectFile::GetSymtab` has `llvm::call_once`. So the fact that it
called into `ObjectFileMachO::ParseSymtab` means that the symbol table
is actually being parsed.

```
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = step over
    frame #0: 0x0000000124c4d5a0 LLDB`ObjectFileMachO::ParseSymtab(this=0x0000000111504e40, symtab=0x0000600000a05e00) at ObjectFileMachO.cpp:2259:44
  * frame #1: 0x0000000124fc50a0 LLDB`lldb_private::ObjectFile::GetSymtab()::$_0::operator()(this=0x000000016d35c858) const at ObjectFile.cpp:761:9
    frame #5: 0x0000000124fc4e68 LLDB`void std::__1::__call_once_proxy[abi:v160006]<std::__1::tuple<lldb_private::ObjectFile::GetSymtab()::$_0&&>>(__vp=0x000000016d35c7f0) at mutex:652:5
    frame #6: 0x0000000198afb99c libc++.1.dylib`std::__1::__call_once(unsigned long volatile&, void*, void (*)(void*)) + 196
    frame #7: 0x0000000124fc4dd0 LLDB`void std::__1::call_once[abi:v160006]<lldb_private::ObjectFile::GetSymtab()::$_0>(__flag=0x0000600003920080, __func=0x000000016d35c858) at mutex:670:9
    frame #8: 0x0000000124fc3cb0 LLDB`void llvm::call_once<lldb_private::ObjectFile::GetSymtab()::$_0>(flag=0x0000600003920080, F=0x000000016d35c858) at Threading.h:88:5
    frame #9: 0x0000000124fc2bc4 LLDB`lldb_private::ObjectFile::GetSymtab(this=0x0000000111504e40) at ObjectFile.cpp:755:5
    frame #10: 0x0000000124fe0a28 LLDB`lldb_private::SymbolFileCommon::GetSymtab(this=0x0000000104865200) at SymbolFile.cpp:158:39
    frame #11: 0x0000000124d8fedc LLDB`lldb_private::Module::GetSymtab(this=0x00000001113041a8, can_create=false) at Module.cpp:1027:21
    frame #12: 0x0000000125125bdc LLDB`lldb_private::DebuggerStats::ReportStatistics(debugger=0x000000014284d400, target=0x0000000115808200, options=0x000000014195d6d1) at Statistics.cpp:329:30
    frame #13: 0x0000000125672978 LLDB`CommandObjectStatsDump::DoExecute(this=0x000000014195d540, command=0x000000016d35d820, result=0x000000016d35e150) at CommandObjectStats.cpp:144:18
    frame #14: 0x0000000124f29b40 LLDB`lldb_private::CommandObjectParsed::Execute(this=0x000000014195d540, args_string="", result=0x000000016d35e150) at CommandObject.cpp:832:9
    frame #15: 0x0000000124efbd70 LLDB`lldb_private::CommandInterpreter::HandleCommand(this=0x0000000141b22f30, command_line="statistics dump", lazy_add_to_history=eLazyBoolCalculate, result=0x000000016d35e150, force_repeat_command=false) at CommandInterpreter.cpp:2134:14
    frame #16: 0x0000000124f007f4 LLDB`lldb_private::CommandInterpreter::IOHandlerInputComplete(this=0x0000000141b22f30, io_handler=0x00000001419b2aa8, line="statistics dump") at CommandInterpreter.cpp:3251:3
    frame #17: 0x0000000124d7b5ec LLDB`lldb_private::IOHandlerEditline::Run(this=0x00000001419b2aa8) at IOHandler.cpp:588:22
    frame #18: 0x0000000124d1e8fc LLDB`lldb_private::Debugger::RunIOHandlers(this=0x000000014284d400) at Debugger.cpp:1225:16
    frame #19: 0x0000000124f01f74 LLDB`lldb_private::CommandInterpreter::RunCommandInterpreter(this=0x0000000141b22f30, options=0x000000016d35e63c) at CommandInterpreter.cpp:3543:16
    frame #20: 0x0000000122840294 LLDB`lldb::SBDebugger::RunCommandInterpreter(this=0x000000016d35ebd8, auto_handle_events=true, spawn_thread=false) at SBDebugger.cpp:1212:42
    frame #21: 0x0000000102aa6d28 lldb`Driver::MainLoop(this=0x000000016d35ebb8) at Driver.cpp:621:18
    frame #22: 0x0000000102aa75b0 lldb`main(argc=1, argv=0x000000016d35f548) at Driver.cpp:829:26
    frame #23: 0x0000000198858274 dyld`start + 2840
```

# Changes in this PR top of the above

Fix a [test
failure](https://github.com/llvm/llvm-project/pull/136236#issuecomment-2819772879)
in `TestStats.py`. The original version of the added test checks that
all modules have symbol count zero when `target.preload-symbols ==
false`. The test failed on macOS. Due to various reasons, on macOS,
symbols can be loaded for dylibs even with that setting, but not for the
main module. For now, the fix of the test is to limit the assertion to
only the main module. The test now passes on macOS. In the future, when
we have a way to control a specific list of plug-ins to be loaded, there
may be a configuration that this test can use to assert that all modules
have symbol count zero.

Apply a minor renaming of statistics, per the
[suggestion](https://github.com/llvm/llvm-project/pull/136226#issuecomment-2825080275)
in #136226 after merge.


  Commit: e28616a22af81c1e24aa8026992560799d2c0170
      https://github.com/llvm/llvm-project/commit/e28616a22af81c1e24aa8026992560799d2c0170
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M .github/workflows/commit-access-greeter.yml

  Log Message:
  -----------
  workflows/commit-access-greeter: Add pull-request read permissions (#137268)

This is now needed in order to list the pull requests for a user. I'm
not sure what changed but this didn't used to be necessary.


  Commit: f0c61d2242bbc7576ca5e4137a5ea8f63e4859a9
      https://github.com/llvm/llvm-project/commit/f0c61d2242bbc7576ca5e4137a5ea8f63e4859a9
  Author: YunQiang Su <syq at debian.org>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

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

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

It is used to mark a value that we are sure that it is not some fcType.
The examples include:
  * An arguments of a function is marked with nofpclass
  * Output value of an intrinsic can be sure to not be some type

So that the following operation can make some assumptions.

---------

Co-authored-by: Your Name <you at example.com>


  Commit: fb01f19f3cf6b3317983b06a7dbf5ed143072990
      https://github.com/llvm/llvm-project/commit/fb01f19f3cf6b3317983b06a7dbf5ed143072990
  Author: Ebuka Ezike <yerimyah1 at gmail.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
    M lldb/tools/lldb-dap/LLDBUtils.cpp
    M lldb/tools/lldb-dap/LLDBUtils.h

  Log Message:
  -----------
  [lldb][lldb-dap] fix repeating commands in repl mode (#135008)

Fixes #131589
Add a new parameter to the RunCommands functions to control the echoing of
commands
---------

Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Co-authored-by: Walter Erquinigo <a20012251 at gmail.com>


  Commit: 7a424276dee30154ec84b7494ef6040e10684a4e
      https://github.com/llvm/llvm-project/commit/7a424276dee30154ec84b7494ef6040e10684a4e
  Author: Feng Zou <feng.zou at intel.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrConditionalCompare.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/test/CodeGen/X86/apx/ccmp.ll
    R llvm/test/CodeGen/X86/apx/optimize-compare-ccmp.mir
    M llvm/test/CodeGen/X86/optimize-compare.mir

  Log Message:
  -----------
  Revert "[X86][APX] Support peephole optimization with CCMP instruction (#129994)" (#136796)

This reverts commit 7ae75851b2e1570662261c97c13cfc65357c283d.

There is a problem with peephole optimization for CCMP instruction. See
the example below:
C source code:
```
  if (a > 2 || (b && (a == 2))) { … }
```
MIR before peephole optimization:
```
  TEST8rr %21:gr8, %21:gr8, implicit-def $eflags // b
  CCMP32ri %30:gr32, 2, 0, 5, implicit-def $eflags, implicit $eflags // a == 2
  CCMP32ri %30:gr32, 3, 0, 5, implicit-def $eflags, implicit $eflags // a > 2 (transformed to a < 3)
  JCC_1 %bb.6, 2, implicit $eflags
  JMP_1 %bb.3
```
Inputs:
```
  a = 1, b = 0.
```
With the inputs above, the expected behavior is to jump to %bb.6 BB.
After TEST8rr instruction being executed with b(%21) == 0, the ZF bit is
set to 1 in eflags, so the eflags doesn't satisfy SCC condition in the
following CCMP32ri instruction (for a==2 condition) which skips compare
a(%30) with 2 and set flags in its payload to 0x202 (ZF = 0). The eflags
satisfies the SCC condition in the 2nd CCMP32ri instruction which
compares a(%30) with 3. It sets CF to 1 in eflags and the JCC
instruction jumps to %bb.6 BB.

But after adding CCMP support, peephole optimization eliminates the 2nd
CCMP32ri instruction and updates the condition of JCC instruction to
"BE" from "B". With the same inputs, JCC instruction falls through to
the next instruction. It's not expected and the 2nd CCMP32ri should not
be eliminated.
```
  TEST8rr %21:gr8, %21:gr8, implicit-def $eflags // b
  CCMP32ri %30:gr32, 2, 0, 5, implicit-def $eflags, implicit $eflags  // a == 2
  JCC_1 %bb.6, 6, implicit $eflags
  JMP_1 %bb.3
```


  Commit: 462bf4746fd6dcb004ecc9c450b0e45a00101297
      https://github.com/llvm/llvm-project/commit/462bf4746fd6dcb004ecc9c450b0e45a00101297
  Author: Jim Lin <jim at andestech.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/and-xor-or.ll

  Log Message:
  -----------
  [InstCombine] Refactor the code for folding logicop and sext/zext. NFC. (#137132)

This refactoring is for more easily adding the code to preserve disjoint
or in the PR https://github.com/llvm/llvm-project/pull/136815.

Both casts must have one use for folding logicop and sext/zext when the
src type differ to avoid creating an extra instruction. If the src type
of casts are the same, only one of the casts needs to have one use. This
PR also adds more tests for the same src type.


  Commit: ea698c444707c8c3e10cb675003beb686fc94103
      https://github.com/llvm/llvm-project/commit/ea698c444707c8c3e10cb675003beb686fc94103
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp

  Log Message:
  -----------
  [NVPTX][NFC] Refactoring and cleanup in NVPTXISelLowering (#137222)


  Commit: 4652b69b0a512ff248b08cfa7ba9547860d1cc10
      https://github.com/llvm/llvm-project/commit/4652b69b0a512ff248b08cfa7ba9547860d1cc10
  Author: Ian Wood <ianwood2024 at u.northwestern.edu>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix partial fuse by collapse (#136326)

Similar to `FoldWithProducerReshapeOpByCollapsing`,
`FoldReshapeWithGenericOpByCollapsing` needs to be able to handle
partial fusion of a reshape by collapsing. This means that the source of
the generated `expand_shape` op (aka the collapsed linalg op) might not
match the type of the original `collapse_shape` op. This change instead
replaces the original linalg op with the new `expand_shape` op which is
guaranteed to be the same type.

Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>


  Commit: 82f1f5e5d4104fa276386f4840eacef9c44becce
      https://github.com/llvm/llvm-project/commit/82f1f5e5d4104fa276386f4840eacef9c44becce
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Correctly identify include guards (#137112)

Fix #136814


  Commit: 5717c5f385d3b8f5b395c3013aaba9929a618aa3
      https://github.com/llvm/llvm-project/commit/5717c5f385d3b8f5b395c3013aaba9929a618aa3
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
    M lldb/test/API/tools/lldb-dap/stackTrace/main.c

  Log Message:
  -----------
  [lldb] Re-enable TestDAP_stackTrace on Windows

It's unclear why this test has been disabled on Windows. Remove the
unistd.h header and try re-enabling it.


  Commit: 6d99d1a4a93564ab7a128c269b2c55dcbd4f9570
      https://github.com/llvm/llvm-project/commit/6d99d1a4a93564ab7a128c269b2c55dcbd4f9570
  Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

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

  Log Message:
  -----------
  [mlir][bazel] Added a target for the CF dialect C API (#137146)


  Commit: 3b58a60086cb755fe40cb90a73d27a83d44ce766
      https://github.com/llvm/llvm-project/commit/3b58a60086cb755fe40cb90a73d27a83d44ce766
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/test/AST/ByteCode/cxx11.cpp

  Log Message:
  -----------
  [clang][bytecode] Allow forming pointers to fields of extern globals (#137211)

This should be fine as long as we're not reading from it.

Note that this regresses
CXX/special/class.init/class.inhctor.init/p1.cpp, which used to work
fine with the bytecode interpreter.

That's because this code now fails:

```c++
  struct Param;
  struct A {
    constexpr A(Param);
    int a;
  };

  struct B : A { B(); using A::A; int b = 2; };
  struct Wrap1 : B { constexpr Wrap1(); };
  struct Wrap2 : Wrap1 {};
  extern const Wrap2 b;

  struct Param {
    constexpr Param(int c) : n(4 * b.a + b.b + c) {}
    int n;
  };
```
and reports that the Param() constructor is never a valid constant
expression. But that's true and the current interpeter should report
that as well. It also fails when calling at compile time.


  Commit: 38ad9266b6705818544c03856eeef8335961dc22
      https://github.com/llvm/llvm-project/commit/38ad9266b6705818544c03856eeef8335961dc22
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Clarify the behavior of select with FP poison-generating flags (#137131)

RFC link:
https://discourse.llvm.org/t/rfc-clarify-the-behavior-of-select-with-fp-poison-generating-flags/85974

Actually, it does not conflict with the definition of FMF if we
interpret a select as `applyFMF(select cond, applyFMF(TrueArm),
applyFMF(FalseArm))`.


  Commit: 9c2190eb5dacfb7991f616c83a9e87740c1c6d49
      https://github.com/llvm/llvm-project/commit/9c2190eb5dacfb7991f616c83a9e87740c1c6d49
  Author: T-Tie <t_tttie at 163.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

  Changed paths:
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add support for Ziccamoc (#136694)

Support for Ziccamoc is added in this pr.
Specification link:
https://drive.google.com/file/d/12QKRm92cLcEk8-5J9NI91m0fAQOxqNAq/view

---------

Co-authored-by: Tie <Tie at llvm.com>


  Commit: 46f91173c5cd0b7aadeb1bc462217a020567d20e
      https://github.com/llvm/llvm-project/commit/46f91173c5cd0b7aadeb1bc462217a020567d20e
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2025-04-25 (Fri, 25 Apr 2025)

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

  Log Message:
  -----------
  [CodeGen] Fix -Wunused-variable in SelectionDAG.cpp (NFC)

/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7502:17:
 error: unused variable 'NoFPClass' [-Werror,-Wunused-variable]
    FPClassTest NoFPClass = static_cast<FPClassTest>(N2->getAsZExtVal());
                ^
1 error generated.


  Commit: 6788f9c89bfa66793483dc808503e2ca443ec484
      https://github.com/llvm/llvm-project/commit/6788f9c89bfa66793483dc808503e2ca443ec484
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2025-04-24 (Thu, 24 Apr 2025)

  Changed paths:
    M .github/workflows/commit-access-greeter.yml
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M clang/include/clang/AST/NonTrivialTypeVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/BuiltinsSPIRV.td
    M clang/include/clang/CIR/MissingFeatures.h
    M clang/include/clang/Sema/SemaHLSL.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ByteCode/Interp.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    A clang/lib/CIR/CodeGen/CIRGenCXXABI.h
    M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
    M clang/lib/CIR/CodeGen/CIRGenFunction.h
    M clang/lib/CIR/CodeGen/CIRGenModule.cpp
    M clang/lib/CIR/CodeGen/CIRGenModule.h
    M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGBlocks.cpp
    M clang/lib/CodeGen/CGBlocks.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGNonTrivialStruct.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaSPIRV.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
    M clang/test/AST/ByteCode/cxx11.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/CIR/CodeGen/array.cpp
    M clang/test/CIR/CodeGen/basic.cpp
    M clang/test/CIR/CodeGen/binop.cpp
    M clang/test/CIR/CodeGen/call.cpp
    M clang/test/CIR/CodeGen/cast.cpp
    M clang/test/CIR/CodeGen/cmp.cpp
    M clang/test/CIR/CodeGen/if.cpp
    M clang/test/CIR/CodeGen/int-to-bool.cpp
    M clang/test/CIR/CodeGen/local-vars.cpp
    M clang/test/CIR/CodeGen/loop.cpp
    A clang/test/CIR/CodeGen/namespace.cpp
    M clang/test/CIR/CodeGen/nullptr-init.cpp
    M clang/test/CIR/CodeGen/struct.cpp
    M clang/test/CIR/CodeGen/unary.cpp
    M clang/test/CIR/CodeGenOpenACC/kernels.c
    M clang/test/CIR/CodeGenOpenACC/parallel.c
    A clang/test/CIR/CodeGenOpenACC/wait.c
    M clang/test/CIR/Lowering/array.cpp
    M clang/test/CIR/Lowering/basic.cpp
    M clang/test/CIR/Lowering/func-simple.cpp
    M clang/test/CIR/Lowering/local-vars.cpp
    M clang/test/CIR/func-simple.cpp
    M clang/test/CIR/global-var-linkage.cpp
    A clang/test/CodeGen/ptrauth-in-c-struct.c
    A clang/test/CodeGen/ptrauth-qualifier-blocks.c
    A clang/test/CodeGenCXX/bpf-debug-structors.cpp
    A clang/test/CodeGenHLSL/builtins/faceforward.hlsl
    A clang/test/CodeGenSPIRV/Builtins/faceforward.c
    M clang/test/Driver/print-supported-extensions-riscv.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Sema/ptrauth-qualifier.c
    A clang/test/SemaCXX/bug149071318.cpp
    M clang/test/SemaCXX/ptrauth-qualifier.cpp
    A clang/test/SemaHLSL/BuiltIns/faceforward-errors.hlsl
    A clang/test/SemaHLSL/Language/InitIncompleteArrays.hlsl
    M clang/test/SemaHLSL/Language/InitListAST.hlsl
    A clang/test/SemaSPIRV/BuiltIns/faceforward-errors.c
    M clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
    M clang/unittests/Format/FormatTest.cpp
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/headers/math/index.rst
    M libc/include/math.yaml
    M libc/src/math/CMakeLists.txt
    A libc/src/math/acospif16.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/acospif16.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/acospif16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/acospif16_test.cpp
    M libc/utils/MPFRWrapper/MPCommon.cpp
    M libc/utils/MPFRWrapper/MPCommon.h
    M libc/utils/MPFRWrapper/MPFRUtils.cpp
    M libc/utils/MPFRWrapper/MPFRUtils.h
    M lldb/include/lldb/Symbol/ObjectFile.h
    M lldb/include/lldb/Symbol/SymbolFile.h
    M lldb/include/lldb/Symbol/SymbolFileOnDemand.h
    M lldb/include/lldb/Target/Statistics.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/source/Core/Module.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Symbol/SymbolFile.cpp
    M lldb/source/Target/Statistics.cpp
    M lldb/test/API/commands/statistics/basic/TestStats.py
    M lldb/test/API/tools/lldb-dap/evaluate/TestDAP_evaluate.py
    M lldb/test/API/tools/lldb-dap/extendedStackTrace/TestDAP_extendedStackTrace.py
    M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
    M lldb/test/API/tools/lldb-dap/repl-mode/TestDAP_repl_mode_detection.py
    M lldb/test/API/tools/lldb-dap/stackTrace/TestDAP_stackTrace.py
    M lldb/test/API/tools/lldb-dap/stackTrace/main.c
    M lldb/tools/lldb-dap/DAP.cpp
    M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
    M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
    M lldb/tools/lldb-dap/LLDBUtils.cpp
    M lldb/tools/lldb-dap/LLDBUtils.h
    M lldb/unittests/Symbol/LineTableTest.cpp
    M lldb/unittests/Symbol/SymtabTest.cpp
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/docs/HowToUpdateDebugInfo.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.md
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/IR/DebugLoc.h
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugLoc.cpp
    M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.cpp
    M llvm/lib/Target/DirectX/DXILRootSignature.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/X86/X86InstrConditionalCompare.td
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/Utils/Debugify.cpp
    A llvm/test/CodeGen/AArch64/nofpclass.ll
    R llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
    M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters-Validation-Error.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-Num32BitValues.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-RegisterSpace.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-ShaderRegister.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants.ll
    A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootFlags-VisibilityValidationError.ll
    M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
    A llvm/test/CodeGen/Mips/nofpclass.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/features-info.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/faceforward.ll
    M llvm/test/CodeGen/X86/apx/ccmp.ll
    R llvm/test/CodeGen/X86/apx/optimize-compare-ccmp.mir
    M llvm/test/CodeGen/X86/optimize-compare.mir
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/Transforms/InstCombine/and-xor-or.ll
    M llvm/tools/llvm-config/BuildVariables.inc.in
    M llvm/tools/llvm-config/CMakeLists.txt
    M llvm/tools/llvm-config/llvm-config.cpp
    M llvm/tools/llvm-shlib/CMakeLists.txt
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/utils/git/github-automation.py
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
    M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/module-roundtrip.mlir
    M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
    M mlir/test/Target/LLVMIR/Import/module-flags.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  fixPR

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/292f651d2f3a...6788f9c89bfa

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