[all-commits] [llvm/llvm-project] cf7d34: [libc] Extend fputil::sqrt to use floating point i...
Florian Mayer via All-commits
all-commits at lists.llvm.org
Thu Apr 17 09:55:30 PDT 2025
Branch: refs/heads/users/fmayer/spr/mte-do-not-tag-zero-sized-globals
Home: https://github.com/llvm/llvm-project
Commit: cf7d34a54dbfa32f0fd8fa569654e8ea012abd72
https://github.com/llvm/llvm-project/commit/cf7d34a54dbfa32f0fd8fa569654e8ea012abd72
Author: lntue <lntue at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
R libc/src/__support/FPUtil/aarch64/sqrt.h
A libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
M libc/src/__support/macros/properties/cpu_features.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Extend fputil::sqrt to use floating point instructions for arm32. (#134499)
Commit: 333f2c334174ee2c3b70f6db01970b339459bfa6
https://github.com/llvm/llvm-project/commit/333f2c334174ee2c3b70f6db01970b339459bfa6
Author: Dirk Pranke <dpranke at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/utils/gn/.gn
M llvm/utils/gn/build/toolchain/BUILD.gn
M llvm/utils/gn/secondary/BUILD.gn
Log Message:
-----------
[gn] Use exec_script_allowlist in //llvm/utils/gn/.gn (#134172)
This requires gn_version >= 2207. Run llvm/utils/gn/get.py to
update your GN binary if you hit the assert added in this commit.
Commit: 02b377d8f7252b1acf6ea4fad55a101b6bc3fcf7
https://github.com/llvm/llvm-project/commit/02b377d8f7252b1acf6ea4fad55a101b6bc3fcf7
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/docs/CommandGuide/llc.rst
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/test/CodeGen/RISCV/compress-opt-select.ll
M llvm/test/CodeGen/RISCV/hwasan-check-memaccess.ll
A llvm/test/tools/llc/instprinter-options.ll
M llvm/test/tools/llvm-mc/disassembler-options.test
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-mc/llvm-mc.cpp
Log Message:
-----------
[llc] Add -M for InstPrinter options
For many targets, llvm-objdump and llvm-mc
(https://reviews.llvm.org/D103004) support -M no-aliases (e.g.
`RISCVInstPrinter::applyTargetSpecificCLOption`).
This patch implements -M for llc.
While here, rename "DisassemblerOptions" in llvm-mc to the more
appropriate "InstPrinterOptions". For llvm-mc --assemble, there is no
disassembler involved.
Pull Request: https://github.com/llvm/llvm-project/pull/121078
Commit: 438ade1dfc61a12e8187096f82ced493d8e5c8fa
https://github.com/llvm/llvm-project/commit/438ade1dfc61a12e8187096f82ced493d8e5c8fa
Author: lntue <lntue at google.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M libc/src/__support/FPUtil/riscv/sqrt.h
Log Message:
-----------
[libc] Fix wrong #ifdef for riscv's sqrt. (#134964)
Commit: a1f1bbf0534f57990c13a0bf0e6645da011f1d9d
https://github.com/llvm/llvm-project/commit/a1f1bbf0534f57990c13a0bf0e6645da011f1d9d
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/add-before-shl.ll
M llvm/test/CodeGen/RISCV/kcfi.ll
M llvm/test/CodeGen/RISCV/patchable-function-entry.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-vector-tuple.ll
M llvm/test/MC/RISCV/rv32p-valid.s
M llvm/test/MC/RISCV/rv64p-valid.s
M llvm/test/MC/RISCV/xqciac-valid.s
M llvm/test/MC/RISCV/xqcibi-valid.s
M llvm/test/MC/RISCV/xqcibm-valid.s
M llvm/test/MC/RISCV/xqcicli-valid.s
M llvm/test/MC/RISCV/xqcicm-valid.s
M llvm/test/MC/RISCV/xqciint-csrs-valid.s
M llvm/test/MC/RISCV/xqciint-valid.s
M llvm/test/MC/RISCV/xqciio-aliases-valid.s
M llvm/test/MC/RISCV/xqciio-valid.s
M llvm/test/MC/RISCV/xqcilb-valid.s
M llvm/test/MC/RISCV/xqcili-li.s
M llvm/test/MC/RISCV/xqcili-valid.s
M llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/test/MC/RISCV/xqcilo-aliases-valid.s
M llvm/test/MC/RISCV/xqcilo-valid.s
M llvm/test/MC/RISCV/xqcisim-valid.s
M llvm/test/MC/RISCV/xqcisync-valid.s
M llvm/test/MC/RISCV/xrivosvisni-valid.s
M llvm/test/MC/RISCV/xrivosvizip-valid.s
Log Message:
-----------
[RISCV,test] Replace -riscv-no-aliases with -M no-aliases
now that llc supports `-M no-aliases` (along with llvm-mc and llvm-objdump)
(#121078).
Pull Request: https://github.com/llvm/llvm-project/pull/134879
Commit: 50428fb5e90b8318148abdf67eefe99bf8fd310b
https://github.com/llvm/llvm-project/commit/50428fb5e90b8318148abdf67eefe99bf8fd310b
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp
A llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCExpr.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
Log Message:
-----------
[WebAssembly] Add WebAssembly::Specifier
Move wasm-specific members outside of MCSymbolRefExpr::VariantKind (a
legacy interface I am eliminating). Most changes are mechanic and
similar to what I've done for many ELF targets (e.g. X86 #132149)
Notes:
* `fixSymbolsInTLSFixups` is replaced with `setTLS` in
`WebAssemblyWasmObjectWriter::getRelocType`, similar to what I've done
for many ELF targets.
* `SymA->setUsedInGOT()` in `recordRelocation` is moved to
`getRelocType`.
While here, rename "Modifier' to "Specifier":
> "Relocation modifier", though concise, suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation. I landed on "relocation specifier" as the winner. It's clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.
Pull Request: https://github.com/llvm/llvm-project/pull/133116
Commit: 1c09dd54d9be9470729130008bf82ee61a8bee63
https://github.com/llvm/llvm-project/commit/1c09dd54d9be9470729130008bf82ee61a8bee63
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-bit-shift.ll
A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-rotate.ll
A llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-shift.ll
A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-rotate.ll
Log Message:
-----------
[LoongArch] Pre-commit test for vector byte rotate & vector shift (lasx only) (#134839)
Commit: e6b55cd73bdbc36d4ce1b122b0e46dc2e6968950
https://github.com/llvm/llvm-project/commit/e6b55cd73bdbc36d4ce1b122b0e46dc2e6968950
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
Log Message:
-----------
MCExpr: Remove unused VK_GOT/VK_GOTPCREL
Commit: 43bb6bac2fde3a1847f39174ece5b848eced7dcf
https://github.com/llvm/llvm-project/commit/43bb6bac2fde3a1847f39174ece5b848eced7dcf
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang] Fix GCC -Wparentheses warning. NFC.
Without this gcc warned like:
clang/lib/Sema/SemaExprCXX.cpp:4656:74: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
4655 | From->isNullPointerConstant(Context,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4656 | Expr::NPC_ValueDependentIsNull) &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
4657 | "Expr must be null pointer constant!");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: bada5eb00940954eb6852de4098a80f3faf585a0
https://github.com/llvm/llvm-project/commit/bada5eb00940954eb6852de4098a80f3faf585a0
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/Object/TapiUniversal.h
M llvm/lib/Object/TapiUniversal.cpp
M llvm/test/tools/llvm-nm/tapi-files.test
Log Message:
-----------
[llvm-nm] Fix how inlined dylibs are reported from tbd files (#134498)
An Inlined library is a dylib that is reexported from an umbrella or
top-level library. When this is encoded in tbd files, ensure we are
reading the symbol table from the inlined library when
`--add-inlinedinfo` is used as opposed to the top-level lib.
resolves: rdar://147767733
Commit: c5e07fb86122669794808d6e857c88048f3a4926
https://github.com/llvm/llvm-project/commit/c5e07fb86122669794808d6e857c88048f3a4926
Author: lntue <lntue at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/sqrt.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Use correct instruction for arm32 sqrt inline asm. (#134968)
https://godbolt.org/z/3jT7jdrs9
Commit: 50e218ad9cef3e59f8d8ba8c9c7b57ce9c213c52
https://github.com/llvm/llvm-project/commit/50e218ad9cef3e59f8d8ba8c9c7b57ce9c213c52
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
Log Message:
-----------
Revert "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)"
This reverts commit 232525f06942adb3b9977632e38dcd5f08c0642d.
This change is causing test crashes while running
TestCompletion.py on Darwin systems, most of the CI runs
have failed since it has been merged in.
Commit: 559540dc2738af0ab3f0b48eb4993095b8a8c627
https://github.com/llvm/llvm-project/commit/559540dc2738af0ab3f0b48eb4993095b8a8c627
Author: Lakshay Kumar <lakshayk at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported instructions (#132346)
[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupported
instructions.
Skipping AUT and LDGM opcode variants which currently throws "illegal
instruction".
- Checking opcodes specifically for LDGM and AUT opcode instruction
variants.
- Gracefully exiting with " : Unsupported opcode:
isPointerAuth/isUncheckedAccess"
- Added corresponding test cases to check exit message.
Commit: 5c27511cb6ece1798e4503bcf8169359472871be
https://github.com/llvm/llvm-project/commit/5c27511cb6ece1798e4503bcf8169359472871be
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
A llvm/test/MC/RISCV/rv32zilsd-pseudos.s
Log Message:
-----------
[RISCV] Support Load/Store Global assembler pseudos for Zilsd. (#134950)
This adds support for 'ld \<rd\> \<symbol\>' and 'sd \<rd\>, \<symbol\>,
\<rt\>' to match what we do for RV32.
I've changed the interface to emitAuipcInstPair to use MCRegister
instead of MCOperand since we need to convert a GPRPair to GPR for
TmpReg for the load case.
Commit: fbc6241d3af45d74ac8e8d3728a57435aab1d5ec
https://github.com/llvm/llvm-project/commit/fbc6241d3af45d74ac8e8d3728a57435aab1d5ec
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
Log Message:
-----------
[LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#132274)
This patch addresses the issue #129543.
After this patch the size of lldb-server is reduced by 9MB.
Co-authored-by: @bulbazord Alex Langford
Commit: d28b4d89166fb705577a2d3a329006f0c0e0aacc
https://github.com/llvm/llvm-project/commit/d28b4d89166fb705577a2d3a329006f0c0e0aacc
Author: Jim Lin <jim at andestech.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV] Lower BUILD_VECTOR with i64 type to VID on RV32 if possible (#132339)
The element type i64 of the BUILD_VECTOR is not legal on RV32. It
doesn't catch the VID pattern after being legalized for i64.
So try to customized lower it to VID during type legalization.
Commit: 154d360bf9ae87e9ec8af411bded022d1595ff4e
https://github.com/llvm/llvm-project/commit/154d360bf9ae87e9ec8af411bded022d1595ff4e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Avoid unnecessary MCOperand copies. NFC
Commit: 9b8f5340ddbae0587a46d3b5882fe40c135c6fd4
https://github.com/llvm/llvm-project/commit/9b8f5340ddbae0587a46d3b5882fe40c135c6fd4
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
Improve readability of <Target>GenCompressionInstEmitter. NFC (#134834)
Use indent() instead of manually indenting the code in the
CompressInstEmitter.cpp. Also modify the current indentation in a few
places.
Commit: 1d2f5ead05e85057b8d0c6198203b392e9f855f8
https://github.com/llvm/llvm-project/commit/1d2f5ead05e85057b8d0c6198203b392e9f855f8
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcili-invalid.s
A llvm/test/MC/RISCV/xqcili-relocations.s
Log Message:
-----------
[RISCV] Add symbol parsing support for Xqcili load large immediate instructions (#134581)
This patch adds support for parsing symbols in the Xqcili load large
immediate instructions. The 32 bit `qc.li` instructions uses the
`R_RISCV_QC_ABS20_U` relocation while the 48 bit `qc.e.li` instruction
uses the `R_RISCV_QC_E_32` relocation and the `InstFormatQC_EAI`
instruction format.
Vendor relocation support will be added in a later patch.
Commit: e6e0f5f17aa3c995709fc7623a0abbb5a32e4af5
https://github.com/llvm/llvm-project/commit/e6e0f5f17aa3c995709fc7623a0abbb5a32e4af5
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[RISCV][test] Add tests for subtraction if above threshold
Commit: e348173bef7182c7cc609d0f000452d3acf4b65c
https://github.com/llvm/llvm-project/commit/e348173bef7182c7cc609d0f000452d3acf4b65c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
Reapply "[lldb] Remove UnwindPlan::Row shared_ptrs" (#134821)
This reverts commit
https://github.com/llvm/llvm-project/commit/48864a52ef547ac0477271127b510dd9e9798219,
reapplying https://github.com/llvm/llvm-project/commit/d7cea2b18717f0cc31b7da4a03f772d89ee201db.
It also fixes the dangling
pointers caused by the previous version by creating copies of the Rows
in x86AssemblyInspectionEngine.
Commit: 523e249a6aed29fd2c36000c87838eface7324b4
https://github.com/llvm/llvm-project/commit/523e249a6aed29fd2c36000c87838eface7324b4
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-all.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-lower-none.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-all.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-lower-none.ll
Log Message:
-----------
[AMDGPU] Lower LDS in functions without sanitize_address in amdgpu-sw-lower-lds. (#131147)
Background:
"amdgpu-sw-lower-lds" pass lowers LDS accesses based on
"sanitize_address" attribute being tagged to kernel or non-kernels.
"amdgpu-sw-lower-lds" pass ideally should either lower all LDS accesses
or should not lower any based on if asan is enabled.
Issue:
But there has been cases when instrumented and non instrumented bitcodes
are linked and this is leading to few LDS being lowered correctly while
others are not. This typically leads to below error in the subsequent
pass.
"Module cannot mix absolute and non-absolute LDS GVs"
Fix:
This patch fixes this issue, by checking if any kernels in module are
tagged with "sanitize_address" attribute and then lowers all the LDS
accesses in all other kernels and non-kernels even though they do not
have "sanitize_address" attribute.
Commit: a54ad591135c07c3399a79c88ac14f5a4a2b0d12
https://github.com/llvm/llvm-project/commit/a54ad591135c07c3399a79c88ac14f5a4a2b0d12
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
R llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
Log Message:
-----------
Revert "[llvm-exegesis][AArch64] Disable pauth and ldgm as unsupporte… (#134971)
…d instructions (#132346)"
This reverts commit 559540dc2738af0ab3f0b48eb4993095b8a8c627 as it has
cause build failures in llvm-clang-x86_64-gcc-ubuntu
Commit: c46be969f0b5f79788945da83dd4305617cff427
https://github.com/llvm/llvm-project/commit/c46be969f0b5f79788945da83dd4305617cff427
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
Log Message:
-----------
[MC] Optimize isInSection
Remove one call of getFragment. The `SetUsed` bit isn't need here.
Commit: f46d6412eb4ffa338df8d7b560a8e9f144d1d2a3
https://github.com/llvm/llvm-project/commit/f46d6412eb4ffa338df8d7b560a8e9f144d1d2a3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/tools/dsymutil/BUILD.gn
Log Message:
-----------
[gn build] Port 96f95c9d89d8
Commit: f04bfbc4162247c0074fdd87068053e4264dbefa
https://github.com/llvm/llvm-project/commit/f04bfbc4162247c0074fdd87068053e4264dbefa
Author: Steffen Larsen <steffen.larsen at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_ternary_bitwise_function/bitwise-function.ll
Log Message:
-----------
[SPIRV] Support for SPV_INTEL_ternary_bitwise_function (#134866)
Adds support for the SPV_INTEL_ternary_bitwise_function extension,
adding;
* the OpBitwiseFunctionINTEL SPIR-V instruction, a ternary bitwise
function where the operation performed is determined by a look-up table
index,
* and the corresponding TernaryBitwiseFunctionINTEL capability.
See
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_ternary_bitwise_function.html.
Signed-off-by: Larsen, Steffen <steffen.larsen at intel.com>
Commit: 8877b913ae88c6ae43e859316489fe0469293131
https://github.com/llvm/llvm-project/commit/8877b913ae88c6ae43e859316489fe0469293131
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
Log Message:
-----------
[LLDB][MIPS] Fix signal SIGBUS number mismatch error on mips target (#132688)
Now, because we do not support mips debugging, if we compile LLVM on
mips target, would report error `static assertion failed:Value mismatch
for signal number SIGBUS`, so add this condition to avoid error.
Commit: 20d1888cbe2908ddb3ca0640cc2a3d199ffff499
https://github.com/llvm/llvm-project/commit/20d1888cbe2908ddb3ca0640cc2a3d199ffff499
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
Log Message:
-----------
[mlir][tosa] Update the description of `rescale` and `variable` ops (#134815)
Updates the description to align with the specification. Also includes
some small cleanup to `sigmoid`, to avoid confusion.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: ea7dd70b5326706141be2a768f2fd47ae71ee6a8
https://github.com/llvm/llvm-project/commit/ea7dd70b5326706141be2a768f2fd47ae71ee6a8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
[lldb] Remove unused UnwindPlan functions (#134630)
`GetLSDAAddress` and `GetPersonalityRoutinePtrAddress` are unused and
they create a bit of a problem for discontinuous functions, because the
unwind plan for these consists of multiple eh_frame descriptors and (at
least in theory) each of them could have a different value for these
entities.
We could say we only support functions for which these are always the
same, or create some sort of a Address2LSDA lookup map, but I think it's
better to leave this question to someone who actually needs this.
Commit: 08e080ee98832c2aec6f379b04f486bea18730cc
https://github.com/llvm/llvm-project/commit/08e080ee98832c2aec6f379b04f486bea18730cc
Author: Stefan Schmidt <thrimbor at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
A llvm/test/CodeGen/X86/pr134607.ll
Log Message:
-----------
[X86][SSE] Don't emit SSE2 load instructions in SSE1-only mode (#134547)
This fixes a regression I traced back to
https://github.com/llvm/llvm-project/commit/8b43c1be23119c1024bed0a8ce392bc73727e2e2
/ https://github.com/llvm/llvm-project/pull/79000
The regression caused an SSE2 instruction, `movsd`, to be emitted as a
replacement for an SSE instruction, `movaps` despite the target
potentially not supporting this instruction, such as when building with
clang using `-march=pentium3`.
Fixes #134607
Commit: 712c21336fa891f5b32254dd51b024178d61befb
https://github.com/llvm/llvm-project/commit/712c21336fa891f5b32254dd51b024178d61befb
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
A llvm/test/Transforms/LoopUnroll/AArch64/unrolling-multi-exit.ll
Log Message:
-----------
[AArch64] Enable unrolling for small multi-exit loops (#131998)
It can be highly beneficial to unroll small, two-block search loops
that look for a value in an array. An example of this would be
something that uses std::find to find a value in libc++. Older
versions of std::find in the libstdc++ headers are manually unrolled
in the source code, but this might change in newer releases where
the compiler is expected to either vectorise or unroll itself.
Commit: 53fa92dcad49466412a139eef223710bf5891213
https://github.com/llvm/llvm-project/commit/53fa92dcad49466412a139eef223710bf5891213
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/test/Integration/OpenMP/atomic-capture-complex.f90
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[mlir][llvm][OpenMP] Hoist __atomic_load alloca (#132888)
Current implementation of `__atomic_compare_exchange` uses an alloca for
`__atomic_load`, leading to issues like
https://github.com/llvm/llvm-project/issues/120724. This PR hoists this
alloca to `AllocaIP`.
Fixes: https://github.com/llvm/llvm-project/issues/120724
Commit: 74f69c49fed894ba26b6174783e4c650d50344c5
https://github.com/llvm/llvm-project/commit/74f69c49fed894ba26b6174783e4c650d50344c5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
Log Message:
-----------
[X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV v16f32/v16i32 nodes if the upper elements are not demanded (#134890)
Missed in #133923 - even without AVX512VL, we can replace VPERMV v16f32/v16i32 nodes with the AVX2 v8f32/v8i32 equivalents.
Commit: 949bf518fcc04285f40aa96a1c123bf0141fafd4
https://github.com/llvm/llvm-project/commit/949bf518fcc04285f40aa96a1c123bf0141fafd4
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/include/clc/misc/shuffle2.h
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
Log Message:
-----------
[libclc][NFC] Fix up inconsistent copyright headers
Some files were accidentally given two copyright headers. Another was
missing one. This commit also converts that file's dos line endings to
unix ones and reformats a comment.
Commit: 2f6b06b2645810d72110cbfc1869c2d3b029dd2c
https://github.com/llvm/llvm-project/commit/2f6b06b2645810d72110cbfc1869c2d3b029dd2c
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/PostRAHazardRecognizer.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/break-smem-soft-clauses.mir
M llvm/test/CodeGen/AMDGPU/dst-sel-hazard.mir
M llvm/test/CodeGen/AMDGPU/hazard-flat-instruction-valu-check.mir
Log Message:
-----------
[CodeGen][NPM] Port PostRAHazardRecognizer to NPM (#130066)
Commit: c80080ff7e105eb42d486ed473fa9c82fb518b0a
https://github.com/llvm/llvm-project/commit/c80080ff7e105eb42d486ed473fa9c82fb518b0a
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
Log Message:
-----------
[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128. (#134068)
When compiling with -msve-vector-bits=128 or vscale_range(1, 1) and when
the offsets allow it, we can pair SVE LDR/STR instructions into Neon
LDP/STP.
For example, given:
```cpp
#include <arm_sve.h>
void foo(double const *ldp, double *stp) {
svbool_t pg = svptrue_b64();
svfloat64_t ld1 = svld1_f64(pg, ldp);
svfloat64_t ld2 = svld1_f64(pg, ldp+svcntd());
svst1_f64(pg, stp, ld1);
svst1_f64(pg, stp+svcntd(), ld2);
}
```
When compiled with `-msve-vector-bits=128`, we currently generate:
```gas
foo:
ldr z0, [x0]
ldr z1, [x0, #1, mul vl]
str z0, [x1]
str z1, [x1, #1, mul vl]
ret
```
With this patch, we instead generate:
```gas
foo:
ldp q0, q1, [x0]
stp q0, q1, [x1]
ret
```
This is an alternative, more targetted approach to #127500.
Commit: 0de48de36ee3583f1b7da3d388307266839f2347
https://github.com/llvm/llvm-project/commit/0de48de36ee3583f1b7da3d388307266839f2347
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
Log Message:
-----------
[MLIR][OpenMP] Improve loop wrapper op verifiers (#134833)
This patch revisits op verifiers for `LoopWrapperInterface` operations
to improve consistency across operations and to properly cover some
previously misreported cases.
Checks that should be done for these kinds of operations are documented
in the interface description.
Commit: 78c86b38b04bdabc76f631263ab0f4faf8698af6
https://github.com/llvm/llvm-project/commit/78c86b38b04bdabc76f631263ab0f4faf8698af6
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Avoid implicit integer conversion (#134983)
See discussion in https://github.com/llvm/llvm-project/pull/134672
Commit: a6edaeb824f138a364f4818c4261eb27153a12ac
https://github.com/llvm/llvm-project/commit/a6edaeb824f138a364f4818c4261eb27153a12ac
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/test/Transforms/TailCallElim/debugloc.ll
Log Message:
-----------
[DebugInfo][TailCallElim] Use ret DILocation for return value selects (#134825)
In TailRecursionElimination we may insert a select before the return to
choose the return value if necessary; this select is effectively part of
the return statement, and so should use its DILocation.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: 2896bbe1488b628a27cdf893fc8bcc5febe128db
https://github.com/llvm/llvm-project/commit/2896bbe1488b628a27cdf893fc8bcc5febe128db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - use std::iota for insert_subvector shuffle mask population. NFC.
Commit: 747214e59be67ec1088de2f9db5d46607bb59565
https://github.com/llvm/llvm-project/commit/747214e59be67ec1088de2f9db5d46607bb59565
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - OR(BITCAST(SHUFFLE()),BITCAST(SHUFFLE())) patterns should return bitcasted source values (#134993)
Noticed while investigating #133947 regressions - if we peek through
bitcasts we can lose track of oneuse/combined nodes in shuffle combining
Currently the same codegen as combineX86ShufflesRecursively still peeks
through the bitcasts itself, but we will soon handle this consistently
as another part of #133947
Commit: bc09c7405547fe56a896386b152b667878d2d8c2
https://github.com/llvm/llvm-project/commit/bc09c7405547fe56a896386b152b667878d2d8c2
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
M llvm/test/Transforms/FixIrreducible/basic.ll
Log Message:
-----------
[AMDGPU] Fix for ControlFlowUtils reconnectPHIs. (#132954)
Description: reconnectPHIs must consider self-loops to avoid PHI income
pair that does not exists anymore.
Commit: 258aa65197126fda5b3566734cd7d980343e332d
https://github.com/llvm/llvm-project/commit/258aa65197126fda5b3566734cd7d980343e332d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
ValueTracking: Do not look at users of constants for ephemeral values (#134618)
Commit: a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754
https://github.com/llvm/llvm-project/commit/a29be9f28e8e0d4ca7a8a3cfdffe616ac780c754
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
Log Message:
-----------
Revert "[LLDB] Refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies" (#134995)
Reverts llvm/llvm-project#132274
Broke a test on LLDB Widows on Arm:
https://lab.llvm.org/buildbot/#/builders/141/builds/7726
```
FAIL: test_dwarf (lldbsuite.test.lldbtest.TestExternCSymbols.test_dwarf)
<...>
self.assertTrue(self.res.Succeeded(), msg + output)
AssertionError: False is not true : Command 'expression -- foo()' did not return successfully
Error output:
error: Couldn't look up symbols:
int foo(void)
Hint: The expression tried to call a function that is not present in the target, perhaps because it was optimized out by the compiler.
```
Commit: aff139777ed315ea4d06c8543b2110c3dd989907
https://github.com/llvm/llvm-project/commit/aff139777ed315ea4d06c8543b2110c3dd989907
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
R llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
Log Message:
-----------
Revert "[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128." (#134997)
Reverts llvm/llvm-project#134068
Caused a stage 2 build failure:
https://lab.llvm.org/buildbot/#/builders/41/builds/6016
```
FAILED: lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o
/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/include -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/include -mcpu=neoverse-512tvb -mllvm -scalable-vectorization=preferred -mllvm -treat-scalable-fixed-error-as-warning=false -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror=global-constructors -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -c /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp
Opcode has unknown scale!
UNREACHABLE executed at ../llvm/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp:4530!
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: /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage2/include -I/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/include -mcpu=neoverse-512tvb -mllvm -scalable-vectorization=preferred -mllvm -treat-scalable-fixed-error-as-warning=false -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror=global-constructors -O3 -DNDEBUG -std=c++17 -UNDEBUG -fno-exceptions -funwind-tables -fno-rtti -MD -MT lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -MF lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o.d -o lib/Support/CMakeFiles/LLVMSupport.dir/Caching.cpp.o -c /home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/llvm/llvm/lib/Support/Caching.cpp'.
4. Running pass 'AArch64 load / store optimization pass' on function '@"_ZNSt17_Function_handlerIFN4llvm8ExpectedISt8functionIFNS1_ISt10unique_ptrINS0_16CachedFileStreamESt14default_deleteIS4_EEEEjRKNS0_5TwineEEEEEjNS0_9StringRefESB_EZNS0_10localCacheESB_SB_SB_S2_IFvjSB_S3_INS0_12MemoryBufferES5_ISH_EEEEE3$_0E9_M_invokeERKSt9_Any_dataOjOSF_SB_"'
#0 0x0000b6eae9b67bf0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x81c7bf0)
#1 0x0000b6eae9b65aec llvm::sys::RunSignalHandlers() (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x81c5aec)
#2 0x0000b6eae9acd5f4 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x0000f16c1aff28f8 (linux-vdso.so.1+0x8f8)
#4 0x0000f16c1aacf1f0 __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#5 0x0000f16c1aa8a67c gsignal ./signal/../sysdeps/posix/raise.c:27:6
#6 0x0000f16c1aa77130 abort ./stdlib/abort.c:81:7
#7 0x0000b6eae9ad6628 (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x8136628)
#8 0x0000b6eae72e95a8 (/home/tcwg-buildbot/worker/clang-aarch64-sve-vla-2stage/stage1.install/bin/clang+++0x59495a8)
#9 0x0000b6eae74ca9a8 (anonymous namespace)::AArch64LoadStoreOpt::findMatchingInsn(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>, (anonymous namespace)::LdStPairFlags&, unsigned int, bool) AArch64LoadStoreOptimizer.cpp:0:0
#10 0x0000b6eae74c85a8 (anonymous namespace)::AArch64LoadStoreOpt::tryToPairLdStInst(llvm::MachineInstrBundleIterator<llvm::MachineInstr, false>&) AArch64LoadStoreOptimizer.cpp:0:0
#11 0x0000b6eae74c624c (anonymous namespace)::AArch64LoadStoreOpt::optimizeBlock(llvm::MachineBasicBlock&, bool) AArch64LoadStoreOptimizer.cpp:0:0
#12 0x0000b6eae74c429c (anonymous namespace)::AArch64LoadStoreOpt::runOnMachineFunction(llvm::MachineFunction&) AArch64LoadStoreOptimizer.cpp:0:0
```
Commit: e42f8609858f3e6ba004032a4750f0bcd5d466be
https://github.com/llvm/llvm-project/commit/e42f8609858f3e6ba004032a4750f0bcd5d466be
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[flang][nfc] Support volatility in Fir ops (#134858)
Part two of merging #132486. Support volatility in fir ops.
* Introduce a new operation fir.volatile_cast, whose only purpose is to
add or take away the volatility of an SSA value's type. The types must
be otherwise identical, and any other type conversions must be handled
by fir.convert. fir.convert will give an error if the volatility of the
inputs does not match, such that all changes to volatility must be
handled explicitly through fir.volatile_cast.
* Add memory effects to ops that read from or write to memory. The
precedent for this comes from the LLVM dialect (feb7beaf70) where
llvm.load/store ops with the volatile attribute report read/write
effects to a generic memory resource. This change is similar in spirit
but different in two ways: the volatility of an operation is determined
by the type of its memref, not an attribute on the op, and the memory
effects of a load- or store-like operation on a volatile reference type
are reported against a particular memory resource,
`VolatileMemoryResource`. This is so MLIR optimizations are able to
reorder operations that are not volatile around operations that are,
which we believe more precisely models LLVM's volatile memory semantics.
@vzakhari suggested this in #132486 citing LangRef. See
https://llvm.org/docs/LangRef.html#volatile-memory-accesses
Changes needed to generate IR with volatile types are not included in
this change, so it should be non-functional, containing only the changes
to Fir ops and op utilities that will be needed once we enable lowering
to generate volatile types.
Commit: 750da48b4aa52f317a4165cc6cf18acf5dd2a0a5
https://github.com/llvm/llvm-project/commit/750da48b4aa52f317a4165cc6cf18acf5dd2a0a5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
R libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
R libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
R libcxx/include/__cxx03/__algorithm/for_each_n.h
R libcxx/include/__cxx03/__algorithm/in_found_result.h
R libcxx/include/__cxx03/__algorithm/in_fun_result.h
R libcxx/include/__cxx03/__algorithm/in_in_out_result.h
R libcxx/include/__cxx03/__algorithm/in_in_result.h
R libcxx/include/__cxx03/__algorithm/in_out_out_result.h
R libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
R libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
R libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/pstl.h
R libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
R libcxx/include/__cxx03/__algorithm/ranges_all_of.h
R libcxx/include/__cxx03/__algorithm/ranges_any_of.h
R libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
R libcxx/include/__cxx03/__algorithm/ranges_clamp.h
R libcxx/include/__cxx03/__algorithm/ranges_contains.h
R libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
R libcxx/include/__cxx03/__algorithm/ranges_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
R libcxx/include/__cxx03/__algorithm/ranges_count.h
R libcxx/include/__cxx03/__algorithm/ranges_count_if.h
R libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
R libcxx/include/__cxx03/__algorithm/ranges_equal.h
R libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
R libcxx/include/__cxx03/__algorithm/ranges_fill.h
R libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
R libcxx/include/__cxx03/__algorithm/ranges_find.h
R libcxx/include/__cxx03/__algorithm/ranges_find_end.h
R libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
R libcxx/include/__cxx03/__algorithm/ranges_find_last.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
R libcxx/include/__cxx03/__algorithm/ranges_generate.h
R libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
R libcxx/include/__cxx03/__algorithm/ranges_includes.h
R libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
R libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
R libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
R libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
R libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
R libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
R libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_max.h
R libcxx/include/__cxx03/__algorithm/ranges_max_element.h
R libcxx/include/__cxx03/__algorithm/ranges_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_min.h
R libcxx/include/__cxx03/__algorithm/ranges_min_element.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
R libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
R libcxx/include/__cxx03/__algorithm/ranges_move.h
R libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_none_of.h
R libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
R libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_remove.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_sample.h
R libcxx/include/__cxx03/__algorithm/ranges_search.h
R libcxx/include/__cxx03/__algorithm/ranges_search_n.h
R libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
R libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_union.h
R libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
R libcxx/include/__cxx03/__algorithm/ranges_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
R libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
R libcxx/include/__cxx03/__algorithm/ranges_transform.h
R libcxx/include/__cxx03/__algorithm/ranges_unique.h
R libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
R libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
R libcxx/include/__cxx03/__algorithm/shift_left.h
R libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
R libcxx/include/__cxx03/__atomic/atomic_ref.h
R libcxx/include/__cxx03/__bit/bit_cast.h
R libcxx/include/__cxx03/__bit/bit_ceil.h
R libcxx/include/__cxx03/__bit/bit_floor.h
R libcxx/include/__cxx03/__bit/bit_log2.h
R libcxx/include/__cxx03/__bit/bit_width.h
R libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
R libcxx/include/__cxx03/__bit/endian.h
R libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
R libcxx/include/__cxx03/__charconv/chars_format.h
R libcxx/include/__cxx03/__charconv/from_chars_integral.h
R libcxx/include/__cxx03/__charconv/from_chars_result.h
R libcxx/include/__cxx03/__charconv/tables.h
R libcxx/include/__cxx03/__charconv/to_chars.h
R libcxx/include/__cxx03/__charconv/to_chars_base_10.h
R libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
R libcxx/include/__cxx03/__charconv/to_chars_integral.h
R libcxx/include/__cxx03/__charconv/to_chars_result.h
R libcxx/include/__cxx03/__charconv/traits.h
R libcxx/include/__cxx03/__chrono/calendar.h
R libcxx/include/__cxx03/__chrono/concepts.h
R libcxx/include/__cxx03/__chrono/convert_to_tm.h
R libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
R libcxx/include/__cxx03/__chrono/exception.h
R libcxx/include/__cxx03/__chrono/file_clock.h
R libcxx/include/__cxx03/__chrono/formatter.h
R libcxx/include/__cxx03/__chrono/hh_mm_ss.h
R libcxx/include/__cxx03/__chrono/leap_second.h
R libcxx/include/__cxx03/__chrono/literals.h
R libcxx/include/__cxx03/__chrono/local_info.h
R libcxx/include/__cxx03/__chrono/month.h
R libcxx/include/__cxx03/__chrono/month_weekday.h
R libcxx/include/__cxx03/__chrono/monthday.h
R libcxx/include/__cxx03/__chrono/ostream.h
R libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
R libcxx/include/__cxx03/__chrono/statically_widen.h
R libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/time_point.h
R libcxx/include/__cxx03/__chrono/time_zone.h
R libcxx/include/__cxx03/__chrono/time_zone_link.h
R libcxx/include/__cxx03/__chrono/tzdb.h
R libcxx/include/__cxx03/__chrono/tzdb_list.h
R libcxx/include/__cxx03/__chrono/weekday.h
R libcxx/include/__cxx03/__chrono/year.h
R libcxx/include/__cxx03/__chrono/year_month.h
R libcxx/include/__cxx03/__chrono/year_month_day.h
R libcxx/include/__cxx03/__chrono/year_month_weekday.h
R libcxx/include/__cxx03/__chrono/zoned_time.h
R libcxx/include/__cxx03/__compare/common_comparison_category.h
R libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_three_way.h
R libcxx/include/__cxx03/__compare/compare_three_way_result.h
R libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
R libcxx/include/__cxx03/__compare/is_eq.h
R libcxx/include/__cxx03/__compare/ordering.h
R libcxx/include/__cxx03/__compare/partial_order.h
R libcxx/include/__cxx03/__compare/strong_order.h
R libcxx/include/__cxx03/__compare/synth_three_way.h
R libcxx/include/__cxx03/__compare/three_way_comparable.h
R libcxx/include/__cxx03/__compare/weak_order.h
R libcxx/include/__cxx03/__concepts/arithmetic.h
R libcxx/include/__cxx03/__concepts/assignable.h
R libcxx/include/__cxx03/__concepts/boolean_testable.h
R libcxx/include/__cxx03/__concepts/class_or_enum.h
R libcxx/include/__cxx03/__concepts/common_reference_with.h
R libcxx/include/__cxx03/__concepts/common_with.h
R libcxx/include/__cxx03/__concepts/constructible.h
R libcxx/include/__cxx03/__concepts/convertible_to.h
R libcxx/include/__cxx03/__concepts/copyable.h
R libcxx/include/__cxx03/__concepts/derived_from.h
R libcxx/include/__cxx03/__concepts/destructible.h
R libcxx/include/__cxx03/__concepts/different_from.h
R libcxx/include/__cxx03/__concepts/equality_comparable.h
R libcxx/include/__cxx03/__concepts/invocable.h
R libcxx/include/__cxx03/__concepts/movable.h
R libcxx/include/__cxx03/__concepts/predicate.h
R libcxx/include/__cxx03/__concepts/regular.h
R libcxx/include/__cxx03/__concepts/relation.h
R libcxx/include/__cxx03/__concepts/same_as.h
R libcxx/include/__cxx03/__concepts/semiregular.h
R libcxx/include/__cxx03/__concepts/swappable.h
R libcxx/include/__cxx03/__concepts/totally_ordered.h
R libcxx/include/__cxx03/__coroutine/coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/coroutine_traits.h
R libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
R libcxx/include/__cxx03/__expected/bad_expected_access.h
R libcxx/include/__cxx03/__expected/expected.h
R libcxx/include/__cxx03/__expected/unexpect.h
R libcxx/include/__cxx03/__expected/unexpected.h
R libcxx/include/__cxx03/__filesystem/copy_options.h
R libcxx/include/__cxx03/__filesystem/directory_entry.h
R libcxx/include/__cxx03/__filesystem/directory_iterator.h
R libcxx/include/__cxx03/__filesystem/directory_options.h
R libcxx/include/__cxx03/__filesystem/file_status.h
R libcxx/include/__cxx03/__filesystem/file_time_type.h
R libcxx/include/__cxx03/__filesystem/file_type.h
R libcxx/include/__cxx03/__filesystem/filesystem_error.h
R libcxx/include/__cxx03/__filesystem/operations.h
R libcxx/include/__cxx03/__filesystem/path.h
R libcxx/include/__cxx03/__filesystem/path_iterator.h
R libcxx/include/__cxx03/__filesystem/perm_options.h
R libcxx/include/__cxx03/__filesystem/perms.h
R libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
R libcxx/include/__cxx03/__filesystem/space_info.h
R libcxx/include/__cxx03/__filesystem/u8path.h
R libcxx/include/__cxx03/__format/buffer.h
R libcxx/include/__cxx03/__format/concepts.h
R libcxx/include/__cxx03/__format/container_adaptor.h
R libcxx/include/__cxx03/__format/enable_insertable.h
R libcxx/include/__cxx03/__format/escaped_output_table.h
R libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
R libcxx/include/__cxx03/__format/format_arg.h
R libcxx/include/__cxx03/__format/format_arg_store.h
R libcxx/include/__cxx03/__format/format_args.h
R libcxx/include/__cxx03/__format/format_context.h
R libcxx/include/__cxx03/__format/format_error.h
R libcxx/include/__cxx03/__format/format_functions.h
R libcxx/include/__cxx03/__format/format_parse_context.h
R libcxx/include/__cxx03/__format/format_string.h
R libcxx/include/__cxx03/__format/format_to_n_result.h
R libcxx/include/__cxx03/__format/formatter.h
R libcxx/include/__cxx03/__format/formatter_bool.h
R libcxx/include/__cxx03/__format/formatter_char.h
R libcxx/include/__cxx03/__format/formatter_floating_point.h
R libcxx/include/__cxx03/__format/formatter_integer.h
R libcxx/include/__cxx03/__format/formatter_integral.h
R libcxx/include/__cxx03/__format/formatter_output.h
R libcxx/include/__cxx03/__format/formatter_pointer.h
R libcxx/include/__cxx03/__format/formatter_string.h
R libcxx/include/__cxx03/__format/formatter_tuple.h
R libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
R libcxx/include/__cxx03/__format/parser_std_format_spec.h
R libcxx/include/__cxx03/__format/range_default_formatter.h
R libcxx/include/__cxx03/__format/range_formatter.h
R libcxx/include/__cxx03/__format/unicode.h
R libcxx/include/__cxx03/__format/width_estimation_table.h
R libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/bind.h
R libcxx/include/__cxx03/__functional/bind_back.h
R libcxx/include/__cxx03/__functional/bind_front.h
R libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
R libcxx/include/__cxx03/__functional/compose.h
R libcxx/include/__cxx03/__functional/default_searcher.h
R libcxx/include/__cxx03/__functional/function.h
R libcxx/include/__cxx03/__functional/invoke.h
R libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
R libcxx/include/__cxx03/__functional/not_fn.h
R libcxx/include/__cxx03/__functional/perfect_forward.h
R libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
R libcxx/include/__cxx03/__fwd/format.h
R libcxx/include/__cxx03/__fwd/mdspan.h
R libcxx/include/__cxx03/__fwd/memory_resource.h
R libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/string.h
R libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
R libcxx/include/__cxx03/__iterator/common_iterator.h
R libcxx/include/__cxx03/__iterator/concepts.h
R libcxx/include/__cxx03/__iterator/counted_iterator.h
R libcxx/include/__cxx03/__iterator/data.h
R libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
R libcxx/include/__cxx03/__iterator/empty.h
R libcxx/include/__cxx03/__iterator/incrementable_traits.h
R libcxx/include/__cxx03/__iterator/indirectly_comparable.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
R libcxx/include/__cxx03/__iterator/iter_move.h
R libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
R libcxx/include/__cxx03/__iterator/iterator_with_data.h
R libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
R libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
R libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
R libcxx/include/__cxx03/__iterator/projected.h
R libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
R libcxx/include/__cxx03/__iterator/readable_traits.h
R libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
R libcxx/include/__cxx03/__iterator/size.h
R libcxx/include/__cxx03/__iterator/sortable.h
R libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
R libcxx/include/__cxx03/__math/special_functions.h
R libcxx/include/__cxx03/__mdspan/default_accessor.h
R libcxx/include/__cxx03/__mdspan/extents.h
R libcxx/include/__cxx03/__mdspan/layout_left.h
R libcxx/include/__cxx03/__mdspan/layout_right.h
R libcxx/include/__cxx03/__mdspan/layout_stride.h
R libcxx/include/__cxx03/__mdspan/mdspan.h
R libcxx/include/__cxx03/__memory/concepts.h
R libcxx/include/__cxx03/__memory/inout_ptr.h
R libcxx/include/__cxx03/__memory/out_ptr.h
R libcxx/include/__cxx03/__memory/ranges_construct_at.h
R libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
R libcxx/include/__cxx03/__memory/uses_allocator_construction.h
R libcxx/include/__cxx03/__memory_resource/memory_resource.h
R libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
R libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
R libcxx/include/__cxx03/__memory_resource/pool_options.h
R libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
R libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__cxx03/__mutex/once_flag.h
R libcxx/include/__cxx03/__node_handle
R libcxx/include/__cxx03/__numeric/exclusive_scan.h
R libcxx/include/__cxx03/__numeric/gcd_lcm.h
R libcxx/include/__cxx03/__numeric/inclusive_scan.h
R libcxx/include/__cxx03/__numeric/midpoint.h
R libcxx/include/__cxx03/__numeric/pstl.h
R libcxx/include/__cxx03/__numeric/reduce.h
R libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
R libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_reduce.h
R libcxx/include/__cxx03/__ostream/print.h
R libcxx/include/__cxx03/__pstl/backend.h
R libcxx/include/__cxx03/__pstl/backend_fwd.h
R libcxx/include/__cxx03/__pstl/backends/default.h
R libcxx/include/__cxx03/__pstl/backends/libdispatch.h
R libcxx/include/__cxx03/__pstl/backends/serial.h
R libcxx/include/__cxx03/__pstl/backends/std_thread.h
R libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
R libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
R libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
R libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
R libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
R libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
R libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
R libcxx/include/__cxx03/__pstl/dispatch.h
R libcxx/include/__cxx03/__pstl/handle_exception.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/seed_seq.h
R libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
R libcxx/include/__cxx03/__ranges/access.h
R libcxx/include/__cxx03/__ranges/all.h
R libcxx/include/__cxx03/__ranges/as_rvalue_view.h
R libcxx/include/__cxx03/__ranges/chunk_by_view.h
R libcxx/include/__cxx03/__ranges/common_view.h
R libcxx/include/__cxx03/__ranges/concepts.h
R libcxx/include/__cxx03/__ranges/container_compatible_range.h
R libcxx/include/__cxx03/__ranges/counted.h
R libcxx/include/__cxx03/__ranges/dangling.h
R libcxx/include/__cxx03/__ranges/data.h
R libcxx/include/__cxx03/__ranges/drop_view.h
R libcxx/include/__cxx03/__ranges/drop_while_view.h
R libcxx/include/__cxx03/__ranges/elements_view.h
R libcxx/include/__cxx03/__ranges/empty.h
R libcxx/include/__cxx03/__ranges/empty_view.h
R libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
R libcxx/include/__cxx03/__ranges/enable_view.h
R libcxx/include/__cxx03/__ranges/filter_view.h
R libcxx/include/__cxx03/__ranges/from_range.h
R libcxx/include/__cxx03/__ranges/iota_view.h
R libcxx/include/__cxx03/__ranges/istream_view.h
R libcxx/include/__cxx03/__ranges/join_view.h
R libcxx/include/__cxx03/__ranges/lazy_split_view.h
R libcxx/include/__cxx03/__ranges/movable_box.h
R libcxx/include/__cxx03/__ranges/non_propagating_cache.h
R libcxx/include/__cxx03/__ranges/owning_view.h
R libcxx/include/__cxx03/__ranges/range_adaptor.h
R libcxx/include/__cxx03/__ranges/rbegin.h
R libcxx/include/__cxx03/__ranges/ref_view.h
R libcxx/include/__cxx03/__ranges/rend.h
R libcxx/include/__cxx03/__ranges/repeat_view.h
R libcxx/include/__cxx03/__ranges/reverse_view.h
R libcxx/include/__cxx03/__ranges/single_view.h
R libcxx/include/__cxx03/__ranges/size.h
R libcxx/include/__cxx03/__ranges/split_view.h
R libcxx/include/__cxx03/__ranges/subrange.h
R libcxx/include/__cxx03/__ranges/take_view.h
R libcxx/include/__cxx03/__ranges/take_while_view.h
R libcxx/include/__cxx03/__ranges/to.h
R libcxx/include/__cxx03/__ranges/transform_view.h
R libcxx/include/__cxx03/__ranges/view_interface.h
R libcxx/include/__cxx03/__ranges/views.h
R libcxx/include/__cxx03/__ranges/zip_view.h
R libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
R libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
R libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
R libcxx/include/__cxx03/__stop_token/stop_callback.h
R libcxx/include/__cxx03/__stop_token/stop_source.h
R libcxx/include/__cxx03/__stop_token/stop_state.h
R libcxx/include/__cxx03/__stop_token/stop_token.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
R libcxx/include/__cxx03/__thread/formatter.h
M libcxx/include/__cxx03/__thread/id.h
R libcxx/include/__cxx03/__thread/jthread.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__tree
R libcxx/include/__cxx03/__tuple/ignore.h
R libcxx/include/__cxx03/__type_traits/common_reference.h
R libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
R libcxx/include/__cxx03/__type_traits/is_aggregate.h
R libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
M libcxx/include/__cxx03/__type_traits/result_of.h
R libcxx/include/__cxx03/__utility/as_const.h
R libcxx/include/__cxx03/__utility/cmp.h
M libcxx/include/__cxx03/__utility/exception_guard.h
R libcxx/include/__cxx03/__utility/exchange.h
R libcxx/include/__cxx03/__utility/forward_like.h
R libcxx/include/__cxx03/__utility/in_place.h
M libcxx/include/__cxx03/__utility/pair.h
R libcxx/include/__cxx03/__utility/to_underlying.h
M libcxx/include/__cxx03/algorithm
R libcxx/include/__cxx03/any
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
R libcxx/include/__cxx03/barrier
R libcxx/include/__cxx03/bit
M libcxx/include/__cxx03/bitset
R libcxx/include/__cxx03/charconv
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
R libcxx/include/__cxx03/compare
R libcxx/include/__cxx03/concepts
M libcxx/include/__cxx03/condition_variable
R libcxx/include/__cxx03/coroutine
M libcxx/include/__cxx03/deque
R libcxx/include/__cxx03/execution
R libcxx/include/__cxx03/expected
R libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
R libcxx/include/__cxx03/experimental/__simd/declaration.h
R libcxx/include/__cxx03/experimental/__simd/reference.h
R libcxx/include/__cxx03/experimental/__simd/scalar.h
R libcxx/include/__cxx03/experimental/__simd/simd.h
R libcxx/include/__cxx03/experimental/__simd/simd_mask.h
R libcxx/include/__cxx03/experimental/__simd/traits.h
R libcxx/include/__cxx03/experimental/__simd/utility.h
R libcxx/include/__cxx03/experimental/__simd/vec_ext.h
R libcxx/include/__cxx03/experimental/iterator
R libcxx/include/__cxx03/experimental/memory
R libcxx/include/__cxx03/experimental/propagate_const
R libcxx/include/__cxx03/experimental/simd
R libcxx/include/__cxx03/experimental/type_traits
M libcxx/include/__cxx03/experimental/utility
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
R libcxx/include/__cxx03/filesystem
R libcxx/include/__cxx03/format
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
R libcxx/include/__cxx03/initializer_list
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
R libcxx/include/__cxx03/latch
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
R libcxx/include/__cxx03/mdspan
M libcxx/include/__cxx03/memory
R libcxx/include/__cxx03/memory_resource
M libcxx/include/__cxx03/mutex
R libcxx/include/__cxx03/numbers
M libcxx/include/__cxx03/numeric
R libcxx/include/__cxx03/optional
M libcxx/include/__cxx03/ostream
R libcxx/include/__cxx03/print
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
R libcxx/include/__cxx03/ranges
M libcxx/include/__cxx03/regex
R libcxx/include/__cxx03/scoped_allocator
R libcxx/include/__cxx03/semaphore
M libcxx/include/__cxx03/set
R libcxx/include/__cxx03/shared_mutex
R libcxx/include/__cxx03/source_location
R libcxx/include/__cxx03/span
M libcxx/include/__cxx03/stack
R libcxx/include/__cxx03/stop_token
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
R libcxx/include/__cxx03/syncstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/thread
R libcxx/include/__cxx03/tuple
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
R libcxx/include/__cxx03/variant
M libcxx/include/__cxx03/vector
M libcxx/include/any
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/charconv
M libcxx/include/compare
M libcxx/include/concepts
M libcxx/include/coroutine
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/filesystem
M libcxx/include/format
M libcxx/include/initializer_list
M libcxx/include/latch
M libcxx/include/mdspan
M libcxx/include/memory_resource
M libcxx/include/numbers
M libcxx/include/optional
M libcxx/include/print
M libcxx/include/ranges
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/stop_token
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/variant
Log Message:
-----------
[libc++][C++03] Remove headers which don't provide anything (#134044)
This patch removes all of the frozen headers which don't provide
anything. Basically any header that's C++11-or-later is removed from the
frozen headers.
This is part of
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
Commit: 6e7c40b83de8290d081bcd72b1c57e30aeb28989
https://github.com/llvm/llvm-project/commit/6e7c40b83de8290d081bcd72b1c57e30aeb28989
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
A clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/CodeGenOpenACC/parallel.c
A clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Initial patch to do OpenACC->IR lowering (#134936)
This patch adds some lowering code for Compute Constructs, plus the
infrastructure to someday do clauses. Doing this requires adding the
dialect to the CIRGenerator.
This patch does not however implement/correctly initialize lowering from
OpenACC-Dialect to anything lower however.
Commit: d54c28b9c1396fa92d9347ac1135da7907121cb8
https://github.com/llvm/llvm-project/commit/d54c28b9c1396fa92d9347ac1135da7907121cb8
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
[HIP] use offload wrapper for non-device-only non-rdc (#132869)
Currently HIP still uses offload bundler for non-rdc mode for the new
offload driver.
This patch switches to use offload wrapper for non-device-only non-rdc
mode when new offload driver is enabled.
This makes the rdc and non-rdc compilation more consistent and speeds up
compilation since the offload wrapper supports parallel compilation for
different GPU arch's.
It is implemented by adding a linker wrapper action for each assemble
action of input file. Linker wrapper action differentiates this special
type of work vs normal linker wrapper work by the fle type. This type of
work results in object instead of image. The linker wrapper adds "-r"
for it and only includes the object file as input, not the host
libraries.
For device-only non-RDC mode, the new driver keeps the original
behavior.
Commit: 4f64da14953a998d3f6571d924116e160560c647
https://github.com/llvm/llvm-project/commit/4f64da14953a998d3f6571d924116e160560c647
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 750da48b4aa5
The .h removals was done by the sync script. I manually cleaned up
the remaining removals based on the output of
git show 750da48b4aa52f libcxx/include/CMakeLists.txt | rg '^- ' | rg -v '\.'
Commit: e24c9e7a0c61ed49e79433d405cb5157483ce691
https://github.com/llvm/llvm-project/commit/e24c9e7a0c61ed49e79433d405cb5157483ce691
Author: Zhaoxuan Jiang <jiangzhaoxuan94 at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[IR] improve hashing quality for ValueInfo (#132917)
The current hashing quality for `ValueInfo` is poor because it uses
pointers as the hash value, which can negatively impact performance in
various places that use a `DenseSet`/`Map` of `ValueInfo`. In one
observed case, `ModuleSummaryIndex::propagateAttributes()` was taking
about 25 minutes to complete on a ThinLTO application. Profiling
revealed that the majority of this time was spent operating on the
`MarkedNonReadWriteOnly` set.
With the improved hashing, the execution time for `propagateAttributes`
is dramatically reduced to less than 10 seconds.
Commit: d99cdd7fba3cf48e2e2ca976b1747ee7b2e89625
https://github.com/llvm/llvm-project/commit/d99cdd7fba3cf48e2e2ca976b1747ee7b2e89625
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
MachineRegisterInfo: Remove trailing whitespace
Commit: e3f5a1bfc58b5c8db8ff8ac8390e790c7a396d4a
https://github.com/llvm/llvm-project/commit/e3f5a1bfc58b5c8db8ff8ac8390e790c7a396d4a
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
Log Message:
-----------
[LLDB][NFC]Also includes the error in log msg. (#134922)
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 54cdc758571731e2b8e6369cc84bbc27f1c1db59
https://github.com/llvm/llvm-project/commit/54cdc758571731e2b8e6369cc84bbc27f1c1db59
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-sanitize-options.hip
Log Message:
-----------
clang/AMDGPU: Stop looking for hip.bc in device libs (#134801)
This has been an empty library since January 2023
Commit: ad9f6d3ceef676093add49ed7e530171fd9b72d6
https://github.com/llvm/llvm-project/commit/ad9f6d3ceef676093add49ed7e530171fd9b72d6
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M offload/test/offloading/gpupgo/pgo1.c
M offload/test/offloading/gpupgo/pgo2.c
Log Message:
-----------
[PGO][Offload] Use %profdata in PGO tests (#135015)
So that the wrong llvm-profdata is not picked up from PATH.
Commit: fb73086dd2d359459888068e2b088032fc242111
https://github.com/llvm/llvm-project/commit/fb73086dd2d359459888068e2b088032fc242111
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
Revert "[flang][nfc] Support volatility in Fir ops" (#135034)
Reverts llvm/llvm-project#134858
Fails to build when shared libraries are enabled:
https://lab.llvm.org/buildbot/#/builders/80/builds/12361
```
: && /usr/local/bin/c++ -fPIC -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -Wl,-z,defs -Wl,-z,nodelete -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/./lib -Wl,--gc-sections -shared -Wl,-soname,libFIRDialect.so.21.0git -o lib/libFIRDialect.so.21.0git tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRAttr.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRType.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FirAliasTagOpInterface.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FortranVariableInterface.cpp.o tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/Inliner.cpp.o -Wl,-rpath,"\$ORIGIN/../lib:/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib:" lib/libCUFAttrs.so.21.0git lib/libFIRDialectSupport.so.21.0git lib/libLLVMAsmPrinter.so.21.0git lib/libMLIRBuiltinToLLVMIRTranslation.so.21.0git lib/libMLIROpenMPToLLVM.so.21.0git lib/libMLIRLLVMToLLVMIRTranslation.so.21.0git lib/libMLIRFuncToLLVM.so.21.0git lib/libMLIRArithToLLVM.so.21.0git lib/libMLIRArithAttrToLLVMConversion.so.21.0git lib/libMLIRArithTransforms.so.21.0git lib/libMLIRBufferizationTransforms.so.21.0git lib/libMLIRBufferizationDialect.so.21.0git lib/libMLIRSparseTensorDialect.so.21.0git lib/libMLIRSCFDialect.so.21.0git lib/libMLIRFuncTransforms.so.21.0git lib/libMLIRShardingInterface.so.21.0git lib/libMLIRMeshDialect.so.21.0git lib/libMLIRVectorDialect.so.21.0git lib/libMLIRTensorDialect.so.21.0git lib/libMLIRParallelCombiningOpInterface.so.21.0git lib/libMLIRMaskableOpInterface.so.21.0git lib/libMLIRMaskingOpInterface.so.21.0git lib/libMLIRVectorInterfaces.so.21.0git lib/libMLIRControlFlowToLLVM.so.21.0git lib/libMLIRControlFlowDialect.so.21.0git lib/libMLIRMemRefToLLVM.so.21.0git lib/libMLIRLLVMCommonConversion.so.21.0git lib/libMLIRMemRefUtils.so.21.0git lib/libMLIRAffineDialect.so.21.0git lib/libMLIRMemRefDialect.so.21.0git lib/libMLIRArithUtils.so.21.0git lib/libMLIRComplexDialect.so.21.0git lib/libMLIRArithDialect.so.21.0git lib/libMLIRCastInterfaces.so.21.0git lib/libMLIRInferIntRangeCommon.so.21.0git lib/libMLIRShapedOpInterfaces.so.21.0git lib/libMLIRDialect.so.21.0git lib/libMLIRDialectUtils.so.21.0git lib/libMLIROpenMPDialect.so.21.0git lib/libMLIROpenACCMPCommon.so.21.0git lib/libMLIRTargetLLVMIRExport.so.21.0git lib/libMLIRDLTIDialect.so.21.0git lib/libMLIRLLVMIRTransforms.so.21.0git lib/libMLIRTransforms.so.21.0git lib/libMLIRUBDialect.so.21.0git lib/libMLIRRuntimeVerifiableOpInterface.so.21.0git lib/libMLIRFuncDialect.so.21.0git lib/libMLIRNVVMDialect.so.21.0git lib/libMLIRTranslateLib.so.21.0git lib/libMLIRParser.so.21.0git lib/libMLIRBytecodeReader.so.21.0git lib/libMLIRAsmParser.so.21.0git lib/libMLIRTransformUtils.so.21.0git lib/libMLIRSubsetOpInterface.so.21.0git lib/libMLIRValueBoundsOpInterface.so.21.0git lib/libMLIRDestinationStyleOpInterface.so.21.0git lib/libMLIRRewrite.so.21.0git lib/libMLIRRewritePDL.so.21.0git lib/libMLIRPDLToPDLInterp.so.21.0git lib/libMLIRPass.so.21.0git lib/libMLIRAnalysis.so.21.0git lib/libMLIRInferIntRangeInterface.so.21.0git lib/libMLIRLoopLikeInterface.so.21.0git lib/libMLIRPresburger.so.21.0git lib/libMLIRViewLikeInterface.so.21.0git lib/libMLIRPDLInterpDialect.so.21.0git lib/libMLIRPDLDialect.so.21.0git lib/libLLVMFrontendOpenMP.so.21.0git lib/libLLVMTransformUtils.so.21.0git lib/libMLIRLLVMDialect.so.21.0git lib/libMLIRInferTypeOpInterface.so.21.0git lib/libMLIRControlFlowInterfaces.so.21.0git lib/libMLIRDataLayoutInterfaces.so.21.0git lib/libMLIRFunctionInterfaces.so.21.0git lib/libMLIRCallInterfaces.so.21.0git lib/libMLIRMemorySlotInterfaces.so.21.0git lib/libMLIRSideEffectInterfaces.so.21.0git lib/libMLIRIR.so.21.0git lib/libLLVMBitWriter.so.21.0git lib/libLLVMAnalysis.so.21.0git lib/libLLVMAsmParser.so.21.0git lib/libLLVMBitReader.so.21.0git lib/libMLIRSupport.so.21.0git lib/libLLVMCore.so.21.0git lib/libLLVMRemarks.so.21.0git lib/libLLVMBinaryFormat.so.21.0git lib/libLLVMTargetParser.so.21.0git lib/libLLVMSupport.so.21.0git -Wl,-rpath-link,/home/tcwg-buildbot/worker/flang-aarch64-sharedlibs/build/lib && :
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::CharBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir12CharBoxValue4dumpEv[_ZNK3fir12CharBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::CharBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::PolymorphicValue::dump() const':
FIROps.cpp:(.text._ZNK3fir16PolymorphicValue4dumpEv[_ZNK3fir16PolymorphicValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::PolymorphicValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ArrayBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir13ArrayBoxValue4dumpEv[_ZNK3fir13ArrayBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ArrayBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::CharArrayBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir17CharArrayBoxValue4dumpEv[_ZNK3fir17CharArrayBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::CharArrayBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ProcBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir12ProcBoxValue4dumpEv[_ZNK3fir12ProcBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ProcBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::BoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir8BoxValue4dumpEv[_ZNK3fir8BoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::BoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::MutableBoxValue::dump() const':
FIROps.cpp:(.text._ZNK3fir15MutableBoxValue4dumpEv[_ZNK3fir15MutableBoxValue4dumpEv]+0x20): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::MutableBoxValue const&)'
/usr/bin/ld: tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIROps.cpp.o: in function `fir::ExtendedValue::dump() const':
FIROps.cpp:(.text._ZNK3fir13ExtendedValue4dumpEv[_ZNK3fir13ExtendedValue4dumpEv]+0x18): undefined reference to `fir::operator<<(llvm::raw_ostream&, fir::ExtendedValue const&)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
```
Commit: 076318bd78f5ed338350841075316a75d89ecd9b
https://github.com/llvm/llvm-project/commit/076318bd78f5ed338350841075316a75d89ecd9b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/reordered-loads.ll
Log Message:
-----------
[SLP]Use proper order when calculating costs for geps/extracts to correctly identify profitability
Need to reorder properly the scalars, when evaluating the costs for the
external uses/geps to prevent differences in the calculating of the
profitability costs, used to choose between gather/compressed loads.
Fixes https://github.com/llvm/llvm-project/pull/132099#issuecomment-2789627454
Commit: 5083e80c14a5c1f0ab40b5df95771ebbdda1adb2
https://github.com/llvm/llvm-project/commit/5083e80c14a5c1f0ab40b5df95771ebbdda1adb2
Author: ivangarcia44 <36650061+ivangarcia44 at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/test/Dialect/MemRef/canonicalize.mlir
Log Message:
-----------
Folding extract_strided_metadata input into reinterpret_cast (#134845)
We can always fold the input of a extract_strided_metadata operator to
the input of a reinterpret_cast operator, because they point to the same
memory. Note that the reinterpret_cast does not use the layout of its
input memref, only its base memory pointer which is the same as the base
pointer returned by the extract_strided_metadata operator and the base
pointer of the extract_strided_metadata memref input.
Operations like expand_shape, collapse_shape, and subview are lowered to
a pair of extract_strided_metadata and reinterpret_cast like this:
%base_buffer, %offset, %sizes:2, %strides:2 =
memref.extract_strided_metadata %input_memref :
memref<ID1x...xIDNxBaseType> -> memref<f32>, index, index, index, index,
index
%reinterpret_cast = memref.reinterpret_cast %base_buffer to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] : memref<f32> to
memref<OD1x...xODNxBaseType >
In many cases the input of the extract_strided_metadata input can be
passed directly into the input of the reinterpret_cast operation like
this (see how %base_buffer is replaced by %input_memref in the
reinterpret_cast above and the input type is updated):
%base_buffer, %offset, %sizes:2, %strides:2 =
memref.extract_strided_metadata %input_memref :
memref<ID1x...xIDNxBaseType> -> memref<f32>, index, index, index, index,
index
%reinterpret_cast = memref.reinterpret_cast %input_memref to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] :
memref<ID1x...xIDNxBaseType> to memref<OD1x...xODNxBaseType >
When dealing with static dimensions, the extract_strided_metatdata will
become deadcode and we end up only with a reinterpret_cast:
%reinterpret_cast = memref.reinterpret_cast %input_memref to offset:
[%o1], sizes: [%d1,...,%dN], strides: [%s1,...,%N] :
memref<ID1x...xIDNxBaseType> to memref<OD1x...xODNxBaseType >
Note that reinterpret_cast only reads the base memory pointer from the
input memref (%input_memref above), which is equivalent to the
%base_buffer returned by the extract_strided_metadata operation. Hence
it is legal always to use the extract_strided_metadata input memref
directly in the reinterpret_cast. Note that since this is a pointer,
this operation is legal even when the base pointer values are modified
between the operation pair.
@matthias-springer
@joker-eph
@sahas3
@Hanumanth04
@dixinzhou
@rafaelubalmw
---------
Co-authored-by: Ivan Garcia <igarcia at vdi-ah2ddp-178.dhcp.mathworks.com>
Commit: b0338c3d6c6d9787232e07ceff56ef161c357602
https://github.com/llvm/llvm-project/commit/b0338c3d6c6d9787232e07ceff56ef161c357602
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/misc/clc_shuffle.h
A libclc/clc/include/clc/misc/clc_shuffle2.h
A libclc/clc/include/clc/misc/shuffle2_decl.inc
A libclc/clc/include/clc/misc/shuffle2_def.inc
A libclc/clc/include/clc/misc/shuffle_decl.inc
A libclc/clc/include/clc/misc/shuffle_def.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/misc/clc_shuffle.cl
A libclc/clc/lib/generic/misc/clc_shuffle2.cl
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
Log Message:
-----------
[libclc] Move shuffle/shuffle2 to the CLC library (#135000)
This commit moves the shuffle and shuffle2 builtins to the CLC library.
In so doing it makes the headers simpler and re-usable for other builtin
layers to hook into the CLC functions, if they wish.
An additional gentype utility has been made available, which provides a
consistent vector-size-or-1 macro for use.
The existing __CLC_VECSIZE is defined but empty which is useful in
certain applications, such as in concatenation with a type to make a
correctly sized scalar or vector type. However, this isn't usable in the
same preprocessor lines when wanting to check for specific vector sizes,
as e.g., '__CLC_VECSIZE == 2' resolves to '== 2' which is invalid. In
local testing this is also useful for the geometric builtins which are
only available for scalar types and vector types of 2, 3, or 4 elements.
No codegen changes are observed, except the internal shuffle/shuffle2
utility functions are no longer made publicly available.
Commit: b010554d2d1fbe19091b2b3996e0477b70fcd84b
https://github.com/llvm/llvm-project/commit/b010554d2d1fbe19091b2b3996e0477b70fcd84b
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
Log Message:
-----------
[IR] Reduce use of getCalledFunction in Verifier. NFCI. (#134978)
This is mostly just a simplification. getCalledFunction is a best-effort
thing so the verifier should not be relying on it in most cases, except
for intrinsic calls where we are guaranteed that the called function is
known, but most of those cases can be handled with
CallBase::getIntrinsicID instead.
---------
Co-authored-by: Tim Gymnich <tim at gymni.ch>
Commit: 68ee56d15020b4fa7f3c5443b4be6504481957d4
https://github.com/llvm/llvm-project/commit/68ee56d15020b4fa7f3c5443b4be6504481957d4
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[clang][OpenMP][SPIR-V] Fix addrspace of global constants (#134399)
SPIR-V has strict address space rules, constant globals cannot be in the
default address space.
The OMPIRBuilder change was required for lit tests to pass, we were
missing an addrspacecast.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 9344b2196cbc36cdc577314bbb2b889606ba6820
https://github.com/llvm/llvm-project/commit/9344b2196cbc36cdc577314bbb2b889606ba6820
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/InlineFunction.cpp
A llvm/test/Transforms/Inline/X86/inline-landing-pad.ll
Log Message:
-----------
[DebugInfo][Inlining] Propagate inlined `resume` source loc to new br (#134826)
As part of inlining an invoke instruction, we may replace an inlined
resume instruction with a simple branch to the landing pad block. When
this happens, we should also propagate the resume's DILocation to this
branch, which this patch enables.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: a00a61d59bf1c1f142c8e08b74a0f26991122f7a
https://github.com/llvm/llvm-project/commit/a00a61d59bf1c1f142c8e08b74a0f26991122f7a
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Dialect/SparseTensor/invalid.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/mlir-tblgen/attr-or-type-format.mlir
Log Message:
-----------
[mlir][IR] Improve error message when parsing incorrect type (#134984)
Improve error messages when parsing an incorrect type.
Before:
```
invalid kind of type specified
```
After:
```
invalid kind of type specified: expected builtin.tensor, but found 'tensor<*xi32>'
```
This error message is produced when a certain operand/result type is
expected according to an op's TableGen definition, but a different type
is parsed. Type constraints (which may have nice error messages) are
checked after parsing a type. If an incorrect type is parsed, we never
get to the point of printing type constraint error messages. This may
discourage users from specifying C++ classes with type constraints.
(Explicitly specifying C++ classes is beneficial because the
auto-generated C++ code will have richer type information; explicit
casts are unnecessary, etc.) See #134981 for an example where specifying
additional type information with type constraints (e.g.,
`LLVM_AnyVector`) lead to worse error messages.
Note: In order to generate a better error message, the parser must
retrieve a type's name from the C++ class. TableGen-generated type
classes always have a `name` field, but hand-written C++ type classes
may not. The `HasStaticName` template was copied from
`DialectImplementation.h` (`HasStaticDialectName`).
Commit: 5039bf4e26f07f9082e42374a342b3f52236e3fc
https://github.com/llvm/llvm-project/commit/5039bf4e26f07f9082e42374a342b3f52236e3fc
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
A llvm/test/Transforms/Inline/X86/inline-simplified-branch-dbg-loc.ll
Log Message:
-----------
[DebugInfo][Inline] Propagate source locs when simplifying cond branches (#134827)
During inlining, we may opportunistically simplify conditional branches
(incl. switches) to unconditional branches if, after inlining, their
destination is fixed. While we do this, we should propagate any
DILocation attached to the original branch to the simplified branch,
which this patch enables.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: 94f6f0334d13d6090c7c31387e50358d5b244313
https://github.com/llvm/llvm-project/commit/94f6f0334d13d6090c7c31387e50358d5b244313
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/eq-of-parts.ll
M llvm/test/Transforms/InstCombine/onehot_merge.ll
Log Message:
-----------
[InstCombine] handle trunc to i1 in foldLogOpOfMaskedICmps. (#128861)
proof: https://alive2.llvm.org/ce/z/pu8WmX
fixes #128778
Commit: c4667c5aa6edbf03bc56c104e52da9b6ef1eb3a1
https://github.com/llvm/llvm-project/commit/c4667c5aa6edbf03bc56c104e52da9b6ef1eb3a1
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
A llvm/test/Transforms/Reassociate/debugloc-factoring-add.ll
Log Message:
-----------
[DebugInfo][Reassociate] Propagate source locs when factoring add->mul (#134829)
As part of reassociating add instructions, we may factorize some of the
adds and produce a mul instruction; this patch propagates the source
location of the reassociated tree of instructions to the new mul.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: b6f4ec72f90dc31b0d8665ed59ce34844858dd5a
https://github.com/llvm/llvm-project/commit/b6f4ec72f90dc31b0d8665ed59ce34844858dd5a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Add scope braces (#135025)
Commit: 1e9f46c1b34cce7df4f2b4c392ccb0a540d7a6a6
https://github.com/llvm/llvm-project/commit/1e9f46c1b34cce7df4f2b4c392ccb0a540d7a6a6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
Log Message:
-----------
llvm-reduce: Fix taking wrong error before exit (#135020)
Commit: 840b366d47115ecf2f7034721c13576e6f14cd82
https://github.com/llvm/llvm-project/commit/840b366d47115ecf2f7034721c13576e6f14cd82
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
CodeGen: Remove redundant arguments to defusechain_instr_iterator (#135023)
ByOperand must be false, this is implied by the iterator type.
The instr_iterator cases are a separate implementation from the single
operand defusechain_iterator.
Additionally ByInstr and ByBundle are mutually exclusive.
Commit: 2a7f12e37b450e24869c0e82b39a4894d69b8d3e
https://github.com/llvm/llvm-project/commit/2a7f12e37b450e24869c0e82b39a4894d69b8d3e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
Log Message:
-----------
CodeGen: Trim redundant template argument from defusechain_iterator (#135024)
Only one of ByOperand, ByInstr, or ByBundle should be true. Replace
ByBundle with !ByInstr, and assert that both are not used.
Commit: 751c3f51eb65b493bf2fc2c6b2788f89e16a1fbe
https://github.com/llvm/llvm-project/commit/751c3f51eb65b493bf2fc2c6b2788f89e16a1fbe
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Update TileOp infer shape (#134732)
update to use getConstShapeValues in TileOp's shape inference
Signed-off-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Tai Ly <tai.ly at arm.com>
Commit: 543e5f5842fe576bb8752f04345b2cc995e5bb50
https://github.com/llvm/llvm-project/commit/543e5f5842fe576bb8752f04345b2cc995e5bb50
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaCXX/align_value.cpp
M clang/test/SemaCXX/alloc-align-attr.cpp
M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
Log Message:
-----------
Fix crash with align_value diagnostic reporting (#135013)
We were passing the address of a local variable to a call to Diag()
which then tried to use the object after its lifetime ended, resulting
in crashes. We no longer pass the temporary object any longer.
Fixes #26612
Commit: c0480738cb3f4b2db47b77f5b18f9819cb995373
https://github.com/llvm/llvm-project/commit/c0480738cb3f4b2db47b77f5b18f9819cb995373
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/pointer-overflow.c
Log Message:
-----------
[Clang][CodeGen] Respect -fwrapv-pointer when emitting struct GEPs (#134269)
This patch turns off inbounds/nuw flags for member accesses when
`-fwrapv-pointer` is set.
Closes https://github.com/llvm/llvm-project/issues/132449.
It is required by https://github.com/llvm/llvm-project/pull/130734.
Commit: f0131c327ea1432ff45f385aac28fe5d57005244
https://github.com/llvm/llvm-project/commit/f0131c327ea1432ff45f385aac28fe5d57005244
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Avoid reallocating per chunk iteration (#135029)
Commit: 0eb560a4dee05a55781f44c60c8164aef3bcf04c
https://github.com/llvm/llvm-project/commit/0eb560a4dee05a55781f44c60c8164aef3bcf04c
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Coroutines/CoroInstr.h
A llvm/test/Transforms/Coroutines/coro-early-twice.ll
Log Message:
-----------
[Coroutines] Don't assert if coro-early runs more than once (#134854)
The pass may run more than once during ThinLTO for example (see bug).
Maybe that means those pass pipelines aren't optimal, but the pass
should be resilient against that.
Fixes #134054
Commit: 40f9bb9e250d5762ee9cedabc7b7704c4cccddde
https://github.com/llvm/llvm-project/commit/40f9bb9e250d5762ee9cedabc7b7704c4cccddde
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/test/Assembler/2010-02-05-FunctionLocalMetadataBecomesNull.ll
M llvm/test/Assembler/DIDefaultTemplateParam.ll
M llvm/test/Assembler/metadata-use-uselistorder.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
R llvm/test/CodeGen/AArch64/fast-isel-branch-uncond-debug.ll
M llvm/test/tools/llvm-reduce/debug-metadata-verifier.ll
R llvm/test/tools/llvm-reduce/remove-args-dbg-intrinsics.ll
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-reduce/llvm-reduce.cpp
M llvm/tools/verify-uselistorder/verify-uselistorder.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Eliminate another debug-info variation flag (#133917)
The "preserve input debug-info format" flag allowed some tooling to opt
into not seeing the new debug records yet, and to not autoupgrade. This
was good at the time, but un-necessary now that we'll be ditching
intrinsics shortly.
It also hides errors now: verify-uselistorder was hardcoding this flag
to on, and as a result it hasn't seen debug records before. Thus, we
missed a uselistorder variation: constant-expressions such as GEPs can
be contained within debug records and completely isolated from the value
hierachy, see the metadata-use-uselistorder.ll test. These Values didn't
get ordered, but were legitimate uses of constants like "i64 0", and we
now run into difficulty handling that. The patch to AsmWriter seeks
Values to order even through debug-info now.
Finally there are a few intrinsics-tests relying on this flag that we
can just delete, such as one in llvm-reduce and another few in the
LocalTest unit tests. For the fast-isel test, it was added in
https://reviews.llvm.org/D67703 explicitly for checking the size of
blocks without debug-info and in 1525abb9c94 the codepath it tests moved
towards being sunsetted. It'll be totally redundant once RemoveDIs is on
permanently.
Note that there's now no explicit test for the textual-IR autoupgrade
path. I submit that we can rely on the thousands of .ll files where
we've only been bothered to update the outputs, not the inputs, to debug
records.
Commit: 1aed6ad906f54d6d3fd94b7f46aaeb4cc7e516ec
https://github.com/llvm/llvm-project/commit/1aed6ad906f54d6d3fd94b7f46aaeb4cc7e516ec
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-multi-reduction.mlir
Log Message:
-----------
[MLIR][OpenMP] Enable multiple variables for target teams reductions (#134903)
This patch enables multiple reductions to be used in a reduction clause
inside target regions for GPU offloading.
---------
Co-authored-by: Sergio Afonso <safonsof at amd.com>
Commit: f76d9da6d8a005d019c63775b2205c5a8cb3da67
https://github.com/llvm/llvm-project/commit/f76d9da6d8a005d019c63775b2205c5a8cb3da67
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[MSan] Update type for MsanMetadataPtrForLoadN and MsanMetadataPtrForStoreN (#135040)
Changed last parameter type for `MsanMetadataPtrForLoadN` and
`MsanMetadataPtrForStoreN` from `i64` to `IntptrTy` to keep it
consistent with call in `getShadowOriginPtrKernelNoVec`
Co-authored-by: Kamil Kashapov <kashapov at ispras.ru>
Commit: c8d49e9dd2e7e4c64a0a70bf05b0e6c83b04841a
https://github.com/llvm/llvm-project/commit/c8d49e9dd2e7e4c64a0a70bf05b0e6c83b04841a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
Log Message:
-----------
[alpha.webkit.RetainPtrCtorAdoptChecker] Recognize mutableCopy from literal as +1 (#132350)
This PR adds the support for recognizing the return value of copy /
mutableCopy as +1. isAllocInit and isOwned now traverses
PseudoObjectExpr to its last semantic expression.
Commit: 6d4d017fd250b77e832bec37644f3446d0be6d6c
https://github.com/llvm/llvm-project/commit/6d4d017fd250b77e832bec37644f3446d0be6d6c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/StripSymbols.h
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/StripSymbols.cpp
A llvm/test/Transforms/StripSymbols/strip-cg-profile.ll
M llvm/tools/llvm-extract/llvm-extract.cpp
Log Message:
-----------
[llvm-extract] Delete dead `CG Profile` edges (#134940)
When `llvm-extract`-ing a function, and the `CG Profile` flag is present in the original module, we end up with lots of `!{null, null, i64 1234}` entries for call edges that have disappeared as result of the removed functions.
This patch fixes that by adding a pass to `llvm-extract` that finds `CG Profile` edges with one or both operands `null` and removes them. This results in a cleaner output.
Commit: fa273e1158edb109e1c392a0d8e18b711d0e008e
https://github.com/llvm/llvm-project/commit/fa273e1158edb109e1c392a0d8e18b711d0e008e
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/data.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement 'data' construct lowering (#135038)
This patch does the lowering of the OpenACC 'data' construct, which
requires getting the `default` clause (as `data` requires at least 1 of
a list of clauses, and this is the easiest one). The lowering of the
clauses appears to happen in 1 of 2 ways: a- as an operand. or b- as an
attribute.
This patch adds infrastructure to lower as an attribute, as that is how
'data' works.
In addition to that, it changes the OpenACCClauseVisitor a bit, which
previously just required that each of the derived classes have all of
the clauses covered. This patch modifies it so that the visitor directly
calls the derived class from its visitor function, which leaves the
base-class ones the ability to defer to a generic function. This was
previously like this because I had some use cases that I didn't end up
using, and the 'generic' function here seems much more useful.
Commit: f4d87c42a6021e49fd972f5f5d863d35b267d17f
https://github.com/llvm/llvm-project/commit/f4d87c42a6021e49fd972f5f5d863d35b267d17f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/include/flang/Runtime/allocatable.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang][cuda] Add asyncId to allocate entry point (#134947)
Commit: e98d1380a0e7282ef23d1f583f0a4e02d608eb1d
https://github.com/llvm/llvm-project/commit/e98d1380a0e7282ef23d1f583f0a4e02d608eb1d
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
Log Message:
-----------
[NFC][LLDB] Clean up comments/some code in MinidumpFileBuilder (#134961)
I've recently been working on Minidump File Builder again, and some of
the comments are out of date, and many of the includes are no longer
used. This patch removes unneeded includes and rephrases some comments
to better fit with the current state after the read write chunks pr.
Commit: 0c2a6f2d62ec66065e88f70e7b863cbcb43b3307
https://github.com/llvm/llvm-project/commit/0c2a6f2d62ec66065e88f70e7b863cbcb43b3307
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/CMakeLists.txt
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/include/mlir/Dialect/X86Vector/X86VectorDialect.h
A mlir/include/mlir/Dialect/X86Vector/X86VectorInterfaces.td
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
R mlir/include/mlir/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.h
M mlir/lib/Dialect/X86Vector/IR/X86VectorDialect.cpp
M mlir/lib/Dialect/X86Vector/Transforms/CMakeLists.txt
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
R mlir/lib/Target/LLVMIR/Dialect/X86Vector/CMakeLists.txt
R mlir/lib/Target/LLVMIR/Dialect/X86Vector/X86VectorToLLVMIRTranslation.cpp
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][x86vector] Simplify intrinsic generation (#133692)
Replaces separate x86vector named intrinsic operations with direct calls
to LLVM intrinsic functions.
This rework reduces the number of named ops leaving only high-level MLIR
equivalents of whole intrinsic classes e.g., variants of AVX512 dot on
BF16 inputs. Dialect conversion applies LLVM intrinsic name mangling
further simplifying lowering logic.
The separate conversion step translating x86vector intrinsics into LLVM
IR is also eliminated. Instead, this step is now performed by the
existing llvm dialect infrastructure.
RFC:
https://discourse.llvm.org/t/rfc-simplify-x86-intrinsic-generation/85581
Commit: 9dc6551fa8944668af475e09bcb16dd81ab1bd00
https://github.com/llvm/llvm-project/commit/9dc6551fa8944668af475e09bcb16dd81ab1bd00
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract a check for a SplitVectorize node, NFC
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134896
Commit: 505a7e7d1cd2b77ab67ef82ac4abc9cf94271adb
https://github.com/llvm/llvm-project/commit/505a7e7d1cd2b77ab67ef82ac4abc9cf94271adb
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/init.c
A clang/test/CIR/CodeGenOpenACC/shutdown.c
Log Message:
-----------
[OpenACC][CIR] Support for `init` and `shutdown` lowering
These two are very simple. they don't require any clauses and don't
have an associated statement, so they have very simple output. This
patch implements them, but none of the associated clauses.
Commit: 3ef2bb6d0bcfcdcfde72d8aa3354e72c2366e22b
https://github.com/llvm/llvm-project/commit/3ef2bb6d0bcfcdcfde72d8aa3354e72c2366e22b
Author: metkarpoonam <poonammetkar at microsoft.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/dst.hlsl
Log Message:
-----------
[HLSL] Implement the dst HLSL Function (#133828)
fixes: https://github.com/llvm/llvm-project/issues/99108
Implement dst algorithm in the hlsl_intrinsics.h and added test cases
for HLSL codegen and sema
- [x] implement dst algorithm in the hlsl_intrinsics.h
- [x] Add HLSL codegen tests to clang/test/CodeGenHLSL/builtins/dst.hlsl
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/dst-errors.hlsl
Commit: ef1088f70356b18dd9af066ed6cea0c8b8d7800a
https://github.com/llvm/llvm-project/commit/ef1088f70356b18dd9af066ed6cea0c8b8d7800a
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.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/test/CodeGen/AArch64/vector-insert-dag-combines.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
Revert "[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR." (#135060)
Reverts llvm/llvm-project#125883
This PR causes crashes in RISC-V codegen around f16/f64 poison values:
https://github.com/llvm/llvm-project/pull/125883#issuecomment-2787048206
Commit: 2c31403f4f301214cb87e929c4d032bd2f4617f4
https://github.com/llvm/llvm-project/commit/2c31403f4f301214cb87e929c4d032bd2f4617f4
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
Log Message:
-----------
[alpha.webkit.UnretainedLambdaCapturesChecker] Add the support for protectedSelf (#132518)
This PR adds the support for treating capturing of "self" as safe if the
lambda simultaneously captures "protectedSelf", which is a RetainPtr of
"self".
This PR also fixes a bug that the checker wasn't generating a warning
when "self" is implicitly captured. Note when "self" is implicitly
captured, we use the lambda's getBeginLoc as a fallback source location.
Commit: 2ab2276ee079478b7ba9dd42c62b796d3dab1759
https://github.com/llvm/llvm-project/commit/2ab2276ee079478b7ba9dd42c62b796d3dab1759
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/lit.hlsl
Log Message:
-----------
[HLSL] Implement the `lit` intrinsic (#134171)
Closes #99135.
Tasks completed:
- Wrote implementation in `hlsl_intrinsics.h`/`hlsl_intrinsic_helpers.h`
- Added codegen tests to `clang/test/CodeGenHLSL/builtins/lit.hlsl`
Commit: 989bc69ceb47e27f402d14166eb2e2ea53e00c84
https://github.com/llvm/llvm-project/commit/989bc69ceb47e27f402d14166eb2e2ea53e00c84
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Log Message:
-----------
llvm-reduce: Trim includes in ReduceInstructions (#135022)
Commit: b92f4d4c3315e4632a2e6fc425583e07d57234ca
https://github.com/llvm/llvm-project/commit/b92f4d4c3315e4632a2e6fc425583e07d57234ca
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel][mlir] Add missing dep for X86Vector (#135069)
Follow up fix to https://github.com/llvm/llvm-project/pull/133692
Commit: be133ff4c44060e18a9c8a5e55c32d242007c8d1
https://github.com/llvm/llvm-project/commit/be133ff4c44060e18a9c8a5e55c32d242007c8d1
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/test/Preprocessing/kind-suffix.F90
Log Message:
-----------
[flang] Fix preprocessor regression (#134405)
For numeric kind suffixes like 1_foo, the preprocessor should be able to
perform macro replacement for macros named either "_foo" or "foo".
Fixes https://github.com/llvm/llvm-project/issues/133399.
Commit: 0ae9bb96d5af47a2426596dbd0c35e3ff0cdddcc
https://github.com/llvm/llvm-project/commit/0ae9bb96d5af47a2426596dbd0c35e3ff0cdddcc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
Log Message:
-----------
[flang][OpenMP] Fix regression in !$ continuation (#134756)
A recent patch that obviated the need to use -fopenmp when using the
compiler to preprocess in -E mode broke a case of Fortran line
continuation when using OpenMP conditional compilation lines (!$) when
*not* in -E mode. Fix.
Commit: e0950ebb9ce3ce02bd9a439f55fb2cbf81fa3eaf
https://github.com/llvm/llvm-project/commit/e0950ebb9ce3ce02bd9a439f55fb2cbf81fa3eaf
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/edit-output.cpp
M flang-rt/lib/runtime/io-stmt.cpp
Log Message:
-----------
[flang][runtime] Tweak width-free I/G formatted I&O (#135047)
For Fujitsu test case 0561/0561_0168.f90, adjust both input and output
sides of the extension I (and G) edit descriptors with no width (as
distinct from I0/G0). On input, be sure to halt on a separator character
rather than complaining about an invalid character; on output, be sure
to emit a leading space.
Commit: a0d449016b9fda248df78a9e0a8634fa03d33eb2
https://github.com/llvm/llvm-project/commit/a0d449016b9fda248df78a9e0a8634fa03d33eb2
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
Log Message:
-----------
[mlir][LLVM] Delete `getVectorElementType` (#134981)
The LLVM dialect no longer has its own vector types. It uses
`mlir::VectorType` everywhere. Remove `LLVM::getVectorElementType` and
use `cast<VectorType>(ty).getElementType()` instead. This commit
addresses a
[comment](https://github.com/llvm/llvm-project/pull/133286#discussion_r2022192500)
on the PR that deleted the LLVM vector types.
Also improve vector type constraints by specifying the
`mlir::VectorType` C++ class, so that explicit casts to `VectorType` can
be avoided in some places.
Commit: 7b4b43bd15cc66b6d9300db4c444954664cf04af
https://github.com/llvm/llvm-project/commit/7b4b43bd15cc66b6d9300db4c444954664cf04af
Author: k-kashapov <52855633+k-kashapov at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/kernel-ppcle.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppc.ll
M llvm/test/Instrumentation/MemorySanitizer/PowerPC32/vararg-ppcle.ll
Log Message:
-----------
[MSan] Separated PPC32 va_arg helper from PPC64 (#131827)
With more understanding of PowerPC32 ABI we've rewritten the
`VarArgPowerPC32Helper`.
New implementation fills shadow for both `reg_save_area` and
`overflow_arg_area`.
It does not copy shadow for floating-point arguments, as they are stored
in a separate space.
This implementation does not fully support passing arguments `byVal`.
This will be fixed in future PRs.
Tests were also updated via `llvm/utils/update_test_checks.py`.
Commit: 8f23d4296cb3bf612653aabb9c35395d197f704a
https://github.com/llvm/llvm-project/commit/8f23d4296cb3bf612653aabb9c35395d197f704a
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
Reland "[flang][nfc] Support volatility in Fir ops" (#135039)
#134858 had an extraneous include which caused the shared library builds
to break.
Commit: 46de0caed89fa379a2f7f5506c669ef21be8ef8c
https://github.com/llvm/llvm-project/commit/46de0caed89fa379a2f7f5506c669ef21be8ef8c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/metadata.ll
Log Message:
-----------
[LV] Add more tests for preserving metadata on vector instructions.
This patch extends test coverage for preserving existing metadata on
vector instructions, including many uncovered cases, like metadata on
calls, selects, FP ops and truncates.
Commit: 5709506de0e8cdeaf291952302f80b81eb03206a
https://github.com/llvm/llvm-project/commit/5709506de0e8cdeaf291952302f80b81eb03206a
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M offload/cmake/Modules/LibomptargetGetDependencies.cmake
Log Message:
-----------
[offload] Fix finding amdgpu/nvptx-arch to generate tests (#135072)
PR #134713, which landed as 79cb6f05da37, causes this on my test
systems:
```
-- Building AMDGPU plugin for dlopened libhsa
-- Not generating AMDGPU tests, no supported devices detected. Use 'LIBOMPTARGET_FORCE_AMDGPU_TESTS' to override.
-- Building CUDA plugin for dlopened libcuda
-- Not generating NVIDIA tests, no supported devices detected. Use 'LIBOMPTARGET_FORCE_NVIDIA_TESTS' to override.
```
The problem is it cannot locate amdgpu-arch and nvptx-arch. This patch
enables it to.
I suspect there is more cleanup to do here. amdgpu-arch and nvptx-arch
do not appear to exist as cmake targets anymore, but there is still
cmake code here that looks for those targets.
Commit: fe2eefc4718f57e1753f7bd51c158fc03d70b34f
https://github.com/llvm/llvm-project/commit/fe2eefc4718f57e1753f7bd51c158fc03d70b34f
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Lex/PPExpressions.cpp
A clang/test/Index/single-file-parse-undefined-function-like-macro.c
Log Message:
-----------
[clang][index] Handle undefined function-like macros in single file parse mode (#135054)
The single file parse mode is supposed to enter both branches of an
`#if` directive whenever the condition contains undefined identifiers.
This patch adds support for undefined function-like macros, where we
would previously emit an error that doesn't make sense from end-user
perspective.
(I discovered this while working on a very similar feature that parses
single module only and doesn't enter either `#if` branch when the
condition contains undefined identifiers.)
Commit: 639ebbfeb9b09e36158714a8e12f9138e18de0d9
https://github.com/llvm/llvm-project/commit/639ebbfeb9b09e36158714a8e12f9138e18de0d9
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
Log Message:
-----------
[ctxprof][nfc] Remove redundant include in PGOCtxProfWriter.cpp (#135077)
Commit: 12b1ed213ec55750e8fd59dfa44f6872186ed709
https://github.com/llvm/llvm-project/commit/12b1ed213ec55750e8fd59dfa44f6872186ed709
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
Log Message:
-----------
[Clang] Add non static data member initializer for BindingDecl member Decomp (#134969)
Static analysis flagged BindingDecl Decomp member as not being
initialized during construction or by any other member function.
Fix is add a default initializer for it like the other member Binding.
Commit: 0fd81e5f4614dc28cd1557a3d5a6a9d2c271d497
https://github.com/llvm/llvm-project/commit/0fd81e5f4614dc28cd1557a3d5a6a9d2c271d497
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
Log Message:
-----------
[VectorUtils] Add helper to get list of metadata to propagate (NFC). (#135003)
Split off the logic to filter out metadata that should not be propagated
to a helper that populates a list with metadata kinds that should be
preserved.
The current version just uses is_contained on an array to check if a
metadata kind is supported. Given that most instructions will only have
a small number of metadata kinds to start with, this shouldn't be worse
than iterating over all kinds once and querying the instruction for
individual metadata kinds, which involves quite a bit of indirection.
I plan ot use this utility in a follow-up patch in other places as well.
PR: https://github.com/llvm/llvm-project/pull/135003
Commit: 7cbf78ec74ea899ac508da0067962ab91c39930f
https://github.com/llvm/llvm-project/commit/7cbf78ec74ea899ac508da0067962ab91c39930f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove no-op addMetadata for VPWidenGEP/VPWidenIntOrFPInd (NFC).
GEPs and truncates should not have any metadata that can be propgated at
the moment, so addMetadata is a no-op. Remove the calls.
This patch also adds assertions to the recipes' constructors, to ensure
no metadata is accidentially dropped.
Commit: 785d69e317f249d96ca10010c96a92c51fa4d199
https://github.com/llvm/llvm-project/commit/785d69e317f249d96ca10010c96a92c51fa4d199
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/str_to_float_comparison_test.cpp
Log Message:
-----------
[libc][test] make `str_to_float_comparison_test` independent of C++ headers. (#133978)
This is an attempt to move away from C++ headers to be able to run the
test without `libcxx`.
closes #129838
cc @lntue @RossComputerGuy
Commit: 6a45fce90937f1c8671e609c4218818ce4491329
https://github.com/llvm/llvm-project/commit/6a45fce90937f1c8671e609c4218818ce4491329
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang/test/Integration/debug-local-var-2.f90
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
[DebugInfo] Soft-disable the production of debug intrinsics (#133933)
This patch switches the --experimental-debuginfo-iterators flag to be
stored to an otherwise unused cl-opt. This is a deliberate attempt to
break downstream tests that are relying on the use of debug intrinsics,
because they're imminently going away! If this commit breaks your tests,
please just revert the commit upstream, and then make contact with us
here:
https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578
So that we can work out whether there's any further transition work
needed to support the move away from using debug intrinsics.
Commit: a9ab8a019e53c91ae67c59fa900ee8b35bf7a4a0
https://github.com/llvm/llvm-project/commit/a9ab8a019e53c91ae67c59fa900ee8b35bf7a4a0
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/add-sub-128bit.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/compare-int.ll
M llvm/test/CodeGen/NVPTX/elect.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/sext-setcc.ll
M llvm/test/CodeGen/NVPTX/tid-range.ll
M llvm/test/CodeGen/NVPTX/vector-compare.ll
Log Message:
-----------
[NVPTX] Cleanup ISel for selp.* (#135065)
This change uses the untyped variant of `selp.` in all integer cases to
simplify the ISel TableGen logic. It is not expected to have any impact
on the final SASS.
Commit: e10f67a8270c7745b8a9306a9910b06cfc8d2c55
https://github.com/llvm/llvm-project/commit/e10f67a8270c7745b8a9306a9910b06cfc8d2c55
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
A clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/File.cpp
A clang-tools-extra/clang-doc/support/File.h
Log Message:
-----------
[clang-doc][NFC] refactor out file helpers (#134298)
Split from https://github.com/llvm/llvm-project/pull/133161
refactor the code to extract file helpers used in HTML generators for
use in other generators for clang-doc
Commit: f75dce43ea0a98c0ade916cf3ffcc7548f569821
https://github.com/llvm/llvm-project/commit/f75dce43ea0a98c0ade916cf3ffcc7548f569821
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#135046)
This fixes a warning where a variable assigned in a 'if' statement
wasn't referenced again.
Commit: af9c04fa689029c80451ec2c497509c7bd28534f
https://github.com/llvm/llvm-project/commit/af9c04fa689029c80451ec2c497509c7bd28534f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M libcxx/.clang-format
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__compare/compare_three_way.h
M libcxx/include/__compare/compare_three_way_result.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__coroutine/noop_coroutine_handle.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/container_adaptor.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/format_parse_context.h
M libcxx/include/__format/format_string.h
M libcxx/include/__format/format_to_n_result.h
M libcxx/include/__format/formatter.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integer.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__format/formatter_tuple.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__functional/binary_function.h
M libcxx/include/__functional/binary_negate.h
M libcxx/include/__functional/binder1st.h
M libcxx/include/__functional/binder2nd.h
M libcxx/include/__functional/boyer_moore_searcher.h
M libcxx/include/__functional/default_searcher.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/mem_fun_ref.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/pointer_to_binary_function.h
M libcxx/include/__functional/pointer_to_unary_function.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/unary_function.h
M libcxx/include/__functional/unary_negate.h
M libcxx/include/__fwd/array.h
M libcxx/include/__fwd/complex.h
M libcxx/include/__fwd/deque.h
M libcxx/include/__fwd/format.h
M libcxx/include/__fwd/fstream.h
M libcxx/include/__fwd/functional.h
M libcxx/include/__fwd/ios.h
M libcxx/include/__fwd/istream.h
M libcxx/include/__fwd/map.h
M libcxx/include/__fwd/memory.h
M libcxx/include/__fwd/memory_resource.h
M libcxx/include/__fwd/ostream.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/queue.h
M libcxx/include/__fwd/set.h
M libcxx/include/__fwd/sstream.h
M libcxx/include/__fwd/stack.h
M libcxx/include/__fwd/streambuf.h
M libcxx/include/__fwd/string.h
M libcxx/include/__fwd/string_view.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__fwd/variant.h
M libcxx/include/__fwd/vector.h
M libcxx/include/__hash_table
M libcxx/include/__ios/fpos.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iterator.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/auto_ptr.h
M libcxx/include/__memory/inout_ptr.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/lock_guard.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__node_handle
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__random/bernoulli_distribution.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/cauchy_distribution.h
M libcxx/include/__random/chi_squared_distribution.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/exponential_distribution.h
M libcxx/include/__random/extreme_value_distribution.h
M libcxx/include/__random/fisher_f_distribution.h
M libcxx/include/__random/gamma_distribution.h
M libcxx/include/__random/geometric_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__random/lognormal_distribution.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__random/normal_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/poisson_distribution.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/student_t_distribution.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_real_distribution.h
M libcxx/include/__random/weibull_distribution.h
M libcxx/include/__ranges/non_propagating_cache.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/alignment_of.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/conditional.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/dependent_type.h
M libcxx/include/__type_traits/enable_if.h
M libcxx/include/__type_traits/extent.h
M libcxx/include/__type_traits/has_unique_object_representation.h
M libcxx/include/__type_traits/has_virtual_destructor.h
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_abstract.h
M libcxx/include/__type_traits/is_aggregate.h
M libcxx/include/__type_traits/is_arithmetic.h
M libcxx/include/__type_traits/is_array.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_base_of.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_class.h
M libcxx/include/__type_traits/is_compound.h
M libcxx/include/__type_traits/is_const.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_destructible.h
M libcxx/include/__type_traits/is_empty.h
M libcxx/include/__type_traits/is_enum.h
M libcxx/include/__type_traits/is_final.h
M libcxx/include/__type_traits/is_floating_point.h
M libcxx/include/__type_traits/is_function.h
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_implicit_lifetime.h
M libcxx/include/__type_traits/is_integral.h
M libcxx/include/__type_traits/is_literal_type.h
M libcxx/include/__type_traits/is_member_pointer.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_null_pointer.h
M libcxx/include/__type_traits/is_object.h
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_polymorphic.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_same.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__type_traits/is_signed.h
M libcxx/include/__type_traits/is_standard_layout.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__type_traits/is_trivially_destructible.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__type_traits/is_union.h
M libcxx/include/__type_traits/is_unsigned.h
M libcxx/include/__type_traits/is_void.h
M libcxx/include/__type_traits/is_volatile.h
M libcxx/include/__type_traits/rank.h
M libcxx/include/__type_traits/reference_constructs_from_temporary.h
M libcxx/include/__type_traits/reference_converts_from_temporary.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_const.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/remove_volatile.h
M libcxx/include/__type_traits/result_of.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/piecewise_construct.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/__vector/vector_bool_formatter.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/bitset
M libcxx/include/codecvt
M libcxx/include/complex
M libcxx/include/deque
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/__hash
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/istream
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mutex
M libcxx/include/optional
M libcxx/include/queue
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/set
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/streambuf
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/typeindex
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/valarray
M libcxx/include/variant
Log Message:
-----------
[libc++] Remove _LIBCPP_TEMPLATE_VIS (#134885)
The need for `_LIBCPP_TEMPLATE_VIS` has been removed in #133233.
Commit: d47401e376d458fb9bb4f4f9be0e07c0fdd7a52c
https://github.com/llvm/llvm-project/commit/d47401e376d458fb9bb4f4f9be0e07c0fdd7a52c
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/AST/ast-print-openacc-set-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
A clang/test/SemaOpenACC/device_type_valid_values.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct-ast.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
Log Message:
-----------
[OpenACC] Start enforcing 'device_type' clause values
Researching in prep of doing the implementation for lowering, I found
that the source of the valid identifiers list from flang is in the
frontend. This patch adds the same list to the frontend, but does it as
a sema diagnostic, so we still parse it as an identifier/identifier-like
thing, but then diagnose it as invalid later.
Commit: 688c3ffb057a87b86c6c1e77040418adf511efbb
https://github.com/llvm/llvm-project/commit/688c3ffb057a87b86c6c1e77040418adf511efbb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] masked_gather_scatter.ll - add bass gather from struct tests for #130920
Show current codegen for base reference
Commit: 58b91d10a4c9dcd71ea0bcf6ff702a46dad147cb
https://github.com/llvm/llvm-project/commit/58b91d10a4c9dcd71ea0bcf6ff702a46dad147cb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.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/CIRGenValue.h
Log Message:
-----------
[CIR][NFC] Upstream LValueBaseInfo handling (#134928)
Previous implementations that used the cir::LValue class omitted hanling
of the LValueBaseInfo class, which tracks information about the basis
for the LValue's alignment. As more code was upstreamed from the
incubator, we were accumulating technical debt by adding more places
where this wasn't handled correctly. This change puts the interfaces in
place to track this information.
The information being tracked isn't used yet, so no functional change is
intended. The tracking is being added now because it will become more
difficult to add it as more features are implemented.
Commit: 90c001ac9e1d92a1a95d191d1640ab5337a937e5
https://github.com/llvm/llvm-project/commit/90c001ac9e1d92a1a95d191d1640ab5337a937e5
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[libc][bazel] Use Bazel aspects to implement libc_release_library. (#134948)
Instead of creating hundreds of implicit "filegroup" targets to keep
track of sources and textual headers required to build each libc
function or helper library, use Bazel aspects (see
https://bazel.build/versions/8.0.0/extending/aspects), which enable
transparent collection of transitive sources / textual headers while
walking the dependency DAG, and minimizes the Starlark overhead.
Co-authored-by: Jordan Rupprecht <rupprecht at google.com>
Commit: 2f7e685e3d8813ca584cc2f278ac3cd57b43772d
https://github.com/llvm/llvm-project/commit/2f7e685e3d8813ca584cc2f278ac3cd57b43772d
Author: Nachi G <nacgarg at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/IR/Verifier.cpp
M mlir/test/IR/invalid-ops.mlir
Log Message:
-----------
[MLIR] Ensure deterministic parallel verification (#134963)
`failableParallelForEach` will non-deterministically early terminate
upon failure, leading to inconsistent and potentially missing
diagnostics.
This PR uses `parallelForEach` to ensure all operations are verified and
all diagnostics are handled, while tracking the failure state
separately.
Other potential fixes include:
- Making `failableParallelForEach` have deterministic early-exit
behavior (or have an option for it)
- I didn't want to change more than what was required (and potentially
incur perf hits for unrelated code), but if this is a better fix I'm
happy to submit a patch.
- I think all diagnostics that can be detected from verification
failures should be reported, so I don't even think this would be correct
behavior anyway
- Adding an option for `failableParallelForEach` to still execute on
every element on the range while still returning `LogicalResult`
Commit: 154507cf403e1859b9a81fa76af406e8489daa4b
https://github.com/llvm/llvm-project/commit/154507cf403e1859b9a81fa76af406e8489daa4b
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/test/SemaTemplate/dependent-names.cpp
Log Message:
-----------
[clang] fix NestedNameSpecifier dependency calculation (#135067)
A NestedNameSpecifier of TypeSpec kind can be non-dependent even if its
prefix is dependent, when for example the prefix is an injected class
type but the type itself is a simple alias to a non-dependent type.
This issue was a bit hard to observe because if it is an alias to a
class type, then we (for some unknown reason) ignored that the NNS was
dependent in the first place, which wouldn't happen with an enum type.
This could have been a workaround for previous dependency bugs, and is
not relevant anymore for any of the test cases in the tree, so this
patch also removes that.
The other kinds of dependencies are still relevant. If the prefix
contains an unexpanded pack, then this NNS is still unexpanded, and
likewise for errors.
This fixes a regression reported here:
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2787909829
which was introduced by https://github.com/llvm/llvm-project/pull/133610
There are no release notes since the regression was never released.
Commit: 433a63e117ebf22365ef1f3f595a49cbe9f0c88e
https://github.com/llvm/llvm-project/commit/433a63e117ebf22365ef1f3f595a49cbe9f0c88e
Author: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
Log Message:
-----------
Fix ambiguous reversed operator error in sanitizer_mac.h (#135068)
Fixes error: ISO C++20 considers use of overloaded operator '==' (with
operand types 'MacosVersion' and 'MacosVersion') to be ambiguous despite
there being a unique best viable function
[-Werror,-Wambiguous-reversed-operator].
This converts the comparison operator from a non-symmetric operator
(const VersionBase<VersionType>& (as "this") and const VersionType &).
into a symmetric operator
Commit: 4d06d22da048f2c025df7b58ec1d7f96d0840bf9
https://github.com/llvm/llvm-project/commit/4d06d22da048f2c025df7b58ec1d7f96d0840bf9
Author: Pranav Kant <prka at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix after #133692 (#135098)
Avoid failures like these:
https://buildkite.com/llvm-project/upstream-bazel/builds/131707#01961bb5-2a7b-4dea-a387-cdfd8bb4db48
Commit: 8145659c39996b6b33c2fa922593d35068bcbf61
https://github.com/llvm/llvm-project/commit/8145659c39996b6b33c2fa922593d35068bcbf61
Author: mssefat <42645939+mssefat at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
Log Message:
-----------
[nfc][AMDGPU] Autogenerated assertions applied to fold-imm-copy.mir (#135071)
Autogenerated assertions are applied to fold-imm-copy.mir
Commit: 9b50167ed9d28589d70f36e302850d29ca249b9e
https://github.com/llvm/llvm-project/commit/9b50167ed9d28589d70f36e302850d29ca249b9e
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/python/ir/value.py
Log Message:
-----------
[mlir][python] add use_name_loc_as_prefix to value.get_name() (#135052)
Add `use_name_loc_as_prefix` to `value.get_name()`.
Commit: c359f7625f4d5bacbd88c9c9d26943b7a7e45a3e
https://github.com/llvm/llvm-project/commit/c359f7625f4d5bacbd88c9c9d26943b7a7e45a3e
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/CAPI/Dialect/Linalg.cpp
A mlir/test/python/dialects/linalg/utils.py
Log Message:
-----------
[mlir][CAPI][python] expose the python bindings for linalg::isaContractionOpInterface and linalg::inferContractionDims (#134935)
This PR is mainly about exposing the python bindings for`
linalg::isaContractionOpInterface` and` linalg::inferContractionDims`.
---------
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: 6a63abce7b54076015b52d6b99c51eb04d2763f6
https://github.com/llvm/llvm-project/commit/6a63abce7b54076015b52d6b99c51eb04d2763f6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use GPRMemZeroOffset instead of GPRMem in RISCVInstrInfoVPseudos.td. NFC
The distinction between GPRMem and GPRMemZeroOffset only matters
for parsing which doesn't apply to pseudos.
Commit: 56b792322aaaa82883d56a322a94448de519f789
https://github.com/llvm/llvm-project/commit/56b792322aaaa82883d56a322a94448de519f789
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/allocator.cpp
Log Message:
-----------
[flang][cuda] Use the aysncId in device allocation (#135099)
Use `cudaMallocAsync` in the `CUFAllocDevice` allocator when asyncId is
provided.
More work is needed to be able to call `cudaFreeAsync` since the
allocated address and stream needs to be tracked.
Commit: 75cbb1f0fa734efb79c1a1233f1aba377dfad9e1
https://github.com/llvm/llvm-project/commit/75cbb1f0fa734efb79c1a1233f1aba377dfad9e1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
Log Message:
-----------
[clang-format][NFC] Add FormatToken::is(tok::ObjCKeywordKind) (#134973)
This allows simplification of code that checks if a token is an
Objective-C keyword.
Also, delete the following in
UnwrappedLineParser::parseStructuralElement():
- an else-after-break in the tok::at case
- the copypasted code in the tok::objc_autoreleasepool case
Commit: 2795abb2f8c71a6f00371b49d49829efe2814b0d
https://github.com/llvm/llvm-project/commit/2795abb2f8c71a6f00371b49d49829efe2814b0d
Author: Alan Li <me at alanli.org>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
A llvm/test/CodeGen/AMDGPU/GlobalISel/prelegalizer-combiner-shuffle.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/shufflevector.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
Log Message:
-----------
[GISel][AMDGPU] Expand ShuffleVector (#124527)
This patch dismantles G_SHUFFLE_VECTOR before lowering. The original
lowering would emit extract vector element ops. We found that by using
unmerged values the build vector op combine could find ways to fold.
Only enabled on AMDGPU.
This resolves #123631
Commit: f34483838937b1a01ee11ee22bdd6e13c81e9fff
https://github.com/llvm/llvm-project/commit/f34483838937b1a01ee11ee22bdd6e13c81e9fff
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Keep the space between `not` and a unary operator (#135035)
Also keep the space between `not` and `::`.
Based on the
[documentation](https://releases.llvm.org/20.1.0/tools/clang/docs/ClangFormatStyleOptions.html#spaceafterlogicalnot),
it can be argued that SpaceAfterLogicalNot doesn't cover the alternative
operator `not`.
Closes #125465
Commit: 78b21ddba7bc43b1e59d97ccad51133858a9ce91
https://github.com/llvm/llvm-project/commit/78b21ddba7bc43b1e59d97ccad51133858a9ce91
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap.cpp
M offload/test/sanitizer/kernel_trap_many.c
Log Message:
-----------
Revert "Reland "Symbolize line zero as if no source info is available (#124846)" (#133798)"
This reverts commit 348374028970c956f2e49ab7553b495d7408ccd9 because #128619 doesn't handle the case when we have an empty frame from `getInliningInfoForAddress` because line num is 0 which makes it non-differentiable from missing debug info. So, we end up using the base filename from symtab again. Reverting for now until that issus is solved.
Commit: b88eef95e72ed54580c3f65c49cc8b768a764938
https://github.com/llvm/llvm-project/commit/b88eef95e72ed54580c3f65c49cc8b768a764938
Author: Michael Berg <93234525+mcberg2021 at users.noreply.github.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
A llvm/test/Transforms/DeadStoreElimination/dead-vp.store.ll
Log Message:
-----------
[DSE] Add predicated vector length store support for masked store elimination (#134175)
In isMaskedStoreOverwrite we process two stores that fully overwrite one
another, here we add support for predicated vector length stores so that
DSE will eliminate this variant of masked stores.
This is the follow up installment mentioned in:
https://reviews.llvm.org/D132700
Commit: 747d4a952bf7ed4adec72ddf3c9038aeff4fe8ee
https://github.com/llvm/llvm-project/commit/747d4a952bf7ed4adec72ddf3c9038aeff4fe8ee
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision.ll
Log Message:
-----------
[DirectX] Implement UseNativeLowPrecision shader flag analysis (#134288)
Fixes #112267
Implement the shader flag analysis to set the UseNativeLowPrecision DXIL
module flag.
The flag is only able to be set when the command-line flag
`-enable-16bit-types` is passed to clang-dxc, or equivalently
`-fnative-half-type` is passed to clang.
When the command-line flag is passed, a module metadata flag called
"dx.nativelowprec" is set to 1.
The DXILShaderFlags shader flags analysis checks that the module
metadata flag "dx.nativelowprec" is set to 1 and the DXIL Version is 1.2
or greater before setting the UseNativeLowPrecision DXIL module flag.
Commit: 02fde3a6518b1085946b891e2a1b3550f7497888
https://github.com/llvm/llvm-project/commit/02fde3a6518b1085946b891e2a1b3550f7497888
Author: Pranav Kant <prka at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-doc/BUILD.bazel
Log Message:
-----------
[bazel] Fix for #134298 (#135114)
Commit: 98feb05825a179c56f965d936b948a95d2a6b888
https://github.com/llvm/llvm-project/commit/98feb05825a179c56f965d936b948a95d2a6b888
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
Log Message:
-----------
[clang] fix unresolved dependent template specialization mangling (#135111)
This fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/133610 which was reported here
https://github.com/llvm/llvm-project/pull/133610#issuecomment-2787332042
When mangling a dependent template specialization appearing within an
unresolved prefix, translate the dtst back to a dependent template name
including the prefix, and mangle following the nested unresolved-type
production.
There are no release notes, since this regression was never released.
Commit: d1badf5635c5876a8c0b9558fe149ef0e293b865
https://github.com/llvm/llvm-project/commit/d1badf5635c5876a8c0b9558fe149ef0e293b865
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
A clang/test/CodeGen/cfi-check-fail-nomerge.c
A clang/test/CodeGen/cfi-check-fail2-nomerge.c
A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
Log Message:
-----------
[cfi][NFCI] Precommit tests to show nomerge functionality (#135104)
https://github.com/llvm/llvm-project/pull/120464 (and earlier CLs) added -fsanitize-merge functionality, which is intended to work for all "sanitizers". It is nearly correct for CFI.
This patch precommits some tests for CFI, to track the progress of future -fsanitize-merge fixes for CFI.
Commit: 2b8cc651dca0c000ee18ec79bd5de4826156c9d6
https://github.com/llvm/llvm-project/commit/2b8cc651dca0c000ee18ec79bd5de4826156c9d6
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
Log Message:
-----------
:createMCStreamer: delete InstPrinter on error
Commit: 0283bb3afcc5dc521f6b2e7d541a830a9546ed80
https://github.com/llvm/llvm-project/commit/0283bb3afcc5dc521f6b2e7d541a830a9546ed80
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/attr-counted-by.c
A clang/test/CodeGen/ubsan-attr.cpp
Log Message:
-----------
[Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers (#130990)
This patch adds `memory(argmem: read, inaccessiblemem: readwrite)
mustprogress` to **recoverable** ubsan handlers in order to unblock some
memory/loop optimizations. It provides an average of 3% performance
improvement on llvm-test-suite (except for 49 test failures due to ubsan
diagnostics).
Closes https://github.com/llvm/llvm-project/issues/130093.
Commit: 7f7f3d91a2d5c354a5e7b7c6f7d8d71ec6ad1f4d
https://github.com/llvm/llvm-project/commit/7f7f3d91a2d5c354a5e7b7c6f7d8d71ec6ad1f4d
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
Log Message:
-----------
Revert "Replace bool operator== for VersionType in sanitizer_mac.h" (#135127)
Reverts llvm/llvm-project#135068 because it breaks building compiler-rt
on Darwin.
https://green.lab.llvm.org/job/clang-stage1-RA/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/
Commit: 2828328611089481d6ebd2e148791d9729117a8a
https://github.com/llvm/llvm-project/commit/2828328611089481d6ebd2e148791d9729117a8a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/llvm-reduce.cpp
Log Message:
-----------
llvm-reduce: Link to command guide in help like bugpoint does (#134810)
Commit: 98ea512f720ec954a6f096dbb39534f06affa196
https://github.com/llvm/llvm-project/commit/98ea512f720ec954a6f096dbb39534f06affa196
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
A clang/test/AST/ByteCode/libcxx/minmax.cpp
Log Message:
-----------
[clang][bytecode] Clear inactive union fields when copying (#134982)
When copying unions, we need to only copy the active field of the source
union, which we were already doing. However, we also need to zero out
the (now) inactive fields, so we don't end up with dangling pointers in
those inactive fields.
Commit: 5587932e20ff90ba8a28f3c9089e8b12e42b09b5
https://github.com/llvm/llvm-project/commit/5587932e20ff90ba8a28f3c9089e8b12e42b09b5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/remove-bb-switch-default.ll
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
Log Message:
-----------
llvm-reduce: Use simpleSimplifyCFG in block reduction (#135028)
Commit: 02f923f8e4329995f2f0c512fa53f5e37e631933
https://github.com/llvm/llvm-project/commit/02f923f8e4329995f2f0c512fa53f5e37e631933
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
Log Message:
-----------
[clang][bytecode] Classify function pointers as PT_Ptr (#135026)
The Pointer class already has the capability to be a function pointer,
but we still classifed function pointers as PT_FnPtr/FunctionPointer.
This means when converting from a Pointer to a FunctionPointer, we lost
the information of what the original Pointer pointed to.
Commit: 27ca4837eec1734d23cc628fcaddf03b94afc845
https://github.com/llvm/llvm-project/commit/27ca4837eec1734d23cc628fcaddf03b94afc845
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
[EquivalenceClasses] Introduce erase member function (#134660)
Introduce 'erase(const ElemTy &V)' member function to allow the deletion
of a certain value from EquivClasses. This is essential for certain
scenarios that require modifying the contents of EquivClasses.
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: 843fb7be380c0907b3b222cd5e429a4d38c97b54
https://github.com/llvm/llvm-project/commit/843fb7be380c0907b3b222cd5e429a4d38c97b54
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix overly conservative operands-to-args user restriction (#133854)
I assume this was a leftover from typed pointers. It's easier to replace
the non-callee uses, they are just replacable pointer values.
Commit: 2257f5143148210fa968205730543f49427d0cc6
https://github.com/llvm/llvm-project/commit/2257f5143148210fa968205730543f49427d0cc6
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/attr-counted-by.c
R clang/test/CodeGen/ubsan-attr.cpp
Log Message:
-----------
Revert "[Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers" (#135130)
Reverts llvm/llvm-project#130990
Breaks buildbot https://lab.llvm.org/buildbot/#/builders/186/builds/8072
Commit: f819f46284f2a79790038e1f6649172789734ae8
https://github.com/llvm/llvm-project/commit/f819f46284f2a79790038e1f6649172789734ae8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/test/Transforms/Inline/access-attributes-prop.ll
Log Message:
-----------
Reapply "Inline: Propagate callsite nofpclass attribute" (#135018)
This reverts commit 3f38cd07d820248fd2043efb1341fabaac2d84a6.
Fix case where inner callsite has nofpclass but callsite does not.
Commit: 3fd0d22d74027c00bd2365ea1691dc530bb9709a
https://github.com/llvm/llvm-project/commit/3fd0d22d74027c00bd2365ea1691dc530bb9709a
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-09 (Wed, 09 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/arm64-diags.s
M llvm/test/MC/MachO/AArch64/darwin-ARM64-reloc.s
Log Message:
-----------
AArch64AsmParser: Restore Lsym at page-offset support
https://github.com/llvm/llvm-project/pull/134202 removed support for
`sym at page-offset` in instruction operands. This change is generally
reasonable since subtracting an offset from a symbol typically doesn’t
make sense for Mach-O due to its .subsections_via_symbols mechanism, which treats
them as separate atoms.
However, BoringSSL relies on a temporary symbol with a negative offset,
which can be meaningful when the symbol and the referenced location are
within the same atom.
```
../../third_party/boringssl/src/gen/bcm/p256-armv8-asm-apple.S:1160:25: error: unexpected token in argument list
adrp x23,Lone_mont at PAGE-64
```
It's worth noting that expressions involving @ can be complex and
brittle in MCParser, and much of the Mach-O @ offsets remains
under-tested.
* Allow default argument for parsePrimaryExpr. The argument, used by the niche llvm-ml,
should not require other targets to adapt.
Commit: 807cc3791fabd47bd24d57a8e4ab7df9117b3ede
https://github.com/llvm/llvm-project/commit/807cc3791fabd47bd24d57a8e4ab7df9117b3ede
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[DAGCombiner] Fold subtraction if above threshold to `umin` (#134235)
Folds patterns such as:
unsigned foo(unsigned x, unsigned y) {
return x >= y ? x - y : x;
}
Before, on RISC-V:
sltu a2, a0, a1
addi a2, a2, -1
and a1, a1, a2
subw a0, a0, a1
Or, with Zicond:
sltu a2, a0, a1
czero.nez a1, a1, a2
subw a0, a0, a1
After, with Zbb:
subw a1, a0, a1
minu a0, a0, a1
Only applies to unsigned comparisons.
If `x >= y` then `x - y` is less than or equal `x`.
Otherwise, `x - y` wraps and is greater than `x`.
Commit: 7818e5ab6725c1590ff5c4a483a76f08b8697cb7
https://github.com/llvm/llvm-project/commit/7818e5ab6725c1590ff5c4a483a76f08b8697cb7
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-bit-shift.ll
M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-shift.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-bit-shift.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-shift.ll
Log Message:
-----------
[LoongArch] lower vector shuffle to shift if possible (#132866)
Commit: b122956390a6877536927c2b073a0b99f8b9704f
https://github.com/llvm/llvm-project/commit/b122956390a6877536927c2b073a0b99f8b9704f
Author: Hua Tian <akiratian at tencent.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/ModuloSchedule.cpp
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals-1.mir
Log Message:
-----------
[llvm][CodeGen] update live intervals for ModuloScheduleExpanderMVE (#132677)
ModuloScheduleExpanderMVE and ModuloScheduleExpander are used sequentially in
certain use cases. It is necessary to update live intervals for ModuloScheduleExpanderMVE;
otherwise, crashes may occur.
Commit: adfc577895811b5df3935be3b26aec52929afebd
https://github.com/llvm/llvm-project/commit/adfc577895811b5df3935be3b26aec52929afebd
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-memcpy-align-metadata.mlir
Log Message:
-----------
[OpenMP][CodeExtractor]Add align metadata to load instructions (#131131)
Moving code to another function can lead to missed optimization
opportunities, because function passes operate on smaller chunks of
code, and they cannot figure out all details.
One example of missed optimization opportunities after code extraction
is information about pointer alignment. The instruction combine pass
adds information about pointer alignment to LLVM intrinsic memcpy calls
if it can deduce it from the code or if align metadata is added. If this
information is not present, then further optimization passes can
generate inefficient code.
If we add align metadata to extracted pointers, then the instruction
combine pass can add the align attribute to the LLVM intrinsic memcpy
call and unblock further optimization.
Scope of changes:
1. Analyze MLIR map operations. Add information about the alignment of
objects that are passed by reference to OpenMP GPU kernels.
2. Propagate alignment information to the outlined by `CodeExtractor`
helper functions.
Commit: 923da2b843c7ddf9c7d39ba9629ad7945a96ea5c
https://github.com/llvm/llvm-project/commit/923da2b843c7ddf9c7d39ba9629ad7945a96ea5c
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Add 'cl' to enable OpenCL kernel file formatting (#134529)
There are many .cl files in llvm repo. It would be great that
clang-format can support it.
Commit: 85742f764270c701d2245615c590702c5110b030
https://github.com/llvm/llvm-project/commit/85742f764270c701d2245615c590702c5110b030
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/docs/Dialects/LLVM.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp
M mlir/lib/Target/LLVMIR/TypeFromLLVM.cpp
Log Message:
-----------
[mlir][LLVM] Delete `getFixedVectorType` and `getScalableVectorType` (#135051)
The LLVM dialect no longer has its own vector types. It uses
`mlir::VectorType` everywhere. Remove
`LLVM::getFixedVectorType/getScalableVectorType` and use
`VectorType::get` instead. This commit addresses a
[comment](https://github.com/llvm/llvm-project/pull/133286#discussion_r2022192500)
on the PR that deleted the LLVM vector types.
Commit: f030f6f3c5ad44dca5c9f66c24e168a716fa1ece
https://github.com/llvm/llvm-project/commit/f030f6f3c5ad44dca5c9f66c24e168a716fa1ece
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb][FormatEntity][NFCI] Refactor FunctionNameWithArgs into helper functions and use LLVM style (#135031)
I've always found this hard to read. Some upcoming changes make similar
computations, so I thought it's a good time to factor out this logic
into re-usable helpers and clean it up using LLVM's preferred
early-return style.
Commit: 344a491dad1ec117ea0f97eb09c56fe5edb51fe6
https://github.com/llvm/llvm-project/commit/344a491dad1ec117ea0f97eb09c56fe5edb51fe6
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/fp_trunc_store_fp64_to_bf16.ll
Log Message:
-----------
[CodeGen] Simplify expandRoundInexactToOdd (#134988)
FP_ROUND and FP_EXTEND the input value before FABSing it. This avoids
some bit twiddling to copy the sign bit from the input to the result. It
does introduce one extra FABS, but that is folded into another
instruction for free on AMDGPU, which is the only target currently
affected by this change.
Commit: a625bc60e2987502d2dd1b3372fa1b9cf3b2f2cf
https://github.com/llvm/llvm-project/commit/a625bc60e2987502d2dd1b3372fa1b9cf3b2f2cf
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/cbuffer.hlsl
A clang/test/AST/HLSL/private.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
A clang/test/CodeGenHLSL/out-of-line-static.hlsl
A clang/test/CodeGenHLSL/static-variable.hlsl
M clang/test/SemaTemplate/address_space-dependent.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
Log Message:
-----------
[HLSL][SPIR-V] Add hlsl_private address space for SPIR-V (#133464)
This is an alternative to
https://github.com/llvm/llvm-project/pull/122103
In SPIR-V, private global variables have the Private storage class. This
PR adds a new address space which allows frontend to emit variable with
this storage class when targeting this backend.
This is covered in this proposal: llvm/wg-hlsl at 4c9e11a
This PR will cause addrspacecast to show up in several cases, like class
member functions or assignment. Those will have to be handled in the
backend later on, particularly to fixup pointer storage classes in some
functions.
Before this change, global variable were emitted with the 'Function'
storage class, which was wrong.
Commit: 135a7874dc2af6e2eb439db837eda273bdc54a63
https://github.com/llvm/llvm-project/commit/135a7874dc2af6e2eb439db837eda273bdc54a63
Author: Romaric Jodin <rjodin at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libclc/clspv/lib/math/fma.cl
Log Message:
-----------
libclc: clspv: fma: remove fp16 implementation (#135002)
clspv is already handling generation of fp16. This implementation is
preventing clspv from making the best choice to use an emulation on top
of fp32-fma, or the native fp16-fma, depending on the command-line
arguments.
Commit: 7d32d72f10445657f598cbdf1bb5f3040373daf5
https://github.com/llvm/llvm-project/commit/7d32d72f10445657f598cbdf1bb5f3040373daf5
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libclc/clspv/lib/math/fma.cl
Log Message:
-----------
[libclc][NFC] Remove blank line at end of file
Commit: 5543d9ded7330b21c1d52cdeafadc4b95a495ccc
https://github.com/llvm/llvm-project/commit/5543d9ded7330b21c1d52cdeafadc4b95a495ccc
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[RegAlloc][NFC] Use `std::move` to avoid copy (#134533)
Commit: 785e7f06ddb1ba36aa679d23436726dcf61f8afb
https://github.com/llvm/llvm-project/commit/785e7f06ddb1ba36aa679d23436726dcf61f8afb
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
Log Message:
-----------
Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)
The buidbot
[flang-aarch64-libcxx](https://lab.llvm.org/buildbot/#/builders/89) is
currently failing with an ABI issue. The suspected reason is that
LLVMSupport.a is built using libc++, but the unittests are using the
default C++ standard library, libstdc++ in this case. This predefined
`llvm_gtest` target uses the LLVMSupport from `find_package(LLVM)`,
which finds the libc++-built LLVMSupport.
To fix, store the `LLVM_ENABLE_LIBCXX` setting in the LLVMConfig.cmake
such that everything that links to LLVM libraries use the same standard
library. In this case discussed in
https://github.com/llvm/llvm-zorg/pull/387 it was the flang-rt
unittests, but other runtimes with GTest unittests should have the same
issue (e.g. offload), and any external project that uses
`find_package(LLVM)`.
Commit: d9cfd905248a7ef74826576978348600a372af5f
https://github.com/llvm/llvm-project/commit/d9cfd905248a7ef74826576978348600a372af5f
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
Log Message:
-----------
[ci] Improve wording in CI test reports
We weren't saying where to click, make it clear you click on a
test name.
Commit: d34437e9e17be59a5b9da1937fec21886779885b
https://github.com/llvm/llvm-project/commit/d34437e9e17be59a5b9da1937fec21886779885b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Recognize a zipeven/zipodd requiring larger SEW (#134923)
This is a follow up to f8ee58a3c, and improves code generation for the
XRivosVizip extension.
If we have a slide pair which could be a zipeven or zipodd if the
shuffle was widened, widen the shuffle and then mask the zipeven or
zipodd.
This is basically working around an order of matching issue; we match
the slide pair variants before trying widening. I considered whether we
should just widen slide pairs without any consideration of the zip
idioms, but the resulting codegen changes look mostly like churn, and
have no clear evidence of profitability.
Commit: cdb9c6190ff066756ce4eb898eea747c5076ad33
https://github.com/llvm/llvm-project/commit/cdb9c6190ff066756ce4eb898eea747c5076ad33
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/unittests/Symbol/UnwindPlanTest.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] Support negative function offsets in UnwindPlans (#134662)
These are needed for functions whose entry point is not their lowest
address.
Commit: e3350a62635777ee983d86b6f6c9be4b07f48fc8
https://github.com/llvm/llvm-project/commit/e3350a62635777ee983d86b6f6c9be4b07f48fc8
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/AMDGPU/bitcast-fold-lane-ops.ll
Log Message:
-----------
[AMDGPU] InstCombine llvm.amdgcn.ds.bpermute with uniform arguments (#130133)
Reland #129895 with a fix to avoid trying to combine bpermute of
bitcast.
Commit: 2fe123a1195e16e065f913ba2bba8582370a8707
https://github.com/llvm/llvm-project/commit/2fe123a1195e16e065f913ba2bba8582370a8707
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/cmake/modules/LLVMConfig.cmake.in
Log Message:
-----------
Revert "Remember LLVM_ENABLE_LIBCXX setting in installed configuration (#134990)"
This reverts commit 785e7f06ddb1ba36aa679d23436726dcf61f8afb.
It did not solve the problem with flang-aarch64-libcxx and caused
another failure with openmp-offload-amdgpu-runtime-2.
Commit: 716b02d8c575afde7af1af13df145019659abca2
https://github.com/llvm/llvm-project/commit/716b02d8c575afde7af1af13df145019659abca2
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
A llvm/test/Transforms/MemCpyOpt/memcpy-tbaa.ll
M llvm/test/Transforms/MemCpyOpt/stack-move.ll
Log Message:
-----------
[LLVM][MemCpyOpt] Unify alias tags if we optimize allocas (#129537)
Optimization of alloca instructions may lead to invalid alias tags.
Incorrect alias tags can result in incorrect optimization outcomes for
Fortran source code compiled by Flang with flags: `-O3 -mmlir
-local-alloc-tbaa -flto`.
This commit removes alias tags when memcpy optimization replaces two
arrays with one array, thus ensuring correct compilation of Fortran
source code using flags: `-O3 -mmlir -local-alloc-tbaa -flto`.
This commit is also a proposal to fix the reported issue:
https://github.com/llvm/llvm-project/issues/133984
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: 20507a9e95a08069863e9910a688a38370d58952
https://github.com/llvm/llvm-project/commit/20507a9e95a08069863e9910a688a38370d58952
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/selectiondag-order.ll
M llvm/test/CodeGen/X86/selectiondag-order.ll
A llvm/test/Transforms/CodeGenPrepare/X86/cast-debuginfo-salvage.ll
Log Message:
-----------
[Verifier][CGP] Allow integer argument to dbg_declare (#134803)
Relaxes the newly added verifier rule to also allow an integer argument
to dbg_declare, which is interpreted as a pointer. Adjust CGP to deal with
it gracefully.
Fixes https://github.com/llvm/llvm-project/issues/134523.
Alternative to https://github.com/llvm/llvm-project/pull/134601.
Commit: 64b5e8f2b732defc35831d5765175647d763264d
https://github.com/llvm/llvm-project/commit/64b5e8f2b732defc35831d5765175647d763264d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] masked_gather_scatter.ll - clean up check prefixes
Share X86/X64 common prefixes as much as possible to reduce duplication
Commit: d02a704ec952f01ab258e8c4cbb3c01c8f768e15
https://github.com/llvm/llvm-project/commit/d02a704ec952f01ab258e8c4cbb3c01c8f768e15
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-getExtractWithExtendCost.ll
Log Message:
-----------
[SLP][REVEC] Make getExtractWithExtendCost support FixedVectorType as Dst. (#134822)
Commit: c7745b0babb0151d9fe9cdc4fc180b0b53821e98
https://github.com/llvm/llvm-project/commit/c7745b0babb0151d9fe9cdc4fc180b0b53821e98
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-st1.ll
Log Message:
-----------
[AArch64][test] Regenerate arm64-st1.ll using update_llc_test_checks.py (NFC) (#134919)
This is a fairly large test file which can be annoying to manually
update. Using --filter-out gets pretty close to the original checks.
Commit: dcb2ae126de1ce64a9164a3e63f328ae1859ea46
https://github.com/llvm/llvm-project/commit/dcb2ae126de1ce64a9164a3e63f328ae1859ea46
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
A llvm/utils/gn/secondary/clang-tools-extra/clang-doc/support/BUILD.gn
Log Message:
-----------
[gn] port e10f67a8270c774
Commit: 6d98d45c9c1867d4006f93e04bc1380b36e34f18
https://github.com/llvm/llvm-project/commit/6d98d45c9c1867d4006f93e04bc1380b36e34f18
Author: PeterChou1 <peter.chou at mail.utoronto.ca>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/CMakeLists.txt
Log Message:
-----------
reland [clang-doc][NFC] refactor out file helpers (#135164)
Split from https://github.com/llvm/llvm-project/pull/133161
refactor the code to extract file helpers used in HTML generators for
use in other generators for clang-doc
This patch fixes the error where compiling with
-DLLVM_LINK_LLVM_DYLIB=ON broke the buildbot
Commit: 71f629fc2a93e41577c09bdd782b2ba524ed5fea
https://github.com/llvm/llvm-project/commit/71f629fc2a93e41577c09bdd782b2ba524ed5fea
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
Log Message:
-----------
Initialize member variable; NFC (#135167)
This was found via a Coverity static analysis pass. There's no
indication this was being used incorrectly in practice, but there are
public interfaces which require `BR` to be non-null and valid, and `BR`
was not being initialized by the constructor.
This adds an in-class initializer for `BR` and some asserts, to be safe.
Commit: 5c8ba28c751bf0e7cb5c3ac9d223acba4cefc739
https://github.com/llvm/llvm-project/commit/5c8ba28c751bf0e7cb5c3ac9d223acba4cefc739
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaInit.cpp
M clang/test/C/C11/n1285.c
A clang/test/C/C11/n1285_1.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenObjC/property-array-type.m
M clang/www/c_status.html
Log Message:
-----------
[C11] Implement WG14 N1285 (temporary lifetimes) (#133472)
This feature largely models the same behavior as in C++11. It is
technically a breaking change between C99 and C11, so the paper is not
being backported to older language modes.
One difference between C++ and C is that things which are rvalues in C
are often lvalues in C++ (such as the result of a ternary operator or a
comma operator).
Fixes #96486
Commit: 6defc8ee66caef0191015a6943f1694ee7410459
https://github.com/llvm/llvm-project/commit/6defc8ee66caef0191015a6943f1694ee7410459
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
Log Message:
-----------
Initialize member variable; NFC
This was found via a Coverity static analysis pass. There's no
indication this was being used incorrectly in practice, but there are
public interfaces which require `BR` to be non-null and valid, and `BR`
was not being initialized by the constructor.
This adds an in-class initializer for `BR` and some asserts, to be safe.
Commit: 9ff27d5fc2d57a676a0d0a47684409c640f38c7f
https://github.com/llvm/llvm-project/commit/9ff27d5fc2d57a676a0d0a47684409c640f38c7f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/avgfloors-scalar.ll
M llvm/test/CodeGen/X86/avgflooru-scalar.ll
Log Message:
-----------
[X86] add additional avgfloor 'add(shift(x,1),shift(y,1),and(x,y,1))' patterns
Add mixture of pattern combos to match against the SDPatternMatch::m_Reassociatable* matchers
Commit: 5a1b4ec6f4b773f191e98183ae4628785729daa1
https://github.com/llvm/llvm-project/commit/5a1b4ec6f4b773f191e98183ae4628785729daa1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/C/C11/n1285_1.c
Log Message:
-----------
Fix broken bots
https://lab.llvm.org/buildbot/#/builders/190/builds/18038
This adds a triple and regenerates the test results.
Commit: ed858220276dd11f6c2d7a5d3e357c211f9c6190
https://github.com/llvm/llvm-project/commit/ed858220276dd11f6c2d7a5d3e357c211f9c6190
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
Log Message:
-----------
[clang-format] Handle C++ keywords in other languages better (#132941)
There is some code to make sure that C++ keywords that are identifiers
in the other languages are not treated as keywords. Right now, the kind
is set to identifier, and the identifier info is cleared. The latter is
probably so that the code for identifying C++ structures does not
recognize those structures by mistake when formatting a language that
does not have those structures. But we did not find an instance where
the language can have the sequence of tokens, the code tries to parse
the structure as if it is C++ using the identifier info instead of the
token kind, but without checking for the language setting. However,
there are places where the code checks whether the identifier info field
is null or not. They are places where an identifier and a keyword are
treated the same way. For example, the name of a function in
JavaScript. This patch removes the lines that clear the identifier
info. This way, a C++ keyword gets treated in the same way as an
identifier in those places.
JavaScript
New
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Old
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Java
New
```Java
enum union { ABC, CDE }
```
Old
```Java
enum
union { ABC, CDE }
```
This reverts commit 97dcbdef6089175c45e14fcbcf5c88b10233a79a.
Commit: f7617f7f909102080f1a0cee46f8ca75ec8d14ff
https://github.com/llvm/llvm-project/commit/f7617f7f909102080f1a0cee46f8ca75ec8d14ff
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Recognize TableGen paste operator on separate line (#133722)
Formatting this piece of code made the program crash.
```
class TypedVecListRegOperand<RegisterClass Reg, int lanes, string eltsize>
: RegisterOperand<Reg, "printTypedVectorList<" # lanes # ", '"
# eltsize # "'>">;
```
The line starting with the `#` was treated as a separate preprocessor
directive line. Then the code dereferenced a null pointer when it tried
to continue parsing the first line that did not end in a semicolon.
Now the 2 problems are fixed.
Commit: 2b3aa56fd742775c5b05c3053778832aa76c0feb
https://github.com/llvm/llvm-project/commit/2b3aa56fd742775c5b05c3053778832aa76c0feb
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/SemaCXX/gh134265.cpp
Log Message:
-----------
[MS][clang] Error about ambiguous operator delete[] only when required (#135041)
And issue was reported in
https://github.com/llvm/llvm-project/pull/133950#issuecomment-2787510484
. Since we don't always emit vector deleting dtors, only error out about
ambiguous operator delete[] when it will be required for vector deleting
dtor emission.
Commit: 4244a91be268111dd133fa4863504c4840e5361c
https://github.com/llvm/llvm-project/commit/4244a91be268111dd133fa4863504c4840e5361c
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
Log Message:
-----------
[SPIRV][NFC] Refactor pointer creation in GlobalRegistery (#134429)
This PR adds new interfaces to create pointer type, and adds
some requirements to the old interfaces. This is the first step in
https://github.com/llvm/llvm-project/issues/134119.
Commit: b0428870dae980af84e50dfa3ee6ed2165998678
https://github.com/llvm/llvm-project/commit/b0428870dae980af84e50dfa3ee6ed2165998678
Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.dim.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.a16.encode.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx12_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU] Rename TH_STORE_RT_WB to TH_STORE_WB (#135171)
So it matches the documentation
Fixes: SWDEV-526726
Commit: 5978bb2936d9a71d8e6891c640a36be760b569d3
https://github.com/llvm/llvm-project/commit/5978bb2936d9a71d8e6891c640a36be760b569d3
Author: u4f3 <ricoafoat at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/DeadArgumentElimination.h
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/test/Transforms/DeadArgElim/musttail-caller.ll
A llvm/test/Transforms/DeadArgElim/musttail-verifier.ll
Log Message:
-----------
[DeadArgElim] fix verifier failure when changing musttail's function signature (#127366)
This commit is for #107569 and #126817.
Stop changing musttail's caller and callee's function signature when
calling convention is not swifttailcc nor tailcc. Verifier makes sure
musttail's caller and callee shares exactly the same signature, see
commit 9ff2eb1 and #54964.
Otherwise just make sure the return type is the same and then process
musttail like usual calls.
close #107569, #126817
Commit: f989db5745b88cd72f2af7f67ff96071f5059922
https://github.com/llvm/llvm-project/commit/f989db5745b88cd72f2af7f67ff96071f5059922
Author: calebwat <107081575+calebwat at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[NFC] Use cast instead of dyn_cast for Src and Dst vec types in VecCombine folding (#134432)
SrcVecTy and DstVecTy are used without a null check, and originate from
a dyn_cast. This patch adjusts this to use a fixed cast, since it is not
checked for null before use otherwise, but is semantically guaranteed
from previous checks.
Commit: 15428e0d786939a5c7629a9978947c8a9112ce96
https://github.com/llvm/llvm-project/commit/15428e0d786939a5c7629a9978947c8a9112ce96
Author: David Stuttard <david.stuttard at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.waitcnt.out.order.ll
A llvm/test/CodeGen/AMDGPU/waitcnt-sample-out-order.mir
Log Message:
-----------
[AMDGPU] Add support for point sample accel out of order returns (#127991)
Add target feature for point sample acceleration and enable it for
relevant
targets.
Also add support to insert waitcnts where required when point sample
accel may
have occurred. This has implications for out of order returns, which is
why
extra waitcnts are required.
Add a VMEM_NOSAMPLER bit in the register masks to determine when
waitcnt is required.
Commit: 4b267bb7c2f1f84e10d3d47d17e0a19de6559de2
https://github.com/llvm/llvm-project/commit/4b267bb7c2f1f84e10d3d47d17e0a19de6559de2
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lld/MachO/InputFiles.cpp
A lld/test/MachO/tapi-rpath.s
Log Message:
-----------
[lld] load rpaths from tbd files (#134925)
TBD files can contain rpaths, add support for setting them in DylibFile
during construction.
Commit: 85614e160ba569d719452ec80b842a0edc5ab930
https://github.com/llvm/llvm-project/commit/85614e160ba569d719452ec80b842a0edc5ab930
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/CodeGen/call.cpp
A clang/test/CIR/IR/call.cir
Log Message:
-----------
[CIR] Upstream initial function call support (#134673)
This patch upstreams initial support for making function calls in CIR.
Function arguments and return values are not included to keep the patch
small for review.
Related to #132487
Commit: a693f23ef2fc4022383d986a365da325f3d42ade
https://github.com/llvm/llvm-project/commit/a693f23ef2fc4022383d986a365da325f3d42ade
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-load-compress.ll
Log Message:
-----------
[SLP][REVEC] Fix CompressVectorize does not expand mask when REVEC is enabled. (#135174)
Commit: 8820f4e52b1b4ae59603b9307ded4ffc0f27c112
https://github.com/llvm/llvm-project/commit/8820f4e52b1b4ae59603b9307ded4ffc0f27c112
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-vsetcc_fp.ll
M llvm/test/CodeGen/AArch64/fp16-v4-instructions.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Regenerate CHECK lines for arm64-vsetcc_fp.ll and fp16-v4-instructions.ll.
Commit: 2bbe8e825e53f3878c344adc7b5440c1040b097e
https://github.com/llvm/llvm-project/commit/2bbe8e825e53f3878c344adc7b5440c1040b097e
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir][tosa] Add more level_check tests for tensor_dim and tensor_size (#135062)
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: b17bd73e620b0040b04e368ebe4d963add4bbaf1
https://github.com/llvm/llvm-project/commit/b17bd73e620b0040b04e368ebe4d963add4bbaf1
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add more negative tests for rank0 tensors, negate, and sub (#135061)
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 396e2ef3b7f43d59074738699b7c748a30e30376
https://github.com/llvm/llvm-project/commit/396e2ef3b7f43d59074738699b7c748a30e30376
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect identity match for less-defined splat
Commit: 3097ab0fe88809ca0cba754079766a56ec111df1
https://github.com/llvm/llvm-project/commit/3097ab0fe88809ca0cba754079766a56ec111df1
Author: Thomas BIZET <thomas.bizet at foss.st.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
A llvm/test/MC/ARM/directive-arch-armv8.1-m.s
A llvm/test/MC/ARM/directive-arch-armv8.1m.s
Log Message:
-----------
[ARM][MC] Add support for Armv8.1-M Mainline to '.arch' asm directive (#135184)
Armv8.1-M Mainline architecture is supported by Clang's driver & LLVM's
ARM backend, but MC would report an 'Unknown Arch: armv8.1-m.main' error
when processing '.arch armv8.1-m.main' assembler directives.
Commit: 378ac572accc6d14ed36136f261951f8607a9169
https://github.com/llvm/llvm-project/commit/378ac572accc6d14ed36136f261951f8607a9169
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.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/test/CodeGen/AArch64/vector-insert-dag-combines.ll
A llvm/test/CodeGen/PowerPC/poison-legalization.ll
A llvm/test/CodeGen/RISCV/poison-legalization.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
Reland "[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR." (#135056)
A new ISD::POISON SDNode is introduced to represent the poison value in
the IR, replacing the previous use of ISD::UNDEF
Commit: 959b8aaeacfd13717b7e2cf51ecceea27fcac9a8
https://github.com/llvm/llvm-project/commit/959b8aaeacfd13717b7e2cf51ecceea27fcac9a8
Author: Alan Li <me at alanli.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
Log Message:
-----------
[MLIR][NFC] Expose `computeProduct` function. (#135192)
Make it non-static, as its functionality is quite generic.
Commit: 4ea57b3481c07fd8e19315752dfd0a03e1d7bd12
https://github.com/llvm/llvm-project/commit/4ea57b3481c07fd8e19315752dfd0a03e1d7bd12
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/identity-match-splat-less-defined.ll
Log Message:
-----------
[SLP]Fix detection of matching splat vector
Need to check, that the mask of the potentially matching splat node is
not less defined than the requested mask to avoid poison propagation and
incorrect code.
Fixes #135113
Commit: 83f831d46f46e9f68bec9b7a6592f678c8ba61ab
https://github.com/llvm/llvm-project/commit/83f831d46f46e9f68bec9b7a6592f678c8ba61ab
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
Fix-forward -Wcovered-switch-default error in #134429
Remove the default case to avoid buildbot error (https://lab.llvm.org/buildbot/#/builders/66/builds/12382/steps/8/logs/stdio):
```
/home/b/sanitizer-x86_64-linux/build/llvm-project/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp:85:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
85 | default:
| ^
```
(also https://llvm.org/docs/CodingStandards.html#don-t-use-default-labels-in-fully-covered-switches-over-enumerations)
Commit: 01a2922f0d35ac7e2062426b5e5dc5349485796a
https://github.com/llvm/llvm-project/commit/01a2922f0d35ac7e2062426b5e5dc5349485796a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes.rst
R libcxx/docs/ReleaseNotes/19.rst
Log Message:
-----------
[libc++][doc] Removes LLVM 19 Release Notes. (#134894)
There will be no more LLVM-19 releases so we will not backport patches
for this release. This makes these Release Notes obsolete.
Commit: aaaa2a325bd1abb8c87e0171384fd2c42da5e38a
https://github.com/llvm/llvm-project/commit/aaaa2a325bd1abb8c87e0171384fd2c42da5e38a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/splat-score-adjustment.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-last-inst-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
Log Message:
-----------
[SLP]Support vectorization of previously vectorized scalars in split nodes
Patch removes the restriction for the revectorization of the previously
vectorized scalars in split nodes, and moves the cost profitability
check to avoid regressions.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134286
Commit: edf21314c98a4fe05d48f83dfab2b201ed8bfe9c
https://github.com/llvm/llvm-project/commit/edf21314c98a4fe05d48f83dfab2b201ed8bfe9c
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
A llvm/test/CodeGen/AArch64/bti-linkage.ll
M llvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
Log Message:
-----------
[AArch64][v8.5A] Omit BTI for non-addr-taken static fns in ELF (#135043)
This follows up commit 7af2b51e761f499, which removed the BTI at the
start of functions with internal linkage (provided they weren't
indirectly called inside the translation unit) for Linux targets.
Now we leave out the BTI for any ELF target, including bare-metal,
because the AAELF64 document in the Arm ABI has been updated to make the
same guarantee as SYSVABI64: if the linker wants to insert an indirect
branch at link time (e.g. as part of a long branch thunk) it's
responsible for making a BTI-equipped landing pad.
That was too difficult to test in the existing codegen test
`patchable-function-entry-bti.ll`, because so much of LLVM's detailed
asm output changes for non-ELF targets. So I've simplified that back to
how it was before 7af2b51e761f499 (except that now it expects no BTI in
the disputed function), and made a new test checking specifically the
difference in BTI between the formats.
Commit: 3c6c5c764ad4ccd6d5339cebf7ea1b19310b1176
https://github.com/llvm/llvm-project/commit/3c6c5c764ad4ccd6d5339cebf7ea1b19310b1176
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFCI.
Commit: 0563569978fee1e780a560494c89869074933f58
https://github.com/llvm/llvm-project/commit/0563569978fee1e780a560494c89869074933f58
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
[AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#134153)
PHI operands and results must belong to the same register class.
If a PHI node produces an SGPR, but one of its operands is a VGPR, we
insert a VGPR-to-SGPR copy in the operand’s source block. The PHI
operand is then updated to use the destination register of the inserted
copy.
These inserted copies are processed immediately when they are created.
Therefore, we should avoid reprocessing them when handling their parent
block later.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: f2ff298867d7733122e32eead5a8c524b09dfdb1
https://github.com/llvm/llvm-project/commit/f2ff298867d7733122e32eead5a8c524b09dfdb1
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/TargetRegistry.cpp
Log Message:
-----------
[MC] Remove deprecated createAsmStreamer/createMCObjectStreamer with 3 trailing bool
They were deprecated around 867faeec054abb4c035673189c1169fef45f54c8
(June 2024)
Commit: 2f41fa387d6734c637d02cbcf985c7b312b1e23b
https://github.com/llvm/llvm-project/commit/2f41fa387d6734c637d02cbcf985c7b312b1e23b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libcxx/cmake/caches/AMDGPU.cmake
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/src/Mapping.cpp
A offload/test/api/amdgpu_code_object.c
Log Message:
-----------
[AMDGPU] Fix code object version not being set to 'none' (#135036)
Summary:
Previously, we removed the special handling for the code object version
global. I erroneously thought that this meant we cold get rid of this
weird `-Xclang` option. However, this also emits an LLVM IR module flag,
which will then cause linking issues.
Commit: 750d009bb22015be4b8b6278fb24dbda90c7b485
https://github.com/llvm/llvm-project/commit/750d009bb22015be4b8b6278fb24dbda90c7b485
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/shift-i512.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
M llvm/test/CodeGen/X86/widen_fdiv.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add concatenation handling for BITCAST nodes (#133913)
These nodes are effectively free, so we should only concatenate if the
inner nodes will concatenate together.
This also exposed a regression in canonicalizeShuffleWithOp that failed
to realize it could potentially merge shuffles with a CONCAT_VECTORS
node.
Commit: 18fe0124e7abbaba64db5793503cc86cb52965d8
https://github.com/llvm/llvm-project/commit/18fe0124e7abbaba64db5793503cc86cb52965d8
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/connection.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/unit.cpp
M flang/include/flang/Common/uint128.h
Log Message:
-----------
[flang][runtime] Formatted input optimizations (#134715)
Make some minor tweaks (inlining, caching) to the formatting input path
to improve integer input in a SPEC code. (None of the I/O library has
been tuned yet for performance, and there are some easy optimizations
for common cases.) Input integer values are now calculated with native
C/C++ 128-bit integers.
A benchmark that only reads about 5M lines of three integer values each
speeds up from over 8 seconds to under 3 in my environment with these
changeds.
If this works out, the code here can be used to optimize the formatted
input paths for real and character data, too.
Fixes https://github.com/llvm/llvm-project/issues/134026.
Commit: cf8c02f71d43b93241eb5d8262a829047afcbfb7
https://github.com/llvm/llvm-project/commit/cf8c02f71d43b93241eb5d8262a829047afcbfb7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/lib/Parser/parsing.cpp
A flang/test/Preprocessing/bug134986.F90
Log Message:
-----------
[flang] Don't insert spaces in -E output after line continuation (#135063)
See test case. When Fortran line continuation has been used, don't
insert spaces in -E formatted output to put things into the right
column, as this can break up a token.
Fixes https://github.com/llvm/llvm-project/issues/134986.
Commit: 61a72890774354aeed188d45aa161ff6bbddc581
https://github.com/llvm/llvm-project/commit/61a72890774354aeed188d45aa161ff6bbddc581
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/Bitcode/calling-conventions.3.2.ll
Log Message:
-----------
[NFC] Remove trailing whitespaces in `llvm/test/Bitcode/calling-conventions.3.2.ll`
Commit: 464035fc7de52b6fe9b09c9f4c9a19fd5d46fcae
https://github.com/llvm/llvm-project/commit/464035fc7de52b6fe9b09c9f4c9a19fd5d46fcae
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
R llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
R llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
Revert "[AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#134153)"
This reverts commit 0563569978fee1e780a560494c89869074933f58.
Breaks tests, see comments on https://github.com/llvm/llvm-project/pull/134153
Commit: 3954d258a5d20c418718bb2f655665e02e6a7475
https://github.com/llvm/llvm-project/commit/3954d258a5d20c418718bb2f655665e02e6a7475
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[clang] Improved canonicalization for template specialization types (#135119)
This changes the TemplateArgument representation to hold a flag
indicating whether a template argument of expression type is supposed to
be canonical or not.
This gets one step closer to solving
https://github.com/llvm/llvm-project/issues/92292
This still doesn't try to unique as-written TSTs. While this would
increase the amount of memory savings and make code dealing with the AST
more well-behaved, profiling template argument lists is still too
expensive for this to be worthwhile, at least for now. Without this
uniquing, this patch stands neutral in terms of performance impact.
This also fixes the context creation of TSTs, so that they don't in some
cases get incorrectly flagged as sugar over their own canonical form.
This is captured in the test expectation change of some AST dumps.
This fixes some places which were unnecessarily canonicalizing these
TSTs.
Commit: 39562de51007e9d6a2ce444475a7b78fba9fafcb
https://github.com/llvm/llvm-project/commit/39562de51007e9d6a2ce444475a7b78fba9fafcb
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstSimplify/shr-nop.ll
Log Message:
-----------
[ValueTracking] Handle assume(trunc x to i1) in ComputeKnownBits (#118406)
proof: https://alive2.llvm.org/ce/z/zAspzb
Commit: a4e6a771a68660de312aeaaceed0c7d41a680912
https://github.com/llvm/llvm-project/commit/a4e6a771a68660de312aeaaceed0c7d41a680912
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
Log Message:
-----------
libcxx: In gdb test detect execute_mi with feature check instead of version check.
The existing version check can lead to test failures on some distribution
packages of gdb where not all components of the version number are
integers, such as Fedora where gdb.VERSION can be something like
"15.2-4.fc41". Fix it by replacing the version check with a feature check.
Reviewers: philnik777
Reviewed By: philnik777
Pull Request: https://github.com/llvm/llvm-project/pull/132291
Commit: f53eb88d2589590960b56a3cc54c5da97cc41842
https://github.com/llvm/llvm-project/commit/f53eb88d2589590960b56a3cc54c5da97cc41842
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lld/ELF/Relocations.cpp
Log Message:
-----------
ELF: Remove lock from MTE global relocation handling code.
This lock is unnecessary because we can add the relocations to
shards and let them be sorted later.
Reviewers: smithp35, fmayer, MaskRay
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/135123
Commit: cd56666d7b6fa0b3214c226b2ae8a473537a009e
https://github.com/llvm/llvm-project/commit/cd56666d7b6fa0b3214c226b2ae8a473537a009e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/io-stmt.h
Log Message:
-----------
[flang][runtime] Fix CUDA flang-rt build breakage (#135220)
I used "std::nullopt" instead of the correct "Fortran::common::nullopt"
in a recent patch, and you can get away with that only for CPU builds.
Fix.
Commit: 2927050dd4f9df5ec85c6ecb0ac1450a8695b242
https://github.com/llvm/llvm-project/commit/2927050dd4f9df5ec85c6ecb0ac1450a8695b242
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: refine class names and debug output (NFC) (#135073)
Scanning functions without CFG information as well as the detection of
authentication oracles requires introducing more classes related to
register state analysis. To make the future code easier to understand,
rename several classes beforehand.
To detect authentication oracles, one has to query the properties of
*output* operands of authentication instructions *after* the instruction
is executed - this requires adding another analysis that iterates over
the instructions in reverse order, and a corresponding state class.
As the main difference of the existing `State` class is that it stores
the properties of source register operands of the instructions before
the instruction's execution, rename it to `SrcState` and
`PacRetAnalysis` to `SrcSafetyAnalysis`.
Apply minor adjustments to the debug output along the way.
Commit: 9102ccd2f7025dff6b858b813d089bec152365ba
https://github.com/llvm/llvm-project/commit/9102ccd2f7025dff6b858b813d089bec152365ba
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[CXX Safe Buffer] Update the documentation for unsafe_buffer_usage attribute (#135087)
Update the documentation for the unsafe_buffer_usage attribute to
capture the new behavior introduced by
https://github.com/llvm/llvm-project/pull/125671
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 6493345c5ab96f60ab5ee38272fb6635f2083318
https://github.com/llvm/llvm-project/commit/6493345c5ab96f60ab5ee38272fb6635f2083318
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
Log Message:
-----------
[lldb] Handle signals in a separate thread in the driver (#134956)
Handle signals in a separate thread in the driver so that we can stop
worrying about signal safety of functions in libLLDB that may get called
from a signal handler.
Commit: 6ca9a30c26641ac5f836cf794bed01ff61972f37
https://github.com/llvm/llvm-project/commit/6ca9a30c26641ac5f836cf794bed01ff61972f37
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Lower/ConvertCall.cpp
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
Log Message:
-----------
[flang][cuda] Update stream operand type for cuf.kernel_launch op (#135222)
Commit: 337a4d5526618c7c16f20967f7bd10d1cf27c6c4
https://github.com/llvm/llvm-project/commit/337a4d5526618c7c16f20967f7bd10d1cf27c6c4
Author: Justin Lebar <justin.lebar at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/bswap.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
Log Message:
-----------
[NVPTX] Use sink registers instead of temp registers where possible. (#134957)
PTX 7.1 introduces the concept of a "sink" register, `_`, which is a
register to which writes are ignored.
This patch makes us use sink registers where possible, instead of using
explicit temp registers.
This results in cleaner assembly, and also works around a problem we
encountered in some private workloads.
(Unfortunately the tablegen is not particularly clean. But then again,
it's tablegen...)
Commit: 755016a3a82eb1850d88b47d636088fb76e5f091
https://github.com/llvm/llvm-project/commit/755016a3a82eb1850d88b47d636088fb76e5f091
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/terminator.h
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Runtime/complex.h
Log Message:
-----------
[flang-rt] Fixed warnings and miscompilations in CUDA build. (#134470)
* DescribeIEEESignaledExceptions() is unused on the device - warning.
* StopStatementText() could return while marked noreturn - warning.
* Including cuda/std/complex only in the device compilation
may cause nvcc to try to register variables in `cuda` namespace,
while they are not defined in the host compilation - error.
I decided to include cuda/std/complex always under RT_USE_LIBCUDACXX.
Commit: 589e1c73d0fa2692cf997a7a9c2286996ad2fec7
https://github.com/llvm/llvm-project/commit/589e1c73d0fa2692cf997a7a9c2286996ad2fec7
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl
Log Message:
-----------
[HLSL] Add support for modulo of floating point scalar and vectors (#135125)
fixes #135122
SemaExpr.cpp - Make all doubles fail. Add sema support for float scalars
and vectors when language mode is HLSL.
CGExprScalar.cpp - Allow emit frem when language mode is HLSL.
Commit: 8bea91f677be4a05b1256a8052ab84dcd7ccb050
https://github.com/llvm/llvm-project/commit/8bea91f677be4a05b1256a8052ab84dcd7ccb050
Author: Leonard Grey <lgrey at chromium.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputFiles.h
A lld/test/MachO/archive-no-index.ll
A lld/test/MachO/archive-no-index.s
R lld/test/MachO/invalid/archive-no-index.s
Log Message:
-----------
[lld-macho] Support archives without index (#132942)
This is a ~port of https://reviews.llvm.org/D117284. Like in that
change, archives without indices are treated as a collection of lazy
object files (as in `--start-lib/--end-lib`)
Porting the ELF follow-up to convert *all* archives to the lazy object
code path (https://reviews.llvm.org/D119074) is a natural next step, but
we would need to ensure the assertions about memory use hold for Mach-O.
NB: without an index, we can't do the part of the `-ObjC` scan where we
check for Objective-C symbols directly. We *can* still check for
`__obcj` sections so I wonder how much of a problem this actually is,
since I'm not sure how the "symbols but no sections" case can appear in
the wild.
Commit: c893f1d18da6547027648f44592f61c08570d80f
https://github.com/llvm/llvm-project/commit/c893f1d18da6547027648f44592f61c08570d80f
Author: Tim Clephas <tim.clephas at nobleo.nl>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/docs/ClangFormat.rst
M clang/lib/Format/Format.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
Treat ipynb as json (#135137)
Fixes #110727
Commit: 22c3dac454954a83efbfe147dd8d3dff6df39143
https://github.com/llvm/llvm-project/commit/22c3dac454954a83efbfe147dd8d3dff6df39143
Author: Pranav Kant <prka at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Fix for #134956 (#135233)
Commit: ccdbd3b78d19ba53d1c32fd506c72529cf6a7c17
https://github.com/llvm/llvm-project/commit/ccdbd3b78d19ba53d1c32fd506c72529cf6a7c17
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
Log Message:
-----------
[mlir][tosa] Rename int_div to intdiv (#135080)
This patch renames Tosa Operator int_div to intdiv to align with 1.0
spec
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: ca5346313782f53658ed383e802f6e45aaeacd42
https://github.com/llvm/llvm-project/commit/ca5346313782f53658ed383e802f6e45aaeacd42
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-launch.fir
Log Message:
-----------
[flang][cuda] Propagate stream information to gpu.launch_func op (#135227)
Use the information from `cuf.kernel_launch` to `gpu.launch_func`
Commit: 9c31155ead6e68450b8c2de38f5bec8f5c5db810
https://github.com/llvm/llvm-project/commit/9c31155ead6e68450b8c2de38f5bec8f5c5db810
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/RegisterBankEmitter.cpp
Log Message:
-----------
TableGen: Optimize super-register class computation (#134865)
Inferring super-register classes naively requires checking every
register class against every other register class and sub-register
index.
Each of those checks is itself a non-trivial operation on register sets.
Culling as many (RC, RC, SubIdx) triples as possible is important for
the running time of TableGen for architectures with complex sub-register
relations.
Use transitivity to cull many (RC, RC, SubIdx) triples. This
unfortunately requires us to complete the transitive closure of
super-register classes explicitly, but it still cuts down the running
time on AMDGPU substantially -- in some upcoming work in the
backend by more than half (in very rough measurements).
This changes the names of some of the inferred register classes, since
the order in which they are inferred changes. The names of the inferred
register classes become shorter, which reduces the size of the generated
files.
Replacing some uses of SmallPtrSet by DenseSet shaves off a few more
percent; there are hundreds of register classes in AMDGPU.
Tweaking the topological signature check to skip reigsters without
super-registers further helps skip register classes that have "pseudo"
registers in them whose sub- and super-register structure is trivial.
Commit: d07a2164e7c7812b96b0f04a39af5483660bac71
https://github.com/llvm/llvm-project/commit/d07a2164e7c7812b96b0f04a39af5483660bac71
Author: Drew Lewis <cannada at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M libc/src/__support/FPUtil/aarch64/sqrt.h
M libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/x86_64/sqrt.h
Log Message:
-----------
Add generic sqrt root headers to libc sqrt specializations (#135237)
This header is needed to provide the declaration for the sqrt template.
You can build without these in the CMake build, but not having this
include in the architecture specific headers makes them not self
contained.
Commit: d7cb24e10d7c5468b91fa7297a1f4c97a663618a
https://github.com/llvm/llvm-project/commit/d7cb24e10d7c5468b91fa7297a1f4c97a663618a
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[MLIR][NVVM] Run clang-tidy (#135006)
Commit: 72436b37bf4203ee43395c65cc179dc573f79251
https://github.com/llvm/llvm-project/commit/72436b37bf4203ee43395c65cc179dc573f79251
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/known-phi-br.ll
Log Message:
-----------
[InstCombine] add more test for #134712 (NFC)
Commit: dcb90780817461ba30ced78338b2270fd3307873
https://github.com/llvm/llvm-project/commit/dcb90780817461ba30ced78338b2270fd3307873
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Index/single-file-parse-include-macro.c
Log Message:
-----------
[clang][index] Skip over `#include UNDEF_IDENT` in single-file-parse mode (#135218)
In the 'single-file-parse' mode, seeing `#include UNDEFINED_IDENTIFIER`
should not be treated as an error. The identifier might be defined in a
header that we decided to skip, resulting in a nonsensical diagnostic
from the user point of view.
Commit: 74c2b41feb72698ea79b6bdc2dc566d0a25a68b0
https://github.com/llvm/llvm-project/commit/74c2b41feb72698ea79b6bdc2dc566d0a25a68b0
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/init.c
M clang/test/CIR/CodeGenOpenACC/shutdown.c
Log Message:
-----------
[OpenACC][CIR] Implement 'device_type' clause lowering for 'init'/'sh… (#135102)
…utdown'
This patch emits the lowering for 'device_type' on an 'init' or
'shutdown'. This one is fairly unique, as these directives have it as an
attribute, rather than as a component of the individual operands, like
the rest of the constructs.
So this patch implements the lowering as an attribute.
In order to do tis, a few refactorings had to happen: First, the
'emitOpenACCOp' functions needed to pick up th edirective kind/location
so that the NYI diagnostic could be reasonable.
Second, and most impactful, the `applyAttributes` function ends up
needing to encode some of the appertainment rules, thanks to the way the
OpenACC-MLIR operands get their attributes attached. Since they each use
a special function (rather than something that can be legalized at
runtime), the forms of 'setDefaultAttr' is only valid for some ops. SO
this patch uses some `if constexpr` and a small type-trait to help
legalize these.
Commit: a1bca4ba3714bffac5dc27d286b5bd4fcdcc40ab
https://github.com/llvm/llvm-project/commit/a1bca4ba3714bffac5dc27d286b5bd4fcdcc40ab
Author: Pranav Kant <prka at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/Driver/openacc-no-cir.c
Log Message:
-----------
[clang] Make tests write to /dev/null if output is not needed (#135242)
We execute tests in read only environment which leads to test failure
when tests try to write to the current directory. Either they should
write to a temporary directory or not write if output is not needed.
Fallback from #134717
Commit: 53ae2bdceb124fa87ff4d2bcdc842e388e817fde
https://github.com/llvm/llvm-project/commit/53ae2bdceb124fa87ff4d2bcdc842e388e817fde
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[mlir][NVVM] Remove commented out code (#135144)
This addresses a comment on #135051.
Commit: 9188288581f73a10bff9ee1500146dff7901e94c
https://github.com/llvm/llvm-project/commit/9188288581f73a10bff9ee1500146dff7901e94c
Author: darkbuck <michael.hliao at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.h
M mlir/test/Target/LLVMIR/Import/data-layout.ll
Log Message:
-----------
[mlir][DataLayout] Keep consistent input/output order (#135185)
- Use 'MapVector' instead of 'DenseMap' to keep a consistent order when
importing/printing entries to prevent run-by-run differences.
Commit: 966667f5419d6cdd8d02fdf9ad2e39c0a2f94fe1
https://github.com/llvm/llvm-project/commit/966667f5419d6cdd8d02fdf9ad2e39c0a2f94fe1
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[NFC][HLSL] Refactor DXILResourceTest for upcoming PR (#134952)
Local changes were getting pretty large and complex so this is an NFC
refactor PR to simplify the upcoming changes
Commit: e762baffd9f115106f861a236c56093c85dfbc93
https://github.com/llvm/llvm-project/commit/e762baffd9f115106f861a236c56093c85dfbc93
Author: David Green <david.green at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Move SLId/SRId patterns into instruction definitions. NFC
The v1i64 patterns were next to the vector variants, not the SIMDScalar
instructions tht define them. In moving them closer they cal also be
incorporated into the definitions themselves. SIMDScalarRShiftDTied is
altered to remove the redundant i64 variants.
Commit: 61d04f1aac96f671a3975e04dac02d270b86ac4d
https://github.com/llvm/llvm-project/commit/61d04f1aac96f671a3975e04dac02d270b86ac4d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Extract preliminary checks from buildTree_rec, NFC
Moved check from buildTree_rec function to a separate
isLegalToVectorizeScalars function.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/134132
Commit: ed4c3979085d1a7a5e32b5743aa9de1a22784161
https://github.com/llvm/llvm-project/commit/ed4c3979085d1a7a5e32b5743aa9de1a22784161
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/spirv-tests.yml
Log Message:
-----------
[Github] Bump workflows depending on CI container to ubuntu 24.04 (#133626)
This patch bumps workflows depending upon the Linux CI container to
ubuntu 24.04. The 22.04 container is no longer being built as it was
recently bumped to 24.04, so this patch moves all of these workflows
over to the new container to keep them updated and ensure they are using
an actually maintained version of the container image.
Commit: 18189430abbbc13b055d029683413e992a3eac2d
https://github.com/llvm/llvm-project/commit/18189430abbbc13b055d029683413e992a3eac2d
Author: tltao <tony.le.tao at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
A llvm/test/CodeGen/SystemZ/init-undef.mir
Log Message:
-----------
[SystemZ] Add check for INIT_UNDEF in getInstSizeInBytes (#134661)
Due to some optimization changes, INIT_UNDEF is making its way to
`getInstSizeInBytes` in `llvm/lib/Target/SystemZ/SystemZLongBranch.cpp`
but we do not have an exception there in the assert. Since INIT_UNDEF is
described as being similar to IMPLICIT_DEF and there is a check for
IMPLICIT_DEF, it seems logical to also add a check for INIT_UNDEF.
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: edd7b559c09e8e9b1fd0fc1905f0aaa67c74331f
https://github.com/llvm/llvm-project/commit/edd7b559c09e8e9b1fd0fc1905f0aaa67c74331f
Author: alex-t <alex-t at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.ll
A llvm/test/CodeGen/AMDGPU/triton_regression_no_waterfall.mir
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
Reapply [AMDGPU] SIFixSgprCopies should not process twice VGPR to SGPR copies inserted by PHI preprocessing. (#135243)
LIT tests which were incorrectly merged are corrected.
Commit: a80a802d2f077257bcfee3aec67ea12dfc4e94da
https://github.com/llvm/llvm-project/commit/a80a802d2f077257bcfee3aec67ea12dfc4e94da
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
IROutliner: Use ValueMapper to remap constants in a function (#134850)
Stop relying on the uselist of constants, which also required filtering
the uses that are in the correct function. I'm not sure why this pass is
doing its own cloning instead of building the value map while doing its
cloning.
Commit: 5aeeebc1f4919c67b35954865d0cb2190517688e
https://github.com/llvm/llvm-project/commit/5aeeebc1f4919c67b35954865d0cb2190517688e
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/undef-args.ll
Log Message:
-----------
[NFC] add a pre-commit test case for patch 122741 (#135247)
[NFC] add a pre-commit test case for patch [Eliminating li of 0 into arg
registers of unused
arguments](https://github.com/llvm/llvm-project/pull/122741)
The test case tests that extend poison are lower to undef and also test
there are redendunt instrution load 0 into argument registers for unused
arguments.
Commit: 641de84d3b3112b80683875af1fc01c45bc1afb3
https://github.com/llvm/llvm-project/commit/641de84d3b3112b80683875af1fc01c45bc1afb3
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/test/CodeGen/DirectX/pow.ll
Log Message:
-----------
[DirectX] legalize powi (#135228)
fixes #135221
- have powi use the same legalization path as pow
- use CreateSIToFP to cast the int back to a float type
- add tests for powi
Commit: 49f8ccd1ebe5caf4185230014701e861c43cefca
https://github.com/llvm/llvm-project/commit/49f8ccd1ebe5caf4185230014701e861c43cefca
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
M flang/include/flang/Runtime/CUDA/kernel.h
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
Log Message:
-----------
[flang][cuda] Pass stream information to kernel launch functions (#135246)
Commit: 721af7e636c3dc9bbc5b13ef52331addc8242b50
https://github.com/llvm/llvm-project/commit/721af7e636c3dc9bbc5b13ef52331addc8242b50
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_flags.inc
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_posix.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
Log Message:
-----------
[asan] Add experimental 'poison_history_size' flag (#133175)
This adds an experimental flag that will keep track of where the manual memory poisoning (`__asan_poison_memory_region`) is called from, and print the stack trace if the poisoned region is accessed. (Absent this flag, ASan will tell you what code accessed a poisoned region, but not which code set the poison.)
This implementation performs best-effort record keeping using ring buffers, as suggested by Vitaly. The size of each ring buffer is set by the `poison_history_size` flag.
Commit: 36acaa0be5cf6273200d4cc4c35042c4bfc3861b
https://github.com/llvm/llvm-project/commit/36acaa0be5cf6273200d4cc4c35042c4bfc3861b
Author: Pengxuan Zheng <pzheng at quicinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
R llvm/test/CodeGen/Thumb2/constant-islands-no-split.mir
Log Message:
-----------
Revert "[ARM][ConstantIslands] Correct MinNoSplitDisp calculation (#114590)"
This reverts commit e48916f615e0ad2b994b2b785d4fe1b8a98bc322.
Commit: db22909089dbc28d072e8cba6183f5a51f418bf0
https://github.com/llvm/llvm-project/commit/db22909089dbc28d072e8cba6183f5a51f418bf0
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Upstream support for cir.get_global (#135095)
This adds basic support for referencing global variables from within
functions via the cir.get_global operation.
Commit: e4a79b7122cbe6470c1a42e7b3549c37a1a6408d
https://github.com/llvm/llvm-project/commit/e4a79b7122cbe6470c1a42e7b3549c37a1a6408d
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/MinGW/Driver.cpp
Log Message:
-----------
[LLD] [MinGW] Fall back to using default target if no -m flag given. (#134700)
On Cygwin at least, GCC is not passing any -m flag to the linker, so
fall back to the default target triple to determine if we need to apply
i386-specific behaviors.
Fixes #134558
Commit: 801b519dfd01e21da0be17aa8f8dc2ceb0eb9e77
https://github.com/llvm/llvm-project/commit/801b519dfd01e21da0be17aa8f8dc2ceb0eb9e77
Author: mojyack <66899529+mojyack at users.noreply.github.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Fix build on ppc64+musl (#120036)
In powerpc64-unknown-linux-musl, signal.h does not include asm/ptrace.h,
which causes "member access into incomplete type 'struct pt_regs'"
errors. Include the header explicitly to fix this.
Also in sanitizer_linux_libcdep.cpp, there is a usage of TlsPreTcbSize
which is not defined in such a platform. Guard the branch with macro.
Commit: 6a9e8fc50c87a01798b847e623139fc21249c2bb
https://github.com/llvm/llvm-project/commit/6a9e8fc50c87a01798b847e623139fc21249c2bb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
Log Message:
-----------
[VPlan] Introduce VPInstructionWithType, use instead of VPScalarCast(NFC) (#129706)
There are some opcodes that currently require specialized recipes, due
to their result type not being implied by their operands, including
casts.
This leads to duplication from defining multiple full recipes.
This patch introduces a new VPInstructionWithType subclass that also
stores the result type. The general idea is to have opcodes needing to
specify a result type to use this general recipe. The current patch
replaces VPScalarCastRecipe with VInstructionWithType, a similar patch
for VPWidenCastRecipe will follow soon.
There are a few proposed opcodes that should also benefit, without the
need of workarounds:
* https://github.com/llvm/llvm-project/pull/129508
* https://github.com/llvm/llvm-project/pull/119284
PR: https://github.com/llvm/llvm-project/pull/129706
Commit: 01ee922b2abe905bc922bc809141cba2ad13157c
https://github.com/llvm/llvm-project/commit/01ee922b2abe905bc922bc809141cba2ad13157c
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Add coverage for missing vrgather.vi shuffle case
If we have a near identity shuffle with a single element repeated, we
manage to match this as a masked vrgather.vi for the two operand
forms, but not the single operand form. If the scalar being repeated
was a scalar just inserted into the vector, we're also missing a
chance to recognize a vmerge.vxm or vmerge.vim in both cases.
Commit: 5de3118c677943848c0897e3e30208d744337b2d
https://github.com/llvm/llvm-project/commit/5de3118c677943848c0897e3e30208d744337b2d
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit3.ll
Log Message:
-----------
[AMDGPU] Make the iterative schedulers selectable via amdgpu-sched-strategy (#135042)
Currently, the only way for users to try these schedulers is via
`-misched=` . However, this overrides the default scheduler for all
targets. This causes problems for various toolchains / drivers which
spawn jobs for both x86 and AMDGPU -- e.g. hipcc. On the other hand,
`amdgpu-sched-strategy` only changes the scheduler for AMDGPU target.
Commit: 26678454847e7b76ff8947c50c93d203de4a15a0
https://github.com/llvm/llvm-project/commit/26678454847e7b76ff8947c50c93d203de4a15a0
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/set-construct.cpp
Log Message:
-----------
[OpenACC] device_type on set should have only 1 architecture
Discussions with the OpenACC Standard folks and the dialect folks showed
that the ability to have 'set' have a 'device_type' with more than one
architecture was a mistake, and one that will be fixed in future
revisions of the standard. Since the dialect requires this anyway,
we'll implement this in advance of standardization.
Commit: 78921cd884c37ba18ded34b6d32a548c069d6a84
https://github.com/llvm/llvm-project/commit/78921cd884c37ba18ded34b6d32a548c069d6a84
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
Log Message:
-----------
[CIR] Upstream ArraySubscriptExpr for fixed size array (#134536)
This change adds ArraySubscriptExpr for fixed size ArrayType
Issue #130197
Commit: 324083b5fe13c2d1efa88b6bb81e440f950262e8
https://github.com/llvm/llvm-project/commit/324083b5fe13c2d1efa88b6bb81e440f950262e8
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_poisoning.cpp
Log Message:
-----------
[asan] Fix-forward #133175 by avoiding designated initializers
My patch broke the Windows build:
C:\PROGRA~2\MIB055~1\2019\PROFES~1\VC\Tools\MSVC\1429~1.301\bin\Hostx64\x64\cl.exe /nologo /TP -DASAN_DYNAMIC=1 -DINTERCEPTION_DYNAMIC_CRT -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\lib\asan -IC:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan -IC:\b\slave\sanitizer-windows\build\stage1\include -IC:\b\slave\sanitizer-windows\llvm-project\llvm\include -IC:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\.. /DWIN32 /D_WINDOWS /Zc:inline /Zc:preprocessor /Zc:__cplusplus /Z7 /Oi /bigobj /permissive- -wd4141 -wd4146 -wd4244 -wd4267 -wd4291 -wd4351 -wd4456 -wd4457 -wd4458 -wd4459 -wd4503 -wd4624 -wd4722 -wd4100 -wd4127 -wd4512 -wd4505 -wd4610 -wd4510 -wd4702 -wd4245 -wd4706 -wd4310 -wd4701 -wd4703 -wd4389 -wd4611 -wd4805 -wd4204 -wd4577 -wd4091 -wd4592 -wd4319 -wd4709 -wd5105 -wd4324 -wd4251 -wd4275 -w14062 -we4238 /Gw /W4 /O2 /Ob2 -std:c++17 -MD /Oy- /GS- /Zc:threadSafeInit- /Z7 /wd4146 /wd4291 /wd4391 /wd4722 /wd4800 /Zl /GR- /experimental:external /external:W0 /external:anglebrackets /showIncludes /Foprojects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic.x86_64.dir\asan_poisoning.cpp.obj /Fdprojects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic.x86_64.dir\ /FS -c C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\asan_poisoning.cpp
C:\b\slave\sanitizer-windows\llvm-project\compiler-rt\lib\asan\asan_poisoning.cpp(164): error C7555: use of designated initializers requires at least '/std:c++20'
[2/3] Building CXX object projects\compiler-rt\lib\asan\CMakeFiles\RTAsan_dynamic_version_script_dummy.x86_64.dir\dummy.cpp.obj
https://lab.llvm.org/buildbot/#/builders/107/builds/9712/steps/4/logs/stdio
Commit: 80267f81482486977b3bdecf3855fc6a3096f912
https://github.com/llvm/llvm-project/commit/80267f81482486977b3bdecf3855fc6a3096f912
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/Driver/systemz-march.c
M clang/test/Misc/target-invalid-cpu-note/systemz.c
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZProcessors.td
M llvm/lib/Target/SystemZ/SystemZSchedule.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
A llvm/lib/Target/SystemZ/SystemZScheduleZ17.td
M llvm/lib/TargetParser/Host.cpp
M llvm/test/Analysis/CostModel/SystemZ/divrem-reg.ll
M llvm/test/Analysis/CostModel/SystemZ/i128-cmp-ext-conv.ll
M llvm/test/Analysis/CostModel/SystemZ/int-arith.ll
M llvm/test/CodeGen/SystemZ/args-12.ll
M llvm/test/CodeGen/SystemZ/args-13.ll
M llvm/test/CodeGen/SystemZ/bitop-intrinsics.ll
M llvm/test/CodeGen/SystemZ/int-abs-03.ll
M llvm/test/CodeGen/SystemZ/int-add-19.ll
M llvm/test/CodeGen/SystemZ/int-cmp-64.ll
M llvm/test/CodeGen/SystemZ/int-conv-15.ll
M llvm/test/CodeGen/SystemZ/int-div-08.ll
M llvm/test/CodeGen/SystemZ/int-max-02.ll
M llvm/test/CodeGen/SystemZ/int-min-02.ll
M llvm/test/CodeGen/SystemZ/int-mul-14.ll
M llvm/test/CodeGen/SystemZ/int-mul-15.ll
M llvm/test/CodeGen/SystemZ/int-mul-16.ll
M llvm/test/CodeGen/SystemZ/int-neg-04.ll
M llvm/test/CodeGen/SystemZ/int-sub-12.ll
M llvm/test/CodeGen/SystemZ/llxa-01.ll
M llvm/test/CodeGen/SystemZ/llxa-02.ll
M llvm/test/CodeGen/SystemZ/llxa-03.ll
M llvm/test/CodeGen/SystemZ/llxa-04.ll
M llvm/test/CodeGen/SystemZ/llxa-05.ll
M llvm/test/CodeGen/SystemZ/lxa-01.ll
M llvm/test/CodeGen/SystemZ/lxa-02.ll
M llvm/test/CodeGen/SystemZ/lxa-03.ll
M llvm/test/CodeGen/SystemZ/lxa-04.ll
M llvm/test/CodeGen/SystemZ/lxa-05.ll
M llvm/test/CodeGen/SystemZ/scalar-ctlz-03.ll
M llvm/test/CodeGen/SystemZ/scalar-ctlz-04.ll
M llvm/test/CodeGen/SystemZ/scalar-cttz-03.ll
M llvm/test/CodeGen/SystemZ/scalar-cttz-04.ll
M llvm/test/CodeGen/SystemZ/vec-cmp-09.ll
M llvm/test/CodeGen/SystemZ/vec-div-03.ll
M llvm/test/CodeGen/SystemZ/vec-eval.ll
M llvm/test/CodeGen/SystemZ/vec-intrinsics-05.ll
M llvm/test/CodeGen/SystemZ/vec-mul-06.ll
M llvm/test/CodeGen/SystemZ/vec-mul-08.ll
M llvm/test/CodeGen/SystemZ/vec-mul-10.ll
M llvm/test/CodeGen/SystemZ/vec-mul-12.ll
M llvm/test/CodeGen/SystemZ/vec-mul-14.ll
M llvm/test/CodeGen/SystemZ/vec-unpack-02.ll
M llvm/test/CodeGen/SystemZ/vec-unpack-04.ll
R llvm/test/MC/Disassembler/SystemZ/insns-arch15.txt
A llvm/test/MC/Disassembler/SystemZ/insns-z17.txt
R llvm/test/MC/SystemZ/insn-bad-arch15.s
A llvm/test/MC/SystemZ/insn-bad-z17.s
R llvm/test/MC/SystemZ/insn-good-arch15.s
A llvm/test/MC/SystemZ/insn-good-z17.s
M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
Support z17 processor name and scheduler description (#135254)
The recently announced IBM z17 processor implements the architecture
already supported as "arch15" in LLVM. This patch adds support for "z17"
as an alternate architecture name for arch15.
This patch also add the scheduler description for the z17 processor,
provided by Jonas Paulsson.
Commit: c26d097d0c3e0e3924e273c0ec2d1e57192e66c8
https://github.com/llvm/llvm-project/commit/c26d097d0c3e0e3924e273c0ec2d1e57192e66c8
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
Log Message:
-----------
[alpha.webkit.RetainPtrCtorAdoptChecker] Support adopt(cast(copy(~)) (#132316)
This PR adds the support for recognizing calling adoptCF/adoptNS on the
result of a cast operation on the return value of a function which
creates NS or CF types. It also fixes a bug that we weren't reporting
memory leaks when CF types are created without ever calling RetainPtr's
constructor, adoptCF, or adoptNS.
To do this, this PR adds a new mechanism to report a memory leak
whenever create or copy CF functions are invoked unless this CallExpr
has already been visited while validating a call to adoptCF. Also added
an early exit when isOwned returns IsOwnedResult::Skip due to an
unresolved template argument.
Commit: 6c51603e4cc4978194c99d64d26712f97d715ffc
https://github.com/llvm/llvm-project/commit/6c51603e4cc4978194c99d64d26712f97d715ffc
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
M compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
Log Message:
-----------
[asan] Temporarily disable new test cases from #133175 on Android
My patch causes a build breakage on Android
(https://lab.llvm.org/buildbot/#/builders/186/builds/8103/steps/21/logs/stdio).
I can't easily test on Android, which is not the intended audience for
my patch anyway, so temporarily disable the test pending further
investigation.
Commit: 613601978073058f4a4620e93bb84ac8f387934a
https://github.com/llvm/llvm-project/commit/613601978073058f4a4620e93bb84ac8f387934a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
Log Message:
-----------
[alpha.webkit.ForwardDeclChecker] Recognize a forward declared template specialization (#134545)
This PR fixes a bug that when a template specialization is declared with
a forward declaration of a template, the checker fails to find its
definition in the same translation unit and erroneously emit an unsafe
forward declaration warning.
Commit: 2b984fd0e396fe6ab30cd823ea2f65f33f75409c
https://github.com/llvm/llvm-project/commit/2b984fd0e396fe6ab30cd823ea2f65f33f75409c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/DebuggerTest.cpp
Log Message:
-----------
[lldb] Support programmatically setting the statusline format (NFC) (#135250)
Support programmatically setting the statusline format. I want to use
this API downstream, to change the statusline format for the Swift REPL.
Commit: 1331f171846c4a5620c7a049d9b05d70c8d674a3
https://github.com/llvm/llvm-project/commit/1331f171846c4a5620c7a049d9b05d70c8d674a3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Replace getUnderlyingInstr() with type inference (NFC)
Remove an unnecessary use of getUnderlyingInstr().
Commit: 1cec5fffd8fddd9d85b516f876093b0e3f0eec5f
https://github.com/llvm/llvm-project/commit/1cec5fffd8fddd9d85b516f876093b0e3f0eec5f
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/IR/Diagnostics.h
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
M mlir/test/Pass/full_diagnostics.mlir
A mlir/test/Pass/full_diagnostics_only_expected.mlir
A mlir/test/mlir-translate/verify-only-expected.mlir
Log Message:
-----------
[mlir] implement `-verify-diagnostics=only-expected` (#135131)
This PR implements `verify-diagnostics=only-expected` which is a "best
effort" verification - i.e., `unexpected`s and `near-misses` will not be
considered failures. The purpose is to enable narrowly scoped checking
of verification remarks (just as we have for lit where only a subset of
lines get `CHECK`ed).
Commit: b39ab7a620e1bd038d6c22a667110ad814596288
https://github.com/llvm/llvm-project/commit/b39ab7a620e1bd038d6c22a667110ad814596288
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add error_if checks to clamp op verifier (#134224)
Specifically it introduces checks for:
- ERROR_IF(max_val < min_val)
- ERROR_IF(isNaN(min_val) || isNaN(max_val))
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: 727f3921e7af7a4b0f1e59635ebb99a52bd173c3
https://github.com/llvm/llvm-project/commit/727f3921e7af7a4b0f1e59635ebb99a52bd173c3
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGenHLSL/res-may-alias.hlsl
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-0.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-alias-1.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.6.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.7.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-shadermodel6.8.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
Log Message:
-----------
[DirectX] Implement Shader Flags Analysis for ResMayNotAlias (#131070)
Fixes #112270
Completed ACs:
- `-res-may-alias` clang-dxc command-line option added
- It inserts and sets a module metadata flag `dx.resmayalias` to 1
- Shader flag set appropriately:
- The flag IS NOT set if DXIL Version <= 1.6 OR the command-line option
`-res-may-alias` is specified
- Otherwise the flag IS set when:
- DXIL Version > 1.7 AND function uses UAVs, OR
- DXIL Version <= 1.7 AND UAVs present globally
- Add tests
- Tests for Shader Models 6.6, 6.7, and 6.8 corresponding to DXIL
Versions 1.6, 1.7, and 1.8
- Tests (`res-may-alias-0.ll`/`res-may-alias-1.ll`) for when the module
metadata flag `dx.resmayalias` is set to 0 or 1 respectively
- A frontend test (`res-may-alias.hlsl`) for testing that that the
command-line option `-res-may-alias` inserts `dx.resmayalias` module
metadata correctly
Commit: 27bc8a1811d417c2d38646a3473226431987e7d9
https://github.com/llvm/llvm-project/commit/27bc8a1811d417c2d38646a3473226431987e7d9
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
R flang/include/flang/Optimizer/CodeGen/CGOps.h
R flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
A flang/include/flang/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
R flang/lib/Optimizer/CodeGen/CGOps.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/Dialect/FIRCG/CGOps.cpp
A flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
Log Message:
-----------
[flang][NFC] Split CG dialect and the passes. (#135240)
I am making a CG pass to depend on `FIROpenACCSupport` in #134346.
This introduces a cyclic dependency between `FIROpenACCSupport`
and `FIRCodeGen`. This patch splits `FIRCodeGen` into
`FIRCodeGenDialect` (for FIR CG dialect definition) and `FIRCodeGen`
(for the CG passes).
Now, `FIROpenACCSupport` depends on `FIRCodeGenDialect`,
and `FIRCodeGen` depends on `FIROpenACCSupport`.
Commit: a62b9b387fab85ae8ad63992b002c333069d87ae
https://github.com/llvm/llvm-project/commit/a62b9b387fab85ae8ad63992b002c333069d87ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Calling Debugger::SetStatuslineFormat should redraw the statusline
Commit: 2f298294759307e532dcce50549534cbe8ba6561
https://github.com/llvm/llvm-project/commit/2f298294759307e532dcce50549534cbe8ba6561
Author: Jason Rice <ricejasonf at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
Log Message:
-----------
[Clang][P1061] Fix invalid pack binding crash (#135129)
Commit: 1cd59264aa2fb4b0ba70ff03c1298b1b5c21271e
https://github.com/llvm/llvm-project/commit/1cd59264aa2fb4b0ba70ff03c1298b1b5c21271e
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Driver/Options.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
A clang/test/CodeGenCXX/Inputs/std-coroutine.h
A clang/test/CodeGenCXX/type-aware-allocators.cpp
A clang/test/CodeGenCXX/type-aware-coroutines.cpp
A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
M clang/test/Modules/new-delete.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/delete.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
A clang/test/SemaCXX/type-aware-coroutines.cpp
A clang/test/SemaCXX/type-aware-new-constexpr.cpp
A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
A clang/test/SemaCXX/type-aware-placement-operators.cpp
Log Message:
-----------
[RFC] Initial implementation of P2719 (#113510)
This is a basic implementation of P2719: "Type-aware allocation and
deallocation functions" described at http://wg21.link/P2719
The proposal includes some more details but the basic change in
functionality is the addition of support for an additional implicit
parameter in operators `new` and `delete` to act as a type tag. Tag is
of type `std::type_identity<T>` where T is the concrete type being
allocated. So for example, a custom type specific allocator for `int`
say can be provided by the declaration of
void *operator new(std::type_identity<int>, size_t, std::align_val_t);
void operator delete(std::type_identity<int>, void*, size_t, std::align_val_t);
However this becomes more powerful by specifying templated declarations,
for example
template <typename T> void *operator new(std::type_identity<T>, size_t, std::align_val_t);
template <typename T> void operator delete(std::type_identity<T>, void*, size_t, std::align_val_t););
Where the operators being resolved will be the concrete type being
operated over (NB. A completely unconstrained global definition as above
is not recommended as it triggers many problems similar to a general
override of the global operators).
These type aware operators can be declared as either free functions or
in class, and can be specified with or without the other implicit
parameters, with overload resolution performed according to the existing
standard parameter prioritisation, only with type parameterised
operators having higher precedence than non-type aware operators. The
only exception is destroying_delete which for reasons discussed in the
paper we do not support type-aware variants by default.
Commit: 1d8966e2465364dca8aea71d9331d46a0e908265
https://github.com/llvm/llvm-project/commit/1d8966e2465364dca8aea71d9331d46a0e908265
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/lib/cuda/kernel.cpp
Log Message:
-----------
[flang][cuda] Use the provided stream in kernel launch (#135267)
Commit: 9466cbdf29306b2595303dac5b62b54cf71841b4
https://github.com/llvm/llvm-project/commit/9466cbdf29306b2595303dac5b62b54cf71841b4
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/CAPI/Dialect/Linalg.cpp
M mlir/test/python/dialects/linalg/utils.py
Log Message:
-----------
[mlir][CAPI][python] expose the python bindings for linalg::isaConvolutionOpInterface and linalg::inferConvolutionDims (#135253)
This PR is mainly about exposing the python bindings for
`linalg::isaConvolutionOpInterface` and `linalg::inferConvolutionDims`.
---------
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: f4203ca2b7b047fc556535661f406e7fef758835
https://github.com/llvm/llvm-project/commit/f4203ca2b7b047fc556535661f406e7fef758835
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/terminator.h
Log Message:
-----------
[flang-rt] Declare DeviceTrap static inline. (#135286)
Commit: 77db154cf9383fa20685fca56633601ce0ea47fa
https://github.com/llvm/llvm-project/commit/77db154cf9383fa20685fca56633601ce0ea47fa
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
A clang/test/CIR/CodeGenOpenACC/set.c
Log Message:
-----------
[OpenACC][CIR] implement basic 'set' lowering with device_type clause
The 'set' lowering is pretty trivial. 'device_type' is a little more
restricted since both the MLIR-Dialect and language limit it to only 1
value (as confirmed by standards-discussion).
This patch implements 'set', with 'device_type', since 'set' requires at
least 1 clause, and this is the least difficult to implement at the
moment.
Commit: d14acb78065bdd331019924feaaef52e5e744529
https://github.com/llvm/llvm-project/commit/d14acb78065bdd331019924feaaef52e5e744529
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/IndVarSimplify/pr135182.ll
Log Message:
-----------
[IndVarSimplify] Handle the case where both operands are the same when widening IV (#135207)
`WidenIV::widenWithVariantUse` assumes that exactly one of the binop
operands is the IV to be widened. This miscompilation happens when it
tries to sign-extend the "NonIV" operand while the IV is zero-extended.
Closes https://github.com/llvm/llvm-project/issues/135182.
Commit: 1711996805c506f5717193aaeedf3752dfdd900d
https://github.com/llvm/llvm-project/commit/1711996805c506f5717193aaeedf3752dfdd900d
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
Log Message:
-----------
[Clang][CodeGen] Do not set inbounds flag for struct GEP with null base pointers (#130734)
In the LLVM middle-end we want to fold `gep inbounds null, idx -> null`:
https://alive2.llvm.org/ce/z/5ZkPx-
This pattern is common in real-world programs
(https://github.com/dtcxzyw/llvm-opt-benchmark/pull/55#issuecomment-1870963906).
Generally, it exists in some (actually) unreachable blocks, which is
introduced by JumpThreading.
However, some old-style offsetof macros are still widely used in
real-world C/C++ code (e.g., hwloc/slurm/luajit). To avoid breaking
existing code and inconvenience to downstream users, this patch removes
the inbounds flag from the struct gep if the base pointer is null.
Commit: 701d726ef09ea89909df9bd2fdc63c63758fe8d6
https://github.com/llvm/llvm-project/commit/701d726ef09ea89909df9bd2fdc63c63758fe8d6
Author: Yonah Goldberg <ygoldberg at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/test/CodeGen/builtins-nvptx.c
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
A llvm/test/CodeGen/NVPTX/nvvm-reflect-options.ll
Log Message:
-----------
[NVPTX] Improve NVVMReflect Efficiency (#134416)
The NVVMReflect pass simply replaces calls to nvvm-reflect functions
with the appropriate constant, either the architecture number, or
nvvm-reflect-ftz, found in the module's metadata.
The implementation is inefficient and does this by traversing through
all instructions to find calls. The common case is that you never call
nvvm-reflect, so this traversal is costly.
This PR:
- Updates the pass so that it finds the reflect functions by name, and
then traverses through their uses to find the calls directly.
- Adds a line (245) to make sure the dead nvvm-reflect definitions are
erased.
- Adds the ability to set reflect values via command line
Commit: 9aff19e7a3ff22ad15dc52609c65c785d4621fca
https://github.com/llvm/llvm-project/commit/9aff19e7a3ff22ad15dc52609c65c785d4621fca
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M flang/docs/ArrayRepacking.md
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.td
M flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
A flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/lib/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
A flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
A flang/test/Lower/repack-arrays-safe.f90
A flang/test/Transforms/lower-repack-arrays-openacc.fir
A flang/test/Transforms/lower-repack-arrays-openmp.fir
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-lsp-server/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/tco/CMakeLists.txt
Log Message:
-----------
[flang] Defined SafeTempArrayCopyAttrInterface for array repacking. (#134346)
This patch defines `fir::SafeTempArrayCopyAttrInterface` and the
corresponding
OpenACC/OpenMP related attributes in FIR dialect. The actual
implementations
are just placeholders right now, and array repacking becomes a no-op
if `-fopenacc/-fopenmp` is used for the compilation.
Commit: 862e7190c9d4672d3adf1bbde95b556c8e2d7544
https://github.com/llvm/llvm-project/commit/862e7190c9d4672d3adf1bbde95b556c8e2d7544
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
Log Message:
-----------
Reland "Replace bool operator== for VersionType in sanitizer_mac.h" (#135276)
Fixes error: ISO C++20 considers use of overloaded operator '==' (with
operand types 'MacosVersion' and 'MacosVersion') to be ambiguous despite
there being a unique best viable function
[-Werror,-Wambiguous-reversed-operator].
This converts the comparison operator from a non-symmetric operator
(const VersionBase<VersionType>& (as "this") and const VersionType &).
into a symmetric operator
Relands #135068
Co-authored-by: Ivan Tadeu Ferreira Antunes Filho <antunesi at google.com>
Commit: 72540dbe01d143436be096b44deb89e625f350f7
https://github.com/llvm/llvm-project/commit/72540dbe01d143436be096b44deb89e625f350f7
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format][NFC] Reformat git-clang-format
Commit: 8bd93b8303cb0ae9ad993aacf8d0747d26dfb0cc
https://github.com/llvm/llvm-project/commit/8bd93b8303cb0ae9ad993aacf8d0747d26dfb0cc
Author: Johannes Doerfert <johannes at jdoerfert.de>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
Log Message:
-----------
[OpenMP][NFC] Do not collect kernels if they are not used (#135252)
Commit: b03aa291b8ddc962ff82859b5317d8ea8a7a3e87
https://github.com/llvm/llvm-project/commit/b03aa291b8ddc962ff82859b5317d8ea8a7a3e87
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/undef-args.ll
Log Message:
-----------
Add 'REQUIRES: asserts' to test undef-args.ll added in #135247 to skip test when asserts are not present.
Should fix bot failure: https://lab.llvm.org/buildbot/#/builders/202/builds/601
Commit: f40001372b54ce68507f36b600f798e832478e16
https://github.com/llvm/llvm-project/commit/f40001372b54ce68507f36b600f798e832478e16
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Lower a shuffle which is nearly identity except one replicated element (#135292)
This can be done with a vrgather.vi/vx, and (possibly) a register move.
The alternative is to do a vrgather.vv with a full width index vector.
We'd already caught the two operands forms of this shuffle; this patch
specifically handles the single operand form.
Unfortunately only in abstract, it would be nice if we canonicalized
shuffles in some way wouldn't it?
Commit: 04c38981a9ce3e6225669c0e41cab947e3e7989f
https://github.com/llvm/llvm-project/commit/04c38981a9ce3e6225669c0e41cab947e3e7989f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/pointers-to-data-members.cpp
Log Message:
-----------
[Clang][CodeGen] Do not set inbounds flag in `EmitMemberDataPointerAddress` when the base pointer is null (#130952)
See also https://github.com/llvm/llvm-project/pull/130734 for the
original motivation.
This pattern (`container_of`) is also widely used by real-world
programs.
Examples:
https://github.com/llvm/llvm-project/blob/1d89d7d5d76e391b035f50343e2a4890506c6f2b/llvm/include/llvm/IR/SymbolTableListTraits.h#L77-L87
https://github.com/nodejs/node/blob/a2a53cb728ec5f776ac16879ce0f480a8e838320/src/util-inl.h#L134-L137
https://github.com/search?q=*%29nullptr-%3E*&type=code
Commit: ba93fe97c235ddbf8e5d7f76b3cb48d9e0839ba0
https://github.com/llvm/llvm-project/commit/ba93fe97c235ddbf8e5d7f76b3cb48d9e0839ba0
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
Log Message:
-----------
[BOLT][NFC] Simplify getOrCreate/analyze/populate/emitJumpTable (#132108)
Commit: c04d9d57ee4c116ecc1222b1f4458a21be13ac15
https://github.com/llvm/llvm-project/commit/c04d9d57ee4c116ecc1222b1f4458a21be13ac15
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M bolt/lib/Passes/AsmDump.cpp
M clang/tools/driver/cc1as_main.cpp
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
M llvm/lib/DWARFLinker/Classic/DWARFStreamer.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.cpp
M llvm/lib/DWARFLinker/Parallel/DWARFEmitterImpl.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/test/tools/llvm-mc/disassembler-options.test
M llvm/tools/llvm-mc/llvm-mc.cpp
M llvm/tools/llvm-ml/llvm-ml.cpp
Log Message:
-----------
MCAsmStreamer: Replace the MCInstPrinter * parameter with unique_ptr
... to clarify ownership, aligning with other parameters. Using
`std::unique_ptr` encourages users to manage `createMCInstPrinter` with
a unique_ptr instead of a raw pointer, reducing the risk of memory
leaks.
* llvm-mc: fix a leak and update llvm/test/tools/llvm-mc/disassembler-options.test
* #121078 copied the llvm-mc code to CodeGenTargetMachineImpl and made
the same mistake. Fixed by 2b8cc651dca0c000ee18ec79bd5de4826156c9d6
Using unique_ptr requires #include MCInstPrinter.h in a few translation
units.
* Delete a createAsmStreamer overload I deprecated in 2024
* SystemZMCTargetDesc.cpp: rename to `createSystemZAsmStreamer` to fix
an overload conflict.
Pull Request: https://github.com/llvm/llvm-project/pull/135128
Commit: db27a0af5e6b5fb37e0f95d92d3777ddaaf97f90
https://github.com/llvm/llvm-project/commit/db27a0af5e6b5fb37e0f95d92d3777ddaaf97f90
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/Analysis/MemoryDependenceAnalysis/InvariantLoad.ll
M llvm/test/Analysis/ValueTracking/gep-negative-issue.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash-inseltpoison.ll
M llvm/test/Transforms/GVN/constexpr-vector-constainsundef-crash.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
Log Message:
-----------
[AMDGPU][InstCombine][InstSimplify] Pre-commit tests for PR130742 (#135305)
https://github.com/llvm/llvm-project/pull/130742#discussion_r1993055149
Commit: 3b70715c13876c51542ebfe2e3f4ee908f6785cb
https://github.com/llvm/llvm-project/commit/3b70715c13876c51542ebfe2e3f4ee908f6785cb
Author: Martin Storsjö <martin at martin.st>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
Log Message:
-----------
[libcxxabi] Use __LDBL_MANT_DIG__ for configuring demangling of long doubles (#134976)
This avoids needing to hardcode the mapping between architectures and
their sizes of long doubles.
This fixes a case in test_demangle.pass.cpp, that previously failed like
this (XFAILed):
.---command stdout------------
| Testing 29859 symbols.
| _ZN5test01hIfEEvRAcvjplstT_Le4001a000000000000000E_c should be invalid
but is not
| Got: 0, void test0::h<float>(char (&) [(unsigned int)(sizeof (float) +
0x0.07ff98f7ep-1022L)])
`-----------------------------
.---command stderr------------
| Assertion failed: !passed && "demangle did not fail", file
libcxxabi/test/test_demangle.pass.cpp, line 30338
`-----------------------------
This testcase is defined within
// Is long double fp80? (Only x87 extended double has 64-bit mantissa)
#define LDBL_FP80 (__LDBL_MANT_DIG__ == 64)
...
#if !LDBL_FP80
...
#endif
The case failed on x86 architectures with an unusual size for long
doubles, as the test expected the demangler to not be able to demangle
an 80 bit long double (based on the `__LDBL_MANT_DIG__ == 64` condition
in the test). However as the libcxxabi implementation was hardcoded to
demangle 80 bit long doubles on x86_64 regardless of the actual size,
this test failed (by unexpectedly being able to demangle it).
By configuring libcxxabi's demangling of long doubles to match what the
compiler specifies, we no longer hit the expected failures in the
test_demangle.pass.cpp test on Android on x86.
This makes libcxxabi require a GCC-compatible compiler that defines
nonstandard defines like `__LDBL_MANT_DIG__`, but I presume that's
already essentially required anyway.
Commit: eccd7aa88879570ca12629a63d08a1e27fac0463
https://github.com/llvm/llvm-project/commit/eccd7aa88879570ca12629a63d08a1e27fac0463
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilb-invalid.s
A llvm/test/MC/RISCV/xqcilb-relocations.s
Log Message:
-----------
[RISCV] Add symbol parsing support for Xqcilb long branch instructions (#135044)
This patch adds support for parsing symbols in the Xqcilb long branch
instructions. The instructions use the `R_RISCV_QC_E_JUMP_PLT`
relocation and the `InstFormatQC_EJ` instruction format.
Vendor relocation support will be added in a later patch.
Commit: 715ad67c80ccb443d54575e81a3208674ef5b5c2
https://github.com/llvm/llvm-project/commit/715ad67c80ccb443d54575e81a3208674ef5b5c2
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Sema.h
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/member-access.cpp
Log Message:
-----------
[clang][CodeComplete] Use HeuristicResolver in getAsRecordDecl() (#130473)
Fixes https://github.com/llvm/llvm-project/issues/130468
Commit: 34fb673b0835c3b361eebacc7fd619dcea214063
https://github.com/llvm/llvm-project/commit/34fb673b0835c3b361eebacc7fd619dcea214063
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCDXContainerStreamer.h
M llvm/include/llvm/MC/MCELFStreamer.h
M llvm/include/llvm/MC/MCGOFFStreamer.h
M llvm/include/llvm/MC/MCSPIRVStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWasmStreamer.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCNullStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
Log Message:
-----------
MCStreamer: Remove Mach-O specific functions from derived MCObjectStreamer
Commit: 0816c7a95d04f141e136812910f3183df3bcbe7c
https://github.com/llvm/llvm-project/commit/0816c7a95d04f141e136812910f3183df3bcbe7c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-10 (Thu, 10 Apr 2025)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
Log Message:
-----------
MCParser: Remove unused enum constant
Commit: fa0498fdaed951dfb73a326a03fe3b00d544ea47
https://github.com/llvm/llvm-project/commit/fa0498fdaed951dfb73a326a03fe3b00d544ea47
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][HeuristicResolver] Apply default argument heuristic in resolveDeclRefExpr as well (#132576)
This is a follow-up to https://github.com/llvm/llvm-project/pull/131074.
After moving the default argument heuristic to `simplifyType` in that
patch, the heuristic no longer applied to the
`DependentScopeDeclRefExpr` case, because that wasn't using
`simplifyType`.
This patch fixes that, with an added testcase.
Commit: 9604bdf1180950c04f194584fdd2cca0f0668971
https://github.com/llvm/llvm-project/commit/9604bdf1180950c04f194584fdd2cca0f0668971
Author: offsetof <offsetof at mailo.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Allow parentheses around CTAD declarators (#132829)
Fixes #39811
Commit: c3eb6b7e61356aca7ffbcaf962544d3d8fb3713d
https://github.com/llvm/llvm-project/commit/c3eb6b7e61356aca7ffbcaf962544d3d8fb3713d
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Log Message:
-----------
SPIRV: Suppress warnings in #134429
Commit: b3397bacfb85aa824e1257085500551d3026d49a
https://github.com/llvm/llvm-project/commit/b3397bacfb85aa824e1257085500551d3026d49a
Author: z <feqin1023 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineOperand.cpp
Log Message:
-----------
[CodeGen][LLVM] Fix MachineOperand::print crash when TII is nullptr. (#135170)
This crash will caused if run this testcase:
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier-fastregalloc.ll
When build the SDNode, precisely build the SDNode for this ir:
```ir
call void @llvm.amdgcn.ds.gws.barrier(i32 %val, i32 0)
```
If want call the dump function of the new SDNode in the gdb environment
like this:
```gdb
p N->dump()
```
The llvm will crash.
All of these is because calling ```dump()``` will cause the
calling```MachineMemOperand::print()```
with the argument value for the```TII``` is nullptr.
And the llvm/lib/CodeGen/MachineOperand.cpp#L1235 is a derefrence of
TII.
Signed-off-by: fanfuqiang <fuqiang.fan at mthreads.com>
Commit: 23c9cfcb7494b2331a80661a0cb83f95a422833c
https://github.com/llvm/llvm-project/commit/23c9cfcb7494b2331a80661a0cb83f95a422833c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
Log Message:
-----------
[lldb] Small refactor of eh_frame parsing (#134806)
.. which prepares us for handling of discontinuous functions. The main
change there is that we can have multiple FDEs contributing towards an
unwind plan of a single function. This patch separates the logic for
parsing of a single FDE from the construction of an UnwindPlan (so that
another patch can change the latter to combine several unwind plans).
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: aeb06c61523499bc88af1a24eb645be972b482d4
https://github.com/llvm/llvm-project/commit/aeb06c61523499bc88af1a24eb645be972b482d4
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/call-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR] Adding 'inline_hint' attribute on LLMV::CallOp (#134582)
Addition of `inlinehint` attributes for CallOps in MLIR in order to be
able to say to a function call that the inlining is desirable without
having the attribute on the FuncOp.
Commit: 0276915a6c888906b2140a3d97e5ce32057a3ca5
https://github.com/llvm/llvm-project/commit/0276915a6c888906b2140a3d97e5ce32057a3ca5
Author: Björn Svensson <bjorn.a.svensson at est.tech>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
Log Message:
-----------
[clang-tidy] Fix `cert-err33-c` to ignore functions with same prefixes as target (#135160)
PR #82952 introduced regex matching for `CheckedFunctions` in
`UnusedReturnValueCheck` which is used by the checker `cert-err33-c`.
Add a testcase and fix false positives by adding end-of-string to target
regex's.
---------
Signed-off-by: Björn Svensson <bjorn.a.svensson at est.tech>
Commit: fafeaab6d91334e9c251aa222cbca1eb94536bf2
https://github.com/llvm/llvm-project/commit/fafeaab6d91334e9c251aa222cbca1eb94536bf2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
A clang/test/AST/ByteCode/typeid.cpp
Log Message:
-----------
[clang][bytecode] Misc TypeidPointer fixes (#135322)
Fix comparing type id pointers, add mor info when print()ing them, use
the most derived type in GetTypeidPtr() and the canonically unqualified
type when we know the type statically.
Commit: 8a351f1f2ed593b5e3ddf453d744b9d53908c616
https://github.com/llvm/llvm-project/commit/8a351f1f2ed593b5e3ddf453d744b9d53908c616
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/test/ELF/loongarch-relax-tls-ie.s
Log Message:
-----------
[lld][LoongArch] Support relaxation during IE to LE conversion (#123702)
Complement https://github.com/llvm/llvm-project/pull/123680. When
relaxation enable, remove redundant NOPs.
Commit: 476c1c5ec557af59afb7b9eff0198e2d84c83973
https://github.com/llvm/llvm-project/commit/476c1c5ec557af59afb7b9eff0198e2d84c83973
Author: Nathan Gauër <brioche at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/lifetime.ll
Log Message:
-----------
[SPIR-V] Don't emit OpLifetime for Vulkan (#135166)
Those instructions require the Kernel capability, which is not available
when targeting Vulkan.
Commit: 8be4bd85708cddc8d84d03cf77ba4b02d0b6d44c
https://github.com/llvm/llvm-project/commit/8be4bd85708cddc8d84d03cf77ba4b02d0b6d44c
Author: Martin Storsjö <martin at martin.st>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
Log Message:
-----------
[libcxxabi] Fix the long double demangling for PowerPC (#135332)
PowerPC uses a slightly different type of floats for their 128 bit long
doubles, as "double-double", with __LDBL_MANT_DIG__ == 106 rather than
__LDBL_MANT_DIG__ == 113 for IEEE 128 bit floats.
This fixes compiling libcxxabi for PowerPC after
3b70715c13876c51542ebfe2e3f4ee908f6785cb.
Commit: d77dc875118859066a4c81226bca7d307b225e09
https://github.com/llvm/llvm-project/commit/d77dc875118859066a4c81226bca7d307b225e09
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-SplitVectorize.ll
Log Message:
-----------
[SLP][REVEC] Fix type comparison and mask transformation for REVEC. (#135310)
When REVEC is enabled, ScalarTy may be a FixedVectorType. Compare its
element type to decide if casting is needed. Also apply mask
transformation accordingly.
Commit: 6d992f1db73ac8e27c87296411506d8bbdb9497e
https://github.com/llvm/llvm-project/commit/6d992f1db73ac8e27c87296411506d8bbdb9497e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM][Maintainers] Add llvm-cov / Coverage maintainer (#130590)
Commit: 2e02164566ee548838dbee95860b321fb54a8501
https://github.com/llvm/llvm-project/commit/2e02164566ee548838dbee95860b321fb54a8501
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getConstVector - remove raw bits -> fp handling and leave it to getNode/FoldConstantArithmetic (#135337)
getConstVector could only handle f32/f64 vector element types from raw APInt bit data - instead of trying to add all supported fp types, just bitcast the integer equivalent and leave it to getNode/FoldConstantArithmetic to perform the constant bitcast conversion
Tentative fix for a regression reported after #133913
Commit: b0b723a241e2f123527637e0564fd6956fb65521
https://github.com/llvm/llvm-project/commit/b0b723a241e2f123527637e0564fd6956fb65521
Author: Sergey Kachkov <sergey.kachkov at syntacore.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/frm-write-in-loop.ll
Log Message:
-----------
[RISCV][NFC] Add pre-commit test
Commit: 1d3d3f404ed134697405078411b0bd690a68be0e
https://github.com/llvm/llvm-project/commit/1d3d3f404ed134697405078411b0bd690a68be0e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
Log Message:
-----------
[DAG] SDPatternMatch::ReassociatableOpc_match - pull out repeated pattern count expression. NFC. (#135187)
Minor tidyup to remove so much template noise.
CC @esan5
Commit: 937cfdc7be56cb5cb46c098eecdb8e4f524add0d
https://github.com/llvm/llvm-project/commit/937cfdc7be56cb5cb46c098eecdb8e4f524add0d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86] combineGatherScatter - split non-constant (add v, (splat b)) indices patterns and add the splat into the (scalar) base address (#135201)
We already did this for constant cases, this patch generalizes the existing fold to attempt to extract the splat from either operand of a ADD node for the gather/scatter index value
This cleanup should also make it easier to add support for splitting vXi32 indices on x86_64 64-bit pointer targets in the future as well.
Noticed while reviewing #134979
Commit: b99a2b6221259095bc6c07f2d574a3655d073a1e
https://github.com/llvm/llvm-project/commit/b99a2b6221259095bc6c07f2d574a3655d073a1e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/revec-SplitVectorize.ll
Log Message:
-----------
[SLP][REVEC] Update test.
The test is affected by commit aaaa2a325bd1abb8c87e0171384fd2c42da5e38a.
Commit: b656915d5a4cbb35392d340142340bf9bef8d8d1
https://github.com/llvm/llvm-project/commit/b656915d5a4cbb35392d340142340bf9bef8d8d1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
Log Message:
-----------
[lldb][Format][NFCI] Refactor CPlusPlusLanguage::GetFunctionDisplayName into helpers and use LLVM style (#135331)
Same cleanup as in https://github.com/llvm/llvm-project/pull/135031. It
pretty much is the same code that we had to duplicate in the language
plugin. Maybe eventually we'll find a way of getting rid of the
duplication.
Commit: cb43fe33b5d5084cf3b5a2723a03b692edb68018
https://github.com/llvm/llvm-project/commit/cb43fe33b5d5084cf3b5a2723a03b692edb68018
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/include/__config
M libcxx/include/__functional/hash.h
M libcxx/include/locale
M libcxx/include/regex
M libcxx/src/filesystem/path_parser.h
Log Message:
-----------
[libc++][NFC] Inline _LIBCPP_FALLTHROUGH() (#135001)
We have `[[fallthrough]]` available in all standards modes, so we can
just inline it like other stanard attributes we use.
Commit: 4cde945673a852e1c051134cd2d8ad48dc4924e1
https://github.com/llvm/llvm-project/commit/4cde945673a852e1c051134cd2d8ad48dc4924e1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/include/__type_traits/is_abstract.h
M libcxx/include/__type_traits/is_aggregate.h
M libcxx/include/__type_traits/is_arithmetic.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_base_of.h
M libcxx/include/__type_traits/is_class.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/include/__type_traits/is_destructible.h
M libcxx/include/__type_traits/is_empty.h
M libcxx/include/__type_traits/is_enum.h
M libcxx/include/__type_traits/is_final.h
M libcxx/include/__type_traits/is_floating_point.h
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_implicit_lifetime.h
M libcxx/include/__type_traits/is_literal_type.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_polymorphic.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_reference_wrapper.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__type_traits/is_signed.h
M libcxx/include/__type_traits/is_signed_integer.h
M libcxx/include/__type_traits/is_standard_layout.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__type_traits/is_trivially_destructible.h
M libcxx/include/__type_traits/is_union.h
M libcxx/include/__type_traits/is_unsigned_integer.h
Log Message:
-----------
[libc++][NFC] Remove `public` from the type traits (#135088)
The type traits are always `struct`s, so the `public` isn't necessary.
We're currently using `public` in some places, while we omit it in
others. This makes us consistent across the type traits.
Commit: 9eeafc63d2f06f7aa216ddcf2370b20fbb1d9015
https://github.com/llvm/llvm-project/commit/9eeafc63d2f06f7aa216ddcf2370b20fbb1d9015
Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Frontend/dump-minimization-hints.cpp
Log Message:
-----------
Implement `-dump-minimization-hints` flag. (#133910)
This PR implements a CC1 flag `-dump-minimization-hints`.
The flag allows to specify a file path to dump ranges of deserialized
declarations in `ASTReader`. Example usage:
```
clang -Xclang=-dump-minimization-hints=/tmp/decls -c file.cc -o file.o
```
Example output:
```
// /tmp/decls
{
"required_ranges": [
{
"file": "foo.h",
"range": [
{
"from": {
"line": 26,
"column": 1
},
"to": {
"line": 27,
"column": 77
}
}
]
},
{
"file": "bar.h",
"range": [
{
"from": {
"line": 30,
"column": 1
},
"to": {
"line": 35,
"column": 1
}
},
{
"from": {
"line": 92,
"column": 1
},
"to": {
"line": 95,
"column": 1
}
}
]
}
]
}
```
Specifying the flag creates an instance of
`DeserializedDeclsSourceRangePrinter`, which dumps ranges of deserialized
declarations to aid debugging and bug minimization (we use is as input to [C-Vise](https://github.com/emaxx-google/cvise/tree/multifile-hints).
Required ranges are computed from source ranges of Decls.
`TranslationUnitDecl`, `LinkageSpecDecl` and `NamespaceDecl` are ignored
for the sake of this PR.
Technical details:
* `DeserializedDeclsSourceRangePrinter` implements `ASTConsumer` and
`ASTDeserializationListener`, so that an object of
`DeserializedDeclsSourceRangePrinter` registers as its own listener.
* `ASTDeserializationListener` interface provides the `DeclRead`
callback that we use to collect the deserialized Decls.
Printing or otherwise processing them as this point is dangerous, since
that could trigger additional deserialization and crash compilation.
* The collected Decls are processed in `HandleTranslationUnit` method of
`ASTConsumer`. This is a safe point, since we know that by this point
all the Decls needed by the compiler frontend have been deserialized.
* In case our processing causes further deserialization, `DeclRead` from
the listener might be called again. However, at that point we don't
accept any more Decls for processing.
Commit: e377a5d1682d0410b1fd38b011c29b7d81d6b53b
https://github.com/llvm/llvm-project/commit/e377a5d1682d0410b1fd38b011c29b7d81d6b53b
Author: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
M mlir/test/Dialect/Linalg/rank-reduce-contraction-ops.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[MLIR][Tensor] Remove tensor.dim canonicalization patterns registered on tensor.expand_shape/tensor.collapse_shape (#134219)
These are problematic because the iterative application that locally
resolves the tensor.dim operation introduces
intermediate floor_div, which is losing the information about the exact
division that was carried out in the original
IR, and the iterative algorithm can't converge towards the simplest
form.
Information loss is not acceptable for canonicalization.
Resolving the dimOp can be achieved through
resolve-ranked-shaped-type-result-dims and
resolve-shaped-type-result-dims passes.
---------
Signed-off-by: Vivek Khandelwal <vivekkhandelwal1424 at gmail.com>
Commit: 52a32471967f62ae4d1f905e7a2a5022be40a9c7
https://github.com/llvm/llvm-project/commit/52a32471967f62ae4d1f905e7a2a5022be40a9c7
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-block-end-iterator-debugloc.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/kill-true-in-return-block.ll
M llvm/test/CodeGen/AMDGPU/lds-global-non-entry-func.ll
M llvm/test/CodeGen/AMDGPU/loop_exit_with_xor.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-loop-var-out-of-divergent-loop-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-nested-control-flows.ll
M llvm/test/CodeGen/AMDGPU/si-optimize-vgpr-live-range-dbg-instr.ll
Log Message:
-----------
[AMDGPU] Select (xor i1 (divergent trunc:i32 x), -1) -> cmp_neq x, 1 (#133698)
Commit: 3e743a568d9d14cc7158bb03a8074a6d4d0ab1d4
https://github.com/llvm/llvm-project/commit/3e743a568d9d14cc7158bb03a8074a6d4d0ab1d4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerShuffleAsBitMask - generalize FP handling. (#135345)
Don't explicitly handle f32/f64 cases - allow any fp value type and convert to equivalent int type with MVT::changeTypeToInteger
Commit: 37a86cb89e9e03ac7c91f2217cab8adedceb61ac
https://github.com/llvm/llvm-project/commit/37a86cb89e9e03ac7c91f2217cab8adedceb61ac
Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[NFC] Use the hasMinSize() instead of hasFnAttribute(Attribute::MinSize) (#135328)
The other code all use the hasMinSize(), so I change the last two
hasFnAttribute(Attribute::MinSize).
Commit: b46f16c8d7f4a9e37271cdc4717dd858a4c813dc
https://github.com/llvm/llvm-project/commit/b46f16c8d7f4a9e37271cdc4717dd858a4c813dc
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[RISCV][test] Add tests for subtraction if above a constant threshold
Commit: e27a21f6a7fd191625ffca525323de643ed76be8
https://github.com/llvm/llvm-project/commit/e27a21f6a7fd191625ffca525323de643ed76be8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Add hasScalarTail, use instead of !CM.foldTailByMasking() (NFC). (#134674)
Now that VPlan is able to fold away redundant branches to the scalar
preheader, we can directly check in VPlan if the scalar tail may
execute. hasScalarTail returns true if the tail may execute.
We know that the scalar tail won't execute if the scalar preheader
doesn't have any predecessors, i.e. is not reachable.
This removes some late uses of the legacy cost model.
PR: https://github.com/llvm/llvm-project/pull/134674
Commit: c58777c2ad3464cfddc62e1da13dae443e868f3e
https://github.com/llvm/llvm-project/commit/c58777c2ad3464cfddc62e1da13dae443e868f3e
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang][ReleaseNotes] Fix code block not rendering (#135330)
Bullet lists require a blank line between paragraphs therefore the `..
code-block::` directive only renders correctly if preceded by a blank
line.
Commit: bc2a5b5466cd3d0698830301f2594a136522c7e5
https://github.com/llvm/llvm-project/commit/bc2a5b5466cd3d0698830301f2594a136522c7e5
Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/frm-write-in-loop.ll
Log Message:
-----------
[RISCV] Explicitly set FRM defs as non-dead to prevent their reordering with instructions that may use it (#135176)
Fixes #135172. The proposed solution is to conservatively reset dead
flag from all $frm defs in AdjustInstrPostInstrSelection.
Commit: e36e57b478393a1c44ba1a2e3a2cff056e208c52
https://github.com/llvm/llvm-project/commit/e36e57b478393a1c44ba1a2e3a2cff056e208c52
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[BUILD] Fix unicode build issue. (#135315)
Fix unicode build fail issue:
```
C4819 The file contains a character that cannot be represented in the current code page (936). Save the file in Unicode format to prevent data loss ...\llvm-project\llvm\include\llvm\Support\Compiler.h
```
Commit: 2fd860c1f559c0b0be66cc000e38270a04d0a1a3
https://github.com/llvm/llvm-project/commit/2fd860c1f559c0b0be66cc000e38270a04d0a1a3
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Log Message:
-----------
[lldb] ProcessGdbRemote header gardning
Remove unused headers, add used headers, remove declared-but-not-defined
entities.
Commit: 01658b16661dcff8bc24da7d86cee8df6f0bb4bd
https://github.com/llvm/llvm-project/commit/01658b16661dcff8bc24da7d86cee8df6f0bb4bd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
Log Message:
-----------
Fix two MSVC warnings; NFC
One was "unsafe use of bool" and the other was "sign comparision
mismatch", and both were because we're treating a bool object as if it
were an unsigned int. Add a cast to make that more explicit.
Commit: dda53bef35c5ab49967e8755e69ce893ecb525c4
https://github.com/llvm/llvm-project/commit/dda53bef35c5ab49967e8755e69ce893ecb525c4
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/API/SBTarget.cpp
A lldb/test/API/python_api/target/read-instructions-flavor/Makefile
A lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
A lldb/test/API/python_api/target/read-instructions-flavor/main.c
Log Message:
-----------
[lldb] Fix SBTarget::ReadInstruction with flavor (#134626)
When you call the `SBTarget::ReadInstructions` with flavor from lldb
crashes. This is because the wrong order of the `DisassemblyBytes`
constructor this fixes that
---------
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: c12cb0ccbb408c5e65801a6aa5a8e53b8b36c646
https://github.com/llvm/llvm-project/commit/c12cb0ccbb408c5e65801a6aa5a8e53b8b36c646
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/test/mlir-tblgen/op-python-bindings.td
M mlir/test/python/dialects/rocdl.py
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[mlir][python] fix value-builder generation for snake_case ops (#135302)
Ops that are already snake case (like [`ROCDL_wmma_*`
ops](https://github.com/makslevental/llvm-project/blob/66b0b0466bbd995146aadaf2cd18de5476c19941/mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td#L411))
produce python "value-builders" that collide with the class names:
```python
class wmma_bf16_16x16x16_bf16(_ods_ir.OpView):
OPERATION_NAME = "rocdl.wmma.bf16.16x16x16.bf16"
...
def wmma_bf16_16x16x16_bf16(res, args, *, loc=None, ip=None) -> _ods_ir.Value:
return wmma_bf16_16x16x16_bf16(res=res, args=args, loc=loc, ip=ip).result
```
and thus cannot be emitted (because of recursive self-calls).
This PR fixes that by affixing `_` to the value builder names.
I would've preferred to just rename the ops but that would be a breaking
change :shrug:.
Commit: e100d2bf9ad89139efe5b3edc441c2c67cc42bf4
https://github.com/llvm/llvm-project/commit/e100d2bf9ad89139efe5b3edc441c2c67cc42bf4
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv64zbb.ll
Log Message:
-----------
[DAGCombiner] Fold subtraction if above a constant threshold to `umin` (#135194)
Like #134235, but with a constant.
It's a pattern in Adler-32 checksum calculation in zlib.
Example:
unsigned adler32_mod(unsigned x) {
return x >= 65521u ? x - 65521u : x;
}
Before, on RISC-V:
lui a1, 16
lui a2, 1048560
addiw a1, a1, -16
sltu a1, a1, a0
negw a1, a1
addi a2, a2, 15
and a1, a1, a2
addw a0, a0, a1
Or, with Zicond:
lui a1, 16
lui a2, 1048560
addiw a1, a1, -16
sltu a1, a1, a0
addi a2, a2, 15
czero.eqz a1, a2, a1
addw a0, a0, a1
After, with Zbb:
lui a1, 1048560
addi a1, a1, 15
addw a1, a0, a1
minu a0, a1, a0
Commit: 5b384c3015100ad815f4d994d7ef35cc947db711
https://github.com/llvm/llvm-project/commit/5b384c3015100ad815f4d994d7ef35cc947db711
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
Log Message:
-----------
[lldb][test] Adjust TestTargetReadInstructionsFlavor skipIfs
Original in https://github.com/llvm/llvm-project/pull/134626 was
written as if it was "this or this" but it's "this and this".
So the test ran on AArch64 Linux, because Linux is not Windows.
Split out the Windows check to fix that.
Commit: b658a2e74ab48fce303d009b7039fbb10482bab8
https://github.com/llvm/llvm-project/commit/b658a2e74ab48fce303d009b7039fbb10482bab8
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
Log Message:
-----------
[LV] Reduce register usage for scaled reductions (#133090)
This PR accounts for scaled reductions in `calculateRegisterUsage` to
reflect the fact that the number of lanes in their output is smaller
than the VF.
Depends on https://github.com/llvm/llvm-project/pull/126437
Commit: 9e90e10e76eeb796d2d9e8609b98b90d760e1eb0
https://github.com/llvm/llvm-project/commit/9e90e10e76eeb796d2d9e8609b98b90d760e1eb0
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
Log Message:
-----------
[AMDGPU][Clang] Add builtins for gfx12 ray tracing intrinsics (#135224)
Commit: 8fc2538f338088bd084d217a7569d72c3b630e8c
https://github.com/llvm/llvm-project/commit/8fc2538f338088bd084d217a7569d72c3b630e8c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__charconv/tables.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/to_chars_result.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/locale
M libcxx/include/module.modulemap
A libcxx/test/benchmarks/locale/num_put.bench.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
Log Message:
-----------
Reapply "[libc++] Optimize num_put integral functions" (#131613) (#133572)
This reverts commit d1156fcb56891fb1a426c3e8331a51d47f98a1b8.
This patch fixes the reported incorrect formatting changes and adds
tests for them. The performance should be unaffected, since there are no
significant changes required to fix the bugs.
Specifically, a `>` was changed to a `>=` to also add a `+` in the zero
case, and we're checking for zero now before printing the octal and
hexadecimal prefixes.
Closes #131710
Commit: 33af951f3f1196d65aafebabd913abc43d3ce074
https://github.com/llvm/llvm-project/commit/33af951f3f1196d65aafebabd913abc43d3ce074
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/vec-elt-insertion.ll
M llvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-incoming-blocks-in-phi.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/replaced-external-in-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/select-reduction-op.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-cmps.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
Log Message:
-----------
[SLP]Synchronize cost of gather/buildvector nodes with codegen
If the buildvector node contains constants and non-constants, need to
consider shuffling of the constant vec and insertion of unique elements
into the vector. Also, if there is an input vector, need to consider the
cost of shuffling source vector and constant vector and then insertion
and shuffling of the non-constant elements.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/135245
Commit: 0f615fbb0a964082a6601a2838c9788bd29a97ba
https://github.com/llvm/llvm-project/commit/0f615fbb0a964082a6601a2838c9788bd29a97ba
Author: Valery Pykhtin <valery.pykhtin at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRewritePartialRegUses.cpp
Log Message:
-----------
[AMDGPU] Simplify GCNRewritePartialRegUses pass. (#135199)
Cleanup some leftover hacks that existed before #67245, more details in #69957.
Commit: 1c05c6183da836d148eb3f558e8f8e0194f39eed
https://github.com/llvm/llvm-project/commit/1c05c6183da836d148eb3f558e8f8e0194f39eed
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-map.s
Log Message:
-----------
[LLD][COFF] Swap the meaning of symtab and hybridSymtab in hybrid images (#135093)
Originally, the intent behind symtab was to represent the symbol table
seen in the PE header (without applying ARM64X relocations). However, in
most cases outside of `writeHeader()`, the code references either both
symbol tables or only the EC one, for example, `mainSymtab` in
`linkerMain()` maps to `hybridSymtab` on ARM64X.
MSVC's link.exe allows pure ARM64EC images to include native ARM64
files. This patch prepares LLD to support the same, which will require
`hybridSymtab` to be available even for ARM64EC. At that point,
`writeHeader()` will need to use the EC symbol table, and the original
reasoning for keeping it in `hybridSymtab` no longer applies.
Given this, it seems cleaner to treat the EC symbol table as the “main”
one, assigning it to `symtab`, and use `hybridSymtab` for the native
symbol table instead. Since `writeHeader()` will need to be conditional
anyway, this change simplifies the rest of the code by allowing other
parts to consistently treat `ctx.symtab` as the main symbol table.
As a further simplification, this also allows us to eliminate `symtabEC`
and use `symtab` directly; I’ll submit that as a separate PR.
The map file now uses the EC symbol table for printed entry points and
exports, matching MSVC behavior.
Commit: cbba9600ae4faeb06619ed8b52c22d8a38708230
https://github.com/llvm/llvm-project/commit/cbba9600ae4faeb06619ed8b52c22d8a38708230
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
Revert "[clang] Improved canonicalization for template specialization types" (#135354)
Reverts llvm/llvm-project#135119 because of the assert in ASTContext.cpp, line 5619.
See #135352 for details.
Commit: 39f119086f115e2af79ebb187a647ea2efad2d5c
https://github.com/llvm/llvm-project/commit/39f119086f115e2af79ebb187a647ea2efad2d5c
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
[Flang][OpenMP][ROCM] Enable rocm-device-lib-path for flang (#135307)
Currently rocm-device-lib-path is not enabled for Flang, so when the
compiler warns / requests a user to provide this option in cases where
it can't find rocm a user cannot actually set the device libraries using
rocm-device-lib-path. The alternative rocm_path that's also mentioned
via the warning can be used, but we should enable both mentioned options
to not confuse users (and myself).
Commit: a9225251c43e84d2bef0528ac61e1abf9fadae50
https://github.com/llvm/llvm-project/commit/a9225251c43e84d2bef0528ac61e1abf9fadae50
Author: David Green <david.green at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Remove SLI/SRI debug. NFC
We don't usually have special debug for DAG combines, and this one has been
around long enough to not be required any more.
Commit: cd85f5dbdf135347a9912dde148ec9fd325ba8c1
https://github.com/llvm/llvm-project/commit/cd85f5dbdf135347a9912dde148ec9fd325ba8c1
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir] canonicalizer: shape_cast(poison) -> poison (#133988)
Based on the ShapeCastConstantFolder, this pattern replaces
%0 = ub.poison : vector<2x3xf32>
%1 = vector.shape_cast %0 vector<2x3xf32> to vector<6xf32>
with
%1 = ub.poison : vector<6xf32>
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: f8f01b5eeb61999e6bb9e8c52435f8ff08d410e7
https://github.com/llvm/llvm-project/commit/f8f01b5eeb61999e6bb9e8c52435f8ff08d410e7
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
A lld/test/COFF/arm64ec-x86-sec.yaml
Log Message:
-----------
[LLD][COFF] Support marking sections as x86_64 code in ARM64EC object files (#135280)
On ARM64EC, the `IMAGE_SCN_GPREL` flag is repurposed to indicate that
section code is x86_64. This enables embedding x86_64 code within
ARM64EC object files. MSVC uses this for export thunks in .exp files.
Commit: 409def2867ffe7dffceeff380d7b4057bac5eac6
https://github.com/llvm/llvm-project/commit/409def2867ffe7dffceeff380d7b4057bac5eac6
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] shape_cast(broadcast) -> broadcast canonicalization (#134939)
Add additional cases of this canonicalization, by checking the 'source
of truth' function `isBroadcastableTo` to check when it is possible to
broadcast directly to the shape resulting from the shape_cast.
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: d6c1ef576f0a44486a8a0f7f33123ad7c9f8c5e9
https://github.com/llvm/llvm-project/commit/d6c1ef576f0a44486a8a0f7f33123ad7c9f8c5e9
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[AMDGPU] vmem-to-lds-load-insts incoherence between TargetParser and AMDGPU.td (#135376)
The vmem-to-lds-loads-insts feature is only available on gfx9/10. While
target-parser was also enabling it for gfx6,7,8.
Commit: 7113aece4eaa634cdcea5c4057da171c17229b40
https://github.com/llvm/llvm-project/commit/7113aece4eaa634cdcea5c4057da171c17229b40
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/mangle.cpp
Log Message:
-----------
[clang] ItaniumMangle: fix mangling for unresolved types (#135312)
Commit: 6b78bbc56b835e69ecc5eb8f978c27592e4c4051
https://github.com/llvm/llvm-project/commit/6b78bbc56b835e69ecc5eb8f978c27592e4c4051
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsBranchExpansion.cpp
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/Mips/MipsMulMulBugPass.cpp
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
Log Message:
-----------
[NFC][LLVM][Mips] Cleanup pass initialization for Mips (#134446)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 12fe15ff9d72697848496894401af3eeb7b6c3b8
https://github.com/llvm/llvm-project/commit/12fe15ff9d72697848496894401af3eeb7b6c3b8
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/Hexagon/Hexagon.h
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp
M llvm/lib/Target/Hexagon/HexagonCFGOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Hexagon/HexagonGenMemAbsolute.cpp
M llvm/lib/Target/Hexagon/HexagonGenMux.cpp
M llvm/lib/Target/Hexagon/HexagonGenPredicate.cpp
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
M llvm/lib/Target/Hexagon/HexagonLoadStoreWidening.cpp
M llvm/lib/Target/Hexagon/HexagonLoopAlign.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonMask.cpp
M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
M llvm/lib/Target/Hexagon/HexagonOptimizeSZextends.cpp
M llvm/lib/Target/Hexagon/HexagonPeephole.cpp
M llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
M llvm/lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp
M llvm/lib/Target/Hexagon/HexagonSplitDouble.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/lib/Target/Hexagon/HexagonVExtract.cpp
M llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/HexagonVectorLoopCarriedReuse.cpp
M llvm/lib/Target/Hexagon/HexagonVectorPrint.cpp
Log Message:
-----------
[NFC][LLVM][Hexagon] Cleanup pass initialization for Hexagon (#134431)
- Remove pass initialization calls from pass constructors.
- Move pass initialization and creation function declarations to
Hexagon.h and remove them from individual .cpp files.
- Add calls for pass initialization in Hexagon target initialization.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 58211f55c5d42394b3de3310a825d707e7622833
https://github.com/llvm/llvm-project/commit/58211f55c5d42394b3de3310a825d707e7622833
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/108541-null-metadata-crash.ll
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
Log Message:
-----------
[llvm-reduce] Fix incorrectly ignored null MD in ReduceDIMetadata (#108541)
Commit c2e62c7 updated the ReduceDIMetadata pass to be able to remove
DIGlobalVariableExpressions from MDNode operands; it also accidentally
prevented null operands from being preserved, which results in an
assertion being triggered:
`Targets == NoChunksCounter.count() && "number of chunks changes when
reducing"'
This patch allows us to correctly preserve null operands once again.
I've not got a test case for this yet - I'm hoping this patch is just
trivially correct as-is, because I've not got the hang of reducing a
test case for llvm-reduce yet, but I can get a test case generated if
needed.
Commit: 07b439605a4cc838a9157f6a948edb0369adeada
https://github.com/llvm/llvm-project/commit/07b439605a4cc838a9157f6a948edb0369adeada
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-frem.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] combineConcatVectorOps - require free concatenation of at least one operand of UNPCKL\H (#135366)
Stop just replacing 2*UNPCK+INSERT_SUBVECTOR with 2*INSERT_SUBVECTOR+UNPCK
Currently limited to sub-64-bit element cases until we've accounted for the remaining regressions from some build_vector style patterns.
Commit: d1ea4799d9a3e2757772a47e9dce5f2e24bb982f
https://github.com/llvm/llvm-project/commit/d1ea4799d9a3e2757772a47e9dce5f2e24bb982f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPDirectives.cpp
M clang/test/Preprocessor/embed_parameter_unrecognized.c
Log Message:
-----------
[C23] Fix failed assertions with invalid #embed parameters (#135368)
If the invalid parameter was not the last parameter given, we would fail
to skip to the end of the directive and trip a failed assertion.
Fixes #126940
Commit: c3795ba7373d9a4878974cd664eb6d000bc91880
https://github.com/llvm/llvm-project/commit/c3795ba7373d9a4878974cd664eb6d000bc91880
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[Maintainers] Fix name
Commit: 61f95c6429df523dc3f04e85a5d500008c76e1fa
https://github.com/llvm/llvm-project/commit/61f95c6429df523dc3f04e85a5d500008c76e1fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/IR/BasicBlock.cpp
Log Message:
-----------
IR: Simplify BlockAddress replacement (#135360)
Don't repeatedly replaceAllUsesWith in a loop.
Commit: 88e15b781506949c56936b8642774125772fdeb2
https://github.com/llvm/llvm-project/commit/88e15b781506949c56936b8642774125772fdeb2
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] A quick-fix for the Apple CI. (#135202)
The Apple runners automatically pick up newer XCode versions breaking
the CI. This disables the test to get the CI green which allows us to
investigate the issue properly later on.
Commit: 3ad2cd5e70d0fb1d7831a735a4ec8c8b18578d75
https://github.com/llvm/llvm-project/commit/3ad2cd5e70d0fb1d7831a735a4ec8c8b18578d75
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
M compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
Log Message:
-----------
[asan] Fix-forward #133175 by restricting newly-added tests to Linux
This was failing on Mac
(https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/4107/ and
https://issues.chromium.org/issues/409995888). Since this is an
experimental feature, rather than play whack-a-mole with selectively
disabling failing platforms (previously done for Android), this patch
restricts it to Linux.
Commit: 76b85d3a27d9de4667cdf6de158111830724f34d
https://github.com/llvm/llvm-project/commit/76b85d3a27d9de4667cdf6de158111830724f34d
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Linalg.h
Log Message:
-----------
[MLIR][CAPI] add C API typedef to fix downstream C API usage (#135380)
This PR is after #135253 and #134935 to fix the error reported by
https://github.com/llvm/llvm-project/pull/135253#issuecomment-2796077024.
This PR Adds typedef declarations for `MlirLinalgContractionDimensions`
and `MlirLinalgConvolutionDimensions` in the C API to ensure
compatibility with pure C code.
I confirm that this fix resolves the reported error based on my testing.
Signed-off-by: Bangtian Liu <liubangtian at gmail.com>
Commit: 5a41fc28f3b3f32a70fd5d81c2e33d10b3225806
https://github.com/llvm/llvm-project/commit/5a41fc28f3b3f32a70fd5d81c2e33d10b3225806
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/lib/Serialization/ASTReader.cpp
M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
Log Message:
-----------
[clang][modules] Name the module map files on PCM file conflict (#134475)
With implicitly-built modules, seeing something like:
```
fatal error: module 'X' is defined in both '<cache>/HASH1/X-HASH2.pcm' and '<cache>/HASH1/X-HASH3.pcm'
```
is super confusing and not actionable, because the module cache tends to
be hidden from the developer.
This PR adds a note to that diagnostic that names the module map files
the PCM files were compiled from, hopefully giving a good enough hint
for further investigation:
```
note: compiled from '<build>/X.framework/Modules/module.modulemap' and '<SDK>/X.framework/Modules/module.modulemap'
```
(I had to replace the mechanism used to convert `DiagnosticError` into
something `DiagnosticsEngine` can understand, because it seemingly did
not support notes.)
Commit: 976c37ec950a93ed60068389ad05454f76da1e55
https://github.com/llvm/llvm-project/commit/976c37ec950a93ed60068389ad05454f76da1e55
Author: amansharma612 <amansharma6122002 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/mul.ll
Log Message:
-----------
[AMDGPU] Set hasSideEffects=0 for SALU psuedos (#134487)
Fixes #128685
---------
Co-authored-by: Aman Sharma <210100011 at iitb.ac.in>
Commit: a4b7688d27da1a0189fff6549853fdfe22b33c48
https://github.com/llvm/llvm-project/commit/a4b7688d27da1a0189fff6549853fdfe22b33c48
Author: David Green <david.green at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/fsh.ll
Log Message:
-----------
[AArch64] Regenerate fsh.ll test. NFC
Commit: ffac1404f8e0f606cac12a21777dfe700b455e87
https://github.com/llvm/llvm-project/commit/ffac1404f8e0f606cac12a21777dfe700b455e87
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[Clang] [Sema] Document invariant in Sema::AddOverloadCandidate (#135256)
Static analysis flagged 1 - ArgIdx in Sema::AddOverloadCandidate for its
potential to overflow.
Turns out this is intentional since when PO ==
OverloadCandidateParamOrder::Reversed Args.size() is always two, so this
will never overflow.
We document using an assert.
Fixes: https://github.com/llvm/llvm-project/issues/135086
Commit: 438f984b4b3c6774f07eced877dce7cdbeef6a3b
https://github.com/llvm/llvm-project/commit/438f984b4b3c6774f07eced877dce7cdbeef6a3b
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/test/tools/dxil-dis/debug-info.ll
Log Message:
-----------
[DirectX] XFAIL test failing because of debuginfo changes (#135279)
For more context see
https://discourse.llvm.org/t/psa-ir-output-changing-from-debug-intrinsics-to-debug-records/79578
This change:
https://github.com/llvm/llvm-project/commit/6a45fce90937f1c8671e609c4218818ce4491329
broke this test:
https://github.com/llvm/llvm-project/blob/main/llvm/test/tools/dxil-dis/debug-info.ll
in our pipeline:
https://github.com/llvm/llvm-project/actions/workflows/hlsl-matrix.yaml
LLVM is transitioning off of the llvm.dbg.value debug intrinsic in favor
of the `#dbg_declare(..) format. see
https://github.com/llvm/llvm-project/pull/133917/files
dxil-dis does not understand the new format and so work needs to be
planned out to support this transition in
https://github.com/microsoft/DirectXShaderCompiler
For now the fix is to XFAIL this test to unblock the pipeline.
Commit: 70627af91f577f5195a11ee44c6af39503e1ce52
https://github.com/llvm/llvm-project/commit/70627af91f577f5195a11ee44c6af39503e1ce52
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Synchronize access to m_statusline in the Debugger (#134759)
Eliminate the potential for a race between the main thread, the default
event handler thread and the signal handling thread, when accessing the
m_statusline member.
Commit: 8d2f0911ce8dddb37d064b3065b3be71e3233c2c
https://github.com/llvm/llvm-project/commit/8d2f0911ce8dddb37d064b3065b3be71e3233c2c
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang] Extract `CompilerInstance` creation out of `compileModuleImpl()` (#134887)
This PR extracts the creation of `CompilerInstance` for compiling an
implicitly-discovered module out of `compileModuleImpl()` into its own
separate function and passes it into `compileModuleImpl()` from the
outside. This makes the instance creation logic reusable (useful for my
experiments) and also simplifies the API, removing the `PreBuildStep`
and `PostBuildStep` hooks from `compileModuleImpl()`.
Commit: 61f80db9a493e3f33dc01ecd5294856d33ca74d4
https://github.com/llvm/llvm-project/commit/61f80db9a493e3f33dc01ecd5294856d33ca74d4
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Writer.cpp
Log Message:
-----------
[LLD][COFF] Remove no longer needed symtabEC from COFFLinkerContext (NFC) (#135094)
With #135093, we may just use `symtab` instead.
Commit: 68b7cba2b04a036dfb2e216cfafe70a83fbc7530
https://github.com/llvm/llvm-project/commit/68b7cba2b04a036dfb2e216cfafe70a83fbc7530
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
A llvm/test/Transforms/LoopIdiom/strlen-cleanup.ll
M llvm/test/Transforms/LoopIdiom/strlen.ll
M llvm/test/Transforms/LoopIdiom/wcslen16.ll
M llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
[LoopIdiom] Update strlen idiom body loop condition to be clean up by LoopDeletion (#134906)
Fixes the case where subsequent passes were unable to find and delete
the invariant loop left over by the strlen idiom conversion. Since
`loop-deletion` only operate on computable loops, we can update the loop
condition to something more easily picked up by `loop-deletion`
As pointed out in https://github.com/llvm/llvm-project/issues/134736
Commit: d995b2ebdc1a312c8583351c13dac90e8e320a09
https://github.com/llvm/llvm-project/commit/d995b2ebdc1a312c8583351c13dac90e8e320a09
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaAMDGPU.cpp
A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
Log Message:
-----------
[Clang][AMDGPU] Accept builtins in lambda declarations (#135027)
`Sema::getCurFunctionDecl(AllowLambda = false)` returns a nullptr when
the lambda declaration is outside a function (for example, when
assigning a lambda to a static constexpr variable).
This triggered an assertion in
`SemaAMDGPU::CheckAMDGCNBuiltinFunctionCall`.
Using `Sema::getCurFunctionDecl(AllowLambda = true)` returns the
declaration of the enclosing lambda.
Stumbled with this issue when refactoring some code in CK.
Commit: 8fb6bb3e23966c973bb04784e165473f681ec7af
https://github.com/llvm/llvm-project/commit/8fb6bb3e23966c973bb04784e165473f681ec7af
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-init.f90
M flang/test/Lower/OpenACC/acc-shutdown.f90
M flang/test/Semantics/OpenACC/acc-init-validity.f90
M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow multiple device_type clauses on init and shutdown (#135314)
Relax the restriction for init and shutdown directives for device_type
clause. The clause can be allowed multiple times.
Commit: 566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
https://github.com/llvm/llvm-project/commit/566c30e324a0e87269fc72e5a0219d4c3e1d9fbf
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/test/CIR/CodeGen/binassign.c
A clang/test/CIR/CodeGen/comma.c
A clang/test/CIR/IR/binassign.cir
Log Message:
-----------
[CIR] Upstream binary assignments and comma (#135115)
This patch adds `VisitBinAssign` and `VisitBinComma` to the ClangIR
`ScalarExprEmitter` to enable assignments and the comma operator.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Commit: bd0b2bdacc95332a62d5eeb9582302cc12567be3
https://github.com/llvm/llvm-project/commit/bd0b2bdacc95332a62d5eeb9582302cc12567be3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use VF instead of VL.size and modernize some transformations, NFC.
Commit: 68ab45f0533f3bbfc1c96bddd53de7e769180219
https://github.com/llvm/llvm-project/commit/68ab45f0533f3bbfc1c96bddd53de7e769180219
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Log Message:
-----------
Revert "[lldb] ProcessGdbRemote header gardning"
This reverts commit 2fd860c1f559c0b0be66cc000e38270a04d0a1a3 as this is
causing a EXC_BAD_ACCESS on Darwin:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/23807/
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/lldb-cmake/11255/
Commit: de5b099dd1542deee821b1dcfcb1762e683c672c
https://github.com/llvm/llvm-project/commit/de5b099dd1542deee821b1dcfcb1762e683c672c
Author: Jan Korous <jkorous at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A clang/include/clang/Analysis/Support/FixitUtil.h
M clang/lib/Analysis/CMakeLists.txt
A clang/lib/Analysis/FixitUtil.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage][NFC] Factor out FixitUtil (#135100)
Commit: cb974dcd7798317f065fe0668e16d0e1712e5ca0
https://github.com/llvm/llvm-project/commit/cb974dcd7798317f065fe0668e16d0e1712e5ca0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port de5b099dd154
Commit: abe3b90b3fa49829a165f2174191c33542597052
https://github.com/llvm/llvm-project/commit/abe3b90b3fa49829a165f2174191c33542597052
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
Log Message:
-----------
[CIR] Fix warnings, again! (#135284)
The calleeDecl var will be used in the near future, so I left it. At
least for clang, the [[maybe_unused]] attribute takes care of the
warnings related to that variable. The other warning was a simple lack
of return after errorNYI.
Commit: a2d129b792cc49224f98c83d2279b2e19bfa700f
https://github.com/llvm/llvm-project/commit/a2d129b792cc49224f98c83d2279b2e19bfa700f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
Log Message:
-----------
[SLP]Fix a crash when trying to reduce in revec after minbitwidth analysis
Need to use the original scalar type, when building the reduction, and
use the scalar type, when performing casting, to avoid compiler crash.
Commit: e911f90a4035ee6a70d9b608ef35c6870aa86fdb
https://github.com/llvm/llvm-project/commit/e911f90a4035ee6a70d9b608ef35c6870aa86fdb
Author: Kevin Gleason <gleasonk at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[mlir] Add support for broader range of input files in generate-test-checks.py (#134327)
A few additions:
- Lines with `{{`: These can show up if serializing non-MLIR info into
string attrs `my.attr = {{proto}, {...}}`. String escape the opening
`{{`, given that check lines are generated this has no effect on
`{{.*}}` etc in generated lines.
- File split line: Normally these are skipped because of their indent
level, but if using `--starts_from_scope=0` to generate checks for the
`module {...} {` line, and since MLIR opt tools emit file split lines by
default, some `CHECK: // -----` lines were emit.
- (edit removed this, fixed by
https://github.com/llvm/llvm-project/pull/134364) AttrAliases: I'm not
sure if I'm missing something for the attribute parser to work
correctly, but I was getting many `#[[?]]` for all dialect attrs. Only
use the attr aliasing if there's a match.
Commit: e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
https://github.com/llvm/llvm-project/commit/e15025dd50ce2f3db6c8f3f414f95a7b58ef8501
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxxabi/test/uncaught_exception.pass.cpp
Log Message:
-----------
[libc++] Another Apple CI quick-fix.
Like #135202 this fixes another issue after the XCode update.
Commit: c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
https://github.com/llvm/llvm-project/commit/c9ad5bed7fa9ff0b16da1212875ba5341d288f3c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
Log Message:
-----------
[SLP][NFC]Add a test with the incorrect type promotion after bitwidth analysis, NFC
Commit: 1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
https://github.com/llvm/llvm-project/commit/1e54bca669d0f16fbd0809d5ada68af8ba5cf28b
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libc/Maintainers.rst
Log Message:
-----------
[libc] Add dthorn as maintainer for allocator on baremetal (#135203)
This was on request from other maintainers, given that I've been
de-facto acting as maintainer of the baremetal allocator stuff.
Commit: df579ce4b6006ed23bb3a31f009269a1ba2587d4
https://github.com/llvm/llvm-project/commit/df579ce4b6006ed23bb3a31f009269a1ba2587d4
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Adds is_implemented function for new ftm generator. (#134538)
At the moment the ftm macro for __cpp_lib_to_chars will have the
following values:
standard_ftms: {
"c++17": "201611L",
"c++20": "201611L",
"c++23": "201611L",
"c++26": "201611L",
}
implemented_ftms: {
"c++17": None,
}
This is an issue with the test whether the FTM is implemented it does:
self.implemented_ftms[ftm][std] == self.standard_ftms[ftm][std]
This will fail in C++20 since implemented_ftms[ftm] does not have the
key c++20. This adds a new helper function and removes the None entries
when a FTM is not implemented.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 6f5e993b179a6f93b40d375a8864f2a482f3ca5d
https://github.com/llvm/llvm-project/commit/6f5e993b179a6f93b40d375a8864f2a482f3ca5d
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
A llvm/test/CodeGen/DirectX/usub_sat.ll
Log Message:
-----------
[DirectX] legalize usub.sat (#135288)
fixes #135285
This change implements the `usub.sat` intrinsic to perform an unsigned
saturating subtraction on the 2 arguments.
The minimum value this operation is clamp to is 0.
Commit: 52ef55864f50077072e083c5582d23a9ec494142
https://github.com/llvm/llvm-project/commit/52ef55864f50077072e083c5582d23a9ec494142
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
Log Message:
-----------
[OpenACC] Fix source-location on a handful of CIR Directives
Apparently we used the 'end location' instead of 'start' in a few
places.
Commit: db4ad4686f09822add4575801a2bbb10c8d56ebb
https://github.com/llvm/llvm-project/commit/db4ad4686f09822add4575801a2bbb10c8d56ebb
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M libc/Maintainers.rst
Log Message:
-----------
[libc] Add myself as maintainer for Public Headers / hdrgen (#135209)
Commit: 38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
https://github.com/llvm/llvm-project/commit/38e64b1a84d1af0bb232833f8f6f57bd4d6e8a7a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/trunced-buildvector-scalar-extended.ll
Log Message:
-----------
[SLP]Fix minbiwidth analysis for gather nodes with SIToFP users
If the buildvector node has cast to float user, it cannot be considered as safe
for truncation, need to use the original bitwidth here.
Fixes #135410
Commit: c2939b9bf672713ac36910a3e6d00c19ace1bd44
https://github.com/llvm/llvm-project/commit/c2939b9bf672713ac36910a3e6d00c19ace1bd44
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
Log Message:
-----------
Reland "[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)" (#135296)
This reapplies commit
https://github.com/llvm/llvm-project/commit/232525f06942adb3b9977632e38dcd5f08c0642d.
The original commit triggered a sanitizer failure when `Target` was
destroyed. In `Target::Destroy`, `DeleteCurrentProcess` was called, but
it did not destroy the thread creation breakpoints for the underlying
`ProcessGDBRemote` because `ProcessGDBRemote::Clear` was not called in
that path.
`Target `then proceeded to destroy its breakpoints, which resulted in a
call to the destructor of a `std::vector` containing the breakpoints.
Through a sequence of complicated events, destroying breakpoints caused
the reference count of the underlying `ProcessGDBRemote` to finally
reach zero. This, in turn, called `ProcessGDBRemote::Clear`, which
attempted to destroy the breakpoints. To do that, it would go back into
the Target's vector of breakpoints, which we are in the middle of
destroying.
We solve this by moving the breakpoint deletion into
`Process:DoDestroy`, which is a virtual Process method that will be
called much earlier.
Commit: 179d30f8c3fddd3c85056fd2b8e877a4a8513158
https://github.com/llvm/llvm-project/commit/179d30f8c3fddd3c85056fd2b8e877a4a8513158
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
Revert "[lldb] Make sure the process is stopped when computing the symbol context (#134757)" (#135408)
This reverts commit e84a80408523a48d6eaacd795f1615e821ffb233 because on
Linux there seems to be a race around GetRunLock. See #134757 for more
context.
Commit: fedd79bdcd8363456ec87796694ae0f37d28a98f
https://github.com/llvm/llvm-project/commit/fedd79bdcd8363456ec87796694ae0f37d28a98f
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/vector-transfer-to-vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/transpose.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
Log Message:
-----------
[mlir][vector] Tighten the semantics of vector.{load|store} (#135151)
This change refines the verifier for `vector.load` and `vector.store` to
disallow the use of vectors with higher rank than the source or
destination memref. For example, the following is now rejected:
```mlir
%0 = vector.load %src[%c0] : memref<?xi8>, vector<16x16xi8>
vector.store %vec, %dest[%c0] : memref<?xi8>, vector<16x16xi8>
```
This pattern was previously used in SME end-to-end tests and "happened"
to work by implicitly assuming row-major memory layout. However, there
is no guarantee that such an assumption will always hold, and we should
avoid relying on it unless it can be enforced deterministically.
Notably, production ArmSME lowering pipelines do not rely on this
behavior. Instead, the expected usage (illustrated here with scalable
vector syntax) would be:
```mlir
%0 = vector.load %src[%c0, %c0] : memref<?x?xi8>, vector<[16]x[16]xi8>
```
This PR updates the verifier accordingly and adjusts all affected tests.
These tests are either removed (if no longer relevant) or updated to use
memrefs with appropriately matching rank.
Commit: 052225dc0366ddf56631b1e4104ef09896f1139b
https://github.com/llvm/llvm-project/commit/052225dc0366ddf56631b1e4104ef09896f1139b
Author: David Green <david.green at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
Log Message:
-----------
[AArch64] Use a lower Costsize cost in getScalarizationOverhead.
This is a follow on to #130946 to use the same codesize cost override in
getScalarizationOverhead for vector instructions.
Commit: 32c39092eab3a401d9d028c21f4707102fd70e32
https://github.com/llvm/llvm-project/commit/32c39092eab3a401d9d028c21f4707102fd70e32
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCallingConv.td
A llvm/test/CodeGen/Hexagon/calloperand-v2i1.ll
Log Message:
-----------
[llvm][Hexagon] Promote operand v2i1 to v2i32 (#135409)
Fixes #118879
Commit: a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
https://github.com/llvm/llvm-project/commit/a45b133d400b0e57ca1ba70d50a91fbdf11d3b93
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/CallingConv.h
M llvm/lib/IR/Verifier.cpp
M llvm/test/Bitcode/calling-conventions.3.2.ll
M llvm/test/Bitcode/calling-conventions.3.2.ll.bc
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit.ll
R llvm/test/CodeGen/AMDGPU/call-to-kernel-undefined.ll
R llvm/test/CodeGen/AMDGPU/call-to-kernel.ll
M llvm/test/Other/spir_cc.ll
M llvm/test/Verifier/amdgpu-cc.ll
A llvm/test/Verifier/call-to-non-callable-functions.ll
Log Message:
-----------
[AMDGPU][Verifier] Mark calls to entry functions as invalid in the IR verifier (#134910)
Commit: 72144d119a7291f8b6b8e022a2947fbe31e66afc
https://github.com/llvm/llvm-project/commit/72144d119a7291f8b6b8e022a2947fbe31e66afc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
Log Message:
-----------
[flang][runtime] Fix recently broken big-endian formatted integer input (#135417)
My recent change to speed up formatted integer input has a bug on
big-endian targets that has shown up on ppc64 AIX build bots. Fix.
Commit: ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
https://github.com/llvm/llvm-project/commit/ae0aa2dea2dee3af01326e5ff96ab436628f7e2b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
Log Message:
-----------
[VPlan] Merge cases using getResultType in inferScalarType (NFC).
Commit: d78b48641429c8b48e2c376fa3870d841e319c96
https://github.com/llvm/llvm-project/commit/d78b48641429c8b48e2c376fa3870d841e319c96
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/error_if_check.mlir
Log Message:
-----------
[mlir][tosa] Add error_if checks for Mul Op (#135075)
This adds error_if validation checking for Mul Op
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 90a202f2ff241a9f4b11ec625dcc3446cbceb924
https://github.com/llvm/llvm-project/commit/90a202f2ff241a9f4b11ec625dcc3446cbceb924
Author: Victor Vianna <victor.vianna10 at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/lib/orc/error.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
Log Message:
-----------
[cpp23] Remove usage of std::aligned_union<> in llvm (#135146)
std::aligned_union<> is deprecated in C++23. See more details in the
linked bug.
Bug: https://crbug.com/388068052
Commit: d1fd97737e9064431983e48c2105d1c54d5feacc
https://github.com/llvm/llvm-project/commit/d1fd97737e9064431983e48c2105d1c54d5feacc
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_linux.cpp
M compiler-rt/lib/interception/interception_linux.h
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_platform.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[compiler-rt][sanitizer] add Haiku support (#134772)
Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>
Commit: ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
https://github.com/llvm/llvm-project/commit/ee801cdd6e0ba497939cdc1e4dd34b98b4df3675
Author: Jan Korous <jkorous at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[-Wunsafe-buffer-usage] Add findUnsafePointers (#135421)
Commit: a8da4834f70b4cea0ba8e703a76ccbcd26f88923
https://github.com/llvm/llvm-project/commit/a8da4834f70b4cea0ba8e703a76ccbcd26f88923
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang] IEEE_SCALB and SCALE - kind=2, kind=3 (#135374)
Implement the kind=2,3 variants of language intrinsic SCALE and
intrinsic module procedure IEEE_SCALB, including exception signaling.
Commit: 609361ab39226a866211286a2ae4f19ab8bb444c
https://github.com/llvm/llvm-project/commit/609361ab39226a866211286a2ae4f19ab8bb444c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Semantics/OpenACC/acc-data.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow finalize clause on exit data more than once (#135415)
The spec has not strict restriction to allow a single `finalize` clause
on the `exit data` directive. Allowing this clause multiple times does
not change the semantic of it. This patch relax the rules in `ACC.td`
since there is no restriction in the standard.
The OpenACC dialect represent the finalize clause with a UnitAttr so the
attribute will be set if the is one or more `finalize` clause.
Commit: 2837fd7e5ad521d977fbca85a639ce7afbacdc56
https://github.com/llvm/llvm-project/commit/2837fd7e5ad521d977fbca85a639ce7afbacdc56
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-update.f90
M flang/test/Semantics/OpenACC/acc-host-data.f90
M flang/test/Semantics/OpenACC/acc-update-validity.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow if_present multiple times on host_data and update (#135422)
Similar to #135415.
The spec has not strict restriction to allow a single `if_present`
clause on the host_data and update directives. Allowing this clause
multiple times does not change the semantic of it. This patch relax the
rules in ACC.td since there is no restriction in the standard.
The OpenACC dialect represents the `if_present` clause with a `UnitAttr`
so the attribute will be set if the is one or more `if_present` clause.
Commit: 4530922cfdacc5be25dbe499fc106cc3b009bf79
https://github.com/llvm/llvm-project/commit/4530922cfdacc5be25dbe499fc106cc3b009bf79
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang] fix serialization for SubstNonTypeTemplateParmPackExpr (#135428)
This fixes a PCM non-determinism regression reported here:
https://github.com/llvm/llvm-project/pull/134560#issuecomment-2797744370
There was a bit in `SubstNonTypeTemplateParmPackExpr` which we missed to
serialize, and that bit eventually propagates to
`SubstNonTypeTemplateParmExpr`.
As a drive by, improve serialization for PackIndex on
SubstNonTypeTemplateParmExpr by using the newly introduced
UnsignedOrNone helpers.
There are no release notes since this regression was never released.
Commit: de67293c093efddb9f9444b3a614695ad243355d
https://github.com/llvm/llvm-project/commit/de67293c093efddb9f9444b3a614695ad243355d
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
A mlir/include/mlir/Dialect/SMT/CMakeLists.txt
A mlir/include/mlir/Dialect/SMT/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/SMT/IR/SMT.td
A mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.h
A mlir/include/mlir/Dialect/SMT/IR/SMTAttributes.td
A mlir/include/mlir/Dialect/SMT/IR/SMTBitVectorOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.h
A mlir/include/mlir/Dialect/SMT/IR/SMTDialect.td
A mlir/include/mlir/Dialect/SMT/IR/SMTIntOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTOps.h
A mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.h
A mlir/include/mlir/Dialect/SMT/IR/SMTTypes.td
A mlir/include/mlir/Dialect/SMT/IR/SMTVisitors.h
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
A mlir/lib/Dialect/SMT/CMakeLists.txt
A mlir/lib/Dialect/SMT/IR/CMakeLists.txt
A mlir/lib/Dialect/SMT/IR/SMTAttributes.cpp
A mlir/lib/Dialect/SMT/IR/SMTDialect.cpp
A mlir/lib/Dialect/SMT/IR/SMTOps.cpp
A mlir/lib/Dialect/SMT/IR/SMTTypes.cpp
A mlir/test/Dialect/SMT/array-errors.mlir
A mlir/test/Dialect/SMT/array.mlir
A mlir/test/Dialect/SMT/basic.mlir
A mlir/test/Dialect/SMT/bitvector-errors.mlir
A mlir/test/Dialect/SMT/bitvectors.mlir
A mlir/test/Dialect/SMT/core-errors.mlir
A mlir/test/Dialect/SMT/cse-test.mlir
A mlir/test/Dialect/SMT/integers.mlir
M mlir/unittests/Dialect/CMakeLists.txt
A mlir/unittests/Dialect/SMT/AttributeTest.cpp
A mlir/unittests/Dialect/SMT/CMakeLists.txt
A mlir/unittests/Dialect/SMT/QuantifierTest.cpp
A mlir/unittests/Dialect/SMT/TypeTest.cpp
Log Message:
-----------
[mlir][SMT] upstream `SMT` dialect (#131480)
This PR upstreams the `SMT` dialect from the CIRCT project. Here we only
check in the dialect/op/types/attributes and lit tests. Follow up PRs
will add conversions in and out and etc.
Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Commit: 93370c4ab3437432e488fac9e3a09b44dbe87449
https://github.com/llvm/llvm-project/commit/93370c4ab3437432e488fac9e3a09b44dbe87449
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/test/CIR/CodeGen/array.cpp
Log Message:
-----------
[CIR] Make LLVM & OGCG variables match the same pattern (#135427)
Follow-up patch to improve variable names in LLVM and OGCG in
https://github.com/llvm/llvm-project/pull/134536
Commit: 84ed81bc8a5359f33818c876e43f6450e98deb35
https://github.com/llvm/llvm-project/commit/84ed81bc8a5359f33818c876e43f6450e98deb35
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/unittests/Thread/ThreadTest.cpp
Log Message:
-----------
[lldb] On Windows, silence warning when building with Clang ToT
Fixes:
```
[930/2017] Building CXX object tools\lldb\unittests\Thread\CMakeFiles\ThreadTests.dir\ThreadTest.cpp.obj
C:\git\llvm-project\lldb\unittests\Thread\ThreadTest.cpp(51,23): warning: cast from 'FARPROC' (aka 'long long (*)()') to 'SetThreadDescriptionFunctionPtr' (aka 'long (*)(void *, const wchar_t *)') converts to incompatible function type [-Wcast-function-type-mismatch]
51 | SetThreadName = reinterpret_cast<SetThreadDescriptionFunctionPtr>(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
52 | ::GetProcAddress(hModule, "SetThreadDescription"));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
```
Commit: 12c4be1ba8513b4c0f43945c0f266d7f871a978a
https://github.com/llvm/llvm-project/commit/12c4be1ba8513b4c0f43945c0f266d7f871a978a
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/BitcastBuffer.cpp
Log Message:
-----------
[clang][unittests] On Windows, silence warning when building with MSVC
Fixes:
```
[113/324] Building CXX object tools\clang\unittests\AST\ByteCode\CMakeFiles\InterpTests.dir\BitcastBuffer.cpp.obj
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(52): warning C4309: 'initializing': truncation of constant value
C:\git\llvm-project\clang\unittests\AST\ByteCode\BitcastBuffer.cpp(53): warning C4309: 'initializing': truncation of constant value
```
Commit: 78fbba992188c60f0f06267ca013e52db19b8c67
https://github.com/llvm/llvm-project/commit/78fbba992188c60f0f06267ca013e52db19b8c67
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[compiler-rt] On Windows, silence warning when building with Clang ToT
Fixes:
```
[6113/7139] Building CXX object projects\compiler-rt\lib\interception\CMakeFiles\RTInterception.x86_64.dir\interception_win.cpp.obj
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
746 | case 0xB841: // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
| ^
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'FALLTHROUGH;' to silence this warning
746 | case 0xB841: // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
| ^
| FALLTHROUGH;
C:\git\llvm-project\compiler-rt\lib\interception\interception_win.cpp(746,5): note: insert 'break;' to avoid fall-through
746 | case 0xB841: // 41 B8 XX XX XX XX : mov r8d, XX XX XX XX
| ^
| break;
1 warning generated.
```
Commit: e1d91ba06d250dd8bbd5bded4824c5b210c2667a
https://github.com/llvm/llvm-project/commit/e1d91ba06d250dd8bbd5bded4824c5b210c2667a
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
Log Message:
-----------
[lldb] Fix erroneous return value
Found when building with MSVC on Windows, was seeing:
```
[2703/7138] Building CXX object tools\lldb\source\Plugins\Process\Utility\CMakeFiles\lldbPluginProcessUtility.dir\NativeRegisterContextDBReg.cpp.obj
C:\git\llvm-project\lldb\source\Plugins\Process\Utility\NativeRegisterContextDBReg.cpp(286): warning C4305: 'return': truncation from 'unsigned int' to 'bool'
```
Commit: 715c61e9a7cc631fd0965b887941ccfd8c0133d6
https://github.com/llvm/llvm-project/commit/715c61e9a7cc631fd0965b887941ccfd8c0133d6
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
Log Message:
-----------
[lldb][lldbp-dap] On Windoows, silence warnings when building with MSVC
Fixes:
```
[6373/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\DAP.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\DAP.cpp(725) : warning C4715: '`lldb_dap::DAP::HandleObject'::`30'::<lambda_2>::operator()': not all control paths return a value
[6421/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolTypes.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(203) : warning C4715: 'lldb_dap::protocol::ToString': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(98) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(72) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolTypes.cpp(111) : warning C4715: 'lldb_dap::protocol::toJSON': not all control paths return a value
[6426/7138] Building CXX object tools\lldb\tools\lldb-dap\CMakeFiles\lldb-dap.dir\Protocol\ProtocolBase.cpp.obj
C:\git\llvm-project\lldb\tools\lldb-dap\Protocol\ProtocolBase.cpp(287) : warning C4715: 'lldb_dap::protocol::fromJSON': not all control paths return a value
```
Commit: 46135ade9ec0b7fd975b5d3923aea95f4d416296
https://github.com/llvm/llvm-project/commit/46135ade9ec0b7fd975b5d3923aea95f4d416296
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Sema] On Windows, silence erroneous warning when building with MSVC
Fixes what seems to be a buggy warning in MSVC:
```
[1/37] Building CXX object tools\clang\lib\Sema\CMakeFiles\obj.clangSema.dir\SemaConcept.cpp.obj
C:\git\llvm-project\clang\lib\Sema\SemaConcept.cpp(1933): warning C4101: '$S26': unreferenced local variable
```
Commit: 6e7fe85247301c52d10d234b87f13376e091c77e
https://github.com/llvm/llvm-project/commit/6e7fe85247301c52d10d234b87f13376e091c77e
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp
M llvm/lib/Target/AMDGPU/GCNIterativeScheduler.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/iglp.opt.reentry.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.iterative.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
Log Message:
-----------
[AMDGPU] Teach iterative schedulers about IGLP (#134953)
This adds IGLP mutation to the iterative schedulers
(`gcn-iterative-max-occupancy-experimental`, `gcn-iterative-minreg`, and
`gcn-iterative-ilp`).
The `gcn-iterative-minreg` and `gcn-iterative-ilp` schedulers never
actually applied the mutations added, so this also has the effect of
teaching them about mutations in general. The
`gcn-iterative-max-occupancy-experimental` scheduler has calls to
`ScheduleDAGMILive::schedule()`, so, before this, mutations were applied
at this point. Now this is done during calls to `BuildDAG`, with IGLP
superseding other mutations (similar to the other schedulers). We may
end up scheduling regions multiple times, with mutations being applied
each time, so we need to track for
`AMDGPU::SchedulingPhase::PreRAReentry`
Commit: eb68b914dd7f1926daf9cfab19b85765f2a60700
https://github.com/llvm/llvm-project/commit/eb68b914dd7f1926daf9cfab19b85765f2a60700
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
Log Message:
-----------
[NFC][LLVM] Apply std::move to object being pushed back in findSymbolCommon (#135290)
Static analysis found that we could move LineInfo into the Result vector
instead of just copying it.
Commit: 957bd6aa32da8b89571a6e6abb53ec87ad828332
https://github.com/llvm/llvm-project/commit/957bd6aa32da8b89571a6e6abb53ec87ad828332
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/sanitizer_common/BUILD.gn
Log Message:
-----------
[gn] port d1fd97737e90
Commit: 4c67bdd973ee1c308155555500ef39d4e2099a6a
https://github.com/llvm/llvm-project/commit/4c67bdd973ee1c308155555500ef39d4e2099a6a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
Log Message:
-----------
[RISCV] Don't fold offsets into auipc if offset is larger than the reference global variable. (#135297)
The global variable should be within 2GB of the PC, but an offset to an
address outside the global might not be.
Fixes #134525.
Commit: 6aae1047b6c701b407c0cadaf1acd036c1bab6b6
https://github.com/llvm/llvm-project/commit/6aae1047b6c701b407c0cadaf1acd036c1bab6b6
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
Log Message:
-----------
[clang] ASTImporter: fix SubstNonTypeTemplateParmExpr source location (#135450)
This makes it clear which source location is imported.
Commit: b74dbf7fb2d152109bba29fdb39e0924eb8dc842
https://github.com/llvm/llvm-project/commit/b74dbf7fb2d152109bba29fdb39e0924eb8dc842
Author: Pranav Kant <prka at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add support for SMT Dialect (#135454)
This fixes #131480
Commit: a4fbc6f78f7a276d23f61c93694090fccd2461cb
https://github.com/llvm/llvm-project/commit/a4fbc6f78f7a276d23f61c93694090fccd2461cb
Author: Pranav Kant <prka at google.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix a typo (#135460)
Commit: 54e70ac7650f1c22f687937d1a082e4152f97b22
https://github.com/llvm/llvm-project/commit/54e70ac7650f1c22f687937d1a082e4152f97b22
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
M mlir/unittests/Dialect/SMT/CMakeLists.txt
R mlir/unittests/Dialect/SMT/QuantifierTest.cpp
Log Message:
-----------
[mlir][SMT] remove custom forall/exists builder because of asan memory leak
Commit: 357e3803bb94cc622c785f7eb60aa38d552bc5ef
https://github.com/llvm/llvm-project/commit/357e3803bb94cc622c785f7eb60aa38d552bc5ef
Author: Sagar Kulkarni <sagar.kulkarni1911 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Prevent folding non memref-type gather into maskedload (#135371)
This patch fixes an issue in the FoldContiguousGather pattern which was
incorrectly folding vector.gather operations with contiguous indices
into vector.maskedload operations regardless of the base operand type.
While vector.gather operations can work on both tensor and memref types,
vector.maskedload operations are only valid for memref types. The
pattern was incorrectly lowering a tensor-based gather into a
masked-load, which is invalid.
This fix adds a type check to ensure the pattern only applies to
memref-based gather operations.
Co-authored-by: Sagar Kulkarni <sagar at rain.ai>
Commit: 336b290923151d02fd6b3050ccbaf74f0aa08339
https://github.com/llvm/llvm-project/commit/336b290923151d02fd6b3050ccbaf74f0aa08339
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Use a DAG combine to prune pointless vrgather.vi (#135392)
If the vrgather.vi is preceeded by a vmv.v.x which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.
This is the start of a mini-series of patches around rewriting
vrgather.vi/vx preceeded by vmv.v.x, vfmf.v.f, vmv.s.x, etc... Starting
with the simplest, but also lowest impact.
One point I'd like a second oppinion on is the out of bounds semenatic
change. As far as I can tell, all the indices are in bounds by
construction. The doc change is as much as I couldn't figure out how to
test the alternative as anything else.
Commit: 3a2d9a7c1e73618ca77caa6455e9208ad3b16664
https://github.com/llvm/llvm-project/commit/3a2d9a7c1e73618ca77caa6455e9208ad3b16664
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang][frontend] Expose `CompilerInstance::cloneForModuleCompile()` (#135405)
This PR exposes `cloneForModuleCompile()` as a public `CompilerInstance`
member function. This will be eventually used in the dependency scanner
to customize implicit module builds.
Commit: fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
https://github.com/llvm/llvm-project/commit/fa4ac19f0fc937e30fd7711dad98d0fcdb34f8ba
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Accept PLT fall-throughs as valid traces (#129481)
We used to report PLT traces as invalid (mismatching disassembled
function contents) because PLT functions are marked as pseudo and
ignored, thus missing CFG. However, such traces are not mismatching
the function contents. Accept them without attaching the profile.
Test Plan: updated callcont-fallthru.s
Commit: 6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
https://github.com/llvm/llvm-project/commit/6bea80e93fcba89a6b3a8312cc0a3c3f528b284a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Remove unneeded FIXME. NFC
The message looks correct to me.
Commit: d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
https://github.com/llvm/llvm-project/commit/d49063b4962367bac52d4a3e2aa4ff324a7d8fbf
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/interception/interception_linux.cpp
M compiler-rt/lib/interception/interception_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt][sanitizer][NFC] update endif markers for Haiku (#135475)
Commit: 7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
https://github.com/llvm/llvm-project/commit/7a6a79551d1bf5468f925ffcaa3d62807cca1aaa
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
Log Message:
-----------
[NFC][equivalenceClass] Refactor coding style in EquivalenceClasses.h. (#135467)
Commit: b864405c9b848d6815ac4562fe3680c5ce8d90ff
https://github.com/llvm/llvm-project/commit/b864405c9b848d6815ac4562fe3680c5ce8d90ff
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-11 (Fri, 11 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
Log Message:
-----------
MCAsmInfo: Remove unused UseParensForDollarSignNames
Follow-up to 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
Commit: 339f58de16ac7a31869d189bec6cad7696958546
https://github.com/llvm/llvm-project/commit/339f58de16ac7a31869d189bec6cad7696958546
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Add llvm-symbolizer to CI container
This is needed for symbolizing some test failures. It is under 8MB, so there is
very little cost to adding it.
Commit: 76e07d8ba5286daf349ef19588c8c011162bec09
https://github.com/llvm/llvm-project/commit/76e07d8ba5286daf349ef19588c8c011162bec09
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/test/Transforms/InferFunctionAttrs/annotate.ll
M llvm/test/Transforms/InferFunctionAttrs/readonly_and_writeonly.ll
M llvm/test/Transforms/LICM/strlen.ll
M llvm/test/Transforms/LoopIdiom/basic.ll
M llvm/test/Transforms/LoopIdiom/memset-pattern-tbaa.ll
M llvm/test/Transforms/LoopIdiom/struct_pattern.ll
M llvm/test/Transforms/LoopIdiom/unroll-custom-dl.ll
M llvm/test/Transforms/LoopIdiom/unroll.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
Log Message:
-----------
[LibCall] Infer nocallback for libcalls (#135173)
This patch adds `nocallback` attributes for string/math libcalls. It
allows FuncAttributor to infer `norecurse` more precisely and encourages
more aggressive global optimization.
Commit: 8b40a09bf50d62e2017611b7be2c55fab22d9572
https://github.com/llvm/llvm-project/commit/8b40a09bf50d62e2017611b7be2c55fab22d9572
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGen/catch-alignment-assumption-array.c
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
Log Message:
-----------
[Clang][CodeGen][UBSan] Remove redundant `EmitCheckValue` calls. NFCI (#135141)
`EmitCheckValue` is called inside `EmitCheck`:
https://github.com/llvm/llvm-project/blob/b122956390a6877536927c2b073a0b99f8b9704f/clang/lib/CodeGen/CGExpr.cpp#L3739
The outside calls are redundant because
`EmitCheckValue(EmitCheckValue(V))` always returns `EmitCheckValue(V)`.
Required by https://github.com/llvm/llvm-project/pull/135135.
Commit: 4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
https://github.com/llvm/llvm-project/commit/4dd80b73b00c05cf3d0a29c736fa2dae8e64c780
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
Log Message:
-----------
[SimplifyCFG] test for trunc condition (NFC)
Commit: 2b270df2e7be5deef5d471b7624363d9b48b4480
https://github.com/llvm/llvm-project/commit/2b270df2e7be5deef5d471b7624363d9b48b4480
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
A lld/test/COFF/export-alias.test
M llvm/lib/Object/COFFModuleDefinition.cpp
A llvm/test/tools/llvm-lib/underscore.test
Log Message:
-----------
[Object][COFF] Avoid underscore prefix for forwarding exports (#135433)
Fixes #132411.
Commit: 6de15379f4c1ae88ec347c6e000d6f27ad0a948b
https://github.com/llvm/llvm-project/commit/6de15379f4c1ae88ec347c6e000d6f27ad0a948b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[NFC][libc++][test] Minor updates to generated header version test. (#134543)
Adjusting the existing script to match the new output makes it easy to
review the new script works correctly.
This adjusts the tests to match the changes in the new tests, Notably
- removes the synopsis uses 2 spaces indent in `# if`
It does not implement the conditional include part. This would be quite
some effort and these diffs are easy to review manually.
Note there are no tests for the changes; the existing script will be
phased out when the next generators are complete.
Commit: d39d24cec109e99e74a8cfd88d28eb32195a9f2e
https://github.com/llvm/llvm-project/commit/d39d24cec109e99e74a8cfd88d28eb32195a9f2e
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
Log Message:
-----------
[libc++][doc] Updates the release notes.
Copies the not-yet-implemented items planned for removal from the
LLVM-20 to the LLVM-21 release notes. This allows to better keep track
of the status of the next release.
Commit: e838b8b7e71df4ee0e3aea6c94f510ee1794d707
https://github.com/llvm/llvm-project/commit/e838b8b7e71df4ee0e3aea6c94f510ee1794d707
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-fold.ll
Log Message:
-----------
[Matrix] Fix a miscompile due to an incorrect double-transpose fold (#135397)
Transposes are only inverses of each other when they have matching
shapes.
rdar://145592582
Commit: 33e5305c598be9b4f57feba330b963c2142d15cc
https://github.com/llvm/llvm-project/commit/33e5305c598be9b4f57feba330b963c2142d15cc
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Further explain vfmerge.vfm/vmerge.vxm varuat coverage
Commit: c6a892e0ed82a378ad1a69905f70700bf57c68cf
https://github.com/llvm/llvm-project/commit/c6a892e0ed82a378ad1a69905f70700bf57c68cf
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SMT/IR/SMTOps.td
M mlir/lib/Dialect/SMT/IR/SMTOps.cpp
M mlir/unittests/Dialect/SMT/CMakeLists.txt
A mlir/unittests/Dialect/SMT/QuantifierTest.cpp
Log Message:
-----------
[mlir][SMT] restore custom builder for forall/exists (#135470)
This reverts commit 54e70ac7650f1c22f687937d1a082e4152f97b22 which
itself fixed an [asan
leak](https://lab.llvm.org/buildbot/#/builders/55/builds/9761) from the
original upstreaming commit. The leak was due to op allocations not
being `free`ed.
~~The necessary change was to explicitly `->destroy()` the ops at the
end of the tests. I believe this is because the rewriter used in the
tests doesn't actually insert them into a module and so without an
explicit `->destroy()` no bookkeeping process is able to take care of
them.~~
The necessary change was to use `OwningOpRef` which calls `op->erase()`
in its [own
destructor](https://github.com/makslevental/llvm-project/blob/89cfae41ecc043f8c47be4dea4b7c740d4f950b3/mlir/include/mlir/IR/OwningOpRef.h#L39).
Commit: b233d79623dd3a6d307db2bc73ddd12e3a054460
https://github.com/llvm/llvm-project/commit/b233d79623dd3a6d307db2bc73ddd12e3a054460
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/r600.llvm.is.fpclass.ll
Log Message:
-----------
R600: Expand is_fpclass (#135234)
Commit: 009971a0d3218d3af0d10fb70d2c876ccc46b24d
https://github.com/llvm/llvm-project/commit/009971a0d3218d3af0d10fb70d2c876ccc46b24d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Accurately calculate where the source variable ops start in PseudoLoweringEmitter::emitLoweringEmitter. (#135465)
The code was using the number of source operands plus one. The plus one
seems to be an ARM specific value accounting for one of the source
operands having 2 sub operands. No other target in tree uses
PseudoLowering with variadic instructions so this worked.
This patch replaces it with a proper count of the number of sub operands
of all operands. While there I update the loop to use MIOperandNo so we
don't need to count up the sub operands as we go.
Commit: 761787d42576751afbaaba5107233ee849f81b6f
https://github.com/llvm/llvm-project/commit/761787d42576751afbaaba5107233ee849f81b6f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
Reland: [clang] Improved canonicalization for template specialization types (#135414)
This relands https://github.com/llvm/llvm-project/pull/135119, after
fixing crashes seen in LLDB CI reported here:
https://github.com/llvm/llvm-project/pull/135119#issuecomment-2794910840
Fixes https://github.com/llvm/llvm-project/pull/135119
This changes the TemplateArgument representation to hold a flag
indicating whether a tempalte argument of expression type is supposed to
be canonical or not.
This gets one step closer to solving
https://github.com/llvm/llvm-project/issues/92292
This still doesn't try to unique as-written TSTs. While this would
increase the amount of memory savings and make code dealing with the AST
more well-behaved, profiling template argument lists is still too
expensive for this to be worthwhile, at least for now.
This also fixes the context creation of TSTs, so that they don't in some
cases get incorrectly flagged as sugar over their own canonical form.
This is captured in the test expectation change of some AST dumps.
This fixes some places which were unnecessarily canonicalizing these
TSTs.
Commit: b71123f1272ee081b18b8ced1925d6e9300e7310
https://github.com/llvm/llvm-project/commit/b71123f1272ee081b18b8ced1925d6e9300e7310
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
Log Message:
-----------
[clang-doc] Pre-commit tests for static members and functions (#135456)
Issue #59813 mentions that static members are not included in
the documentation generated by clang-doc. This patch adds
some basic testing for that property, with the current incorrect
behavior. Follow up patches will address the missing documentation.
Commit: 995fd47944f471e985e34d7da8c0667059decbac
https://github.com/llvm/llvm-project/commit/995fd47944f471e985e34d7da8c0667059decbac
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
Log Message:
-----------
[LAA] Make sure MaxVF for Store-Load forward safe dep distances is pow2.
MaxVF computed in couldPreventStoreLoadFowrard may not be a power of 2,
as CommonStride may not be a power-of-2.
This can cause crashes after 78777a20. Use bit_floor to make sure it is
a suitable power-of-2.
Fixes https://github.com/llvm/llvm-project/issues/134696.
Commit: 4fa3b2a1843c42f333d7332b373ae99428883974
https://github.com/llvm/llvm-project/commit/4fa3b2a1843c42f333d7332b373ae99428883974
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use TypeAnalysis instead of underlying instr in VPPredInst (NFC)
Removes another unnecessary use of the underlying instructions during
VPlan execution.
Commit: 5bdad0555eae01e5eef6a1360c1637a5d9bcde79
https://github.com/llvm/llvm-project/commit/5bdad0555eae01e5eef6a1360c1637a5d9bcde79
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++][NFC] Remove a few aliases in __tree (#134392)
These aliases aren't required anymore, since we've taken an ABI break
unconditionally which these were used to avoid.
Commit: acf964b95f5421cc372719139b427be37ad79e7e
https://github.com/llvm/llvm-project/commit/acf964b95f5421cc372719139b427be37ad79e7e
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/include/mlir/InitAllTranslations.h
A mlir/include/mlir/Target/SMTLIB/ExportSMTLIB.h
A mlir/include/mlir/Target/SMTLIB/Namespace.h
A mlir/include/mlir/Target/SMTLIB/SymCache.h
M mlir/lib/Target/CMakeLists.txt
A mlir/lib/Target/SMTLIB/CMakeLists.txt
A mlir/lib/Target/SMTLIB/ExportSMTLIB.cpp
A mlir/test/Target/SMTLIB/array.mlir
A mlir/test/Target/SMTLIB/attributes.mlir
A mlir/test/Target/SMTLIB/bitvector-errors.mlir
A mlir/test/Target/SMTLIB/bitvector.mlir
A mlir/test/Target/SMTLIB/core-errors.mlir
A mlir/test/Target/SMTLIB/core.mlir
A mlir/test/Target/SMTLIB/integer-errors.mlir
A mlir/test/Target/SMTLIB/integer.mlir
Log Message:
-----------
[mlir][SMT] add export smtlib (#131492)
This PR adds the `ExportSMTLIB` translation/egress pass for `SMT`
dialect.
Commit: 75dea80085ff9870239109275a2f19d6709fbe65
https://github.com/llvm/llvm-project/commit/75dea80085ff9870239109275a2f19d6709fbe65
Author: Min Hsu <min at myhsu.dev>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M .mailmap
Log Message:
-----------
[mailmap] Consolidate all my email addresses
Commit: f0dc236d3384e5d5dce2e39a8a3202325899eae5
https://github.com/llvm/llvm-project/commit/f0dc236d3384e5d5dce2e39a8a3202325899eae5
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/RISCV/rv32c-invalid.s
Log Message:
-----------
[RISCV][NFC] Correct c_lui_imm (#135448)
The MCOperandPredicate seems to allow symbols as well as immediates, but
the parser/matcher does not due to `isCLUIImm`. This brings both in line
with each other, and should prevent trying to compress a `lui` with a
symbol, which cannot be emitted as a `c.lui` as there are no relocations
for this as `R_RISCV_RVC_LUI` is deprecated/removed.
Commit: d903f6b672cb7ebb162e3ef98f483e79b180a413
https://github.com/llvm/llvm-project/commit/d903f6b672cb7ebb162e3ef98f483e79b180a413
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Target/SMTLIB/CMakeLists.txt
Log Message:
-----------
[mlir][SMT] fix MLIRExportSMTLIB by linking MLIRArithDialect
Commit: bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
https://github.com/llvm/llvm-project/commit/bbc5d205d409bb22fe4ae8ad16ebaf1752e6b700
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Target/SMTLIB/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix build after #131492 (#135502)
After #131492 is appears that linking MLIRAritDialect was missing.
Commit: 09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
https://github.com/llvm/llvm-project/commit/09c8cfe219481a8fc20c6711dc5c87451f5a5ef1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang/include/clang/Format/Format.h
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/CleanupTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format][NFC] Add isJava() and isTextProto() in FormatStyle (#135466)
Also remove redundant name qualifiers format::, FormatStyle::, and
LanguageKind::.
Commit: 5f744cc6301abb3be5a500b2fcbc944fe2bd3241
https://github.com/llvm/llvm-project/commit/5f744cc6301abb3be5a500b2fcbc944fe2bd3241
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Wrap and indent lambda braces in GNU style (#135479)
Fix #133135
Commit: b0fede358fea768ead2dc5d59ad0b6b2decc4217
https://github.com/llvm/llvm-project/commit/b0fede358fea768ead2dc5d59ad0b6b2decc4217
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
A llvm/test/ThinLTO/AMDGPU/Inputs/in-f1.ll
A llvm/test/ThinLTO/AMDGPU/force-import-all.ll
A llvm/test/ThinLTO/AMDGPU/lit.local.cfg
Log Message:
-----------
[ThinLTO] Don't convert functions to declarations if `force-import-all` is enabled (#134541)
On one hand, we intend to force import all functions when the option is
enabled.
On the other hand, we currently drop definitions of some functions and
convert
them to declarations, which contradicts this intent.
With this PR, functions will no longer be converted to declarations when
`force-import-all` is enabled.
Commit: 60b1d44d708d5912897c7bdab681cbefe8f35e79
https://github.com/llvm/llvm-project/commit/60b1d44d708d5912897c7bdab681cbefe8f35e79
Author: Sayan Saha <sayans at mathworks.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[tosa]: canonicalize dynamic size of tosa.slice to static output shape (#135429)
Addresses https://github.com/llvm/llvm-project/issues/135389
Commit: cfa322fa9a693d4ba652871fafc6dbb2039b55a2
https://github.com/llvm/llvm-project/commit/cfa322fa9a693d4ba652871fafc6dbb2039b55a2
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/include/__algorithm/sort.h
M libcxx/include/__bit/bit_log2.h
Log Message:
-----------
[libc++][NFC] Reuse `__bit_log2` for `sort` (#135303)
The `__log2i` function template in `<algorithm/sort.h>` is basically
equivalent to `__bit_log2` in `<__bit/bit_log2.h>`. It seems better to
avoid duplication.
Commit: b0acbbee88f8ae706658f2a7635df4ce39e15e74
https://github.com/llvm/llvm-project/commit/b0acbbee88f8ae706658f2a7635df4ce39e15e74
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir][vector] Fix deprecation warning for `.isa`. NFC. (#135512)
This was introduced in: https://github.com/llvm/llvm-project/pull/135371
Commit: 39662922e15c53f54da93b5a1d029589d49caec9
https://github.com/llvm/llvm-project/commit/39662922e15c53f54da93b5a1d029589d49caec9
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
MCObjectStreamer: Refine absoluteSymbolDiff condition
The function is called to test the fast path - when Lo/Hi are within the
same fragment. This is unsafe - Lo/Hi at the begin and end of a
relaxable fragment should not evaluate to a constant. However, we don't
have tests that exercise the code path.
Nevertheless, make the check safer and remove the now unnecessary
isRISCV check (from https://reviews.llvm.org/D103539).
Commit: 3e7be494f84e51d5f4245d6f39e380a500f226a6
https://github.com/llvm/llvm-project/commit/3e7be494f84e51d5f4245d6f39e380a500f226a6
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
M libcxx/test/support/nasty_string.h
Log Message:
-----------
[libc++][test] Test `nasty_string` in C++20 (#135338)
It seems that we can only rely on C++20 features and make `nasty_string`
also tested for MSVC STL.
Commit: 329a675006a22da89ca39199fac4408e3ae4eee4
https://github.com/llvm/llvm-project/commit/329a675006a22da89ca39199fac4408e3ae4eee4
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Simplify STT_SECTION adjustment. NFC
Commit: 1c5961c0481b9c7421d38e3141d3c5a1e6084234
https://github.com/llvm/llvm-project/commit/1c5961c0481b9c7421d38e3141d3c5a1e6084234
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/test/MC/ELF/reloc-directive.s
Log Message:
-----------
ELFObjectWriter: Disable STT_SECTION adjustment for .reloc
to match GNU Assembler. This generalizes the SHT_LLVM_CALL_GRAPH_PROFILE
(which uses BFD_RELOC_NONE https://reviews.llvm.org/D104080) special case.
Commit: 3ff634dee857c4d71ff665e49d38005e608de8a0
https://github.com/llvm/llvm-project/commit/3ff634dee857c4d71ff665e49d38005e608de8a0
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/test/MC/ELF/reloc-directive.s
Log Message:
-----------
Revert "ELFObjectWriter: Disable STT_SECTION adjustment for .reloc"
This reverts commit 1c5961c0481b9c7421d38e3141d3c5a1e6084234.
Inadvertently pushed.
Commit: 302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
https://github.com/llvm/llvm-project/commit/302bc414103eb6de9c0dce62cfd37bf3ab7e8cbe
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
Log Message:
-----------
[clang-tidy] `matchesAnyListedTypeName` support non canonical types (#134869)
Commit: 06814834a63139ff27efe3bdbc6dc15d46666b39
https://github.com/llvm/llvm-project/commit/06814834a63139ff27efe3bdbc6dc15d46666b39
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
Log Message:
-----------
[clang-tidy] treat unsigned char and signed char as char type by default in bugprone-unintended-char-ostream-output (#134870)
Add `AllowedTypes` options to support custom defined char like type.
treat `unsigned char` and `signed char` as char like type by default.
The allowed types only effect when the var decl or explicit cast to this
non-canonical type names.
Fixed: #133425
Commit: 734660b6dd95d37604ac43f43de4f8da518e7319
https://github.com/llvm/llvm-project/commit/734660b6dd95d37604ac43f43de4f8da518e7319
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Simplify STT_SECTION adjustment
Commit: 19730e37ec5d3513d188a75999c964f2ef4b9509
https://github.com/llvm/llvm-project/commit/19730e37ec5d3513d188a75999c964f2ef4b9509
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Make .reloc test generic
Move `Fixup.getKind() >= FirstLiteralRelocationKind` from target hooks
to ELFObjectWriter::recordRelocation.
Currently, getRelocType cannot be skipped for LoongArch due to #135519
Commit: 6196379baf4fe42b6c1a4bea270df39b7152547b
https://github.com/llvm/llvm-project/commit/6196379baf4fe42b6c1a4bea270df39b7152547b
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
Log Message:
-----------
[PowerPC] Fix -Wunused-variable
Commit: 7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
https://github.com/llvm/llvm-project/commit/7940b0546ba0c28990bc059c8c3ec36fdad0fd0a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-12 (Sat, 12 Apr 2025)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Fix warning
This patch fixes:
bolt/lib/Core/BinaryContext.cpp:582:8: error: unused variable
'printEntryDiagnostics' [-Werror,-Wunused-variable]
bolt/lib/Core/BinaryContext.cpp:842:10: error: unused variable
'isSibling' [-Werror,-Wunused-variable]
Commit: f4fba20726aced418dc7ae24e47ee78f109a64cb
https://github.com/llvm/llvm-project/commit/f4fba20726aced418dc7ae24e47ee78f109a64cb
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBReproducer.h
M lldb/include/lldb/Core/Debugger.h
R lldb/scripts/reproducer-replay.py
M lldb/source/API/SBReproducer.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Interpreter/TestCommandPaths.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
M lldb/unittests/Process/ProcessEventDataTest.cpp
M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
M lldb/unittests/Target/ExecutionContextTest.cpp
M lldb/unittests/Target/MemoryTest.cpp
M lldb/unittests/Target/StackFrameRecognizerTest.cpp
M lldb/unittests/Thread/ThreadTest.cpp
Log Message:
-----------
[lldb] Remove vestigial remnants of reproducers (#135361)
Not touching the SB API.
Commit: d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
https://github.com/llvm/llvm-project/commit/d6e2aee9b1069b4a5fc1a0b07aef23b380f856f6
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
Revert "[tosa]: canonicalize dynamic size of tosa.slice to static output shape" (#135525)
Reverts llvm/llvm-project#135429 due buildbot breakage:
https://lab.llvm.org/buildbot/#/builders/169/builds/10405
Based on the ASan output, I think after the replaceOp on line 775, it's
no longer valid to do getSize() on sliceOp:
```
775 rewriter.replaceOp(sliceOp, newSliceOp.getResult());
776
777 // Remove const_shape size op when it no longer has use point.
778 Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```
Commit: 12a7155ee290d62fef00362554b392a98b75fb77
https://github.com/llvm/llvm-project/commit/12a7155ee290d62fef00362554b392a98b75fb77
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port mlir-translate bits of acf964b95f54.
Commit: 5c45e239e81972ec3ff84b1650825385ccad0d46
https://github.com/llvm/llvm-project/commit/5c45e239e81972ec3ff84b1650825385ccad0d46
Author: A. Jiang <de34 at live.cn>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
Log Message:
-----------
[libc++][test][NFC] Remove unused inclusions of `<iostream>` (#134776)
Some test files for flat container adaptors redundantly include
`<iostream>` and, surprisingly, `<cstddef>`. This patch removes the
redundant inclusions.
Inclusions of `<vector>` is also removed since a sane implementation is
expected to make instantiation of `flat_(multi)map<K, V>` or
`flat_(multi)set<K>` valid when only `<flat_map>` or `<flat_set>` is
included.
Commit: 028429ac452acde227ae0bfafbfe8579c127e1ea
https://github.com/llvm/llvm-project/commit/028429ac452acde227ae0bfafbfe8579c127e1ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
Log Message:
-----------
clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)
These have been empty since July 2023
Commit: 1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
https://github.com/llvm/llvm-project/commit/1c5ce2d74fa3ee15d1cb2e092cce0754c8ce19fa
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
Log Message:
-----------
Reapply "[lldb] ProcessGdbRemote header gardning"
This reverts commit 68ab45f0533f3bbfc1c96bddd53de7e769180219, reapplying
2fd860c1f559c0b0be66cc000e38270a04d0a1a3. The only change is keeping
"lldb/Host/Config.h", which I believe was the cause of the failures.
Commit: ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
https://github.com/llvm/llvm-project/commit/ca5b3a0f51baa6fddef4d888bf0aacca89e6f565
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCSymbol.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
Log Message:
-----------
[MC] Remove SetUsed on isUndefined and getFragment
Due to the known limitations of .set reassignment (see
https://sourceware.org/PR288), we use diagnostics to reject patterns
that could lead to errors (ae7ac010594f693fdf7b3ab879e196428d961e75 2009-06)).
This code gets refined multiple times, see:
* 9b4a824217f1fe23f83045afe7521acb791bc2d0 (2010-05) `IsUsedInExpr`
* 46c79ef1132607aead144dfda0f26aa8b065214f (2010-11) renamed `IsUsedInExpr` to `IsUsed`
The related `SetUsed` bit seems unnecessary nowadays.
Commit: 1004fae222efeee215780c4bb4e64eb82b07fb4f
https://github.com/llvm/llvm-project/commit/1004fae222efeee215780c4bb4e64eb82b07fb4f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
flang: Try to update test for oclc_daz_opt removal
Try to fix bot failure after 028429ac452acde227ae0bfafbfe8579c127e1ea
Commit: 4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
https://github.com/llvm/llvm-project/commit/4e0876ee43d00c5fc28ed30bcb7c1aac2b18674f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/include/__atomic/memory_order.h
M libcxx/include/__functional/hash.h
M libcxx/include/__type_traits/underlying_type.h
M libcxx/include/__utility/convert_to_integral.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/future
Log Message:
-----------
[libc++] Use __underlying_type directly in underyling_type_t (#135423)
This avoids instantiating multiple classes, reducing compile times. This
patch also introduces `__underyling_type_t` for internal use, similar to
other type traits.
Commit: 3bebda0758409e91c25fa5add72ff22f3ddff609
https://github.com/llvm/llvm-project/commit/3bebda0758409e91c25fa5add72ff22f3ddff609
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Mark VPWidenCallRecipe as a VPRecipeWithIRFlags (#135373)
I noticed VPWidenCallRecipe was missing here, it looks like it should be
handled in VPRecipeWithIRFlags::classof
Commit: 84666d68740bea9eee19399ab5c8622ff2f6e9ca
https://github.com/llvm/llvm-project/commit/84666d68740bea9eee19399ab5c8622ff2f6e9ca
Author: Sean Perry <perry at ca.ibm.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
Add back include for AutoConvert.h as it's needed for z/OS (#135430)
The commit
https://github.com/llvm/llvm-project/commit/a1935fd3809772c06f9a09fa151181642ae92b20
removed an include that is needed when building on z/OS.
Commit: beac727e48346efb84558696fb080b1bbd07e234
https://github.com/llvm/llvm-project/commit/beac727e48346efb84558696fb080b1bbd07e234
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
IROutliner: Do not look at use lists of constant phi inputs (#135019)
Theoretically this does a worse job with globals but this is not
covered by existing tests
Commit: 09588e93bbe486ce782de9fba604f5cd184ec446
https://github.com/llvm/llvm-project/commit/09588e93bbe486ce782de9fba604f5cd184ec446
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
Log Message:
-----------
[clang][bytecode] Fix an inconsistency with loop condition jumps (#135530)
When emitting the jump for e.g. a for loop condition, we used to jump
out of the CondScope, leaving the scope initialized, because we skipped
the corresponding Destroy opcode. If that loop was in a loop itself,
that outer loop could then iterate once more, leading to us initializing
a scope that was still initialized.
Fix this by also destroying the scope after the EndLabel.
Commit: 0f607f3df54e22896b484510f0c1ccfb718de67a
https://github.com/llvm/llvm-project/commit/0f607f3df54e22896b484510f0c1ccfb718de67a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
Log Message:
-----------
[VPlan] Simplify 'or x, true' -> true.
Add additional OR simplification to fix a divergence between legacy and
VPlan-based cost model.
This adds a new m_AllOnes matcher by generalizing specific_intval to
int_pred_ty, which takes a predicate to check to support matching both
specific APInts and other APInt predices, like isAllOnes.
Fixes https://github.com/llvm/llvm-project/issues/131359.
Commit: ed43207306f7351f2b4f8284710b028df973d74e
https://github.com/llvm/llvm-project/commit/ed43207306f7351f2b4f8284710b028df973d74e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
M llvm/test/Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
Log Message:
-----------
[SimplifyCFG] Handle trunc condition in foldBranchToCommonDest. (#135490)
proof: https://alive2.llvm.org/ce/z/v32Aof
Commit: 77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
https://github.com/llvm/llvm-project/commit/77fcdb9f26d2d9da04767894b23b71e52e5ac7ce
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#132660)
Commit: bb9580a02b393683ff0b6c360df684f33c715a1f
https://github.com/llvm/llvm-project/commit/bb9580a02b393683ff0b6c360df684f33c715a1f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/test/Analysis/ScalarEvolution/pr135531.ll
Log Message:
-----------
[SCEV] Use ashr to adjust constant multipliers (#135534)
SCEV converts "-2 *nsw (i32 V)" into "2148473647 *nsw (i32 V)". But we
cannot preserve the nsw flag when the constant multiplier is negative.
This patch changes lshr to ashr so that we can preserve both nsw and nuw
flags.
Alive2 proof: https://alive2.llvm.org/ce/z/LZVSEa
Closes https://github.com/llvm/llvm-project/issues/135531.
Commit: 5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
https://github.com/llvm/llvm-project/commit/5550d302288f95fc9bb91d0ba35e5ca459ffd9b1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
Log Message:
-----------
[VPlan] Check captured operand when simplifying redundant OR.
Follow-up to 0f607f to actually use the captured operand X instead of Y.
Commit: 703cfe745b96751c1204bcffe4e56038c809247f
https://github.com/llvm/llvm-project/commit/703cfe745b96751c1204bcffe4e56038c809247f
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libcxx/include/__bit/popcount.h
M libcxx/include/__stop_token/atomic_unique_lock.h
Log Message:
-----------
[libc++] Replace __libcpp_popcount by __builtin_popcountg (#133937)
`__libcpp_popcount` was previously used as a fallback for `__builtin_popcountg` to ensure compatibility with older compilers (Clang 18 and earlier), as `__builtin_popcountg` became available in Clang 19. Now that support for Clang 18 has been officially dropped in #130142, we can now safely replace all instances of `__libcpp_popcount` with `__builtin_popcountg` and eliminate the fallback logic.
Commit: 62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
https://github.com/llvm/llvm-project/commit/62d2cc84ac57afa47c2b1de599f9fd6e40adaacd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#135540)
Commit: 4b4cd645a829b8e510bdb008f449969d7bf53c30
https://github.com/llvm/llvm-project/commit/4b4cd645a829b8e510bdb008f449969d7bf53c30
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated map lookups (NFC) (#135541)
Commit: d1d5f00a8eb43aaa22274c06b58d567f19e284fe
https://github.com/llvm/llvm-project/commit/d1d5f00a8eb43aaa22274c06b58d567f19e284fe
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Passes/StandardInstrumentations.cpp
Log Message:
-----------
[Passes] Avoid repeated hash lookups (NFC) (#135542)
Commit: ccfb97b42174eab118a4e4222c25e986db876563
https://github.com/llvm/llvm-project/commit/ccfb97b42174eab118a4e4222c25e986db876563
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/ROCm.h
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/rocm-device-libs.cl
M flang/test/Driver/omp-driver-offload.f90
Log Message:
-----------
Revert "clang/AMDGPU: Stop looking for oclc_daz_opt_* control libraries (#134805)"
This reverts commit 028429ac452acde227ae0bfafbfe8579c127e1ea and
1004fae222efeee215780c4bb4e64eb82b07fb4f.
These really need to be part of the compiler distribution. Bots are
relying on a nearly year old version to provide bitcode.
Commit: 1264d7a53a4de3094672be2a248db57b213f33ac
https://github.com/llvm/llvm-project/commit/1264d7a53a4de3094672be2a248db57b213f33ac
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
[driver] Generalize the code that adds the path of libflang_rt.runtime.a. (#134362)
The PR is to generalize the re-use of the `compilerRT` code of adding
the path of `libflang_rt.runtime.a (so)` from AIX and LoP only to all
platforms via a new function `addFlangRTLibPath`.
It also added `-static-libflangrt` and `-shared-libflangrt` compiler
options to allow users choosing which `flang-rt` to link to. It defaults
to shared `flang-rt`, which is consistent with the linker behavior,
except on AIX, it defaults to static.
Also, PR #134320 exposed an issue in PR #131041 that the the overriding
`addFortranRuntimeLibs` is missing the link to `libquadmath`. This PR
also fixed that and restored the test case that PR #131041 broke.
Commit: 578ca5e469ef1c91a79aa15bc186921ee7faa855
https://github.com/llvm/llvm-project/commit/578ca5e469ef1c91a79aa15bc186921ee7faa855
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[clang][bytecode] Print jump lines in Function::dump() (#135482)
E.g. for
```c++
constexpr int foo(int b) {
int a = 1+1;
for (int i = 0; i < b; ++i) {
++a;
}
return a;
}
```
we now print:
```
foo 0x7cc8d4bf0580
frame size: 128
arg size: 8
rvo: 0
this arg: 0
0 InitScope 0
16 ConstSint32 1
32 ConstSint32 1
48 AddSint32
56 SetLocalSint32 40
72 ConstSint32 0
88 SetLocalSint32 104
104 GetPtrLocal 104 <-+
120 LoadPopSint32 |
128 GetPtrParam 0 |
144 LoadPopSint32 |
152 LTSint32 |
160 Jf 80 --+ |
176 GetPtrLocal 40 | |
192 IncPopSint32 1 | |
208 GetPtrLocal 104 | |
224 IncPopSint32 1 | |
240 Jmp -152 | --+
256 GetPtrLocal 40 <-+
272 LoadPopSint32
280 Destroy 0
296 RetSint32
304 Destroy 0
320 NoRet
```
Commit: ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
https://github.com/llvm/llvm-project/commit/ce01e4e2f6cb2a1c37e3acceeac931b2031a02e8
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/opencl-kernel-call.cl
Log Message:
-----------
[Clang][OpenCL][AMDGPU] Use `byref` for aggregate OpenCL kernel arguments (#134892)
Due to a previous workaround allowing kernels to be called from other
functions,
Clang currently doesn't use the `byref` attribute for aggregate kernel
arguments. The issue was recently resolved in
https://github.com/llvm/llvm-project/pull/115821. With that fix, we can
now
enable the use of `byref` consistently across all languages.
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Fixes SWDEV-247226.
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
https://github.com/llvm/llvm-project/commit/db20b0d4ec96e4dee0b5ca6e7ddd616eafd88d40
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/test/Transforms/ObjCARC/contract.ll
Log Message:
-----------
ObjCARC: Add regressed testcase from #134275
Commit: a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
https://github.com/llvm/llvm-project/commit/a24ef4b07ee798b14fe0f3daa23cc3ec09410bc6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/sincospi.ll
Log Message:
-----------
SimplifyLibCalls: Skip sincospi optimization for ConstantData (#134688)
Avoids looking at the uselist, and it would probably be more
productive to constant fold this.
Commit: b37476f99c37a9edf48684d82dde745d9e0df957
https://github.com/llvm/llvm-project/commit/b37476f99c37a9edf48684d82dde745d9e0df957
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Analysis/PHITransAddr.cpp
M llvm/test/Transforms/GVN/pr65447.ll
Log Message:
-----------
PHITransAddr: Avoid looking at constant use lists (#134689)
Avoids asserts in GVN
Commit: 393c783a10052b14d2b76b3ee930b3d83e7f1a16
https://github.com/llvm/llvm-project/commit/393c783a10052b14d2b76b3ee930b3d83e7f1a16
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/AMDGPU/swdev380865.ll
M llvm/test/CodeGen/PowerPC/pr43527.ll
M llvm/test/CodeGen/PowerPC/pr48519.ll
M llvm/test/CodeGen/PowerPC/sms-grp-order.ll
M llvm/test/Transforms/LICM/pr50367.ll
M llvm/test/Transforms/LICM/pr59324.ll
Log Message:
-----------
LICM: Avoid looking at use list of constant data (#134690)
The codegen test changes seem incidental. Either way,
sms-grp-order.ll seems to already not hit the original issue.
Commit: 30ae47eeefaeb2c78ae7f234621b8bb0444b7844
https://github.com/llvm/llvm-project/commit/30ae47eeefaeb2c78ae7f234621b8bb0444b7844
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
Log Message:
-----------
SCEVExpander: Don't look at uses of constants (#134691)
This could be more relaxed, and look for uses of globals in
the same function but no tests apparently depend on that.
Commit: 0a27c4e318e778b520306a9e2102e03023cfaa33
https://github.com/llvm/llvm-project/commit/0a27c4e318e778b520306a9e2102e03023cfaa33
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/cmake/modules/TableGen.cmake
M llvm/include/llvm/TableGen/Main.h
M llvm/include/llvm/TableGen/StringToOffsetTable.h
M llvm/lib/TableGen/CMakeLists.txt
M llvm/lib/TableGen/Main.cpp
A llvm/lib/TableGen/StringToOffsetTable.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/Basic/TableGen.cpp
M llvm/utils/TableGen/SDNodeInfoEmitter.cpp
M llvm/utils/gn/secondary/llvm/lib/TableGen/BUILD.gn
Log Message:
-----------
[StrTable] Use string literal emission for intrinsics on non-MSVC platforms (#124856)
This mainly transitions the LLVM intrinsic string table from character
emission to string literal emission, which I confirmed happens for me
locally.
I moved the guts of StringToOffsetTable to a cpp file so I could move
the `EmitLongStrLiterals` cl::opt global to a non-vague linkage home in
the `TableGen` library. I had to add missing FormatVariadic.h includes
to account for moving other includes to a cpp file.
Commit: 5f11d64cfb44fc0adf3d3235b0e480d930379e9d
https://github.com/llvm/llvm-project/commit/5f11d64cfb44fc0adf3d3235b0e480d930379e9d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Format/WhitespaceManager.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in AlignConsecutiveDeclarations (#135516)
Fix #109768
Commit: c41ef751f85ee42f40380d064f44cfd347fb6215
https://github.com/llvm/llvm-project/commit/c41ef751f85ee42f40380d064f44cfd347fb6215
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Treat lambda in braced init as inline (#135520)
Fix #125430
Commit: dd107b20daedbc49dc3003ae2cb2e846267c308c
https://github.com/llvm/llvm-project/commit/dd107b20daedbc49dc3003ae2cb2e846267c308c
Author: Firas Khalil Khana <firasuke at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M libunwind/docs/BuildingLibunwind.rst
Log Message:
-----------
Update LIBUNWIND_ENABLE_WERROR default value in BuildingLibunwind.rst (#135546)
`LIBUNWIND_ENABLE_WERROR` defaults to `OFF` according to
[CMakeLists.txt](https://github.com/llvm/llvm-project/blob/main/libunwind/CMakeLists.txt#L43).
Commit: 974bda8f61e056f90b17baa6db686c91d20ebe9d
https://github.com/llvm/llvm-project/commit/974bda8f61e056f90b17baa6db686c91d20ebe9d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/codegen.cpp
Log Message:
-----------
[clang][bytecode] Reject constexpr-unknown pointers from Inc ops (#135548)
We used to accept c++ as a known value here, causing wrong codegen.
Commit: c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
https://github.com/llvm/llvm-project/commit/c0afb77c2ab92d244d66f2e9bfcf7da92af6091c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/function-call-invalid.s
M llvm/test/MC/RISCV/tail-call-invalid.s
Log Message:
-----------
RISCVAsmParser: Reject call foo at invalid
... instead of silently parsing and ignoring it without leaving an error
message.
While here, remove an unreachable `@plt`.
Pull Request: https://github.com/llvm/llvm-project/pull/135509
Commit: d893d129e6ee8b4dead1532cd8420750908acca6
https://github.com/llvm/llvm-project/commit/d893d129e6ee8b4dead1532cd8420750908acca6
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
A mlir/test/Conversion/GPUToROCDL/gpu-to-rocdl-unsupported.mlir
M mlir/test/Dialect/GPU/shuffle-rewrite.mlir
Log Message:
-----------
[mlir] GPUToROCDL: Fix crashes with unsupported shuffle datatypes (#135504)
Calling `getIntOrFloatBitWidth` on non-int/float types (`gpu.shuffle`
also accepts vectors) will crash.
Commit: e555ccaa4da77b5d3065ed7d002e7073db995199
https://github.com/llvm/llvm-project/commit/e555ccaa4da77b5d3065ed7d002e7073db995199
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
M llvm/lib/Target/Hexagon/HexagonTfrCleanup.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[llvm] Call *Map::erase directly (NFC) (#135545)
Commit: 91a205653e8fa5a338c985b9a9dbaaaec62e3475
https://github.com/llvm/llvm-project/commit/91a205653e8fa5a338c985b9a9dbaaaec62e3475
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-abs-srshl.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-comb-all-active-lanes-cvt.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-loadstore.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-cmpne.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-strictfp.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-combine-to-u-forms.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-ptest.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsics-rdffr-predication.ll
Log Message:
-----------
[AArch64][SVE] Instcombine ptrue(all) to splat(i1) (#135016)
SVE Operations such as predicated loads become canonicalized to LLVM
masked loads, and doing the same for ptrue(all) to splat(1) creates
further optimization opportunities from generic LLVM IR passes.
Commit: 543351babff4144675ee8259eeddafc7b441bf0c
https://github.com/llvm/llvm-project/commit/543351babff4144675ee8259eeddafc7b441bf0c
Author: Sayan Saha <sayans at mathworks.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[tosa] : Re-enable PR #135429 with ASAN fix (#135560)
Removed the calls to `sizeOp` after replacing `SliceOp`:
```
// Remove const_shape size op when it no longer has use point.
Operation *sizeConstShape = sliceOp.getSize().getDefiningOp();
```
Turns out as part of canonicalization, trivially dead ops are removed
anyway, so the above piece of code isn't actually needed.
Commit: 87322c903976b4b24b96f460719181cbebde1547
https://github.com/llvm/llvm-project/commit/87322c903976b4b24b96f460719181cbebde1547
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
Log Message:
-----------
[ObjCopy] Use llvm::reverse (NFC) (#135559)
Commit: 99df442df1f88c1078c433618c75ee62f3dd8512
https://github.com/llvm/llvm-project/commit/99df442df1f88c1078c433618c75ee62f3dd8512
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
Log Message:
-----------
Skip test on Darwin
Commit: 3de93015386f17d3430c6534b9fa3e2a9adfaa1a
https://github.com/llvm/llvm-project/commit/3de93015386f17d3430c6534b9fa3e2a9adfaa1a
Author: Yoann Congal <yoann.congal at smile.fr>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/test/CMakeLists.txt
M clang-tools-extra/clangd/test/lit.site.cfg.py.in
Log Message:
-----------
[clangd] Add a build option to disable building dexp (#133124)
Building dexp on Debian 11 currently causes intermittent failures [0] [1].
Adding the CLANGD_BUILD_DEXP option to disable dexp from the build
allows Debian 11 users to build clang (albeit without the dexp tool).
This option is set to "Build Dexp" by default so, no change is expected
without manual setting.
[0]: https://bugzilla.yoctoproject.org/show_bug.cgi?id=15803
[1]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1101322
Commit: 425ccd50dc6dd154c448fba8dbcbb4d2f726b331
https://github.com/llvm/llvm-project/commit/425ccd50dc6dd154c448fba8dbcbb4d2f726b331
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/test/BUILD.gn
Log Message:
-----------
[gn] port 3de93015386f
Commit: cbe8f3ad7621e402b050e768f400ff0d19c3aedd
https://github.com/llvm/llvm-project/commit/cbe8f3ad7621e402b050e768f400ff0d19c3aedd
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop2.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
Log Message:
-----------
[AMDGPU][True16][MC] fix fmac_f16_t16 vop3 format (#135464)
add fmac_f16_t16_e64 to isfmac check to fix the vop3 format of
fmac_f16_t16 instruction
Commit: 52e45a79ad24f8a2347a5566e6abaa207918df62
https://github.com/llvm/llvm-project/commit/52e45a79ad24f8a2347a5566e6abaa207918df62
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Target/Language.cpp
Log Message:
-----------
[lldb][Language] Change GetFunctionDisplayName to take SymbolContext by reference (#135536)
Both the `CPlusPlusLanguage` plugins and the Swift language plugin
already assume the `sc != nullptr`. And all `FormatEntity` callsites of
`GetFunctionDisplayName` already check for nullptr before passing `sc`.
This patch makes this pre-condition explicit by changing the parameter
to `const SymbolContext &`. This will help with some upcoming changes in
this area.
Commit: 5710759eb390c0d5274c2a4d43967282d7df1993
https://github.com/llvm/llvm-project/commit/5710759eb390c0d5274c2a4d43967282d7df1993
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCAsmBackend,X86: Pass MCValue to fixupNeedsRelaxationAdvanced. NFC
This parameter eliminates a redundant computation for VK_ABS8 in X86 and
reduces reliance on shouldForceRelocation in relaxation decisions.
Note: `local: jmp local at plt` relaxes JMP. This behavior depends on
fixupNeedsRelaxation calling shouldForceRelocation, which might change
in the future.
Commit: 1e153b782ea3054c02dd0016314fca11a5d781da
https://github.com/llvm/llvm-project/commit/1e153b782ea3054c02dd0016314fca11a5d781da
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
M lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp
M lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
M lldb/test/Shell/Settings/TestFrameFormatName.test
Log Message:
-----------
[lldb][Format] Display only the inlined frame name in backtraces if available (#135343)
When a frame is inlined, LLDB will display its name in backtraces as
follows:
```
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3
* frame #0: 0x0000000100000398 a.out`func() [inlined] baz(x=10) at inline.cpp:1:42
frame #1: 0x0000000100000398 a.out`func() [inlined] bar() at inline.cpp:2:37
frame #2: 0x0000000100000398 a.out`func() at inline.cpp:4:15
frame #3: 0x00000001000003c0 a.out`main at inline.cpp:7:5
frame #4: 0x000000026eb29ab8 dyld`start + 6812
```
The longer the names get the more confusing this gets because the first
function name that appears is the parent frame. My assumption (which may
need some more surveying) is that for the majority of cases we only care
about the actual frame name (not the parent). So this patch removes all
the special logic that prints the parent frame.
Another quirk of the current format is that the inlined frame name does
not abide by the `${function.name-XXX}` format variables. We always just
print the raw demangled name. With this patch, we would format the
inlined frame name according to the `frame-format` setting (see the
test-cases).
If we really want to have the `parentFrame [inlined] inlinedFrame`
format, we could expose it through a new `frame-format` variable (e..g.,
`${function.inlined-at-name}` and let the user decide where to place
things.
Commit: 634f9a981571eae000c1adc311014c5c64486187
https://github.com/llvm/llvm-project/commit/634f9a981571eae000c1adc311014c5c64486187
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
Log Message:
-----------
ARMAsmBackend: Use fixupNeedsRelaxationAdvanced. NFC
This prepares for the upcoming change to simplify relocation recording
in MCAssembler.
While both MCAssembler::fixupNeedsRelaxation and
MCAssembler::handleFixup call evaluateFixup and use
shouldForceRelocation, the shouldForceRelocation logic is not supposed
to be needed by MCAssembler::fixupNeedsRelaxation.
The ARM special cases for interworking branches
(https://reviews.llvm.org/D33436 and https://reviews.llvm.org/D33898)
break the assumption. Switch to fixupNeedsRelaxationAdvanced and
explicitly test the conditions.
Commit: af7a7ba4aadea3600e78a5f522b72e5413c8e595
https://github.com/llvm/llvm-project/commit/af7a7ba4aadea3600e78a5f522b72e5413c8e595
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb][Format][NFC] Factor FunctionNameWithArgs case out into helper function
Commit: 5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
https://github.com/llvm/llvm-project/commit/5d87ebf3ade73d43b2dc334e4d23bc86ddc47879
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Refactor fixup evaluation and relocation generation
Follow-up to commits 5710759eb390c0d5274c2a4d43967282d7df1993
and 634f9a981571eae000c1adc311014c5c64486187
- Integrate `evaluateFixup` into `recordRelocation` and inline code
within `MCAssembler::layout`, removing `handleFixup`.
- Update `fixupNeedsRelaxation` to bypass `shouldForceRelocation` when
calling `evaluateFixup`, eliminating the `WasForced` workaround for
RISC-V linker relaxation (https://reviews.llvm.org/D46350 ).
Commit: 20d35fe5a58c3d90613dd50ec91aca700e111726
https://github.com/llvm/llvm-project/commit/20d35fe5a58c3d90613dd50ec91aca700e111726
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/WindowScheduler.cpp
M llvm/lib/ExecutionEngine/Orc/Shared/ObjectFormats.cpp
M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[llvm] Use llvm::is_contained (NFC) (#135566)
Commit: dc5178cc41d876b4e3d8ace9545f6e9898ef654b
https://github.com/llvm/llvm-project/commit/dc5178cc41d876b4e3d8ace9545f6e9898ef654b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/WinException.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[CodeGen] Use llvm::append_range (NFC) (#135567)
Commit: f1ba4bb805b918bc464aa7232cb446cca10ef5a3
https://github.com/llvm/llvm-project/commit/f1ba4bb805b918bc464aa7232cb446cca10ef5a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMUnwindOpAsm.h
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmTypeCheck.cpp
Log Message:
-----------
[Target] Use llvm::append_range (NFC) (#135568)
Commit: 1f195afa57942db3f616e0595eb5816d1359dd2e
https://github.com/llvm/llvm-project/commit/1f195afa57942db3f616e0595eb5816d1359dd2e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Sema] Use llvm::erase_if (NFC) (#135574)
Commit: ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
https://github.com/llvm/llvm-project/commit/ebba554a3211b0b98d3ae33ba70f9d6ceaab6ad4
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/test/CodeGen/attr-target-x86.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86][AVX10] Remove VAES and VPCLMULQDQ feature from AVX10.1 (#135489)
According to SDM, they require both VAES/VPCLMULQDQ and AVX10.1 CPUID
bits.
Fixes: #135394
Commit: a32d4917c82840179a9ff5686567834922fc4e6d
https://github.com/llvm/llvm-project/commit/a32d4917c82840179a9ff5686567834922fc4e6d
Author: Jim Lin <jim at andestech.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Clean up the code for isBareSimmNLsb0. NFC.
Commit: 7778a197e65ad1b0cae794318870d41d8c59a3fb
https://github.com/llvm/llvm-project/commit/7778a197e65ad1b0cae794318870d41d8c59a3fb
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
Log Message:
-----------
[MC] Remove unused `MCAsmBackend::isMicroMips()` method (NFC) (#135581)
The only use was removed by 4c892770.
Commit: e038c5401c99ca1f19a873a5c88ad7db4645a26a
https://github.com/llvm/llvm-project/commit/e038c5401c99ca1f19a873a5c88ad7db4645a26a
Author: Tianle Liu <tianle.l.liu at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
A llvm/test/Other/new-pm-lto-prelink-samplepgo-inline-threshold.ll
R llvm/test/Other/new-pm-thinlto-prelink-samplepgo-inline-threshold.ll
Log Message:
-----------
[LTO][Pipelines] Add 0 hot-caller threshold for SamplePGO + FullLTO (#135152)
If a hot callsite function is not inlined in the 1st build, inlining the
hot callsite in pre-link stage of SPGO 2nd build may lead to Function
Sample not found in profile file in link stage. It will miss some
profile info.
ThinLTO has already considered and dealed with it by setting
HotCallSiteThreshold to 0 to stop the inline. This patch just adds the
same processing for FullLTO.
Commit: 5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
https://github.com/llvm/llvm-project/commit/5ecc0ef6b01fe9dcca8fcaa8b306cd94c2239db4
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/IR/Properties.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/IR/enum-attr-invalid.mlir
M mlir/test/IR/enum-attr-roundtrip.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] Improve EnumProp, making it take an EnumInfo (#132349)
This commit improves the `EnumProp` class, causing it to wrap around an
`EnumInfo` just like` EnumAttr` does. This EnumProp also has logic for
converting to/from an integer attribute and for being read and written
as bitcode.
The following variants of `EnumProp` are provided:
- `EnumPropWithAttrForm` - an EnumProp that can be constructed from (and
will be converted to, if `storeInCustomAttribute` is true) a custom
attribute, like an `EnumAttr`, instead of a plain integer. This is meant
for backwards compatibility with code that uses enum attributes.
`NamedEnumProp` adds a "`mnemonic` `<` $enum `>`" syntax around the
enum, replicating a common pattern seen in MLIR printers and allowing
for reduced ambiguity.
`NamedEnumPropWithAttrForm` combines both of these extensions.
(Sadly, bytecode auto-upgrade is hampered by the lack of the ability to
optionally parse an attribute.)
Depends on #132148
Commit: d0cf5cd5f9790dc21396936d076389c3be1a9599
https://github.com/llvm/llvm-project/commit/d0cf5cd5f9790dc21396936d076389c3be1a9599
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)
We add comment markers and print enum names instead of numbers.
For required extensions, we print the feature list instead of raw
bits.
Commit: 47cbc8706cb5d73f2db101165bf213d558f8b0cb
https://github.com/llvm/llvm-project/commit/47cbc8706cb5d73f2db101165bf213d558f8b0cb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#135585)
Commit: 2ff226ae2c9bdafc686d698b69b4a8519213f325
https://github.com/llvm/llvm-project/commit/2ff226ae2c9bdafc686d698b69b4a8519213f325
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
MCAsmBackend,Hexagon: Remove MCRelaxableFragment from fixupNeedsRelaxationAdvanced
Among fixupNeedsRelaxationAdvanced (introduced by
https://reviews.llvm.org/D8217) targets, only Hexagon needs the
`MCRelaxableFragment` parameter (commit
86f218e7ec5d941b7785eaebcb8f4cad76db8a64) to get the instruction packet
(MCInst with sub-instruction operands).
As fixupNeedsRelaxationAdvanced follows mayNeedRelaxation, we can store
the MCInst in mayNeedRelaxation and eliminate the MCRelaxableFragment
parameter.
Follow-up to 7c83b7ef1796210451b839f4c58f2815f4aedfe5 that eliminates
the MCRelaxableFragment parameter from fixupNeedsRelaxation.
Commit: b283ff7eb1d7558594063528af7a94cfe2390e98
https://github.com/llvm/llvm-project/commit/b283ff7eb1d7558594063528af7a94cfe2390e98
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/BranchRelaxation.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/BranchRelaxation.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AArch64/branch-relax-block-size.mir
M llvm/test/CodeGen/AArch64/branch-relax-cross-section.mir
M llvm/test/CodeGen/AMDGPU/branch-relax-no-terminators.mir
Log Message:
-----------
[CodeGen][NPM] Port BranchRelaxation to NPM (#130067)
This completes the PreEmitPasses.
Commit: 21ff45dea1601d6d12438b5201ff09b8726899be
https://github.com/llvm/llvm-project/commit/21ff45dea1601d6d12438b5201ff09b8726899be
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
Revert "[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)"
This reverts commit d0cf5cd5f9790dc21396936d076389c3be1a9599.
Error: "declaration of ‘clang::RISCV::RequiredExtensions
{anonymous}::SemaRecord::RequiredExtensions’ changes meaning of
‘RequiredExtensions’ [-fpermissive]"
Commit: e57f4e8969db32f075d8f3e554506ec8b187a2f1
https://github.com/llvm/llvm-project/commit/e57f4e8969db32f075d8f3e554506ec8b187a2f1
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV][NFC] Make generated intrinsic records more human-readable (#133710)
We add comment markers and print enum names instead of numbers.
For required extensions, we print the feature list instead of raw
bits.
This recommits d0cf5cd which was reverted by 21ff45d.
Commit: 63e2963f4a24cb9365d1224e69f64bf643171023
https://github.com/llvm/llvm-project/commit/63e2963f4a24cb9365d1224e69f64bf643171023
Author: Michael Park <mcypark at gmail.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/relocatable-modules.cpp
Log Message:
-----------
Support '-fmodule-file-home-is-cwd' for C++ modules. (#135147)
Commit: a3f8359410eb7e14c4a52b47f36e433af40c05e9
https://github.com/llvm/llvm-project/commit/a3f8359410eb7e14c4a52b47f36e433af40c05e9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp
Log Message:
-----------
[lldb][test] Fix NativePDB/inline_sites_live.cpp inlined frame format
Adjust after https://github.com/llvm/llvm-project/pull/135343
Commit: 58b5df09dc6f899016fc707bf937b36b36934b6d
https://github.com/llvm/llvm-project/commit/58b5df09dc6f899016fc707bf937b36b36934b6d
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/test/CodeGen/builtin-maxnum-minnum.c
Log Message:
-----------
Clang: Add elementwise minnum/maxnum builtin functions (#129207)
With https://github.com/llvm/llvm-project/pull/112852, we claimed that
llvm.minnum and llvm.maxnum should treat +0.0>-0.0, while libc doesn't
require fmin(3)/fmax(3) for it.
To make llvm.minnum/llvm.maxnum easy to use, we define the builtin
functions for them, include
__builtin_elementwise_minnum
__builtin_elementwise_maxnum
All of them support _Float16, __bf16, float, double, long double.
Commit: 9df153bc146eab7e6c48d5083acb87a6d5c42394
https://github.com/llvm/llvm-project/commit/9df153bc146eab7e6c48d5083acb87a6d5c42394
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused requiresScalarEpilogue function. nfc (#135341)
Commit: ffd5b148941a1146378a247c70c4faface3a1f96
https://github.com/llvm/llvm-project/commit/ffd5b148941a1146378a247c70c4faface3a1f96
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
Log Message:
-----------
[LV] Add test cases for reverse accesses involving irregular types. nfc (#135139)
Add a test with irregular type to ensure the vector load/store
instructions are not generated.
Commit: e710a5a9f274162c63e32aa8d88f6a734759b4a5
https://github.com/llvm/llvm-project/commit/e710a5a9f274162c63e32aa8d88f6a734759b4a5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/fabs-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-as-int.ll
M llvm/test/Transforms/InstCombine/fneg-fabs-as-int.ll
M llvm/unittests/ADT/APFloatTest.cpp
Log Message:
-----------
[InstCombine] Fold fneg/fabs patterns with ppc_f128 (#130557)
This patch is needed by
https://github.com/llvm/llvm-project/pull/130496.
Commit: 1380a8259e5937d7e871c7a754bbf8a662aaa4da
https://github.com/llvm/llvm-project/commit/1380a8259e5937d7e871c7a754bbf8a662aaa4da
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-13 (Sun, 13 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Use llvm::find and llvm::find_if (NFC) (#135582)
Commit: 893cd69872ca8e7be8010699aac32c5678a0e2a6
https://github.com/llvm/llvm-project/commit/893cd69872ca8e7be8010699aac32c5678a0e2a6
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
A llvm/test/CodeGen/RISCV/emit-x8-as-fp.ll
A llvm/test/MC/Disassembler/RISCV/emit-x8-as-fp.txt
A llvm/test/MC/RISCV/emit-x8-as-fp.s
Log Message:
-----------
[RISCV][MC] Emit `x8` as `fp` instead of `s0` (#135500)
When emphasizing `X8`'s functionality related to Frame Pointer, this option can be passed.
Commit: 150e7b14f9474bc4d6891faaae4de6b8c5f6c797
https://github.com/llvm/llvm-project/commit/150e7b14f9474bc4d6891faaae4de6b8c5f6c797
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/test/CodeGen/X86/pr134602.ll
Log Message:
-----------
[X86] Add test coverage for #134602
Commit: cf188d650ce26b4ee3e11101d844361fca15ba64
https://github.com/llvm/llvm-project/commit/cf188d650ce26b4ee3e11101d844361fca15ba64
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-non-byte-sizes.ll
Log Message:
-----------
[AMDGPU] Avoid crashes for non-byte-sized types in PromoteAlloca (#134042)
This patch addresses three problems when promoting allocas to vectors:
- Element types with size < 1 byte in allocas with a vector type caused
divisions by zero.
- Element types whose size doesn't match their AllocSize hit an assertion.
- Access types whose size doesn't match their AllocSize hit an assertion.
With this patch, we do not attempt to promote affected allocas to vectors. In
principle, we could handle these cases in PromoteAlloca, e.g., by truncating
and extending elements from/to their allocation size. It's however unclear if
we ever encounter such cases in practice, so that doesn't seem worth the added
complexity.
For SWDEV-511252
Commit: 53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
https://github.com/llvm/llvm-project/commit/53cd5cfc675dad1bf6bc820a72e0eaa72a8909e7
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
A clang/test/Driver/arm-fpu-selection.s
A clang/test/Driver/armv7-default-neon.s
A clang/test/Driver/armv7s-default-vfpv4.s
M clang/test/Driver/armv8.1m.main.s
Log Message:
-----------
[Clang][ARM] Ensure FPU Features are parsed when targeting `cc1as` (#134612)
Previously, `cc1as` did not consider the Features that can be included
from a target's FPU. This could lead to a situation where assembly files
could not compile as cc1as did not know if a feature was supported.
With this change, all the features for the FPU will be passed to `cc1as`
as `-target-feature` lines. By making this change, it will enable
`+nosimd` to be functional, worked on in #130623, and fix a regression
introduced in 8fa0f0efce5fb81eb422e6d7eec74c66dafef4a3 so
armv7s-apple-darwin targets can utilise VFPv4 correctly.
---------
Co-authored-by: Martin Storsjö <martin at martin.st>
Commit: 1df4af6cbcc3bda86fa76b9aba01424ab39077a4
https://github.com/llvm/llvm-project/commit/1df4af6cbcc3bda86fa76b9aba01424ab39077a4
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
A llvm/test/CodeGen/AArch64/aarch64-sve-fill-spill-pair.ll
A llvm/test/CodeGen/AArch64/sve-vls-ldst-opt.mir
Log Message:
-----------
Reapply "[AArch64][SVE] Pair SVE fill/spill into LDP/STP with -msve-vector-bits=128." (#135177)
Reapplies #134068.
The first patch was missing a check to prevent attempts to pair SVE
fill/spill with other Neon load/store instructions, which could happen
specifically if the Neon instruction was unscaled.
Commit: ed96e4642c76fa199cc427129e6d03fba301a301
https://github.com/llvm/llvm-project/commit/ed96e4642c76fa199cc427129e6d03fba301a301
Author: Matthias Braun <matze at braunis.de>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/test/CodeGen/AArch64/peephole-orr.mir
Log Message:
-----------
AArch64: Allow ZEXT+COPY -> FMOV peephole for ZPR registers as well (#135436)
Commit: e29f986838bcd0ff60cf33e7ae5ee867bad0de00
https://github.com/llvm/llvm-project/commit/e29f986838bcd0ff60cf33e7ae5ee867bad0de00
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/X86/fake-use-remove-loads.mir
Log Message:
-----------
[CodeGen][NPM] Port RemoveLoadsIntoFakeUses to NPM (#130068)
Commit: 51fe5d2c314619796c29af6bd717c5c212faa811
https://github.com/llvm/llvm-project/commit/51fe5d2c314619796c29af6bd717c5c212faa811
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/array.ll
Log Message:
-----------
[InstCombine] Pre-commit tests related to ADDLIKE+GEP->GEP+GEP. NFC (#135154)
InstCombine can transform ADD+GEP into GEP+GEP. But those rewrites does
not currently trigger when the ADD is a disjoint OR (which happens to be
the canonical form for certain ADD operations). Add lit tests to show
that we are lacking such rewrites.
Also add a test case showing that we do not preserve "inbounds nuw",
"nusw nuw" and "nuw" when doing such transforms and the ADD/OR is
known to be NUW.
Commit: 97bc9137e545423334b00d60ab64855ccc434c3a
https://github.com/llvm/llvm-project/commit/97bc9137e545423334b00d60ab64855ccc434c3a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Upload artifacts directory for premerge workflow
The premerge pipeline currently creates an artifacts directory with some
statistics that gets uploaded on the buildkite side for later
inspection. This patch adds support for this on the Github side by using
the upload artifacts action.
Reviewers: Keenuts, lnihlen, mizvekov, tstellar, Endilll
Reviewed By: mizvekov
Pull Request: https://github.com/llvm/llvm-project/pull/135538
Commit: ebd1667059e7b2865a8e419a21df4d4c9735869c
https://github.com/llvm/llvm-project/commit/ebd1667059e7b2865a8e419a21df4d4c9735869c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#135584)
Commit: d792094c26dc6b40136f1e6c2e393c041062e371
https://github.com/llvm/llvm-project/commit/d792094c26dc6b40136f1e6c2e393c041062e371
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/include/lldb/Host/ProcessRunLock.h
M lldb/source/Host/common/ProcessRunLock.cpp
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Remove ProcessRunLock::TrySetRunning (#135455)
I traced the issue reported by Caroline and Pavel in #134757 back to the
call to ProcessRunLock::TrySetRunning. When that fails, we get a
somewhat misleading error message:
> process resume at entry point failed: Resume request failed - process
still running.
This is incorrect: the problem was not that the process was in a running
state, but rather that the RunLock was being held by another thread
(i.e. the Statusline). TrySetRunning would return false in both cases
and the call site only accounted for the former.
Besides the odd semantics, the current implementation is inherently
race-y and I believe incorrect. If someone is holding the RunLock, the
resume call should block, rather than give up, and with the lock held,
switch the running state and report the old running state.
This patch removes ProcessRunLock::TrySetRunning and updates all callers
to use ProcessRunLock::SetRunning instead. To support that,
ProcessRunLock::SetRunning (and ProcessRunLock::SetStopped, for
consistency) now report whether the process was stopped or running
respectively. Previously, both methods returned true unconditionally.
The old code has been around pretty much pretty much forever, there's
nothing in the git history to indicate that this was done purposely to
solve a particular issue. I've tested this on both Linux and macOS and
confirmed that this solves the statusline issue.
A big thank you to Jim for reviewing my proposed solution offline and
trying to poke holes in it.
Commit: 73b554d7a0a666e252f3c837510a55ee1acb1df5
https://github.com/llvm/llvm-project/commit/73b554d7a0a666e252f3c837510a55ee1acb1df5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Make sure the process is stopped when computing the symbol context (#135458)
Make sure the process is stopped when computing the symbol context. Both
Adrian and Felipe reported a handful of crashes in GetSymbolContext
called from Statusline::Redraw on the default event thread.
Given that we're handling a StackFrameSP, it's not clear to me how that
could have gotten invalidated, but Jim points out that it doesn't make
sense to compute the symbol context for the frame when the process isn't
stopped.
Depends on #135455
Commit: 931a78a1db3da210a1ed5681778e37fa011cdf23
https://github.com/llvm/llvm-project/commit/931a78a1db3da210a1ed5681778e37fa011cdf23
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-trunc-sext.mir
Log Message:
-----------
[AMDGPU] Add sext_trunc in RegBankCombiner (#131623)
Commit: 95d526f7f587cc7a3db785169967f8dad0ba3978
https://github.com/llvm/llvm-project/commit/95d526f7f587cc7a3db785169967f8dad0ba3978
Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[MLIR][Tosa] Fix argmax NaN propagate lowering (#133074)
In the propagate mode, NaN compare equal to each other so in case of
several NaNs the index of the first one needs to be returned. This
commit changes the index update condition to check that the current
index is not that of a NaN.
The commit also simplifies argmax NaN ignore lowering to only use OGT.
This prevent any update in case of NaN. The only case where the index of
a NaN is returned is when all values are NaN and this is covered by the
fact that the initial index value is 0 so no update will result in 0
being returned.
Commit: bcd7f54d340c54630a63659e439540891f7efb09
https://github.com/llvm/llvm-project/commit/bcd7f54d340c54630a63659e439540891f7efb09
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .mailmap
Log Message:
-----------
[mailmap] Update my name
Commit: 29555ad5efea20308c7a5ee851a4cba9093a607d
https://github.com/llvm/llvm-project/commit/29555ad5efea20308c7a5ee851a4cba9093a607d
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/array.ll
Log Message:
-----------
[InstCombine] Improve inbounds preservation for ADD+GEP -> GEP+GEP (#135155)
Given that we have a "add nuw" and a "getelementptr inbounds nuw" like
this:
%idx = add nuw i64 %idx1, %idx2
%gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx
Then we can preserve the "inbounds nuw" flag when transforming that into
two getelementptr instructions:
%gep1 = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx1
%gep = getelementptr inbounds nuw i32, ptr %ptr, i64 %idx2
Similarly for just having "nuw", and "nusw nuw" instead of "inbounds nuw"
on the getelementptr.
Proof: https://alive2.llvm.org/ce/z/QSweWW
Commit: dffef041d568e945efbd78c8eb1a3881b67cd405
https://github.com/llvm/llvm-project/commit/dffef041d568e945efbd78c8eb1a3881b67cd405
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/IR/Type.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/IR/Type.cpp
M llvm/unittests/SandboxIR/TypesTest.cpp
Log Message:
-----------
[IR][ADT] Remove `APFloat/Type::isIEEE` (#130496)
Address comment
https://github.com/llvm/llvm-project/pull/130477#issuecomment-2708801892.
Commit: cbda72a5474112e6bc62d5c5978ada7581e80dad
https://github.com/llvm/llvm-project/commit/cbda72a5474112e6bc62d5c5978ada7581e80dad
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
R libclc/generic/include/clc/atom_decl_int32.inc
R libclc/generic/include/clc/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_add.h
A libclc/generic/include/clc/atomic/atom_and.h
A libclc/generic/include/clc/atomic/atom_cmpxchg.h
A libclc/generic/include/clc/atomic/atom_dec.h
A libclc/generic/include/clc/atomic/atom_decl_int32.inc
A libclc/generic/include/clc/atomic/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_inc.h
A libclc/generic/include/clc/atomic/atom_max.h
A libclc/generic/include/clc/atomic/atom_min.h
A libclc/generic/include/clc/atomic/atom_or.h
A libclc/generic/include/clc/atomic/atom_sub.h
A libclc/generic/include/clc/atomic/atom_xchg.h
A libclc/generic/include/clc/atomic/atom_xor.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/clc.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_add.cl
A libclc/generic/lib/atomic/atom_and.cl
A libclc/generic/lib/atomic/atom_cmpxchg.cl
A libclc/generic/lib/atomic/atom_dec.cl
A libclc/generic/lib/atomic/atom_inc.cl
A libclc/generic/lib/atomic/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_max.cl
A libclc/generic/lib/atomic/atom_min.cl
A libclc/generic/lib/atomic/atom_or.cl
A libclc/generic/lib/atomic/atom_sub.cl
A libclc/generic/lib/atomic/atom_xchg.cl
A libclc/generic/lib/atomic/atom_xor.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
Log Message:
-----------
[NFC][libclc] Merge atomic extension built-ins with identical name into a single file (#134489)
llvm-diff shows there is no change to amdgcn--amdhsa.bc.
Similar to how cl_khr_fp64 and cl_khr_fp16 implementations are put in a
same file for math built-ins, this PR do the same to atom_* built-ins.
The main motivation is to prevent that two files with same base name
implementats different built-ins. In a follow-up PR, I'd like to relax
libclc_configure_lib_source to only compare filename instead of path for
overriding, since in our downstream the same category of built-ins, e.g.
math, are organized in several different folders.
Commit: 77341388a77b1442b3a54d745fc269dabb175f0c
https://github.com/llvm/llvm-project/commit/77341388a77b1442b3a54d745fc269dabb175f0c
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[mlir][OpenMP] allow cancellation to not be directly nested (#134084)
omp.cancel and omp.cancellationpoint contain an attribute describing the
type of parent construct which should be cancelled. e.g.
```
!$omp cancel do
```
Must be inside of a wsloop. Previously the verifer required the
immediate parent to be this operation. This is not quite right because
something like the following is valid:
```
!$omp parallel do
do i = 1, N
if (cond) then
!$omp cancel do
endif
enddo
```
This patch relaxes the verifier to only require that some parent
operation matches (not necessarily the immediate parent).
Commit: c9eebc7af440dc012c94d25351eaba92e6a57910
https://github.com/llvm/llvm-project/commit/c9eebc7af440dc012c94d25351eaba92e6a57910
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-redundant-sext-inreg.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-sext-trunc-sextinreg.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.abs.ll
Log Message:
-----------
[GlobalISel] Combine redundant sext_inreg (#131624)
Commit: a9474191e059edbb9b25c769afbe52c7a823f359
https://github.com/llvm/llvm-project/commit/a9474191e059edbb9b25c769afbe52c7a823f359
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/non-capturing-call-readonly.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Improve handling of lifetimes in load-only promotion (#135382)
The propagateStoredValuesToLoads() transform currently bails out if
there is a lifetime intrinsic spanning the whole alloca, but the
individual loads/stores operate on some smaller part, because the slice
/ partition size does not match.
Fix this by ignoring assume-like slices early, regardless of which range
they cover.
I've changed the overall code structure here a bit because I was getting
confused by the different iterators.
Commit: 1e2dc5b0873d990473bba4a52d5085a805f56845
https://github.com/llvm/llvm-project/commit/1e2dc5b0873d990473bba4a52d5085a805f56845
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Add load-only promotion tests with dynamic offset load
Commit: e4a672bc17a2a7dc39e51c9f5e656d705312a12b
https://github.com/llvm/llvm-project/commit/e4a672bc17a2a7dc39e51c9f5e656d705312a12b
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Target/Language.h
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/unittests/Core/CMakeLists.txt
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
M lldb/unittests/Language/ObjC/ObjCLanguageTest.cpp
Log Message:
-----------
[LLDB] Reapply refactored CPlusPlusLanguage::MethodName to break lldb-server dependencies (#135033)
The original PR is #132274.
Co-authored-by: @bulbazord Alex Langford
Commit: 90c01f4bad3132fcff4a73fb39efb64fe4c524b6
https://github.com/llvm/llvm-project/commit/90c01f4bad3132fcff4a73fb39efb64fe4c524b6
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
Log Message:
-----------
[RISCV] Add missing bitmask for some extensions (#135599)
According to:
https://github.com/riscv-non-isa/riscv-c-api-doc/blob/main/src/c-api.adoc#extension-bitmask-definitions
And we sort the bitmask by group id and then bit position.
Commit: 123993fd974629ca0a094918db4c21ad1c2624d0
https://github.com/llvm/llvm-project/commit/123993fd974629ca0a094918db4c21ad1c2624d0
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
[SLP] Make getSameOpcode support interchangeable instructions. (#133888)
We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: e8e98683d70b81802659fa31b458ce3251971248
https://github.com/llvm/llvm-project/commit/e8e98683d70b81802659fa31b458ce3251971248
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
Log Message:
-----------
[RISCV][NFC] Use bitmasks generated by TableGen
So that we don't need to sync-up the table manually.
Reviewers: BeMg, preames, lenary
Reviewed By: BeMg
Pull Request: https://github.com/llvm/llvm-project/pull/135600
Commit: 1c04ebbbb5aff6da50aa62f08b2453e741484b85
https://github.com/llvm/llvm-project/commit/1c04ebbbb5aff6da50aa62f08b2453e741484b85
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/LLVMVisualizers/llvm.natvis
M llvm/utils/gdb-scripts/prettyprinters.py
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
Remove debugger pretty printers for llvm::Optional (#135235)
Since 2916b99182752b1aece8cc4479d8d6a20b5e02da this is just an alias to
std::optional, and by now it has been removed entirely.
Commit: 14cb8c56b26784c684865053a6deb066f9a5e5b5
https://github.com/llvm/llvm-project/commit/14cb8c56b26784c684865053a6deb066f9a5e5b5
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/Endian.h
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
Log Message:
-----------
[lldb] add required for lldb RISCV relocations in MCJIT (#126266)
After implementing CFI instructions in the function prologue, LLDB
testing for RISC-V started failing due to insufficient relocations
(e.g., R_RISCV_SET8, R_RISCV_SET16).
This patch adds support for the necessary RISC-V relocations in MCJIT.
Commit: fe54d1afcca055f464840654dd2ec3fd83aea688
https://github.com/llvm/llvm-project/commit/fe54d1afcca055f464840654dd2ec3fd83aea688
Author: Iris <0.0 at owo.li>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
A llvm/test/Transforms/ConstraintElimination/uadd-usub-sat.ll
Log Message:
-----------
[ConstraintElim] Simplify cmp after uadd.sat/usub.sat (#135603)
- Closes #135557
Commit: 88d0b0835d030635c5d08c9a9754c21b5ac00be9
https://github.com/llvm/llvm-project/commit/88d0b0835d030635c5d08c9a9754c21b5ac00be9
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
R clang/test/SemaCXX/gh134265.cpp
Log Message:
-----------
[MS][clang] Revert vector deleting destructors support (#135611)
Finding operator delete[] is still problematic, without it the extension
is a security hazard, so reverting until the problem with operator
delete[] is figured out.
This reverts the following PRs:
Reland [MS][clang] Add support for vector deleting destructors (llvm#133451)
[MS][clang] Make sure vector deleting dtor calls correct operator delete (llvm#133950)
[MS][clang] Fix crash on deletion of array of pointers (llvm#134088)
[clang] Do not diagnose unused deleted operator delete[] (llvm#134357)
[MS][clang] Error about ambiguous operator delete[] only when required (llvm#135041)
Commit: cbbf562d1c2a076de83d50fedfee78acfb4d8003
https://github.com/llvm/llvm-project/commit/cbbf562d1c2a076de83d50fedfee78acfb4d8003
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/FormatEntity.cpp
Log Message:
-----------
[lldb][Format][NFC] Remove unused FormatEntity::FormatCString
One can use `FormatStringRef` instead anyway
Commit: 0078cf79adc2f24a168bc774cba1f39dda5e3752
https://github.com/llvm/llvm-project/commit/0078cf79adc2f24a168bc774cba1f39dda5e3752
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/docs/DeclarativeRewrites.md
M mlir/docs/DefiningDialects/Operations.md
M mlir/docs/DefiningDialects/_index.md
M mlir/docs/Diagnostics.md
M mlir/docs/Interfaces.md
M mlir/docs/PDLL.md
M mlir/docs/Tutorials/QuickstartRewrites.md
M mlir/docs/Tutorials/Toy/Ch-5.md
M mlir/docs/Tutorials/Toy/Ch-7.md
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
M mlir/docs/Tutorials/transform/Ch4.md
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/IR/AffineExpr.h
M mlir/include/mlir/IR/Attributes.h
M mlir/include/mlir/IR/ExtensibleDialect.h
M mlir/include/mlir/IR/Location.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/IR/Value.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.h
M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/IR/AffineMap.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/unittests/IR/SymbolTableTest.cpp
Log Message:
-----------
[mlir] Remove deprecated cast member functions (#135556)
These have been deprecated for over two years now in favor of free
functions.
See the relevant discourse thread:
https://discourse.llvm.org/t/preferred-casting-style-going-forward/68443
and the deprecation notice: https://mlir.llvm.org/deprecation/.
Commit: 0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
https://github.com/llvm/llvm-project/commit/0c21d6b4c8ad7310b0cd81bbefa06b2947b671f9
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix commands in compile_to_bc are executed sequentially (#130755)
In libclc, we observe that compiling OpenCL source files to bitcode is
executed sequentially on Windows, which increases debug build time by
about an hour.
add_custom_command may introduce additional implicit dependencies, see
https://gitlab.kitware.com/cmake/cmake/-/issues/17097
This PR adds a target for each command, enabling parallel builds of
OpenCL source files.
CMake 3.27 has fixed above issue with DEPENDS_EXPLICIT_ONLY. When LLVM
upgrades cmake vertion to 3.7, we can switch to DEPENDS_EXPLICIT_ONLY.
Commit: 4eaf3a7596fb335edfa36368c2851a256b6e8d75
https://github.com/llvm/llvm-project/commit/4eaf3a7596fb335edfa36368c2851a256b6e8d75
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Support/ELFAttrParserExtended.cpp
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-long.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-short.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-type.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-values.s
A llvm/test/tools/llvm-readobj/ELF/AArch64/build-attributes-melformed-ver.s
Log Message:
-----------
[readobj][ELF][AArch64] Handle misformed AArch64 build attribute section (#134888)
Report an error when the .ARM.attributes section for AArch64 is
malformed or violates expected format.
Commit: 4cb1803ff9d052f1b75d90d5be87345e54aebf92
https://github.com/llvm/llvm-project/commit/4cb1803ff9d052f1b75d90d5be87345e54aebf92
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc][NFC] Fix typo in comment
Commit: 10a15024212fe9ac06adad7daad2c1bb510a612c
https://github.com/llvm/llvm-project/commit/10a15024212fe9ac06adad7daad2c1bb510a612c
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaType.cpp
M clang/test/AST/ast-dump-array.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[clang] AST: remove source locations from [Variable/Dependent]SizedArrayType (#135511)
Commit: efe9cb0f79a074ab472ec51d8463aac6931d670a
https://github.com/llvm/llvm-project/commit/efe9cb0f79a074ab472ec51d8463aac6931d670a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
M llvm/test/CodeGen/AArch64/sme2-intrinsics-extract-mova.ll
Log Message:
-----------
[AArch64] Model ZA array using inaccessible memory (#132058)
This patch changes how ZA array is modelled at LLVM-IR level. Currently
accesses to ZA are represented at LLVM-IR level as memory reads and
writes and at instruction level as unmodeled side-effects. This patch
changes that and models them as purely Inaccessible memory accesses
without any unmodeled side-effects.
Commit: 74e8f29f3138431abc9b393579733f3bbd0d85d8
https://github.com/llvm/llvm-project/commit/74e8f29f3138431abc9b393579733f3bbd0d85d8
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CalcSpillWeights.cpp
M llvm/test/CodeGen/AArch64/aarch64-signedreturnaddress.ll
A llvm/test/CodeGen/AArch64/csr-copy-hint.mir
M llvm/test/CodeGen/AArch64/ptrauth-ret.ll
M llvm/test/CodeGen/AVR/calling-conv/c/basic_aggr.ll
M llvm/test/CodeGen/AVR/calling-conv/c/stack.ll
M llvm/test/CodeGen/AVR/dynalloca.ll
M llvm/test/CodeGen/AVR/return.ll
M llvm/test/CodeGen/SPARC/2011-01-19-DelaySlot.ll
M llvm/test/CodeGen/SPARC/32abi.ll
M llvm/test/CodeGen/SPARC/64abi.ll
M llvm/test/CodeGen/SPARC/bigreturn.ll
M llvm/test/CodeGen/SPARC/fmuladd-soft-float.ll
M llvm/test/CodeGen/SPARC/leafproc.ll
M llvm/test/CodeGen/SPARC/parts.ll
M llvm/test/CodeGen/SPARC/tailcall.ll
M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/base-pointer-and-mwaitx.ll
M llvm/test/CodeGen/X86/ghc-cc64.ll
M llvm/test/CodeGen/X86/mwaitx.ll
Log Message:
-----------
[RegAlloc] Sort CopyHint by IsCSR (#131046)
`weightCalcHelper` is responsible for adding hints to MRI. Prior to this
PR, we fell back on register ID as the last tie breaker for sorting
hints. However, there is an opportunity to add an additional sorting
characteristic: whether or not a register is a callee-saved-register.
I thought of this idea because I saw that `AllocationOrder::create`
calls `RegisterClassInfo::getOrder`, which returns a list of registers
such that the registers which alias callee-saved-registers come last.
>From this, I conclude that the register allocator prefers an order such
that callee-saved-registers are allocated after
non-callee-saved-registers to avoid having to spill the CSR.
This sorting characteristic occurs only as a tie breaker to the Weight
calculation. This is a good idea since the weight calculation is pretty
complex and I'm sure it is a pretty stable metric. I think its pretty
reasonable to agree that whether a register is callee-saved or not is a
better tie breaker than register ID. I think this is evident by the test
diff, since the changes all seem to have no impact or improve the
register allocation.
Commit: bcbdbd25c0a2608299a4e97f12076be06a64d724
https://github.com/llvm/llvm-project/commit/bcbdbd25c0a2608299a4e97f12076be06a64d724
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/ELFAttributes.h
Log Message:
-----------
[llvm][ELF][build attributes] Change StringRef to std::string for BuildAttributeSubSection::Name (#135625)
BuildAttributeSubSection::Name must be a std::string instead of
StringRef because it may be assigned from non-persistent memory.
StringRef is non-owning and unsafe in this context. This change ensures
the subsection name owns its memory, preventing use-after-free or
dangling references.
Context: Work in progress in PR #131990.
Commit: dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
https://github.com/llvm/llvm-project/commit/dbeb7c1bbbc90f3d556b9d010d7899311cfc62d6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[Github][CI] Upload .ninja_log as an artifact
This enables using tools like https://github.com/nico/ninjatracing for
performance introspection.
Reviewers: mizvekov, lnihlen, tstellar, Endilll, Keenuts
Reviewed By: Keenuts
Pull Request: https://github.com/llvm/llvm-project/pull/135539
Commit: 40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
https://github.com/llvm/llvm-project/commit/40727bca9fa4c5c9a3c12ce47ee09efcd3f26761
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang] remove unused frontend flag -fretain-subst-template-type-parm-type-ast-nodes (#134177)
This is a follow-up to #132748, where we deferred the flag removal in
order to ease transition for external users.
The plan is to merge this in the nearish future, in two weeks or so is
my best guess.
Commit: a485abbddda7997177b1b56f4dc8e9c069ae4d9a
https://github.com/llvm/llvm-project/commit/a485abbddda7997177b1b56f4dc8e9c069ae4d9a
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/test/Driver/do_concurrent_to_omp_cli.f90
Log Message:
-----------
[flang] Fix Driver/do_concurrent_to_omp_cli.f90 test not to use runtime (#135485)
Fix Flang invocation in `Driver/do_concurrent_to_omp_cli.f90` test to
run compilation step only, to fix testing when building with
`-DFLANG_INCLUDE_RUNTIME=OFF`. The test is only concerned with warning
being emitted by the compiler, so there is no need to link the resulting
executable.
Commit: 092b6e73e651469527662443b592f98f442ece72
https://github.com/llvm/llvm-project/commit/092b6e73e651469527662443b592f98f442ece72
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/array.ll
M llvm/test/Transforms/InstCombine/gep-merge-constant-indices.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reductions.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
Log Message:
-----------
[InstCombine] Handle "add like" in ADD+GEP->GEP+GEP rewrites (#135156)
Considering that "or disjoint" is the canonical for certain add
operations, then I think we want to support such "add like" operations
when doing ADD+GEP->GEP+GEP rewrites to make things more consistent.
Problem was found when improving ValueTracking, which turned an ADD into
OR, and then suddenly optimizations got worse due to these rewrites no
longer triggering.
Commit: b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
https://github.com/llvm/llvm-project/commit/b2c9a58b8f28b353b3f0b4ef98fa704c463ba1a4
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Lower/OpenMP/optional-argument-map.f90
A offload/test/offloading/fortran/optional-mapped-arguments.f90
Log Message:
-----------
[Flang][OpenMP][MLIR] Check for presence of Box type before emitting store in MapInfoFinalization pass (#135477)
Currently we don't check for the presence of descriptor/BoxTypes before
emitting stores which lower to memcpys, the issue with this is that
users can have optional arguments, where they don't provide an input,
making the argument effectively null. This can still be mapped and this
causes issues at the moment as we'll emit a memcpy for function
arguments to store to a local variable for certain edge cases, when we
perform this memcpy on a null input, we cause a segfault at runtime.
The fix to this is to simply create a branch around the store that
checks if the data we're copying from is actually present. If it is, we
proceed with the store, if it isn't we skip it.
Commit: f133eae70c8b9f4e70372443b79995c5f39727f0
https://github.com/llvm/llvm-project/commit/f133eae70c8b9f4e70372443b79995c5f39727f0
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/SanitizerBinaryMetadata.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/tools/llc/new-pm/pipeline.ll
Log Message:
-----------
[CodeGen][NPM] Port MachineSanitizerBinaryMetadata to NPM (#130069)
Didn't find a test for this (but there are tests for the `Function`
version of this pass)
Commit: 44e32a263a7a696e17f8785108e89e1cb1cbd850
https://github.com/llvm/llvm-project/commit/44e32a263a7a696e17f8785108e89e1cb1cbd850
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Verifier/AMDGPU/intrinsic-immarg.ll
M llvm/test/Verifier/SystemZ/intrinsic-immarg.ll
M llvm/test/Verifier/intrinsic-immarg.ll
Log Message:
-----------
[Verifier] Fix intrinsic signatures in immarg tests (NFC)
Commit: 2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
https://github.com/llvm/llvm-project/commit/2d30a60e9ff8b22f7e07ca5360fe1582f96be1ac
Author: John Harrison <harjohn at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A lldb/test/API/tools/lldb-dap/cancel/Makefile
A lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
A lldb/test/API/tools/lldb-dap/cancel/main.c
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/Handler/CancelRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Adding support for cancelling a request. (#130169)
Adding support for cancelling requests.
There are two forms of request cancellation.
* Preemptively cancelling a request that is in the queue.
* Actively cancelling the in progress request as a best effort attempt
using `SBDebugger.RequestInterrupt()`.
Commit: b04045cc4165fae487d048bbf928be26e068284e
https://github.com/llvm/llvm-project/commit/b04045cc4165fae487d048bbf928be26e068284e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 2d30a60e9ff8
Commit: fcf0f810ac4b22bda3f21048784ee114da1cb061
https://github.com/llvm/llvm-project/commit/fcf0f810ac4b22bda3f21048784ee114da1cb061
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/HIPAMD.cpp
A clang/test/Driver/hip-thinlto.hip
Log Message:
-----------
[Clang][AMDGPU] Enable `avail-extern-to-local` for ThinLTO in HIP (#134476)
In HIP, the Clang driver already sets `force-import-all` when ThinLTO is
enabled. As a result, all imported functions get the
`available_externally`
linkage. However, these functions are later removed by the
`EliminateAvailableExternallyPass`, effectively undoing the forced
import and
eventually leading to link errors.
The `EliminateAvailableExternallyPass` provides an option to convert
`available_externally` functions into local functions, renaming them to
avoid
conflicts. This behavior is exactly what we need for HIP. This PR
enables that
option (`avail-extern-to-local`) alongside `force-import-all` when
ThinLTO is
used.
With this change, ThinLTO almost works correctly on AMDGPU. The only
remaining
issue is an undefined reference to `__assert_fail`, but that falls
outside the
scope of this PR.
Commit: da6f493d4aab7ac18b680345701d210556438048
https://github.com/llvm/llvm-project/commit/da6f493d4aab7ac18b680345701d210556438048
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/docs/ModFiles.md
Log Message:
-----------
[flang][NFC] Update module file documentation (#135107)
The current module file documentation antedates the current
implementation of module files and contains many aspirational and
conditional statements, all of which can now be resolved with
descriptions of how things actually work.
Commit: dba757a33c9a07a632c8f14d6820dd6cd90fc918
https://github.com/llvm/llvm-project/commit/dba757a33c9a07a632c8f14d6820dd6cd90fc918
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/bug518.F
Log Message:
-----------
[flang] Rework preprocessor fix for replacement in kind suffixes (#135406)
Recent work to better handle macro replacement in literal constant kind
suffixes isn't handling fixed form well, leading to a crash in Fujitsu
test 0113/0113_0073.F. The look-ahead needs to be done with the
higher-level prescanner functions that skip over fixed form comment
fields after column 72. Rework.
Commit: 13b55ad3bb6bafda7d8a62c5fe2fc98157442355
https://github.com/llvm/llvm-project/commit/13b55ad3bb6bafda7d8a62c5fe2fc98157442355
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang/include/clang/AST/PrettyPrinter.h
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
M clang/unittests/AST/TypePrinterTest.cpp
Log Message:
-----------
[clang] implement printing of canonical expressions (#135133)
This patch extends the canonicalization printing policy to cover
expressions
and template names, and wires that up to the template argument printer,
covering expressions, and to the expression within a dependent decltype.
This is helpful for debugging, or if these expressions somehow end up
in diagnostics, as without this patch they can print as completely
unrelated
expressions, which can be quite confusing.
This is because expressions are not uniqued, unlike types, and
when a template specialization containing an expression is the first to
be
canonicalized, the expression ends up appearing in the canonical type of
subsequent equivalent specializations.
Fixes https://github.com/llvm/llvm-project/issues/92292
Commit: 882200684bf1a0edcd3a8edd31c3fd601a2298df
https://github.com/llvm/llvm-project/commit/882200684bf1a0edcd3a8edd31c3fd601a2298df
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Parser/OpenMP/bug518.f
Log Message:
-----------
[flang][OpenMP] Prescanning bug with !$ fixed form line continuation (#135416)
The logic for fixed form compiler directive line continuation has a hole
that can apply continuation for !$ even if the next line does not begin
with a fixed form comment character. Rearrange the nested if statements
to enforce that requirement for all compiler directives.
Commit: 9f7aac177cac18e03ca68e2a69e06700250cd3d7
https://github.com/llvm/llvm-project/commit/9f7aac177cac18e03ca68e2a69e06700250cd3d7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/spec-expr.f90
Log Message:
-----------
[flang] Allow host-associated INTENT(OUT) in specification expr. (#135426)
Nearly, but not all, other compilers have a blanket prohibition against
the use of an INTENT(OUT) dummy argument in a specification expression.
Some compilers, however, permit an INTENT(OUT) dummy argument to appear
in a specification expression in a BLOCK construct or inner procedure
via host association.
The argument some have put forth to accept this usage comes from a
reading of 10.1.11 (specification expressions) in Fortran 2023 that, if
followed consistently, would also require host-associated OPTIONAL dummy
argument to be allowed. That would be dangerous for reasons that should
be obvious.
However, I can agree that a non-OPTIONAL dummy argument can't be assumed
to remain undefined on entry to a BLOCK construct or inner procedure, so
we can accept host-associated INTENT(OUT) in specification expressions
with a portability warning.
Commit: 8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
https://github.com/llvm/llvm-project/commit/8ede3dd8a19e5bc3db5ba7f7d6b9273f88d2bbee
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFInstPrinter.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYInstPrinter.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.h
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.h
M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.h
Log Message:
-----------
[NFC][MC] Use `StringRef` for Modifier in Inst/Asm Printers (#135403)
- Change various Inst/Asm Printer functions to use a StringRef for the
Modifier parameter (instead of a const char *).
- This simplifies various string comparisons used within these
functions.
- Remove these params for print functions that do not use them.
Commit: 71d10590dbc041139644f00144513c7f487a94ba
https://github.com/llvm/llvm-project/commit/71d10590dbc041139644f00144513c7f487a94ba
Author: Camsyn <camsyn at foxmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CaptureTracking.h
Log Message:
-----------
[CaptureTracking][NFC] Clarify usage expectations in PointerMayBeCaptured comments (#132744)
Fixes issue #132739.
CaptureAnalysis only considers captures through the def-use chain of the
provided pointer, explicitly excluding captures of underlying values or
implicit captures like those involving external globals.
The previous comment for `PointerMayBeCaptured` did not clearly state
this limitation, leading to its incorrect usage in files such as
ThreadSanitizer.cpp and SanitizerMetadata.cpp.
This PR addresses this by refining the comments for the relevant APIs
within `PointerMayBeCaptured` to explicitly document this behavior.
Commit: 2e353a635b90a6c31eee5fd4ec0335f37f130628
https://github.com/llvm/llvm-project/commit/2e353a635b90a6c31eee5fd4ec0335f37f130628
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/docs/OpenACC.md
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenACC/acc-declare-validity.f90
Log Message:
-----------
[flang][openacc] Relax constraint on OpenACC declare statement (#135238)
OpenACC declare statements are restricted from having having clauses
that reference assumed size arrays. It should be the case that we can
implement `deviceptr` and `present` clauses for assumed-size arrays.
This is a first step towards relaxing this restriction.
Note running flang on the following example results in an error in
lowering.
```
$ cat t.f90
subroutine vadd (a, b, c, n)
real(8) :: a(*), b(*), c(*)
!$acc declare deviceptr(a, b, c)
!$acc parallel loop
do i = 1,n
c(i) = a(i) + b(i)
enddo
end subroutine
$ flang -fopenacc -c t.f90
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":3:7): expect declare attribute on variable in declare operation
error: Lowering to LLVM IR failed
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): unsupported OpenACC operation: acc.private.recipe
error: loc("/home/akuhlenschmi/work/p4/ta/tests/openacc/src/t.f90":4:7): LLVM Translation failed for operation: acc.private.recipe
error: failed to create the LLVM module
```
I would like to to share this code, because others are currently working
on the implementation of `deviceptr`, but it is obviously not running
end-to-end. I think the cleanest approach to this would be to put this
exception to the rule behind some feature flag, but I am not certain
what the precedence for that is.
Commit: 04b6f541b7ab6c1b25371cb248277c2b391040c9
https://github.com/llvm/llvm-project/commit/04b6f541b7ab6c1b25371cb248277c2b391040c9
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86Subtarget.h
Log Message:
-----------
[NFC][llvm] Create UEFI helper function (#132462)
Create useful helper functions for UEFI 64 bit target that can be used in
tablegen files in future changes.
Commit: fef5b6f9530c52d623f4729900855e626d5ee722
https://github.com/llvm/llvm-project/commit/fef5b6f9530c52d623f4729900855e626d5ee722
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Target/PowerPC/PPCBranchCoalescing.cpp
M llvm/lib/Target/PowerPC/PPCBranchSelector.cpp
M llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
M llvm/lib/Target/PowerPC/PPCEarlyReturn.cpp
M llvm/lib/Target/PowerPC/PPCExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
M llvm/lib/Target/PowerPC/PPCTOCRegDeps.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/PowerPC/PPCVSXCopy.cpp
M llvm/lib/Target/PowerPC/PPCVSXFMAMutate.cpp
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
Log Message:
-----------
[NFC][LLVM][PowerPC] Cleanup pass initialization for PowerPC (#134422)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 4983aec494119048ccbdd19d237f92ebb24c5d62
https://github.com/llvm/llvm-project/commit/4983aec494119048ccbdd19d237f92ebb24c5d62
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
M flang/test/Lower/OpenMP/task-depend-array-section.f90
Log Message:
-----------
[flang][OpenMP][HLFIR] Support vector subscripted array sections for DEPEND (#133892)
The OpenMP runtime needs the base address of the array section to
identify the dependency.
If we just put the vector subscript through the usual HLFIR expression
lowering, that would generate a new contiguous array representing the
values of the elements in the array which was sectioned. We cannot use
addresses from this array because these addresses would not match
dependencies on the original array. For example
```
integer :: array(1024)
integer :: indices(2)
indices(1) = 1
indices(2) = 100
!$omp task depend(out: array(1:512))
!$omp end task
!$omp task depend(in: array(indices))
!$omp end task
```
This requires taking the lowering path previously only used for ordered
assignments to get the address of the elements in the original array
which were indexed. This is done using `hlfir.elemental_addr`. e.g.
```
array(indices) = 2
```
`hlfir.elemental_addr` is awkward to use because it (by design) doesn't
return something like `!hlfir.expr<>` (like `hlfir.elemental`) and so it
can't have a generic lowering: each place it is used has to carefully
inline the contents of the operation and extract the needed address.
For this reason, `hlfir.elemental_addr` is not allowed outside of these
ordered assignments. In this commit I ignore this restriction so that I
can use `hlfir.elemental_addr` to lower the OpenMP DEPEND clause (this
works because the operation is inlined and removed before the verifier
runs).
One alternative solution would have been to provide my own more limited
re-implementation of `HlfirDesignatorBuilder` which skipped
`hlfir::elemental_addr`, instead inlining its body directly at the
current insertion point applying indices only for the first element.
This would have been difficult to maintain because designation in
Fortran is complex.
Commit: f9b8971bea0d93fe6b86364bb02a96a35eee9aba
https://github.com/llvm/llvm-project/commit/f9b8971bea0d93fe6b86364bb02a96a35eee9aba
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align RFFT2d and FFT2d operator examples (#135261)
* Minor variable name alignment
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 45aba5149b94412da01eef482e8b815a9889779b
https://github.com/llvm/llvm-project/commit/45aba5149b94412da01eef482e8b815a9889779b
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align AddOp examples to spec (#135266)
* simple example variable name alignment
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 5d489f484867b7ddcb3efe51144a133970921082
https://github.com/llvm/llvm-project/commit/5d489f484867b7ddcb3efe51144a133970921082
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align AbsOp example variable names (#135268)
* Minor example variable name alignment
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 88c3e0eecffd42c6743638db51ad6db379996ff2
https://github.com/llvm/llvm-project/commit/88c3e0eecffd42c6743638db51ad6db379996ff2
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/CorrelatedValuePropagation/uscmp.ll
Log Message:
-----------
[CVP] Add tests for ucmp/scmp with switch (NFC)
Commit: 1175f5b988ce706fd3e084912ed34ae6254f5cc3
https://github.com/llvm/llvm-project/commit/1175f5b988ce706fd3e084912ed34ae6254f5cc3
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__verbose_abort
M libcxx/src/verbose_abort.cpp
Log Message:
-----------
[libc++] Removes the _LIBCPP_VERBOSE_ABORT_NOT_NOEXCEPT macro. (#135494)
This makes __libcpp_verbose_abort unconditionally noexcept. This was
planned for the upcomming release.
Commit: 9800c3489a06a285cbc469a9aab4601e57dac35a
https://github.com/llvm/llvm-project/commit/9800c3489a06a285cbc469a9aab4601e57dac35a
Author: Thurston Dang <thurston at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/test/Interpreter/inline-virtual.cpp
Log Message:
-----------
[Interp] Mark inline-virtual.cpp as unsupported with ASan (#135402)
See https://github.com/llvm/llvm-project/issues/135401 for the full flakiness report.
It fails on stage2/asan_ubsan check with:
```
+ /home/b/sanitizer-x86_64-linux-fast/build/llvm_build_asan_ubsan/bin/clang-repl -Xcc -fno-rtti -Xcc -fno-sized-deallocation
JIT session error: In graph incr_module_23-jitted-objectbuffer, section .text.startup: relocation target "_ZN1AD2Ev" at address 0x79618c48d040 is out of range of Delta32 fixup at 0x75618b40d02d (<anonymous block> @ 0x75618b40d010 + 0x1d)
error: Failed to materialize symbols: { (main, { $.incr_module_23.__inits.0, __orc_init_func.incr_module_23, a2 }) }
error: Failed to materialize symbols: { (main, { __orc_init_func.incr_module_23 }) }
The error message ("out of range of Delta32") appears similar to #102858, another Interpreter test that is flaky with ASan.
```
Recent test history on the x86_64-linux-fast bot:
- https://lab.llvm.org/buildbot/#/builders/169/builds/10339: fail
- 10340: buildbot logistical problem
- https://lab.llvm.org/buildbot/#/builders/169/builds/10341: fail
- https://lab.llvm.org/buildbot/#/builders/169/builds/10342: fail
- 10343: pass
- 10344: pass
- https://lab.llvm.org/buildbot/#/builders/169/builds/10345: fail
- 10346: pass
...
Commit: 6b863e810d6decb689bff8f6620e8ea07b356d86
https://github.com/llvm/llvm-project/commit/6b863e810d6decb689bff8f6620e8ea07b356d86
Author: John Harrison <harjohn at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/Transport.cpp
Log Message:
-----------
[lldb-dap] Fix win32 build. (#135638)
This enum was not fully specified.
Commit: 3b1dafd4271ced4c75625176c6d37f41fe85fc70
https://github.com/llvm/llvm-project/commit/3b1dafd4271ced4c75625176c6d37f41fe85fc70
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++][CI] Pin the XCode version. (#135412)
This version is the current version, to avoid unplanned automatic
updates in the future pin this version.
Commit: e071233fa527027c021509fcbd41238aa9bae2e1
https://github.com/llvm/llvm-project/commit/e071233fa527027c021509fcbd41238aa9bae2e1
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Log Message:
-----------
[SystemZ] Consider VST/VL as SimpleBDXStore/Load (#135623)
Previously `vst` and `vl` were not considered "simple" BDX stores and
loads, leading to, among other things, some opportunities for `mvc`
optimization to be missed.
This PR addresses this and updates some tests to account for additional
`mvc` instructions being emitted.
This is observed to have a neutral or slightly beneficial effect
performance-wise.
Commit: e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
https://github.com/llvm/llvm-project/commit/e7aed23d32cb3a1082c5ce9bbe16eb2b56ebe55f
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Handle instrumenting functions with `musttail` calls (#135121)
Functions with `musttail` calls can't be roots because we can't instrument their `ret` to release the context. This patch tags their `CtxRoot` field in their `FunctionData`. In compiler-rt we then know not to allow such functions become roots, and also not confuse `CtxRoot == 0x1` with there being a context root.
Currently we also lose the context tree under such cases. We can, in a subsequent patch, have the root detector search past these functions.
Commit: 305006179341d8f657b89fdc7d76502f9bc5f0aa
https://github.com/llvm/llvm-project/commit/305006179341d8f657b89fdc7d76502f9bc5f0aa
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/stack-size-section.ll
M llvm/test/CodeGen/SystemZ/stack-size-section.ll
Log Message:
-----------
[AsmPrinter] Link .section_sizes to the correct section (#135583)
AsmPrinter may switch the current section when e.g., emitting a jump
table for a switch. `.stack_sizes` should still be linked to the
function section. If the section is wrong, readelf emits a warning
"relocation symbol is not in the expected section".
Commit: aad09da2adb67f5d2db83bed57c4e0d3f4821d86
https://github.com/llvm/llvm-project/commit/aad09da2adb67f5d2db83bed57c4e0d3f4821d86
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
Log Message:
-----------
[flang] Fix linking to libMLIR (#135483)
Fix regression to MLIR dylib support introduced in #135240. Without the
fix, the build with no static libraries fails:
```
FAILED: bin/fir-opt
: && /usr/lib/ccache/bin/x86_64-pc-linux-gnu-g++ -O2 -pipe -march=native -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-maybe-uninitialized -Wno-nonnull -Wno-class-memaccess -Wno-redundant-move -Wno-pessimizing-move -Wno-noexcept-type -Wdelete-non-virtual-dtor -Wsuggest-override -Wno-comment -Wno-misleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-deprecated-copy -Wno-ctad-maybe-unsupported -fno-strict-aliasing -fno-semantic-interposition -Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs -Wl,-rpath-link,/var/tmp/portage/llvm-core/flang-21.0.0.9999/work/flang_build/lib -Wl,--gc-sections -Wl,--dependency-file=tools/fir-opt/CMakeFiles/fir-opt.dir/link.d tools/fir-opt/CMakeFiles/fir-opt.dir/fir-opt.cpp.o -o bin/fir-opt -L/usr/lib/llvm/21/lib64 -Wl,-rpath,"\$ORIGIN/../lib64:/usr/lib/llvm/21/lib64:" lib/libCUFAttrs.a lib/libCUFDialect.a lib/libFIRDialect.a lib/libFIRSupport.a lib/libFIRTransforms.a lib/libFIRCodeGen.a lib/libFIRCodeGenDialect.a lib/libHLFIRDialect.a lib/libHLFIRTransforms.a lib/libFIROpenACCSupport.a lib/libFIROpenMPSupport.a lib/libFlangOpenMPTransforms.a lib/libFIRAnalysis.a lib/libFIRTransforms.a lib/libFIRCodeGen.a lib/libFIROpenACCSupport.a lib/libFIRCodeGenDialect.a -lMLIRIR lib/libFIROpenMPSupport.a lib/libFIRAnalysis.a lib/libFIRBuilder.a lib/libCUFDialect.a lib/libFIRSupport.a lib/libHLFIRDialect.a lib/libFIRDialect.a lib/libCUFAttrs.a lib/libFIRDialectSupport.a lib/libFortranEvaluate.a lib/libFortranDecimal.a lib/libFortranParser.a lib/libFortranSupport.a /usr/lib/llvm/21/lib64/libMLIR.so.21.0gitfa4ac19f /usr/lib/llvm/21/lib64/libclang-cpp.so.21.0gitfa4ac19f /usr/lib/llvm/21/lib64/libLLVM.so.21.0gitfa4ac19f -lquadmath && :
/usr/lib/gcc/x86_64-pc-linux-gnu/14/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lMLIRIR: No such file or directory
collect2: error: ld returned 1 exit status
```
Commit: 2a83c0cc134471bdbc8342041d12fa514e17eca1
https://github.com/llvm/llvm-project/commit/2a83c0cc134471bdbc8342041d12fa514e17eca1
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/runtime/relative-vftable.cpp
Log Message:
-----------
[BOLT] Support relative vtable (#135449)
To handle relative vftable, which is enabled with clang option
`-fexperimental-relative-c++-abi-vtables`, we look for PC relative
relocations whose fixup locations fall in vtable address ranges.
For such relocations, actual target is just virtual function itself,
and the addend is to record the distance between vtable slot for
target virtual function and the first virtual function slot in vtable,
which is to match generated code that calls virtual function. So
we can skip the logic of handling "function + offset" and directly
save such relocations for future fixup after new layout is known.
Commit: 3e644859470e9ba77b8365cc7e2b5234492f4c30
https://github.com/llvm/llvm-project/commit/3e644859470e9ba77b8365cc7e2b5234492f4c30
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
Log Message:
-----------
Remove the redundant check for "WeakPtr" in isSmartPtrClass to fix the issue 135612. (#135629)
Commit: da17ced11b1cf44b433cb2b850978df4b6bff279
https://github.com/llvm/llvm-project/commit/da17ced11b1cf44b433cb2b850978df4b6bff279
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/test/CodeGenDirectX/Builtins/dot2add.c
M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/dot2_error.ll
M llvm/test/CodeGen/DirectX/dot2add.ll
M llvm/test/CodeGen/DirectX/dot3_error.ll
M llvm/test/CodeGen/DirectX/dot4_error.ll
M llvm/test/CodeGen/DirectX/fdot.ll
M llvm/test/CodeGen/DirectX/normalize.ll
Log Message:
-----------
[DirectX] Use scalar arguments for @llvm.dx.dot intrinsics (#134570)
The `dx.dot2`, `dot3`, and `dot4` intrinsics exist purely to lower
`dx.fdot`, and they map exactly to the DXIL ops of the same name. Using
vectors for their arguments adds unnecessary complexity and causes us to
have vector operations that are not trivial to lower post-scalarizer.
Similarly, the `dx.dot2add` intrinsic is overly generic for something
that only needs to lower to a single `dot2AddHalf` DXIL op. Update its
signature to match the operation it lowers to.
Fixes #134569.
Commit: df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
https://github.com/llvm/llvm-project/commit/df84aa8e06d98875fdbaf08e466dcf3eebe27fa3
Author: Mateusz Sokół <8431159+mtsokol at users.noreply.github.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Traits.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[MLIR][Shape] Support >2 args in `shape.broadcast` folder (#126808)
Hi!
As the title says, this PR adds support for >2 arguments in
`shape.broadcast` folder by sequentially calling `getBroadcastedShape`.
Commit: c9ec1bc753b0bae7137547e1e39823b2effe82c1
https://github.com/llvm/llvm-project/commit/c9ec1bc753b0bae7137547e1e39823b2effe82c1
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
A flang/test/HLFIR/volatile1.fir
A flang/test/HLFIR/volatile2.fir
A flang/test/HLFIR/volatile3.fir
A flang/test/HLFIR/volatile4.fir
Log Message:
-----------
[flang] Handle volatility in lowering and codegen (#135311)
* Enable lowering and conversion patterns to pass volatility information
from higher level operations to lower level ones.
* Enable codegen to pass volatility to LLVM dialect ops by setting an
attribute on loads, stores, and memory intrinsics.
* Add utilities for passing along the volatility from an input type to
an output type.
To introduce volatile types into the IR, entities with the volatile
attribute will be given a volatile type in the bridge; this is not
enabled in this patch. User code should not result in IR with volatile
types yet, so this patch contains no tests with Fortran source, only IR
that already contains volatile types.
Part 3 of #132486.
Commit: da8ce56c53fe6e34809ba0b310fa90257e230a89
https://github.com/llvm/llvm-project/commit/da8ce56c53fe6e34809ba0b310fa90257e230a89
Author: aankit-ca <quic_aankit at quicinc.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
A llvm/test/CodeGen/Hexagon/hwloop-dist-check.mir
M llvm/test/CodeGen/Hexagon/swp-phi-start.ll
Log Message:
-----------
[HEXAGON] Fix corner cases for hwloops pass (#135439)
Add check to make sure Dist > 0 or Dist < 0 for appropriate cmp cases to
hexagon hardware loops pass. The change modifies the
HexagonHardwareLoops pass to add runtime checks to make sure that
end_value > initial_value for less than comparisons and end_value <
initial_value for greater than comparisons.
Fix for https://github.com/llvm/llvm-project/issues/133241
@androm3da @iajbar PTAL
---------
Co-authored-by: aankit-quic <aankit at quicinc.com>
Commit: c766d0c7321b12db12b3b087941e86df0f1a75d1
https://github.com/llvm/llvm-project/commit/c766d0c7321b12db12b3b087941e86df0f1a75d1
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/jump-table-partition.ll
Log Message:
-----------
[NFC][AsmPrinter] Refactor AsmPrinter and AArch64AsmPrinter to prepare for jump table partitions on aarch64 (#125993)
With
https://github.com/llvm/llvm-project/commit/3feb724496238ce10d32e8c2bd84b4ea50f9977e,
AsmPrinter can place jump table entries into `.hot` or `.unlikely`
prefixed data sections. This change refactors AsmPrinter and
AArch64AsmPrinter to prepare for the aarch64 port.
* Before this patch, the AsmPrinter class exposes `emitJumpTableInfo` as
a virtual method, and AArch64AsmPrinter overrides `emitJumpTableInfo`
for jump table emission.
* After this patch, both AsmPrinter and AArch64AsmPrinter shares
`AsmPrinter::emitJumpTableInfo`, and class-specific code are moved
inside each class's `emitJumpTableImpl` respectively.
This is a follow-up of https://github.com/llvm/llvm-project/pull/125987,
and https://github.com/llvm/llvm-project/pull/126018 implements the port
for aarch64.
Commit: c5ac63e4fcd58c951f10c3902d8a6692e0a43c55
https://github.com/llvm/llvm-project/commit/c5ac63e4fcd58c951f10c3902d8a6692e0a43c55
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/ThinLTOBitcodeWriter.h
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
A llvm/test/Bitcode/thinlto-preserve-uselistorder.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/split.ll
M llvm/test/Transforms/ThinLTOBitcodeWriter/unsplittable.ll
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
ThinLTO: Add flag to print uselistorder in bitcode writer pass (#133230)
This is needed in llvm-reduce to avoid perturbing the uselistorder in
intermediate steps. Really llvm-reduce wants pure serialization with
no dependency on the pass manager. There are other optimizations mixed
in to the serialization here depending on metadata in the module, which
is also bad.
Part of #63621
Commit: bae08dad69674385ee8bb2e97423e72dad98435a
https://github.com/llvm/llvm-project/commit/bae08dad69674385ee8bb2e97423e72dad98435a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/thinlto-preserve-uselistorder.ll
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
Log Message:
-----------
llvm-reduce: Preserve uselistorder when writing thinlto bitcode (#133369)
Fixes #63621
Commit: 904f1b17d30335b102bd05f63a73e9ed5576ba0a
https://github.com/llvm/llvm-project/commit/904f1b17d30335b102bd05f63a73e9ed5576ba0a
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[CMake] Configure ccache using command line options (#134857)
Since ccache 4.8, it is possible to pass configuration options directly
to ccache on the command line as opposed to through environment
variables.
This is the intended way for CMake to configure ccache, as described on
the GitHub wiki for the project:
https://github.com/ccache/ccache/wiki/CMake
This should allow for uniform ccache configuration that does not rely on
platform-specific environment setup.
Rework the way ccache is configured by LLVM accordingly.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: a43ff0ec8a684b2f8e93bb9f6df3b513c577091b
https://github.com/llvm/llvm-project/commit/a43ff0ec8a684b2f8e93bb9f6df3b513c577091b
Author: Petr Hosek <phosek at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
Log Message:
-----------
[libc] Include extra baremetal headers and entrypoints (#135462)
These are all usable in baremetal environments.
Commit: 2b58b3df0bad3de1887fcb113a5eed7ab714812a
https://github.com/llvm/llvm-project/commit/2b58b3df0bad3de1887fcb113a5eed7ab714812a
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
Revert "[CMake] Configure ccache using command line options" (#135664)
Reverts llvm/llvm-project#134857
Commit: 9deb08a30196b5b3b3883b5c7be8c4251039bde7
https://github.com/llvm/llvm-project/commit/9deb08a30196b5b3b3883b5c7be8c4251039bde7
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
A mlir/include/mlir-c/Dialect/SMT.h
A mlir/include/mlir-c/Target/ExportSMTLIB.h
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/SMT.cpp
M mlir/lib/CAPI/Target/CMakeLists.txt
A mlir/lib/CAPI/Target/ExportSMTLIB.cpp
M mlir/lib/Target/SMTLIB/CMakeLists.txt
M mlir/test/CAPI/CMakeLists.txt
A mlir/test/CAPI/smt.c
M mlir/test/CMakeLists.txt
Log Message:
-----------
[mlir][SMT] C APIs (#135501)
This PR upstreams/adds the C APIs for SMT dialect (from CIRCT).
---------
Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Co-authored-by: Clo91eaf <Clo91eaf at qq.com>
Commit: b07fc0fd5e26f894e3a80373577cb5979b8b54bb
https://github.com/llvm/llvm-project/commit/b07fc0fd5e26f894e3a80373577cb5979b8b54bb
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
Log Message:
-----------
[HLSL] Move Resource Instance Properties from TypeInfo (#135259)
Fixes https://github.com/llvm/llvm-project/issues/134741
Moves Resource Instance properties from type info into resource info as
described in
https://github.com/llvm/wg-hlsl/blob/main/proposals/0022-resource-instance-analysis.md
Commit: 202cd7bb33b8116bbfc6e25eef8ad8446c57bed5
https://github.com/llvm/llvm-project/commit/202cd7bb33b8116bbfc6e25eef8ad8446c57bed5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/metadata.ll
Log Message:
-----------
[LV] Extend metadata.ll tests to also check interleaving.
Adds missing test coverage for presering existing metadata when
interleaving.
Commit: be4c99ae112f572695c3e187f4ef4ac4cd592783
https://github.com/llvm/llvm-project/commit/be4c99ae112f572695c3e187f4ef4ac4cd592783
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/test/CodeGen/AArch64/jump-table-partition.ll
Log Message:
-----------
[AArch64AsmPrinter]Place jump tables into hot/unlikely-prefixed data sections for aarch64 (#126018)
This is a follow-up patch of
https://github.com/llvm/llvm-project/pull/125993 to port jump table
partitions for aarch64.
---------
Co-authored-by: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Commit: 061f87f75f38e80e7494b5f7235103f7f11a36c3
https://github.com/llvm/llvm-project/commit/061f87f75f38e80e7494b5f7235103f7f11a36c3
Author: MillePlateaux <liulambda at outlook.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaStmt.cpp
A clang/test/Sema/attr-musttail.cpp
Log Message:
-----------
[Clang][Sema]:Fix musttail attribute on a function with not_tail_called attribute has no warning/error (#134465)
The error is emitted when a musttail call is made to a function marked
with the not_tail_called attribute.Closes #133509
Commit: a2c57e1dec7e5641a3cc82dbfb397bea058c03cd
https://github.com/llvm/llvm-project/commit/a2c57e1dec7e5641a3cc82dbfb397bea058c03cd
Author: David Green <david.green at arm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrGISel.td
Log Message:
-----------
[AArch64][GlobalISel] Remove unnecessary fp convert patterns. NFC
We nowadays legalize the fp converts to legal operations earlier, not requiring
patterns that select to multiple instructions.
Commit: f5c5f9f926cb93c58e8cc6302f788474909606b0
https://github.com/llvm/llvm-project/commit/f5c5f9f926cb93c58e8cc6302f788474909606b0
Author: Tsz Chan <keithcth2001 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_itimerval.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_itimerval.h
M libc/include/sys/time.yaml
M libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/getitimer.h
M libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/getitimer.cpp
A libc/src/sys/time/linux/setitimer.cpp
A libc/src/sys/time/setitimer.h
M libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/getitimer_test.cpp
A libc/test/src/sys/time/setitimer_test.cpp
Log Message:
-----------
[libc] Implement getitimer and setitimer, add proxy headers for itimerval (#134773)
#133983
Commit: 9332f1ea57fb7486c79003eaff43d27bfedea1af
https://github.com/llvm/llvm-project/commit/9332f1ea57fb7486c79003eaff43d27bfedea1af
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-options.hip
Log Message:
-----------
[Clang] add option --offload-jobs=N (#135229)
for specifying number of threads for clang-linker-wrapper.
Commit: 9ba65cbcb5ea24d8f65cbe82474b7513501c5470
https://github.com/llvm/llvm-project/commit/9ba65cbcb5ea24d8f65cbe82474b7513501c5470
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Refactor DecoderEmitter.cpp (#135510)
- Add helper functions to insert ULEB128 encoded value and NumToSkip.
- Use ArrayRef<> instead of const vector references as function
arguments.
- Return `OpHasCompleteDecoder` by value instead of by reference.
- Use range for loops.
- Remove {} around single line if/else bodies.
- In `emitSoftFailTableEntry`, unconditionally emit the Positive and
Negative mask values, instead of explicitly emitting a 0 byte when
the mask is not needed.
Commit: 52166339f1f74f7d97a54eaf687bb5de167f040d
https://github.com/llvm/llvm-project/commit/52166339f1f74f7d97a54eaf687bb5de167f040d
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
A mlir/test/Dialect/LLVMIR/indirectbr.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
A mlir/test/Target/LLVMIR/Import/indirectbr.ll
A mlir/test/Target/LLVMIR/indirectbr.mlir
M mlir/test/mlir-translate/import-diagnostics.ll
Log Message:
-----------
[MLIR][LLVM] Support for indirectbr (#135092)
Now that LLVM dialect has `blockaddress` support, introduce import/translation for `indirectbr` instruction.
Commit: 41892fc4353d2dd705666783d799e79748467ed8
https://github.com/llvm/llvm-project/commit/41892fc4353d2dd705666783d799e79748467ed8
Author: Theo de Magalhaes <theo.de-magalhaes at epita.fr>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
A clang/test/SemaCXX/windows-Wpadded.cpp
Log Message:
-----------
[CLANG-CL] ignores Wpadded (#134426)
[clang] add support for -Wpadded on Windows
Implements the -Wpadded warning for --target=x86_64-windows-msvc etc.
Fixes #61702 .
Commit: 924cf536cebffa7aa67e2dd2f7528fb9629a6f3e
https://github.com/llvm/llvm-project/commit/924cf536cebffa7aa67e2dd2f7528fb9629a6f3e
Author: Joy <yutche at qti.qualcomm.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/cpus.ll
Log Message:
-----------
[AArch64] Add missing test for Qualcomm Oryon-1 processor (#135258)
For completeness add oryon-1 test case to test verifying all valid
AArch64 CPUs are accepted by llc.
Commit: 54b33eba1657f4bfe11db5cc1c562a2d2172c7e3
https://github.com/llvm/llvm-project/commit/54b33eba1657f4bfe11db5cc1c562a2d2172c7e3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.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/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
Log Message:
-----------
[VPlan] Add opcode to create step for wide inductions. (#119284)
This patch adds a WideIVStep opcode that can be used to create a vector
with the steps to increment a wide induction. The opcode has 2 operands
* the vector step
* the scale of the vector step
The opcode is later converted into a sequence of recipes that convert
the scale and step to the target type, if needed, and then multiply
vector step by scale.
This simplifies code that needs to materialize step vectors, e.g.
replacing wide IVs as follow up to
https://github.com/llvm/llvm-project/pull/108378 with an increment of
the wide IV step.
PR: https://github.com/llvm/llvm-project/pull/119284
Commit: ff687af04f5b0e85305250587b524cb0b3849aa0
https://github.com/llvm/llvm-project/commit/ff687af04f5b0e85305250587b524cb0b3849aa0
Author: Jan Górski <jan.a.gorski at wp.pl>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/atomic-ops-load.c
Log Message:
-----------
[clang][CodeGen] Add range metadata for atomic load of boolean type. #131476 (#133546)
Fixes #131476.
For `x86_64` it folds
```
movzbl t1(%rip), %eax
andb $1, %al
```
into
```
movzbl t1(%rip), %eax
```
when run: `clang -S atomic-ops-load.c -o atomic-ops-load.s -O1
--target=x86_64`.
But for riscv replaces:
```
lb a0, %lo(t1)(a0)
andi a0, a0, 1
```
with
```
lb a0, %lo(t1)(a0)
zext.b a0, a0
```
when run: `clang -S atomic-ops-load.c -o atomic-ops-load.s -O1
--target=riscv64`.
Commit: 557e931d958104eb5d11b93ad3a21e4017812fcd
https://github.com/llvm/llvm-project/commit/557e931d958104eb5d11b93ad3a21e4017812fcd
Author: Damien L-G <dalg24 at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__mdspan/aligned_accessor.h
M libcxx/include/__mdspan/mdspan.h
A libcxx/include/__memory/is_sufficiently_aligned.h
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/module.modulemap
M libcxx/include/version
M libcxx/modules/std/mdspan.inc
M libcxx/modules/std/memory.inc
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/byte_alignment.verify.cpp
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/element_type.verify.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/types.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/utilities/memory/ptr.align/is_sufficiently_aligned.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement P2897R7 aligned_accessor: An mdspan accessor expressing pointer over-alignment (#122603)
Closes #118372
Commit: cd7d2c3bf89c9f0e6b7467d9d5ac87ddc829975c
https://github.com/llvm/llvm-project/commit/cd7d2c3bf89c9f0e6b7467d9d5ac87ddc829975c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
A clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/struct.cpp
A clang/test/CIR/CodeGen/union.c
A clang/test/CIR/IR/struct.cir
Log Message:
-----------
[CIR] Upstream minimal support for structure types (#135105)
This change adds minimal support for structure types. To keep the
initial change small, only incomplete declarations are being supported
in this patch. More complete support will follow.
Commit: 1bcec036e197f6ab7461722502e4393396b46ec3
https://github.com/llvm/llvm-project/commit/1bcec036e197f6ab7461722502e4393396b46ec3
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
A clang/test/CodeGenHipStdPar/rdc-does-not-enable-hipstdpar.cpp
A clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Log Message:
-----------
[HIP][HIPSTDPAR][NFC] Re-order & adapt `hipstdpar` specific passes (#134753)
The `hipstdpar` specific passes were not ordered ideally, especially for
`fgpu-rdc` compilations, which meant that we'd eagerly run accelerator
code selection and remove symbols that might end up used. This change
corrects that aspect by ensuring that accelerator code selection is only
done after linking (this will have to be revisited in the future once
the closed-world assumption no longer holds). Furthermore, we take the
opportunity to move allocation interposition so that it properly gets
printed when print-pipeline-passes is requested. NFC.
Commit: 68806b9c2cf732dc93b17e47e5321394e0fcf8bb
https://github.com/llvm/llvm-project/commit/68806b9c2cf732dc93b17e47e5321394e0fcf8bb
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaFixupKinds.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCCodeEmitter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaOperands.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/CodeGen/Xtensa/minmax.ll
A llvm/test/CodeGen/Xtensa/sext.ll
M llvm/test/MC/Xtensa/Relocations/fixups-diagnostics.s
M llvm/test/MC/Xtensa/Relocations/fixups.s
M llvm/test/MC/Xtensa/Relocations/relocations.s
A llvm/test/MC/Xtensa/loop.s
A llvm/test/MC/Xtensa/minmax.s
A llvm/test/MC/Xtensa/nsau.s
A llvm/test/MC/Xtensa/sext.s
A llvm/test/MC/Xtensa/sext_invalid.s
Log Message:
-----------
[Xtensa] Implement SEXT, NSA, MINMAX and Loop Xtensa Options. (#133818)
Implement basic support of the several simple Xtensa Options with 1-4
instructions for each option. The Sign Extend Option (SEXT). The NSA
Option. The Minimum/Maximum Integer 32-bit Option and Loop Option.
Fixed address operands, added OPERAND_PCREL to operands descriptions.
Commit: eb3ecd158a8aef854f23553f63d118a0c5ef69af
https://github.com/llvm/llvm-project/commit/eb3ecd158a8aef854f23553f63d118a0c5ef69af
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 557e931d9581
Commit: 888b3ed5b4f441b0dea91d7ec2bda1426abeadec
https://github.com/llvm/llvm-project/commit/888b3ed5b4f441b0dea91d7ec2bda1426abeadec
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[Vectorize] Fix a warning
This patch fixes:
llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:2417:13: error:
unused variable 'ConstStep' [-Werror,-Wunused-variable]
Commit: 2206e15e78bc3d5289fb2c2cf5a80d6f08412a58
https://github.com/llvm/llvm-project/commit/2206e15e78bc3d5289fb2c2cf5a80d6f08412a58
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
[alpha.webkit.UnretainedCallArgsChecker] Don't emit a warning for RetainPtr::operator= (#135526)
Generalize the check for operator= so that it works for RetainPtr and
CheckedPtr instead of just RefPtr.
Commit: 820a9b72b2e28b7607691485103f0d7e75baaf42
https://github.com/llvm/llvm-project/commit/820a9b72b2e28b7607691485103f0d7e75baaf42
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
Fix build by marking possibly unused variable such. (#135689) [NFC]
Commit: a9f73ae4494437c606c2b2e869358b75d8e2d45c
https://github.com/llvm/llvm-project/commit/a9f73ae4494437c606c2b2e869358b75d8e2d45c
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
Log Message:
-----------
[CIR] Fix upstream issue. NFC
- 'PrintCanonicalTypes' from the printing policy is renamed as
'PrintAsCanonical'
Commit: 76db259080fa134579f31d76fe9ab462f47eca87
https://github.com/llvm/llvm-project/commit/76db259080fa134579f31d76fe9ab462f47eca87
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Dialect/LLVMIR/blockaddress-canonicalize.mlir
R mlir/test/Dialect/LLVMIR/indirectbr.mlir
M mlir/test/Target/LLVMIR/Import/import-failure.ll
R mlir/test/Target/LLVMIR/Import/indirectbr.ll
R mlir/test/Target/LLVMIR/indirectbr.mlir
M mlir/test/mlir-translate/import-diagnostics.ll
Log Message:
-----------
Revert "[MLIR][LLVM] Support for indirectbr" (#135695)
Reverts llvm/llvm-project#135092, broke
https://lab.llvm.org/buildbot/#/builders/169/builds/10469
Commit: b9a3e998b1921f7d1e3093f27d288ee1a121ba4b
https://github.com/llvm/llvm-project/commit/b9a3e998b1921f7d1e3093f27d288ee1a121ba4b
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/CodeGenCXX/bug135668.cpp
A clang/test/SemaCXX/bug135668.cpp
Log Message:
-----------
[Clang]Ensure correct handling of cleanup access control (#135668) (#135686)
The P2719 implementation refactored diagnostics for cleanup delete, and
as part of that I attempted to fix handling of inaccessible cleanup
operator delete. Alas the new branch was incorrect as it was performing
an implicit bool conversion, which resulted in friend accessible cleanup
operators incorrectly being considered erroneous and the allocation path
errored out. This error however did not get diagnosed, so the result was
and so we did not actually error out before codegen.
Added both Sema and CodeGen tests to cover this.
Commit: 23e92c985de96ec2f06be1c94228ad5dff2d9097
https://github.com/llvm/llvm-project/commit/23e92c985de96ec2f06be1c94228ad5dff2d9097
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
Log Message:
-----------
[NFC] Fix bot breakage introduced by #134753 (#135697)
This test needs the amdgpu target, and its absence wreaked havoc with
some of the bots, therefore we now require it.
Commit: 7491ff74d2b99c0e5e879ec7fd370fe9654528c4
https://github.com/llvm/llvm-project/commit/7491ff74d2b99c0e5e879ec7fd370fe9654528c4
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M lldb/source/Target/StopInfo.cpp
Log Message:
-----------
[lldb] Override Should{Select,Show} in StopReasonBreakpoint (#135637)
This is necessary so that LLDB does not select (or show the stop reason
for) a thread which stopped at an internal breakpoint.
Other than manual testing/inspection, which I've done, this does not
seem to lend itself to API testing, as we cannot set internal
breakpoints through the SBAPI.
Commit: 3633de702985e1580d72223ae38a31d0e6fd480b
https://github.com/llvm/llvm-project/commit/3633de702985e1580d72223ae38a31d0e6fd480b
Author: nvptm <pmathew at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACC.h
M mlir/lib/Dialect/OpenACC/Transforms/LegalizeDataValues.cpp
M mlir/test/Dialect/OpenACC/legalize-data.mlir
Log Message:
-----------
[mlir][acc] Handle OpenACC host_data in LegalizeDataValues (#134767)
`LegalizeDataValuesInRegion` is intended to replace the SSA values used
in a region with the output of data operations, but misses the handling
of the OpenACC `host_data` construct. As a result, currently
```
!$acc host_data use_device(%var)
...%var...
!$acc end host_data
```
is lowered to
```
%dev_var = acc.use_device(%var)
acc.host_data data_operands(%dev_var) {
...%var...
}
```
This pull request updates the LegalizeDataValuesInRegion to handle
HostDataOp such that lowering results in
```
%dev_var = acc.use_device(%var)
acc.host_data data_operands(%dev_var) {
...%dev_var...
}
```
Commit: 15932624537ddba61efae19c9af212d3e47a4c21
https://github.com/llvm/llvm-project/commit/15932624537ddba61efae19c9af212d3e47a4c21
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
Log Message:
-----------
SanitizerCoverage: Remove unused field.
Commit: 8fe5ac896f049020c739769c5186b472c639fd30
https://github.com/llvm/llvm-project/commit/8fe5ac896f049020c739769c5186b472c639fd30
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Posix/mmap_limit_mb.cpp
Log Message:
-----------
[Test][Darwin] Disable test on watchos due to memory restraints (#135671)
Because of the nature of this test (mmap stress-test) it tests too large
of memory allocations to be stable on watchos. WatchOS has memory limits
that can lead to the termination of this process before it reaches the
limit set by the flag. Typical only on devices that are under heavy
load. disable on watchOS.
rdar://147222346
Commit: 8e8d04870dbc3248301534796b4370f75e33f7c0
https://github.com/llvm/llvm-project/commit/8e8d04870dbc3248301534796b4370f75e33f7c0
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/SampleProfileProbe.h
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
Log Message:
-----------
SampleProfileProbe: Remove unused field.
Commit: 07fe9c6461dbdde6f619fc56bd021cd30b3f6327
https://github.com/llvm/llvm-project/commit/07fe9c6461dbdde6f619fc56bd021cd30b3f6327
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/combine-mad.ll
M llvm/test/CodeGen/NVPTX/copysign.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
M llvm/test/CodeGen/NVPTX/i1-int-to-fp.ll
M llvm/test/CodeGen/NVPTX/i1-load-lower.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
Log Message:
-----------
[NVPTX] Use 0 immediate for i1 trunc, cleanup dead code (#135646)
Update the instruction selection for truncation to i1 to use "setp.ne
%v, 0" as the zero immediate is a preferable canonical form. Also remove
some dead code relating to the "set" instruction which we do not
actually support currently.
Commit: fe9e2090be79a2b807d381a0a045bc606d59c33c
https://github.com/llvm/llvm-project/commit/fe9e2090be79a2b807d381a0a045bc606d59c33c
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/fminimumnum.ll
M llvm/test/Transforms/SLPVectorizer/X86/fminimumnum.ll
Log Message:
-----------
Vectorize: Support fminimumnum and fmaximumnum (#131781)
Support auto-vectorize for fminimum_num and fmaximum_num.
For ARM64 with SVE, scalable vector cannot support yet.
---------
Co-authored-by: Your Name <you at example.com>
Commit: a686b783ce244a6dfebd17b717532c516419fc32
https://github.com/llvm/llvm-project/commit/a686b783ce244a6dfebd17b717532c516419fc32
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
Log Message:
-----------
[clang][tests] Add missing FileCheck check, NFC (#135687)
Commit: 6ba32e8eb203ebabd3fc9fffcea2762500f82e3a
https://github.com/llvm/llvm-project/commit/6ba32e8eb203ebabd3fc9fffcea2762500f82e3a
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/test/MC/AMDGPU/vinterp.s
Log Message:
-----------
[AMDGPU][MC] test update with script for vinterp asm test (#135681)
This is a NFC patch.
Run test update with script with --unique options for vinterp test. This
reduce duplications. This prepares for the upcoming true16 clean up
patch
Commit: cc354d6a6da542515fbd6f39dcb9665b7c26a008
https://github.com/llvm/llvm-project/commit/cc354d6a6da542515fbd6f39dcb9665b7c26a008
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
M flang/test/Lower/OpenMP/clause-cleanup.f90
M llvm/lib/Target/X86/X86InstrInfo.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
Log Message:
-----------
[NFC] Fix destroy typo. (#135640)
Commit: e96111d3e9ac67b14cab32925717a62258a2bd60
https://github.com/llvm/llvm-project/commit/e96111d3e9ac67b14cab32925717a62258a2bd60
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove redundant check. nfc (#135605)
Remove the redundant `!TheLoop->contains(Op->getParent())` check since
`!TheLoop->contains(Op)` has already been verified.
Commit: 9cdc3aab3eae55be30003cb486f290f3ee3df3a8
https://github.com/llvm/llvm-project/commit/9cdc3aab3eae55be30003cb486f290f3ee3df3a8
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/Mapper.cpp
Log Message:
-----------
[clang-doc] Use SmartMutex when visiting the AST (#135514)
The SmartMutex will allow us to have a cheap mutex implementation when
using the Standalone executor, since it's single threaded. Performance
should be about the same for AllTUs executor.
Commit: 5df9658d4009e500be1421231b48b210e8c2cd69
https://github.com/llvm/llvm-project/commit/5df9658d4009e500be1421231b48b210e8c2cd69
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Refactor register list parsing and improve error messages. (#134938)
Structure the code into a loop that parses a series of ranges and gives
an error when there are too many ranges.
Give errors when ABI and non-ABI names are mixed.
Properly diagnose 'x1-` starting a list.
Use a default bool argument to merge parseRegListCommon and
parseRegList.
Commit: f4ff209e4384d8073f36fb7da9916b33f1140edf
https://github.com/llvm/llvm-project/commit/f4ff209e4384d8073f36fb7da9916b33f1140edf
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/openmp-offload-gpu.c
Log Message:
-----------
[Clang] Forward two linker options to `lld` when ThinLTO is enabled for AMDGPU (#135690)
Commit: a6b424e1e7e6aa83ae49e7e12454998d3b195054
https://github.com/llvm/llvm-project/commit/a6b424e1e7e6aa83ae49e7e12454998d3b195054
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll
Log Message:
-----------
[RISCV] Extend redundant vrgather.vx peephole to vfmv.v.f (#135503)
Extend the transform introduced in 336b290 to vfmv.v.f. This is fairly
trivial and would have been in the original commit except I hadn't
written the FP tests yet.
If the vrgather.vi is preceeded by a vfmv.v.f which writes a superset of
the lanes writen by the vrgather, and the vrgather has no passthru, then
the vrgather has no semantic effect.
Commit: 83344da69145a648aad3e0cd88eab4aaf60b2142
https://github.com/llvm/llvm-project/commit/83344da69145a648aad3e0cd88eab4aaf60b2142
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/CodeGenCXX/local-class-instantiation.cpp
Log Message:
-----------
[Clang] Fix dependent local class instantiation bugs (#134038)
This patch fixes two long-standing bugs that prevent Clang from
instantiating local class members inside a dependent context. These bugs
were introduced in commits 21eb1af469c3 and 919df9d75a.
21eb1af469c3 introduced a concept called eligible methods such that it
did an attempt to skip past ineligible method instantiation when
instantiating class members. Unfortunately, this broke the instantiation
chain for local classes - getTemplateInstantiationPattern() would fail
to find the correct definition pattern if the class was defined within a
partially transformed dependent context.
919df9d75a introduced a separate issue by incorrectly copying the
DeclarationNameInfo during function definition instantiation from the
template pattern, even though that DNI might contain a transformed
TypeSourceInfo. Since that TSI was already updated when the declaration
was instantiated, this led to inconsistencies. As a result, the final
instantiated function could lose track of the transformed declarations,
hence we crash: https://compiler-explorer.com/z/vjvoG76Tf.
This PR corrects them by
1. Removing the bypass logic for method instantiation. The eligible flag
is independent of instantiation and can be updated properly afterward,
so skipping instantiation is unnecessary.
2. Carefully handling TypeSourceInfo by creating a new instance that
preserves the pattern's source location while using the already
transformed type.
Fixes https://github.com/llvm/llvm-project/issues/59734
Fixes https://github.com/llvm/llvm-project/issues/132208
Commit: f1dd6b3cf8d957f28e06f475c8a652f201fc830b
https://github.com/llvm/llvm-project/commit/f1dd6b3cf8d957f28e06f475c8a652f201fc830b
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Conversion/TensorToLinalg/tensor-ops-to-linalg.mlir
Log Message:
-----------
[mlir][tensor] Fix `createFillOrGenerateOp` (#121205)
This PR clones the padding value defined inside the PadOp block to
outside to prevent a crash. Fixes #120947.
Commit: 9ce8356acbe3e79764f4147a0e7cc30e1b759b45
https://github.com/llvm/llvm-project/commit/9ce8356acbe3e79764f4147a0e7cc30e1b759b45
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ControlFlowIntegrity.rst
Log Message:
-----------
Fix broken link.
Commit: c3959f22abc62882be6c9df2fe4151c924ac3d9a
https://github.com/llvm/llvm-project/commit/c3959f22abc62882be6c9df2fe4151c924ac3d9a
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineLICM.cpp
Log Message:
-----------
[MachineLICM] Remove CurPreheader parameter that is always nullptr (#135554)
Also, rename `getCurPreheader` -> `getOrCreatePreheader` to make it
clear that this method may alter CFG.
Update `Changed` if the method modified a loop by splitting a critical
edge (this change is not strictly NFC).
The removed parameter was probably intended to save compile time by not
trying to a critical edge after the first attempt has failed, but it is
only tried once per loop.
PR: https://github.com/llvm/llvm-project/pull/135554
Commit: 8c22f569b3b19450034832769ef77d5b2ec997d7
https://github.com/llvm/llvm-project/commit/8c22f569b3b19450034832769ef77d5b2ec997d7
Author: Matt <mattstark75 at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/Modules/safe_buffers_optout.cpp
Log Message:
-----------
[Fix] Speedup -Wunsafe-buffer-usage when using clang modules. (#127161)
Each piece of code should have analysis run on it precisely once.
However, if you build a module, and then build another module depending
on it, the header file of the module you depend on will have
`-Wunsafe-buffer-usage` run on it twice. This normally isn't a huge
issue, but in the case of using the standard library as a module, simply
adding the line `#include <cstddef>` increases compile times by 900ms
(from 100ms to 1 second) on my machine. I believe this is because the
standard library has massive modules, of which only a small part is used
(the AST is ~700k lines), and because if what I've been told is correct,
the AST is lazily generated, and `-Wunsafe-buffer-usage` forces it to be
evaluated every time.
See https://issues.chromium.org/issues/351909443 for details and
benchmarks.
Commit: 984ec70b61cb57b00e622a21b259aaf11775c5f0
https://github.com/llvm/llvm-project/commit/984ec70b61cb57b00e622a21b259aaf11775c5f0
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/docs/ControlFlowIntegrity.rst
Log Message:
-----------
Minor documentation update.
Commit: 1cf9f764ac41fb3492e10c78640dd50e616388db
https://github.com/llvm/llvm-project/commit/1cf9f764ac41fb3492e10c78640dd50e616388db
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M clang/include/clang/Frontend/CompilerInstance.h
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[clang][frontend] Make `CompilerInstance::FailedModules` thread-safe (#135473)
This PR makes some progress towards making it possible to create clones
of `CompilerInstance` that are independent of each other and can be used
in a multi-threaded setting. This PR tackles
`CompilerInstance::FailedModules`, makes it a value-type instead of a
mutable shared pointer, and adds explicit copies & moves where
appropriate.
Besides that change, this PR also turns two previously free functions
with internal linkage into member functions of `CompilerInstance`, which
makes it possible to reduce the public API of that class that relates to
`FailedModules`. This reduces some API churn that was necessary for each
new member of `CompilerInstance` that needs to be cloned.
Commit: ab58bcfac43d1bf352d7129b786e9c7f28e81fdf
https://github.com/llvm/llvm-project/commit/ab58bcfac43d1bf352d7129b786e9c7f28e81fdf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/tools/llvm-debuginfo-analyzer/llvm-debuginfo-analyzer.cpp
M llvm/tools/llvm-nm/llvm-nm.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[tools] Use llvm::append_range (NFC) (#135721)
Commit: 62ef10a0f62c668e1fa7e357f56052f3364544c5
https://github.com/llvm/llvm-project/commit/62ef10a0f62c668e1fa7e357f56052f3364544c5
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)
Fixes https://github.com/llvm/llvm-project/issues/128650
Also adds few previously existing permlane64 tests which somehow got
removed in between.
Commit: eb7f51485e8060a390a36a61a30a6f4332c24aae
https://github.com/llvm/llvm-project/commit/eb7f51485e8060a390a36a61a30a6f4332c24aae
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
M mlir/lib/Analysis/Presburger/Barvinok.cpp
M mlir/lib/Analysis/Presburger/QuasiPolynomial.cpp
M mlir/lib/Analysis/Presburger/Simplex.cpp
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/PDLLServer.cpp
M mlir/lib/Tools/tblgen-lsp-server/TableGenServer.cpp
Log Message:
-----------
[mlir] Use llvm::append_range (NFC) (#135722)
Commit: 01c1c78103d026d0d0007ae7b7d54b36edef1324
https://github.com/llvm/llvm-project/commit/01c1c78103d026d0d0007ae7b7d54b36edef1324
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
Log Message:
-----------
[Scalar] Construct SmallVector with an iterator range (NFC) (#135725)
Commit: 2538c607e903a1fe0cfcacd5732235cc8ff3adf7
https://github.com/llvm/llvm-project/commit/2538c607e903a1fe0cfcacd5732235cc8ff3adf7
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/X86/X86Subtarget.cpp
M llvm/lib/Target/X86/X86Subtarget.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
Log Message:
-----------
[CodeGen] Prune headers and move code out of line for build efficiency, NFC (#135622)
I noticed these destructors taking time with -ftime-trace and moved some
of them for minor build efficiency improvements.
The main impact of moving destructors out of line is that it avoids
requiring container fields containing other types from being complete,
i.e. one can have uptr<T> or vector<T> as a field with an incomplete
type T, and that means we can reduce transitive includes, as with
LegalizerInfo.h.
Move expensive getDebugOperandsForReg template out-of-line. The
std::function instantiation shows up in time trace even if you don't use
the function.
Commit: f46cea5b42ed4d05fd11dc1e693ddc6153769cde
https://github.com/llvm/llvm-project/commit/f46cea5b42ed4d05fd11dc1e693ddc6153769cde
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-14 (Mon, 14 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
Log Message:
-----------
Revert "[AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)"
This reverts commit 62ef10a0f62c668e1fa7e357f56052f3364544c5.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132358
Commit: a388395b869ada3a4d104aa9963fa233b45522ea
https://github.com/llvm/llvm-project/commit/a388395b869ada3a4d104aa9963fa233b45522ea
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/StackFrameLayoutAnalysisPass.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NPM] Port StackFrameLayoutAnalysisPass to NPM (#130070)
Commit: fceb9cecdf6264eb773ee826b72a51a9ec68ec74
https://github.com/llvm/llvm-project/commit/fceb9cecdf6264eb773ee826b72a51a9ec68ec74
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/InternalsManual.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/C/C11/n1285.c
M clang/test/CodeGenCXX/sections.cpp
A clang/test/FixIt/fixit-bool.cpp
M clang/test/Modules/odr_hash.cpp
M clang/test/OpenMP/declare_variant_messages.c
M clang/test/OpenMP/declare_variant_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/distribute_simd_linear_messages.cpp
M clang/test/OpenMP/for_linear_messages.cpp
M clang/test/OpenMP/for_simd_linear_messages.cpp
M clang/test/OpenMP/for_simd_misc_messages.c
M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_for_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_misc_messages.c
M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/simd_linear_messages.cpp
M clang/test/OpenMP/simd_misc_messages.c
M clang/test/OpenMP/target_parallel_for_linear_messages.cpp
M clang/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_simd_linear_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
M clang/test/OpenMP/task_affinity_messages.cpp
M clang/test/OpenMP/task_depend_messages.cpp
M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
M clang/test/Sema/code_align.c
M clang/test/Sema/warn-int-in-bool-context.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/warn-dangling-local.cpp
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
M clang/test/SemaHLSL/Language/OutputParameters.hlsl
M clang/test/SemaHLSL/parameter_modifiers.hlsl
M clang/test/SemaOpenCL/to_addr_builtin.cl
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
Log Message:
-----------
[clang] consistently quote expressions in diagnostics (#134769)
Commit: 17b4cacbd48b75a6a4c9dfe687dd39f5e88189c3
https://github.com/llvm/llvm-project/commit/17b4cacbd48b75a6a4c9dfe687dd39f5e88189c3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
M llvm/test/CodeGen/X86/pr134602.ll
Log Message:
-----------
[DAG] isSplatValue - only treat binop splats shared undef elements as undef (#135597)
#134602 demonstrated an issue where an AND node always had at least one demanded UNDEF element in either operand, and incorrectly reported this an all-undef result - despite the other element being 0 (so would correctly fold to 0).
This fix only assumes a binops splats element is undefined if both operands are undef.
Fixes #134602
Commit: 0f526498a1b0819055d1094fd9850fdbcab5b903
https://github.com/llvm/llvm-project/commit/0f526498a1b0819055d1094fd9850fdbcab5b903
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/FileEntry.h
M clang/lib/Basic/FileManager.cpp
M clang/lib/Lex/PPDirectives.cpp
A clang/test/Preprocessor/embed-reject-device-files-lin.c
A clang/test/Preprocessor/embed-reject-device-files-win.c
Log Message:
-----------
[clang] Reject character devices in #embed for now (#135370)
See https://github.com/llvm/llvm-project/issues/126629 . Right now they
are not supported properly and support requires modifying several layers
of LLVM. For now simply reject them while proper support is being
developed to avoid potential security problems.
Commit: 06da00ae2d116bb2c4063b124429c2d29eb69d87
https://github.com/llvm/llvm-project/commit/06da00ae2d116bb2c4063b124429c2d29eb69d87
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/CodeGen/arm-target-features.c
M clang/test/Driver/print-supported-extensions-arm.c
M clang/test/Preprocessor/arm-target-features.c
M llvm/include/llvm/TargetParser/ARMTargetParser.def
M llvm/include/llvm/TargetParser/ARMTargetParser.h
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
M llvm/lib/TargetParser/ARMTargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[ARM][Clang] Make `+nosimd` functional for AArch32 Targets (#130623)
`+simd` and `+nosimd` are used to enable or disable NEON Instructions
when compiling for ARM Targets. However, up until now, using these
has not been possible. To enable this, these options are mapped to the
relevant LLVM backend option (`+neon` and `-neon`) so it can be both
enabled and disabled successfully by the user.
Tests have been added to ensure this behaviour is maintained in the
future, along with updates to existing tests as behaviour has now changed
relating to the use of `+simd` and `+nosimd`.
As `simd` has been mapped within the ARMTargetParser.def, support for
this extension is also added for the `--print-support-extensions` command
when the target is AArch32. This will print the `simd` option, along with the
description that relates to the Neon feature. This previously was not
possible as `simd` did not have a related Feature or Negative Feature.
To make this functional as intended, MVE and MVE.FP now rely on their
own Enum identifier, rather than `AEK_SIMD`. While SIMD does refer to
both Neon and Helium technologies, in terms of command line options,
SIMD relates to Neon. Helium relates to MVE and MVE.FP. The Enum
now reflects this too.
Commit: ccbbb1722fc4b53a75dda59b613d7aea0a47b506
https://github.com/llvm/llvm-project/commit/ccbbb1722fc4b53a75dda59b613d7aea0a47b506
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
M mlir/include/mlir/Analysis/DataFlowFramework.h
M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
M mlir/lib/Analysis/DataFlowFramework.cpp
M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
Log Message:
-----------
[mlir] [dataflow] : Improve the time and space footprint of data flow. (#135325)
MLIR's data flow analysis (especially dense data flow analysis)
constructs a lattice at every lattice anchor (which, for dense data
flow, means every program point). As the program grows larger, the time
and space complexity can become unmanageable.
However, in many programs, the lattice values at numerous lattice
anchors are actually identical. We can leverage this observation to
improve the complexity of data flow analysis. This patch introducing
equivalence lattice anchor to group lattice anchors that must contains
identical lattice on certain state to improve the time and space
footprint of data flow.
Commit: 3266f9c3d6ae07289d0253d1efeb3d951830105c
https://github.com/llvm/llvm-project/commit/3266f9c3d6ae07289d0253d1efeb3d951830105c
Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/docs/Traits/_index.md
M mlir/include/mlir/IR/BuiltinAttributeInterfaces.td
M mlir/lib/IR/SymbolTable.cpp
Log Message:
-----------
[MLIR] Documentation updates and typo fixes (#125273)
Commit: 440ae4be5be421a54b82f60899c1bc17d7fbc0c3
https://github.com/llvm/llvm-project/commit/440ae4be5be421a54b82f60899c1bc17d7fbc0c3
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/docs/CodeOfConduct.rst
Log Message:
-----------
[doc][CoC] Update committee members list (#135594)
The list of Code of Conduct committee member names was out of date. This
updates it, and orders them alphabetically by last name.
Commit: 17ac7e0e844331d6c4530a678e41ed109766947e
https://github.com/llvm/llvm-project/commit/17ac7e0e844331d6c4530a678e41ed109766947e
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrArithmetic.td
M llvm/test/CodeGen/X86/lea-8bit.ll
Log Message:
-----------
[X86][APX] Fix a typo in LEA suffix (#135734)
Found during reviewing #135632
Commit: 1ee8fe810fab9f660b72585a782a449c8f83d8e6
https://github.com/llvm/llvm-project/commit/1ee8fe810fab9f660b72585a782a449c8f83d8e6
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/Basic/Targets/Mips.cpp
M clang/test/Driver/mips-abi.c
Log Message:
-----------
[Mips] Fix clang compile error when -march=p5600 with -mmsa (#132679)
When -march=p5600 with -mmsa, the result of getISARev is 0, so report
error. Append p5600 to cases mips32r5.
Fix #91948.
Commit: b4017d814217160fa776ca05afc711770a13ac13
https://github.com/llvm/llvm-project/commit/b4017d814217160fa776ca05afc711770a13ac13
Author: David Green <david.green at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-smull.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-extmul.ll
Log Message:
-----------
[AArch64][GlobalISel] Improve MULL generation (#112405)
This splits the existing post-legalize lowering of vector umull/smull
into two parts - one to perform the optimization of mul(ext,ext) -> mull
and one to perform the v2i64 mul scalarization. The mull part is moved
to post legalizer combine and has been taught a few extra tricks from
SDAG, using known bits to convert mul(sext, zext) or mul(zext,
zero-upper-bits) into umull. This can be important to prevent v2i64
scalarization of muls.
Commit: 5307040473d9b4d78a9031fb072c1261275aa87e
https://github.com/llvm/llvm-project/commit/5307040473d9b4d78a9031fb072c1261275aa87e
Author: Iris <0.0 at owo.li>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[NFC] Fix auto* warning (#135765)
Commit: 0f86e2395e4f22bf3cb05e38be05b90575066829
https://github.com/llvm/llvm-project/commit/0f86e2395e4f22bf3cb05e38be05b90575066829
Author: Miguel Saldivar <miguel.saldivar at hpe.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/minval-maxval-issue-134308.fir
Log Message:
-----------
[flang] Avoid optimizing min and max if not valid type (#134972)
In `makeMinMaxInitValGenerator` it explicitly checks for only
`FloatType` and `IntegerType`, so we shouldn't match if we don't have
either of those types.
Fix for #134308
Commit: e65faed187485db3638aa6415f7e9df053623dcf
https://github.com/llvm/llvm-project/commit/e65faed187485db3638aa6415f7e9df053623dcf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
Log Message:
-----------
[AArch64] Fix a warning
This patch fixes:
lib/Target/AArch64/AArch64GenPostLegalizeGILowering.inc:570:42:
error: unused variable 'GIMatchData_matchinfo'
[-Werror,-Wunused-variable]
Commit: 96e38766118c62ed42ddedd4642284cdca12904e
https://github.com/llvm/llvm-project/commit/96e38766118c62ed42ddedd4642284cdca12904e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
Log Message:
-----------
[AsmPrinter] Migrate away from PointerUnion::dyn_cast (NFC) (#135740)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
We use dyn_cast_if_present here because Bound can be null.
Commit: 00eaff3e9c897c263a879416d0f151d7ca7eeaff
https://github.com/llvm/llvm-project/commit/00eaff3e9c897c263a879416d0f151d7ca7eeaff
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
A mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.td
M mlir/include/mlir/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
A mlir/test/Dialect/Bufferization/Transforms/tensorlike-bufferlike.mlir
M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
A mlir/test/lib/Dialect/Bufferization/TestTensorLikeAndBufferLike.cpp
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.h
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][bufferization] Add tensor-like and buffer-like interfaces (#134220)
Current one-shot bufferization infrastructure operates on top of
TensorType and BaseMemRefType. These are non-extensible base classes of
the respective builtins: tensor and memref. Thus, the infrastructure is
bound to work only with builtin tensor/memref types. At the same time,
there are customization points that allow one to provide custom logic to
control the bufferization behavior.
This patch introduces new type interfaces: tensor-like and buffer-like
that aim to supersede TensorType/BaseMemRefType within the bufferization
dialect and allow custom tensors / memrefs to be used. Additionally,
these new type interfaces are attached to the respective builtin types
so that the switch is seamless.
Note that this patch does very minimal initial work, it does NOT
refactor bufferization infrastructure.
See https://discourse.llvm.org/t/rfc-changing-base-types-for-tensors-and-memrefs-from-c-base-classes-to-type-interfaces/85509
Commit: 81499edb30665d377a680990ef3c5129f9b54261
https://github.com/llvm/llvm-project/commit/81499edb30665d377a680990ef3c5129f9b54261
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
[NFC][lldb]Fix stack-use-after-free bugs in exit-callbacks. (#135763)
Commit: 03b0f55d9c6319a851a60bb084faca0e32a38f2b
https://github.com/llvm/llvm-project/commit/03b0f55d9c6319a851a60bb084faca0e32a38f2b
Author: Brian Cody <brian.j.cody at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/libclang.map
Log Message:
-----------
[cindex] Add support for calling getFullyQualifiedName to the Python binding. (#135420)
We're coming from llvm 11. There was a change made back in 15f3cd6 that
changed how type spelling works. Previous we were given namespaces of
the types within the spelling, and this was necessary in our use-case.
There is a more appropriate function available but it was not being
exposed over the Python bindings. This PR is intended to make make this
already-existing functionality accessible.
---------
Co-authored-by: Jannick Kremer <jannick.kremer at mailbox.org>
Commit: 7eae1a4d1fd84e87eb31ea263d0df838cce8fa1b
https://github.com/llvm/llvm-project/commit/7eae1a4d1fd84e87eb31ea263d0df838cce8fa1b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Name premerge artifacts per OS
This patch renames premerge artifacts per OS. Without this, the premerge
artifacts will conflict with each other and the slower running job will
fail to upload the artifact.
Commit: 38faf32d23d1edb7708711d0f9e0db853ddf75a5
https://github.com/llvm/llvm-project/commit/38faf32d23d1edb7708711d0f9e0db853ddf75a5
Author: alekuz01 <aleksei.kuzmenko at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M bolt/CMakeLists.txt
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/runtime/common.h
M bolt/runtime/hugify.cpp
A bolt/test/runtime/Inputs/user_func_order.txt
R bolt/test/runtime/X86/Inputs/user_func_order.txt
R bolt/test/runtime/X86/hugify.c
R bolt/test/runtime/X86/user-func-reorder.c
A bolt/test/runtime/hugify.c
A bolt/test/runtime/user-func-reorder.c
Log Message:
-----------
[BOLT] Enable hugify for AArch64 (#117158)
Add required hugify instrumentation and runtime libraries support for AArch64.
Fixes #58226
Unblocks #62695
Commit: 9a6c001b125d7d37b8f2c8b96461768c797c4e3f
https://github.com/llvm/llvm-project/commit/9a6c001b125d7d37b8f2c8b96461768c797c4e3f
Author: YLChenZ <chentongyongcz at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-APValue-lvalue.cpp
Log Message:
-----------
[clang][ast]: Add DynamicAllocLValue and TypeInfoLValue support to APValue::dump(). (#135178)
Closes #134996.
The crash about `TypeInfoLValue` is https://godbolt.org/z/73WY31s55.
After the patch:
```cpp
//test.cpp
#include <typeinfo>
constexpr const std::type_info* val = &typeid(int);
```
```
lambda at ubuntu22:~/test$ clang++ -std=c++20 -Xclang -ast-dump -fsyntax-only test.cpp
LValue Base=TypeInfoLValue typeid(int), Null=0, Offset=0, HasPath=1, PathLength=0, Path=()
```
```cpp
//DAtest.cpp
constexpr int *m = new int(42);
```
```
lambda at ubuntu22:~/test$ clang++ -std=c++20 -Xclang -ast-dump -fsyntax-only DAtest.cpp
LValue Base=DynamicAllocLValue 'int', Null=0, Offset=0, HasPath=1, PathLength=0, Path=()
```
Commit: 595cc960b6da7f55d64d2025abb67a9aabb01a85
https://github.com/llvm/llvm-project/commit/595cc960b6da7f55d64d2025abb67a9aabb01a85
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
A flang/test/Fir/target-rewrite-fmfs.fir
M flang/test/Fir/target-rewrite-selective.fir
Log Message:
-----------
[flang] Propagate fast-math flags in target-rewrite (#135723)
TargetRewritePass was dropping fast-math flags. Add the flags to the new
call ops and update tests.
Commit: ddfd81bb76c05b095c8eca7a45f71547c3df2a89
https://github.com/llvm/llvm-project/commit/ddfd81bb76c05b095c8eca7a45f71547c3df2a89
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopVersioning.h
M llvm/lib/Transforms/Utils/LoopVersioning.cpp
Log Message:
-----------
[LoopVer] Add function to get the alias_scope/noalias metadata (NFC).
Split out logic to get noalias/alias_scope metadata to separate function
in LoopVersioning. This will be used to migrate away from
annotateInstWithNoAlias in LV.
Commit: e1382b3b459d39659694ee854073bbdb1aa1d98d
https://github.com/llvm/llvm-project/commit/e1382b3b459d39659694ee854073bbdb1aa1d98d
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
R llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
R llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
Revert "[SLP] Make getSameOpcode support interchangeable instructions. (#133888)"
This reverts commit 123993fd974629ca0a094918db4c21ad1c2624d0.
Commit: 535eaa4f3be5dda5cf3aa13348aac8d9a27d20f0
https://github.com/llvm/llvm-project/commit/535eaa4f3be5dda5cf3aa13348aac8d9a27d20f0
Author: earnol <earnol at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTest.h
Log Message:
-----------
[clang][test] Improve unit tests for Fixed point AST matchers. (#134398)
We have AST matchers for fixed point float numbers since commits
789215dc0db174c9fdd273436fdd60d8289a9fc0 and
ff9120636e9c890b4db735d252d16b92091dde55. However in those commits the
unit tests were not added. Amending the test suit by adding missing
tests.
Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>
Commit: 72560e7b0d3ab30da362eccc6a7586663690fab6
https://github.com/llvm/llvm-project/commit/72560e7b0d3ab30da362eccc6a7586663690fab6
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/test/MC/AMDGPU/bf16_imm.s
M llvm/test/MC/AMDGPU/gfx11-promotions.s
M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
M llvm/test/MC/AMDGPU/gfx11_asm_vinterp_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopc_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3c_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
Log Message:
-----------
[AMDGPU][MC] test update with script for gfx11/gfx12 mc test (#135527)
This is a NFC patch.
Run test update with script with --unique options for many gfx11/gfx12
mc test. This format files. This prepares for the upcoming true16 clean
up patch
Commit: bf3b3d012c6b6b4369ac76e467f7fc78ee5aaca8
https://github.com/llvm/llvm-project/commit/bf3b3d012c6b6b4369ac76e467f7fc78ee5aaca8
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
Log Message:
-----------
[mlir][GPU] Don't look into neighboring functions for barrier elimination (#135293)
If a `func.func` is nested in some other operation, the barrier
eliminator's recursion into parents will examine the neighbors of each
function. Therefore, don't recurse into the parent of an operation if
that operation is IsolatedFromAbove, like a func.func is.
Furthermore, define functions as a region that executes only once,
since, within the context of this pass (which runs on functions) it is
true.
Commit: 7f2587a23919c841584dce345ca42b9802410281
https://github.com/llvm/llvm-project/commit/7f2587a23919c841584dce345ca42b9802410281
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/smin-reduction-unsigned-missing-sign.ll
Log Message:
-----------
[SLP][NFC]Add a test with missing zext on signed minimum reduction, NFC
Commit: 552902455c7a3958930d4607ac8b85fd39d7c8a3
https://github.com/llvm/llvm-project/commit/552902455c7a3958930d4607ac8b85fd39d7c8a3
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/integer/clc_ctz.cl
M libclc/generic/include/clc/clc.h
A libclc/generic/include/clc/integer/ctz.h
M libclc/generic/lib/SOURCES
A libclc/generic/lib/integer/ctz.cl
Log Message:
-----------
[libclc] Add ctz built-in implementation to clc and generic (#135309)
Commit: 57025b42c43b2f14f7e58692bc19cd53d1b8a45e
https://github.com/llvm/llvm-project/commit/57025b42c43b2f14f7e58692bc19cd53d1b8a45e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/smin-reduction-unsigned-missing-sign.ll
Log Message:
-----------
[SLP]Mark smin reduction as signed compare
Reduction signed min must be marked as signed compare, fixing the
analysis for the cases, where the incoming arguments are unsigned.
Fixes #133943
Commit: 478065882303823623e1bc2d62b2a98097f9f53d
https://github.com/llvm/llvm-project/commit/478065882303823623e1bc2d62b2a98097f9f53d
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFC][TableGen] DecoderEmitter optimize scope stack in `Filter::emitTableEntry` (#135693)
- Create a new stack scope only in the fallthrough case.
- For the non-fallthrough cases, any fixup entries will naturally be
added to the existing scope without needing to copy them manually.
- Verified that the generated `GenDisassembler` files are identical with
and without this change.
Commit: f215a61891b0368d2d7e329bc994c9053dc3fac9
https://github.com/llvm/llvm-project/commit/f215a61891b0368d2d7e329bc994c9053dc3fac9
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
Log Message:
-----------
[mlir][linalg][vector] Refine create{Read|Write}OrMasked{Read|Write} (nfc) (#135350)
The semantics of `createReadOrMaskedRead` and `createWriteOrMaskedWrite`
are currently a bit inconsistent and not fully documented:
* The input vector sizes are passed as `readShape` and
`inputVectorSizes`, respectively — inconsistent naming.
* Currently, the input vector sizes in `createWriteOrMaskedWrite` are
not required to be complete: any missing trailing sizes are inferred
from the destination tensor. This only works when the destination
tensor is statically shaped.
* Unlike `createReadOrMaskedRead`, the documentation for
`createWriteOrMaskedWrite` does not specify that write offsets are
hard-coded to 0.
This PR only updates the documentation and unifies the naming. As such,
it is NFC.
A follow-up PR will generalize and unify the implementation to support,
for example, dynamically shaped destination tensors — a requirement for
enabling scalable vectorization of `linalg.pack` and `linalg.unpack`.
Commit: 9ab2dea61eee82faae8b85c99e889026e8b4f2c1
https://github.com/llvm/llvm-project/commit/9ab2dea61eee82faae8b85c99e889026e8b4f2c1
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/AlgebraicSimplification.cpp
M mlir/test/Dialect/Math/algebraic-simplification.mlir
Log Message:
-----------
[mlir][math] powi with negative exponent should invert at the end (#135735)
Previously, an FPowI operation would invert the base *before* performing
a sequence of multiplications, but this led to discrepancies between
LLVM pow intrinsic folding and that coming from the math dialect.
See compiler-rt's version, which does the inverse at the end of the
calculation: compiler-rt/lib/builtins/powidf2.c
Commit: bcfc9f452983f9b0b14f2cda8f4d212a0821c972
https://github.com/llvm/llvm-project/commit/bcfc9f452983f9b0b14f2cda8f4d212a0821c972
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
A llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll
Log Message:
-----------
[SLP][REVEC] VectorValuesAndScales should be supported by REVEC. (#135762)
We should align REVEC with the SLP algorithm as closely as possible. For
example, by applying REVEC-specific handling when calling IRBuilder's
Create methods, performing cost analysis via TTI, and expanding shuffle
masks using transformScalarShuffleIndicesToVector.
reference commit: 3b18d47ecbaba4e519ebf0d1bc134a404a56a9da
Commit: 637f352c3edc207f6f79c16f4760d218904fb9f7
https://github.com/llvm/llvm-project/commit/637f352c3edc207f6f79c16f4760d218904fb9f7
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
Log Message:
-----------
[NFC][CostModel][AArch64] Add bf16 coverage for compare tests.
Commit: d0e4af8a88dc7a0377677000d0c92104ff215347
https://github.com/llvm/llvm-project/commit/d0e4af8a88dc7a0377677000d0c92104ff215347
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCast.cpp
A clang/test/Sema/warn-cast-function-type-win.c
Log Message:
-----------
Silence -Wcast-function-type warnings on idiomatic Windows code (#135660)
On Windows, GetProcAddress() is the API used to dynamically load
function pointers (similar to dlsym on Linux). This API returns a
function pointer (a typedef named FARPROC), which means that casting
from the call to the eventual correct type is technically a function
type mismatch on the cast. However, because this is idiomatic code on
Windows, we should accept it unless -Wcast-function-type-strict is
passed.
This was brought up in post-commit review feedback on
https://github.com/llvm/llvm-project/pull/86131
Commit: 88b6229dc3f65876b3f627616a024cd5dbcadcb0
https://github.com/llvm/llvm-project/commit/88b6229dc3f65876b3f627616a024cd5dbcadcb0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Remove unhelpful error messages from PseudoLoweringEmitter. (#135747)
All of the notes using the location of ResultInst will just print the
location inside of the PseudoInstExpansion class.
There was one note using the location of DI->getDef(), but knowing where
one of the two mismatched types is defined isn't helpful. The operand
types need to be the same, so the mismatch message we already printed
should be enough.
Commit: 7b5a459611212b650e863c0ad6a9fa49c07e29df
https://github.com/llvm/llvm-project/commit/7b5a459611212b650e863c0ad6a9fa49c07e29df
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/test/MC/RISCV/target-abi-invalid.s
Log Message:
-----------
[RISCV] Just reporting an error shouldn't generate a crash diagnostic (#134040)
Wanting to examine some of generated code, I tried MCA with the command:
~~~bash
llvm-mca -mtriple=riscv32-unknown-unknown -mcpu=rocket -iterations=300
core_list_join.s
~~~
I was greeted with the following error message:
~~~
LLVM ERROR: RV32 target requires an RV32 CPU
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/ and include the crash
backtrace.
Stack dump:
…
~~~
On beginning to investigate the “bug”, I discovered that the code was
simply attempting to report a user error. It used report_fatal_error()
to do so but with the “bool GenCrashDiag” argument enabled (the
default). This tiny change adds a wrapper function which calls
report_fatal_error() as before but with GenCrashDiag disabled.
Commit: a399c6926a8701083c767cbb041e22ff92e9d717
https://github.com/llvm/llvm-project/commit/a399c6926a8701083c767cbb041e22ff92e9d717
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
M lldb/test/requirements.txt
Log Message:
-----------
[CI] monolithic-linux improvements (#135499)
Some improvements to monolithic-linux CI:
1) Add correct configuration and dependencies for LLDB testing which
is actually relevant for clang changes.
2) Skip clang installation and separate configuration for runtimes.
They will be built with the just built clang either way.
This avoids building the runtimes twice when LLDB is also tested.
3) Make sure any generated clang reproducers end up as artifacts.
4) Set up llvm-symbolizer environment variable so that its preferred
over
any symbolizer just built, as it can be much slower when built for
debugging.
5) Add all projects as dependencies of `.ci`, to make sure everything is
tested when it changes.
Commit: 289baf1f42c8b5773271b611cd235d4ab94bb4e8
https://github.com/llvm/llvm-project/commit/289baf1f42c8b5773271b611cd235d4ab94bb4e8
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Expr.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[clang][AST] Handle implicit first argument in CallExpr::getBeginLoc() (#135757)
Fixes https://github.com/llvm/llvm-project/issues/135522
Commit: d41e517748e2dbb51e27bed217f3dd7a4c4fb86f
https://github.com/llvm/llvm-project/commit/d41e517748e2dbb51e27bed217f3dd7a4c4fb86f
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
A llvm/test/Transforms/SLPVectorizer/bbi-106161.ll
A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
[SLP] Make getSameOpcode support interchangeable instructions. (#135797)
We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: c8121b99a99fe1785add732aa062039b7c5fdd32
https://github.com/llvm/llvm-project/commit/c8121b99a99fe1785add732aa062039b7c5fdd32
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilb-invalid.s
M llvm/test/MC/RISCV/xqcilb-relocations.s
Log Message:
-----------
[RISCV] Xqcilb: remove RISCVMCExpr::VK_QC_E_JUMP_PLT and drop `@plt` parsing
Follow-up to the just landed #135044 . Remove `@plt` parsing (only
needed by legacy `call foo at plt`). MCParser's `@` parsing is problematic.
Supporting target variations like (`foo+2 at plt foo at plt+2 (foo+2)@plt`)
involves messy hacks. We should refrain from adding new `@` uses.
Remove unneeded `RISCVMCExpr::VK_QC_E_JUMP_PLT` (should only be used
when an instruction might have multiple reasonable relocations
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers).
---
GCC's initial initial RISC-V port made a mistake by having both `call
foo` (non-PIC) and `call foo at plt` (PIC), likely misled by x86/SystemZ.
It was determined that the `@plt` was not needed. Since R_RISCV_CALL had
questionable undefined weak semantics in GNU ld (which has been removed
then), we kept R_RISCV_CALL_PLT and deprecated R_RISCV_CALL.
For RISC-V instructions, we only keep `@` in call/jump for backward
compatibility and discourage it for all other instructions.
(
There is disagreement about whether `PLT` in `JUMP_PLT` is useful or
misleading.
MaskRay's opnion: For new branch relocations with procedure call
semantics, use `_CALL` and avoid `_PLT` in the relocation name.
`_PLT` should only be used in data directives (e.g. R_RISCV_PLT32) to
indicate that the address of a function is not significant.
)
Pull Request: https://github.com/llvm/llvm-project/pull/135507
Commit: 98534eee847dfa80ff88b213a628a6149f8754d9
https://github.com/llvm/llvm-project/commit/98534eee847dfa80ff88b213a628a6149f8754d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Migrate away from PointerUnion::dyn_cast (NFC) (#135770)
Note that PointerUnion::dyn_cast has been soft deprecated in
PointerUnion.h:
// FIXME: Replace the uses of is(), get() and dyn_cast() with
// isa<T>, cast<T> and the llvm::dyn_cast<T>
Literal migration would result in dyn_cast_if_present (see the
definition of PointerUnion::dyn_cast), but this patch uses dyn_cast
because we have a call to dyn_cast earlier in the function, implying
that attrOrProp is nonnull.
Commit: ece10a64cb180ba931b60cbd939d80412973eada
https://github.com/llvm/llvm-project/commit/ece10a64cb180ba931b60cbd939d80412973eada
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Sema/attr-decl-after-definition-std.c
Log Message:
-----------
Allow some attributes on declarations after definitions (#135791)
The deprecated, maybe_unused, and nodiscard standard attributes may all
be applied to a redeclaration after a definition has already appeared.
We were previously dropping the attribute in that case, now we retain
the attribute after the redeclaration.
Note: someday we may want to tablegen this as part of information from
Attr.td. We may also want to relax the restriction here so that the
syntax used does not matter. This is an intentionally conservative fix.
Fixes #135481
Commit: a9553990fb6de8b4d99d05c95fe949deef6357e1
https://github.com/llvm/llvm-project/commit/a9553990fb6de8b4d99d05c95fe949deef6357e1
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
R llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.exe
R llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.o
Log Message:
-----------
[DWARFLinker] Update `stmt-seq-macho.test` to use `update_test_body.py` (#133363)
In this change we update DWARFLinker test
`llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test` to be self-contained
and easy to regenerate via `update_test_body.py`. As relating to [this
comment](https://github.com/llvm/llvm-project/pull/132875/files#r2012471834)
- this would be approach nr.2
Updating the test can be done via:
```
PATH=/path/to/llvm/bin:$PATH llvm/utils/update_test_body.py llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
```
Commit: 40050888a11a92a2fbf4da5dda5956ca9ecb6b55
https://github.com/llvm/llvm-project/commit/40050888a11a92a2fbf4da5dda5956ca9ecb6b55
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
[clang][depscan] Centralize logic for populating StableDirs, NFC (#135704)
Pass a reference to `StableDirs` when creating ModuleDepCollector. This
avoids needing to create one from the same ScanInstance for each call to
`handleTopLevelModule` & reduces the amount of potential downstream
changes needed for handling StableDirs.
Commit: 3192ecfa89a48b5f56ff36956abe7e84327ced5d
https://github.com/llvm/llvm-project/commit/3192ecfa89a48b5f56ff36956abe7e84327ced5d
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/test/CodeCompletion/member-access.c
Log Message:
-----------
[CodeComplete] Don't drop ArrayToPointerDecay when doing member completion (#134951)
Fixes https://github.com/llvm/llvm-project/issues/123146.
rdar://138851576
Commit: 1545f1139127b92be15fcd2964114028a2d07194
https://github.com/llvm/llvm-project/commit/1545f1139127b92be15fcd2964114028a2d07194
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
Log Message:
-----------
[NFC][NVPTX] Use StringRef for Modifier arg in NVPTXInstPrinter (#135793)
- Use StringRef type for Modifier instead of const char *.
- Remove Modifier arg from functions that do not need them.
Commit: 68383fc20880f2d6ec6618d8870cd89e727bdc19
https://github.com/llvm/llvm-project/commit/68383fc20880f2d6ec6618d8870cd89e727bdc19
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
Log Message:
-----------
[NFC][clang-tidy] Remove {{^}} clauses in some tests (1/N) (#134737)
`check_clang_tidy` now matches full lines only, so `{{^}}` clauses are
no longer necessary.
I am splitting those changes over multiple PRs to make review easier.
Numbering them but the actual order doesn't matter.
Commit: 7a41761407c485d18b7d48232b308556b3b43934
https://github.com/llvm/llvm-project/commit/7a41761407c485d18b7d48232b308556b3b43934
Author: Wanyi <wanyi at meta.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/API/SBProcess.cpp
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
Log Message:
-----------
[lldb] Make SBProcess thread related actions listen to StopLocker (#134339)
# Summary
This PR updates `SBProcess::GetNumThreads()` and
`SBProcess::GetThreadAtIndex()` to listen to the stop locker.
`SBProcess::GetNumThreads()` will return 0 if the process is running.
## Problem Description
Recently upon debugging a program with thousands of threads in VS Code,
lldb-dap would hang at a `threads` request sent right after receiving
the `configurationDone` response. Soon after it will end the debug
session with the following error
```
Process <pid> exited with status = -1 (0xffffffff) lost connection
```
This is because LLDB is still in the middle of resuming all the threads.
And requesting threads will end up interrupt the process on Linux. From
the gdb-remote log it ended up getting `lldb::StateType::eStateInvalid`
and just exit with status -1.
I don't think it's reasonable to allow getting threads from a running
process. There are a few approaches to fix this:
1) Send the stopped event to IDE after `configurationDone`. This aligns
with the CLI behavior.
2) However, the above approach will break the existing user facing
behavior. The alternative will be reject the `threads` request if the
process is not stopped.
3) Improve the run lock. This is a synchronize issue where process was
in the middle of resuming while lldb-dap attempts to interrupt it.
**This PR implements the option 3**
## HOWEVER
This fixed the "lost connection" issue below but new issue has surfaced.
>From testing, and also from checking the [VSCode source
code](https://github.com/microsoft/vscode/blob/174af221c9ea2ccdb64abe4aab8e1a805e77beae/src/vs/workbench/contrib/debug/browser/debugSession.ts#L791),
it expects having threadID to perform `pause`. So after attaching,
without any threads reported to the client, the user will not be able to
pause the attached process. `setBreakpoint` will still work and once we
make a stop at the bp (or any stop that will report threads, client can
perform pause again.
## NEXT
1) Made an attempt to return initial thread list so that VSCode can
pause (second commit in the PR)
2) Investigate why threads will trigger unwinding the second frame of a
thread, which leads to sending the interrupt
3) Decided if we want to support `stopOnEntry` for attaching, given
i. This is not an official specification
ii. If enable stopOnEntry, we need to fix attaching on Linux, to send
only one stopped event. Currently, all threads upon attaching will have
stop reason `SIGSTOP` and lldb-dap will send `stopped` event for each
one of them. Every `stopped` will trigger the client request for
threads.
iii. Alternatively, we can support auto continue correspond to `(lldb)
process attach --continue`. This require the ii above.
### Additionally
lldb-dap will not send a `continued` event after `configurationDone`
because it checks `dap.focus_tid == LLDB_INVALID_THREAD_ID` (so that we
don't send it for `launch` request). Notice `dap.focus_tid` will only
get assigned when handling stop or stepping.
According to DAP
> Please note: a debug adapter is not expected to send this event in
response to a request that implies that execution continues, e.g. launch
or continue.
It is only necessary to send a continued event if there was no previous
request that implied this.
So I guess we are not violating DAP if we don't send `continued` event.
But I'd like to get some sense about this.
## Test Plan
Used following program for testing:
https://gist.github.com/kusmour/1729d2e07b7b1063897db77de194e47d
**NOTE: Utilize stdin to get pid and attach AFTER hitting enter. Attach
should happen when all the threads start running.**
DAP messages before the change
<img width="1165" alt="image"
src="https://github.com/user-attachments/assets/a9ad85fb-81ce-419c-95e5-612639905c66"
/>
DAP message after the change - report zero threads after attaching
<img width="1165" alt="image"
src="https://github.com/user-attachments/assets/a1179e18-6844-437a-938c-0383702294cd"
/>
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 9b13d345303d819bb83de7ebbeb826d704add0bc
https://github.com/llvm/llvm-project/commit/9b13d345303d819bb83de7ebbeb826d704add0bc
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[libc][bazel] Remove a no-op libc_internal_target macro. (#135818)
This macro is a no-op after 90c001ac9e1d92a1a95d191d1640ab5337a937e5:
libc_function macro now produce a "regular" cc_library target, without
modifying its name, and this target is intended to only be used in
tests.
Thus, libc_internal_target macro is no longer needed, and we can safely
treat libc_function rules and libc_support_library rules identically for
test purposes.
`libc_function_deps` attribute of a `libc_test` macro can also be
cleaned up, but I plan to do this in a subsequent change.
Commit: 3b9103044361094a8fde16a877f2e8cb0f96ce24
https://github.com/llvm/llvm-project/commit/3b9103044361094a8fde16a877f2e8cb0f96ce24
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A llvm/docs/InterfaceExportAnnotations.rst
M llvm/docs/Reference.rst
Log Message:
-----------
[llvm] add documentation for public interface annotations (LLVM_ABI, etc)
## Purpose
Add documentation for the existing family of `LLVM_ABI` annotation
macros defined in llvm/Support/Compiler.h. These annotations are used to
describe LLVM's public interface.
## Background
This documentation is in support of the annotation effort described
[here](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307/).
## Validation
Manually inspected rendered ReST document on GitHub.
Co-authored-by: Saleem Abdulrasool <compnerd at compnerd.org>
Commit: 30d13e359190f7a0e2122292ec4a4fc1a6c71acc
https://github.com/llvm/llvm-project/commit/30d13e359190f7a0e2122292ec4a4fc1a6c71acc
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/test/CIR/CodeGen/array.cpp
Log Message:
-----------
[CIR] Upstream ArraySubscriptExpr from function parameter with pointer base (#135493)
This change adds an ArraySubscriptExpr from the function parameter with
base type as Pointer
Issue https://github.com/llvm/llvm-project/issues/130197
Commit: 3f58ff20fe540fbbc2e5bfea1606f8cdc00d4157
https://github.com/llvm/llvm-project/commit/3f58ff20fe540fbbc2e5bfea1606f8cdc00d4157
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
R llvm/test/CodeGen/AArch64/ptrauth-pseudo-instructions.mir
Log Message:
-----------
AArch64: Remove the PAUTH_BLEND pseudo-instruction.
It can be represented using a regular MOVK instruction
which also has the advantage of sometimes being selectable
without a preceding MOV.
Reviewers: ahmedbougacha, asl, atrosinenko
Reviewed By: atrosinenko
Pull Request: https://github.com/llvm/llvm-project/pull/134765
Commit: a5aa0c46c3274eaf25dde4d792a1abd6191cccf9
https://github.com/llvm/llvm-project/commit/a5aa0c46c3274eaf25dde4d792a1abd6191cccf9
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ControlFlowIntegrity.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/CodeGen/unique-source-file-names.c
A clang/test/Driver/unique-source-file-names.c
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
A llvm/test/Transforms/ThinLTOBitcodeWriter/unique-source-file-names.ll
Log Message:
-----------
Introduce -funique-source-file-names flag.
The purpose of this flag is to allow the compiler to assume that each
object file passed to the linker has been compiled using a unique
source file name. This is useful for reducing link times when doing
ThinLTO in combination with whole-program devirtualization or CFI,
as it allows modules without exported symbols to be built with ThinLTO.
Reviewers: vitalybuka, teresajohnson
Reviewed By: teresajohnson
Pull Request: https://github.com/llvm/llvm-project/pull/135728
Commit: d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b
https://github.com/llvm/llvm-project/commit/d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Stack.h
M clang/lib/Basic/Stack.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/Support/CrashRecoveryContext.h
A llvm/include/llvm/Support/ProgramStack.h
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
A llvm/lib/Support/ProgramStack.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/ProgramStackTest.cpp
Log Message:
-----------
[llvm][clang] Allocate a new stack instead of spawning a new thread to get more stack space (#133173)
Clang spawns a new thread to avoid running out of stack space. This can
make debugging and performance analysis more difficult as how the
threads are connected is difficult to recover.
This patch introduces `runOnNewStack` and applies it in Clang. On
platforms that have good support for it this allocates a new stack and
moves to it using assembly. Doing split stacks like this actually runs
on most platforms, but many debuggers and unwinders reject the large or
backwards stack offsets that occur. Apple platforms and tools are known
to support this, so this only enables it there for now.
Commit: 429a84f8a4bf559f43f50072747ef49d3e3b2cf1
https://github.com/llvm/llvm-project/commit/429a84f8a4bf559f43f50072747ef49d3e3b2cf1
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/ProgramStack.h
Log Message:
-----------
[clang] Fix ambiguity in `runOnNewStack`
Commit: 227f4066befadf0d10eddb39947e35dbf820b1bb
https://github.com/llvm/llvm-project/commit/227f4066befadf0d10eddb39947e35dbf820b1bb
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port d0c973a7a014
Commit: 13615f7b506a693783764da87dc80e97cf59b95c
https://github.com/llvm/llvm-project/commit/13615f7b506a693783764da87dc80e97cf59b95c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openacc-parsers.cpp
M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Allow if clause on atomic directives (#135451)
The new version of the OpenACC specification will allow the if clause on
the atomic directives. Allow it in `ACC.td` and update the parse node
and parser in flang to support it.
OpenACC dialect will need to be updated to support it as well.
Commit: 8f25e43055058a6a16bf44573feb37a9ce51dc1a
https://github.com/llvm/llvm-project/commit/8f25e43055058a6a16bf44573feb37a9ce51dc1a
Author: AdityaK <hiraditya at msn.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/IR/BuiltinAttributes.cpp
Log Message:
-----------
[NFC] Rename hasSameElementsOrSplat to hasSameNumElementsOrSplat (#133183)
Makes it less confusing as this function only matches the number of
elements
Commit: 9a1ece26126363c64c67d9a6e357076e814acf9e
https://github.com/llvm/llvm-project/commit/9a1ece26126363c64c67d9a6e357076e814acf9e
Author: marius doerner <marius.doerner1 at icloud.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/test/Preprocessor/embed___has_embed.c
M clang/test/Preprocessor/has_attribute.c
M clang/test/Preprocessor/has_attribute.cpp
M clang/test/Preprocessor/has_c_attribute.c
M clang/test/Preprocessor/has_include.c
A clang/test/Preprocessor/pr133574.c
Log Message:
-----------
[clang] Clear `NeedsCleaning` flag after `ExpandBuiltinMacro` (#133574)
After builtin macro expansion in `Preprocessor::ExpandBuiltinMacro` the
result token may have the `Token::NeedsCleaning` flag set which causes
an assertion failure later on when the lexer retrieves the spelling of
the token in `getSpellingSlow`.
This commit adds an `Tok.clearFlag(Token::NeedsCleaning)` call to the
end of `ExpandBuiltinMacro`.
Closes #128384
Commit: b581bd3429b28420ff473f700fe96c18127a475d
https://github.com/llvm/llvm-project/commit/b581bd3429b28420ff473f700fe96c18127a475d
Author: Scott Manley <rscottmanley at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenACC.cpp
M flang/test/Lower/OpenACC/acc-private.f90
Log Message:
-----------
[flang][OpenACC] use correct type when create private box init recipe (#135698)
The recipe for initializing private box types was incorrect because
hlfir::createTempFromMold() is not a suitable utility function when the
box element type is a trivial type.
Commit: bd9c5112c750f07df2886562b227d9e2aeb338c8
https://github.com/llvm/llvm-project/commit/bd9c5112c750f07df2886562b227d9e2aeb338c8
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
A mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add error_if checks for Transpose (#135219)
This adds missing error_if checking for Transpose Op
also moved all transpose op's verifier tests from
invalid.mlir to verifier.mlir
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 96064e1b516aba4d7cbea2ab183b20b19b7eea86
https://github.com/llvm/llvm-project/commit/96064e1b516aba4d7cbea2ab183b20b19b7eea86
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/error_if_check.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
Log Message:
-----------
[mlir][tosa] Add table size check for Table Op (#135262)
Add table size check for Table Op
and add lit tests to error_if_check.mlir
also corrected some existing tests that violated the table size checks
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 4f64c80d5a23c244f942193e58ecac666c173308
https://github.com/llvm/llvm-project/commit/4f64c80d5a23c244f942193e58ecac666c173308
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/thread.h
Log Message:
-----------
[llvm] Add missing include for !LLVM_ENABLE_THREADS
thread.h used report_fatal_error without including ErrorHandling.h
Commit: e6e56f5b6a80c6ce55630d6075475cb363afb149
https://github.com/llvm/llvm-project/commit/e6e56f5b6a80c6ce55630d6075475cb363afb149
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/Transforms/MemProfContextDisambiguation/inlined2.ll
Log Message:
-----------
[MemProf] Handle recursion during stack node update (#135837)
If we are replacing a sequence of stack nodes with a single node
representing inlined IR, and the stack id sequence contains recursion,
we may have already removed some edges. Handle this case correctly by
skipping the now removed edge.
Commit: a3283a92aea147e89d9d404fa7c8500223c7c22a
https://github.com/llvm/llvm-project/commit/a3283a92aea147e89d9d404fa7c8500223c7c22a
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/PointerAuthentication.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/AST/ast-dump-ptrauth-json.cpp
A clang/test/CodeGen/ptrauth-debuginfo.c
A clang/test/CodeGen/ptrauth-qualifier-const-init.c
A clang/test/CodeGen/ptrauth-qualifier-function.c
A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
A clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
A clang/test/CodeGenCXX/mangle-ms-ptrauth.cpp
A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
A clang/test/Parser/ptrauth-qualifier.c
A clang/test/Preprocessor/ptrauth_extension.c
A clang/test/Sema/ptrauth-atomic-ops.c
A clang/test/Sema/ptrauth-qualifier.c
A clang/test/SemaCXX/ptrauth-qualifier.cpp
A clang/test/SemaCXX/ptrauth-template-parameters.cpp
A clang/test/SemaObjC/ptrauth-qualifier.m
M libcxxabi/test/test_demangle.pass.cpp
M llvm/include/llvm/Demangle/MicrosoftDemangle.h
M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
A llvm/test/Demangle/ms-ptrauth.test
Log Message:
-----------
[PAC] Add support for __ptrauth type qualifier (#100830)
The qualifier allows programmer to directly control how pointers are
signed when they are stored in a particular variable.
The qualifier takes three arguments: the signing key, a flag specifying
whether address discrimination should be used, and a non-negative
integer that is used for additional discrimination.
```
typedef void (*my_callback)(const void*);
my_callback __ptrauth(ptrauth_key_process_dependent_code, 1, 0xe27a) callback;
```
Co-Authored-By: John McCall rjmccall at apple.com
Commit: a1d52fcdca8bda4fe8c6652b2de83f408f4ad4f2
https://github.com/llvm/llvm-project/commit/a1d52fcdca8bda4fe8c6652b2de83f408f4ad4f2
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
Clarify documentation for -funique-source-file-names.
Reviewers: efriedma-quic, teresajohnson
Reviewed By: teresajohnson, efriedma-quic
Pull Request: https://github.com/llvm/llvm-project/pull/135832
Commit: 2271f0bebd48c9ed8b16b500886a819c4f269a6a
https://github.com/llvm/llvm-project/commit/2271f0bebd48c9ed8b16b500886a819c4f269a6a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-full-match.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-node-no-reorder-copy.ll
Log Message:
-----------
[SLP]Check for perfect/shuffled match for the split node
If the potential split node is a perfect/shuffled match of another split
node, need to skip creation of the another split node with the same
scalars, it should be a buildvector.
Fixes #135800
Commit: 823adc7a2dc90cdd0f953f3dc9684481368f2b62
https://github.com/llvm/llvm-project/commit/823adc7a2dc90cdd0f953f3dc9684481368f2b62
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/validate-secondary-entry-point.s
A bolt/test/RISCV/validate-secondary-entry-point.s
Log Message:
-----------
[BOLT] Validate secondary entry point (#135731)
Some functions have their sizes as zero in input binary's symbol
table, like those compiled by assembler. When figuring out function
sizes, we may create label symbol if it doesn't point to any constant
island. However, before function size is known, marker symbol can
not be correctly associated to a function and therefore all such
checks would fail and we could end up adding a code label pointing
to constant island as secondary entry point and later mistakenly
marking the function as not simple.
Querying the global marker symbol array has big throughput overhead.
Instead we can run an extra check when post processing entry points
to identify such label symbols that actually point to constant islands.
Commit: 14cb6566d6701feaef2ffd686af5de4ff9e3eb29
https://github.com/llvm/llvm-project/commit/14cb6566d6701feaef2ffd686af5de4ff9e3eb29
Author: John Harrison <harjohn at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/RequestHandler.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
Log Message:
-----------
[lldb-dap] Improve error reporting for dap command arguments. (#135684)
Previously the error only contained the failed to parse JSON message,
which has no additional context.
This improves the error messages and improves the consistency of
handling properties in protocol structures. Updating the fields to use
'ObjectMapper.map' instead of 'ObjectMapper.mapOptional' caught that
adapterID was misspelled as well.
For example, previously:
```
$ echo 'Content-Length: 81\r\n\r\n{"type":"request","command":"initialize","seq":1,"arguments":{"adapterID":12345}} | lldb-dap
```
Worked without an error but now it reports:
```
invalid arguments for request 'initialize': expected string at arguments.adapterID
{
"adapterID": /* error: expected string */ 12345
}
```
Commit: 85eb44e304e0a0a7da78448ceee60fdfec235edb
https://github.com/llvm/llvm-project/commit/85eb44e304e0a0a7da78448ceee60fdfec235edb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-num-operands.ll
Log Message:
-----------
[SLP]Fix number of operands for the split node
FOr the split node number of operands should be requested via
getNumOperands() function, even if the main op is CallInst.
Commit: 2b983a24583dd4e131d727717872a56712b5dd52
https://github.com/llvm/llvm-project/commit/2b983a24583dd4e131d727717872a56712b5dd52
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR][AMDGPU] Adding dynamic size check to avoid subword buffer load (#135014)
Motivation: amdgpu buffer load instruction will return all zeros when
loading sub-word values. For example, assuming the buffer size is
exactly one word and we attempt to invoke
`llvm.amdgcn.raw.ptr.buffer.load.v2i32` starting from byte 2 of the
word, we will not receive the actual value of the buffer but all zeros
for the first word. This is because the boundary has been crossed for
the first word.
This PR come up with a fix to this problem, such that, it creates a
bounds check against the buffer load instruction. It will compare the
offset + vector size to see if the upper bound of the address will
exceed the buffer size. If it does, masked transfer read will be
optimized to `vector.load` + `arith.select`, else, it will continue to
fall back to default lowering of the masked vector load.
Commit: f83c5fe01fbee0f53ecf69d887e7a7b054f2a9ae
https://github.com/llvm/llvm-project/commit/f83c5fe01fbee0f53ecf69d887e7a7b054f2a9ae
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
Log Message:
-----------
[nfc] Expose `canReturn` from FunctionAttrs (#135650)
This is a fairly light-weight traversal and is needed in instrumentation. No need to run the whole `FunctionAttrs` pass at this stage. To avoid layering issues, this patch factors `canRun` and related under Analysis/CFG.
Commit: 12697c5516f8a9e4407e01d99324ce6958910184
https://github.com/llvm/llvm-project/commit/12697c5516f8a9e4407e01d99324ce6958910184
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
A llvm/test/CodeGen/AArch64/pr135776.ll
Log Message:
-----------
[LegalizeTypes] Check getTypeAction before calling GetScalarizedVector. (#135838)
Use getTypeAction instead of trying to guess how a type will be
legalized. On AArch64, v1f16 is scalarized but v1f16 is widened.
Fixes #135776
Commit: ddb12674300eb1af5e6945b5447e7bff7cff4cd8
https://github.com/llvm/llvm-project/commit/ddb12674300eb1af5e6945b5447e7bff7cff4cd8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/landing-pad-for-split-node.ll
Log Message:
-----------
[SLP]Insert vector instruction after landingpad
If the node must be emitted in the landingpad block, need to insert the
instructions after the landingpad instruction to avoid a crash.
Fixes #135781
Commit: 0f3e460e06e03ce37445546457a16d6f1eee1e21
https://github.com/llvm/llvm-project/commit/0f3e460e06e03ce37445546457a16d6f1eee1e21
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/test/Dialect/Tensor/bubble-reshapes.mlir
Log Message:
-----------
[mlir][Tensor] Generalize the pattern to swap `tensor.collapse_shape` -> `tensor.expand_shape`. (#133819)
The current patterns compared the reassocation indices for the two ops
and failed if neither of them were of size 1. This patch relaxes this
restriction by handling a new case where the reassociation indices might
be of the same size.
Also generalizes to cases where when generating the swapped
`tensor.expand_shape` -> `tensor.collapse_shape` if one of them is
degenerate, those are not generated.
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: d30a5b41fe72a1dd83714d3e21fd539b91e63c8c
https://github.com/llvm/llvm-project/commit/d30a5b41fe72a1dd83714d3e21fd539b91e63c8c
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXMips.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.cpp
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-bare.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-or.ll
M llvm/test/MC/RISCV/xmips-invalid.s
M llvm/test/MC/RISCV/xmips-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Fix xmipscmov extension name (#135647)
The right name was used in riscv-toolchain-conventions docs.
Commit: 9c73eba8aa17cb7ca4248ab1c7f67ea7ec9b50b1
https://github.com/llvm/llvm-project/commit/9c73eba8aa17cb7ca4248ab1c7f67ea7ec9b50b1
Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/AST/ASTImporter.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Sema/attr-capabilities.c
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
Merge similar Clang Thread Safety attributes (#135561)
Some of the old lock-based and new capability-based spellings behave
basically in the same way, so merging them simplifies the code
significantly.
There are two minor functional changes: we only warn (instead of an
error) when the try_acquire_capability attribute is used on something
else than a function. The alternative would have been to produce an
error for the old spelling, but we seem to only warn for all function
attributes, so this is arguably more consistent.
The second change is that we also check the first argument (which is the
value returned for a successful try-acquire) for `this`. But from what I
can tell, this code is defunct anyway at the moment (see #31414).
Commit: 7cb7b2d39d3b4aa984bfaeaf5e69fbfb074edd41
https://github.com/llvm/llvm-project/commit/7cb7b2d39d3b4aa984bfaeaf5e69fbfb074edd41
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/release/build_llvm_release.bat
Log Message:
-----------
[llvm] Build Windows release package with clang-cl if possible (#135446)
If `clang-cl.exe` and `lld-link.exe` are installed in `%PATH%`, the
Windows release build script will now use these by default, in place of
MSVC. The reason for doing this is that MSVC still has, for the past
year(s), a O(N^2) behavior when building certain LLVM source files,
which leads to long build times (minutes per file). A report was filled
here:
https://developercommunity.visualstudio.com/t/ON2-in-SparseBitVectorBase-when-com/10657991
Also added a `--force-msvc` option to the script, to use MSVC even if
clang-cl is installed.
Commit: d0372179fbbcb7b3fa680a78919a980fa4384c46
https://github.com/llvm/llvm-project/commit/d0372179fbbcb7b3fa680a78919a980fa4384c46
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
Log Message:
-----------
[nfc] Add doc comment for `canReturn` in Analysis/CFG.h (#135862)
Commit: 2d98bdc12c291523c3543ceaf1c526e25dcaedc6
https://github.com/llvm/llvm-project/commit/2d98bdc12c291523c3543ceaf1c526e25dcaedc6
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Stack.h
M clang/lib/Basic/Stack.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M llvm/include/llvm/Support/CrashRecoveryContext.h
R llvm/include/llvm/Support/ProgramStack.h
M llvm/include/llvm/Support/thread.h
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CrashRecoveryContext.cpp
R llvm/lib/Support/ProgramStack.cpp
M llvm/unittests/Support/CMakeLists.txt
R llvm/unittests/Support/ProgramStackTest.cpp
Log Message:
-----------
Revert "[llvm][clang] Allocate a new stack instead of spawning a new … (#135865)
…thread to get more stack space (#133173)"
This change breaks the Clang build on Mac AArch64.
This reverts commit d0c973a7a0149db3b71767d4c5a20a31e6a8ed5b. This
reverts commit 429a84f8a4bf559f43f50072747ef49d3e3b2cf1. This reverts
commit 4f64c80d5a23c244f942193e58ecac666c173308.
Commit: 8ed397d8e4d014ecc5df89a9d908c5808f201b65
https://github.com/llvm/llvm-project/commit/8ed397d8e4d014ecc5df89a9d908c5808f201b65
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/pr135821.ll
Log Message:
-----------
[DAGCombiner] Disable narrowExtractedVectorLoad for indexed loads. (#135847)
The later code does not expect or preserve the index output.
Fixes #135821
Commit: a6208ce4c15142c26c6b73651bf466ae6b470cb0
https://github.com/llvm/llvm-project/commit/a6208ce4c15142c26c6b73651bf466ae6b470cb0
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CFG.h
M llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
M llvm/lib/Analysis/CFG.cpp
M llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
[nfc] move `isPresplitCoroSuspendExitEdge` to Analysis/CFG (#135849)
Commit: 6e2bca840df9dfcffc5068c1ad0c9575f0c57e76
https://github.com/llvm/llvm-project/commit/6e2bca840df9dfcffc5068c1ad0c9575f0c57e76
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 2d98bdc12c29
Commit: 31f39c83259401a26b3660dd75f645002258571d
https://github.com/llvm/llvm-project/commit/31f39c83259401a26b3660dd75f645002258571d
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/implicit-kernarg-backend-usage-global-isel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udivrem.ll
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/addrspacecast-constantexpr.ll
M llvm/test/CodeGen/AMDGPU/always-uniform.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-trap-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa.ll
M llvm/test/CodeGen/AMDGPU/annotate-kernel-features.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-sgpr.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-globalisel.ll
A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior.ll
A llvm/test/CodeGen/AMDGPU/attributor-flatscratchinit-undefined-behavior2.ll
M llvm/test/CodeGen/AMDGPU/attributor-noopt.ll
M llvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/combine-reg-or-const.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-extract-vec-elt-different-sizes.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/exec-mask-opt-cannot-create-empty-or-backward-segment.ll
M llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-i8.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fast-unaligned-load-store.global.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.ll
M llvm/test/CodeGen/AMDGPU/flat-for-global-subtarget-feature.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/fmul-2-combine-multi-use.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
M llvm/test/CodeGen/AMDGPU/half.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/invalid-cast-load-i1.ll
M llvm/test/CodeGen/AMDGPU/kernarg-size.ll
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.private.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.is.shared.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
M llvm/test/CodeGen/AMDGPU/load-constant-f64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i64.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i8.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/load-select-ptr.ll
M llvm/test/CodeGen/AMDGPU/mad24-get-global-id.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/memcpy-libcall.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll
M llvm/test/CodeGen/AMDGPU/min.ll
M llvm/test/CodeGen/AMDGPU/pack.v2f16.ll
M llvm/test/CodeGen/AMDGPU/pack.v2i16.ll
M llvm/test/CodeGen/AMDGPU/pal-simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/sad.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
M llvm/test/CodeGen/AMDGPU/scc-clobbered-sgpr-to-vmem-spill.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spill-no-vgprs.ll
M llvm/test/CodeGen/AMDGPU/shift-i128.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/spill-vector-superclass.ll
M llvm/test/CodeGen/AMDGPU/store-weird-sizes.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
M llvm/test/CodeGen/AMDGPU/trap-abis.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.f64.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
Log Message:
-----------
[AMDGPU] Remove the AnnotateKernelFeatures pass (#130198)
Previously the AnnotateKernelFeatures pass infers two attributes:
amdgpu-calls and amdgpu-stack-objects, which are used to help determine
if flat scratch init is allowed. PR #118907 created the
amdgpu-no-flat-scratch-init attribute. Continuing with that work, this
patch makes use of this attribute to determine flat scratch init,
replacing amdgpu-calls and amdgpu-stack-objects. This also leads to the
removal of the AnnotateKernelFeatures pass.
Commit: 16980d5463c787a48ffb78fd9bbe3d9d32757f34
https://github.com/llvm/llvm-project/commit/16980d5463c787a48ffb78fd9bbe3d9d32757f34
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
R clang/test/CodeGenCXX/local-class-instantiation.cpp
Log Message:
-----------
Revert "[Clang] Fix dependent local class instantiation bugs" (#135870)
Reverts llvm/llvm-project#134038
This crashes clang as reported here:
https://github.com/llvm/llvm-project/pull/134038#issuecomment-2807092646
Commit: af63e1b505453de3e6a281d1b72e62fa8d396b23
https://github.com/llvm/llvm-project/commit/af63e1b505453de3e6a281d1b72e62fa8d396b23
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement 'self' lowering on compute constructs (#135851)
This is our first attempt at lowering a clause that is an 'operand' in
the OpenACC operand, so it does quite a bit of refactoring. My previous
plans on how to emit the clauses was not viable, so we instead do
'create the op, then use the visitor to fill in the operands'. This
resulted in the 'applyAttributes' function getting removed and a few
other functions simplified.
Additionally, it requires setting the insertion point a little to make
sure we're inserting 'around' the operation correctly.
Finally, since the OpenACC dialect only understands the MLIR types, we
had to introduce a use of the unrealized-conversion-cast, which we'll
probably getting good use out of in the future.
Commit: e4d951d2e42a9124bd87275a864804c4b84b62e3
https://github.com/llvm/llvm-project/commit/e4d951d2e42a9124bd87275a864804c4b84b62e3
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
LowerTypeTests: Fix quadratic complexity.
Currently we have quadratic complexity in LowerTypeTests because
ScopedSaveAliaseesAndUsed loops over all aliases for each disjoint
set, and the number of aliases and number of disjoint sets is
roughly proportional to the program size. Fix that by moving
ScopedSaveAliaseesAndUsed to LowerTypeTestsModule::lower() so that
we do this only once.
Reviewers: fmayer, vitalybuka
Reviewed By: vitalybuka
Pull Request: https://github.com/llvm/llvm-project/pull/135875
Commit: 3428cc94c893f9a09728c707baf018b9cdfaf243
https://github.com/llvm/llvm-project/commit/3428cc94c893f9a09728c707baf018b9cdfaf243
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/include/flang/Runtime/extensions.h
Log Message:
-----------
[flang] Implement external routine usage of hostnm() (#134900)
Previously, `hostnm` extended intrinsic was implemented as proper
intrinsic. Since then we found out that some applications use `hostnm`
as external routine via `external hostnm`. This prevents `hostnm` from
being recognized as an intrinsic. This PR implements `hostnm` as
external routine.
Commit: 58c3fba7063eaca926931a412c329e9ac4deefd6
https://github.com/llvm/llvm-project/commit/58c3fba7063eaca926931a412c329e9ac4deefd6
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
Revert "LowerTypeTests: Fix quadratic complexity."
This reverts commit e4d951d2e42a9124bd87275a864804c4b84b62e3.
Need to investigate some test failures.
Commit: 860d0383db80ea881e957a5628d04e9d725b919d
https://github.com/llvm/llvm-project/commit/860d0383db80ea881e957a5628d04e9d725b919d
Author: Haowei <haowei at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[Fuchsia] Not building llvm-mt when LIBXML2 is not enabled. (#135877)
This patch prevents including the llvm-mt to `LLVM_TOOLCHAIN_TOOLS` in the
Fuchsia toolchain when LIBXML2 is not explicitly enabled.
Commit: 6ad922b75a41911e0e394d5d367bee1240ad509f
https://github.com/llvm/llvm-project/commit/6ad922b75a41911e0e394d5d367bee1240ad509f
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
Log Message:
-----------
[OpenACC][CIR] Implement lowering for 'if' on compute constructs
This is the same for these as the 'self' was, except it doesn't support
the 'empty' variant, so we have to just generate the condition. This
patch does that, and extracts the 'condition' emission to a separate
function since the two share it.
Commit: 0b8f817aab7a242e0bfb519cb07c8979ffadef36
https://github.com/llvm/llvm-project/commit/0b8f817aab7a242e0bfb519cb07c8979ffadef36
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M bolt/runtime/hugify.cpp
Log Message:
-----------
[BOLT] Fix conditional compilation of hugify.cpp (#135880)
Fix builds after #117158: do not build hugify.cpp on Apple platforms.
Commit: bd4d3519c708d70ed8c827a27b63f13b0229ef00
https://github.com/llvm/llvm-project/commit/bd4d3519c708d70ed8c827a27b63f13b0229ef00
Author: Camsyn <camsyn at foxmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_report.cpp
A compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
Log Message:
-----------
[ASan] Prevent ASan/LSan deadlock by preloading modules before error reporting (#131756)
### Description
This PR resolves a deadlock between AddressSanitizer (ASan) and
LeakSanitizer (LSan)
that occurs when both sanitizers attempt to acquire locks in conflicting
orders across
threads. The fix ensures safe lock acquisition ordering by preloading
module information
before error reporting.
---
### Issue Details
**Reproducer**
```cpp
// Thread 1: ASan error path
int arr[1] = {0};
std::thread t([&]() {
arr[1] = 1; // Triggers ASan OOB error
});
// Thread 2: LSan check path
__lsan_do_leak_check();
```
**Lock Order Conflict**:
- Thread 1 (ASan error reporting):
1. Acquires ASan thread registry lock (B)
1. Attempts to acquire libdl lock (A) via `dl_iterate_phdr`
- Thread 2 (LSan leak check):
1. Acquires libdl lock (A) via `dl_iterate_phdr`
1. Attempts to acquire ASan thread registry lock (B)
This creates a circular wait condition (A -> B -> A) meeting all four
Coffman deadlock criteria.
---
### Fix Strategy
The root cause lies in ASan's error reporting path needing
`dl_iterate_phdr` (requiring lock A)
while already holding its thread registry lock (B). The solution:
1. **Preload Modules Early**: Force module list initialization _before_
acquiring ASan's thread lock
2. **Avoid Nested Locking**: Ensure symbolization (via dl_iterate_phdr)
completes before error reporting locks
Key code change:
```cpp
// Before acquiring ASan's thread registry lock:
Symbolizer::GetOrInit()->GetRefreshedListOfModules();
```
This guarantees module information is cached before lock acquisition,
eliminating
the need for `dl_iterate_phdr` calls during error reporting.
---
### Testing
Added **asan_lsan_deadlock.cpp** test case:
- Reproduces deadlock reliably without fix **under idle system
conditions**
- Uses watchdog thread to detect hangs
- Verifies ASan error reports correctly without deadlock
**Note**: Due to the inherent non-determinism of thread scheduling and
lock acquisition timing,
this test may not reliably reproduce the deadlock on busy systems (e.g.,
during parallel
`ninja check-asan` runs).
---
### Impact
- Fixes rare but severe deadlocks in mixed ASan+LSan environments
- Maintains thread safety guarantees for both sanitizers
- No user-visible behavior changes except deadlock elimination
---
### Relevant Buggy Code
- Code in ASan's asan_report.cpp
```cpp
explicit ScopedInErrorReport(bool fatal = false)
: halt_on_error_(fatal || flags()->halt_on_error) {
// Acquire lock B
asanThreadRegistry().Lock();
}
~ScopedInErrorReport() {
...
// Try to acquire lock A under holding lock B via the following path
// #4 0x000071a353d83e93 in __GI___dl_iterate_phdr (
// callback=0x5d1a07a39580 <__sanitizer::dl_iterate_phdr_cb(dl_phdr_info*, unsigned long, void*)>,
// data=0x6da3510fd3f0) at ./elf/dl-iteratephdr.c:39
// #5 0x00005d1a07a39574 in __sanitizer::ListOfModules::init (this=0x71a353ebc080)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp:784
// #6 0x00005d1a07a429e3 in __sanitizer::Symbolizer::RefreshModules (this=0x71a353ebc058)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:188
// #7 __sanitizer::Symbolizer::FindModuleForAddress (this=this at entry=0x71a353ebc058,
// address=address at entry=102366378805727)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:214
// #8 0x00005d1a07a4291b in __sanitizer::Symbolizer::SymbolizePC (this=0x71a353ebc058, addr=102366378805727)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp:88
// #9 0x00005d1a07a40df7 in __sanitizer::(anonymous namespace)::StackTraceTextPrinter::ProcessAddressFrames (
// this=this at entry=0x6da3510fd520, pc=102366378805727)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:37
// #10 0x00005d1a07a40d27 in __sanitizer::StackTrace::PrintTo (this=this at entry=0x6da3510fd5e8,
// output=output at entry=0x6da3510fd588)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:110
// #11 0x00005d1a07a410a1 in __sanitizer::StackTrace::Print (this=0x6da3510fd5e8)
// at llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp:133
// #12 0x00005d1a0798758d in __asan::ErrorGeneric::Print (
// this=0x5d1a07aa4e08 <__asan::ScopedInErrorReport::current_error_+8>)
// at llvm-project/compiler-rt/lib/asan/asan_errors.cpp:617
current_error_.Print();
...
}
```
- Code in LSan's lsan_common_linux.cpp
```cpp
void LockStuffAndStopTheWorld(StopTheWorldCallback callback,
CheckForLeaksParam *argument) {
// Acquire lock A
dl_iterate_phdr(LockStuffAndStopTheWorldCallback, ¶m);
}
static int LockStuffAndStopTheWorldCallback(struct dl_phdr_info *info,
size_t size, void *data) {
// Try to acquire lock B under holding lock A via the following path
// #3 0x000055555562b34a in __sanitizer::ThreadRegistry::Lock (this=<optimized out>)
// at llvm-project/compiler-rt/lib/asan/../sanitizer_common/sanitizer_thread_registry.h:99
// #4 __lsan::LockThreads () at llvm-project/compiler-rt/lib/asan/asan_thread.cpp:484
// #5 0x0000555555652629 in __lsan::ScopedStopTheWorldLock::ScopedStopTheWorldLock (this=<optimized out>)
// at llvm-project/compiler-rt/lib/lsan/lsan_common.h:164
// #6 __lsan::LockStuffAndStopTheWorldCallback (info=<optimized out>, size=<optimized out>, data=0x0,
// data at entry=0x7fffffffd158) at llvm-project/compiler-rt/lib/lsan/lsan_common_linux.cpp:120
ScopedStopTheWorldLock lock;
DoStopTheWorldParam *param = reinterpret_cast<DoStopTheWorldParam *>(data);
StopTheWorld(param->callback, param->argument);
return 1;
}
```
Commit: 77f0708b9d4feee8b8a67a5f571be741be4e26af
https://github.com/llvm/llvm-project/commit/77f0708b9d4feee8b8a67a5f571be741be4e26af
Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc]: Remove `-Wglobal-constructors` for libc tests (#131485)
* Relates to: https://github.com/llvm/llvm-project/issues/119281
* Removes `-Wglobal-constructors` as per:
https://github.com/llvm/llvm-project/pull/131485#pullrequestreview-2728020622
Commit: 6c6ab2a270b799f1397926c9064fa30fe2be1d96
https://github.com/llvm/llvm-project/commit/6c6ab2a270b799f1397926c9064fa30fe2be1d96
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
Log Message:
-----------
AArch64: Set FMAXIMUMNUM and FMINIMUMNUM as Promote if not fullfp16 (#135708)
Since Promote will emit FP_EXTEND, the result of it will never be sNaN,
so we don't need worry about duplicated of FCANONICALIZE in
expandFMINIMUMNUM_FMAXIMUMNUM.
Commit: 4c97c5131f9ca32ce644a0be6e3586077ee03aa6
https://github.com/llvm/llvm-project/commit/4c97c5131f9ca32ce644a0be6e3586077ee03aa6
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcilia.ll
Log Message:
-----------
[RISCV] Add ISel patterns for Xqcilia instructions (#135724)
This patch adds instruction selection patterns for generating the long
immediate arithmetic instructions.
We prefer generating instructions that have a 26 bit immediate to a 32
bit immediate given that both are of the same size but the former might
be easier to register allocate for. Base RISC-V arithmetic instructions
will be preferred, when applicable.
Commit: 0ce8ad68e44aaf50d1e2aa304fa8a1127e311e1d
https://github.com/llvm/llvm-project/commit/0ce8ad68e44aaf50d1e2aa304fa8a1127e311e1d
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.h
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/test/CodeGen/SPARC/float-constants.ll
Log Message:
-----------
[SPARC] Use fzero/fzeros to materialize FP zeros when we have VIS
Reviewers: rorth, brad0, s-barannikov
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/135712
Commit: f3de63c64998eb46db9cf26aca9ebcc5453f6f44
https://github.com/llvm/llvm-project/commit/f3de63c64998eb46db9cf26aca9ebcc5453f6f44
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcInstr64Bit.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/test/CodeGen/SPARC/2011-01-11-CC.ll
Log Message:
-----------
[SPARC] Use addxccc to do multiword addition when we have VIS3
Reviewers: brad0, s-barannikov, rorth
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/135713
Commit: e4f2191f568db718ed67defa664f83f763e7e74a
https://github.com/llvm/llvm-project/commit/e4f2191f568db718ed67defa664f83f763e7e74a
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcInstrVIS.td
A llvm/test/CodeGen/SPARC/multiply-extension.ll
M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll
Log Message:
-----------
[SPARC] Use umulxhi to do extending 64x64->128 multiply when we have VIS3
Reviewers: s-barannikov, rorth, brad0
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/135714
Commit: 0439a4eca78fa1e3aa45b49ff349c3da4fb02f48
https://github.com/llvm/llvm-project/commit/0439a4eca78fa1e3aa45b49ff349c3da4fb02f48
Author: Jim Lin <jim at andestech.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Add new CondCode COND_CV_BEQIMM/COND_CV_BNEIMM for CV immediate branch (#135771)
If there is another branch instruction also with immediate operand, but
it is used to specify which bit to be tested is set or clear. We only
check whether operand2 is immediate or not here. There are no way to
distinguish between them.
So add new CondCode COND_CV_BEQIMM/COND_CV_BNEIMM that we can know what
kinds of immediate branch instruction are matched in Select_* Pseudo.
Commit: 5e9650ec2deb2f2bb6d5ad28e83bb6cd3c4189e4
https://github.com/llvm/llvm-project/commit/5e9650ec2deb2f2bb6d5ad28e83bb6cd3c4189e4
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcInstrVIS.td
R llvm/test/CodeGen/SPARC/multiply-extension.ll
M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/SPARC/umulo-128-legalisation-lowering.ll
Log Message:
-----------
Revert "[SPARC] Use umulxhi to do extending 64x64->128 multiply when we have VIS3" (#135897)
This change breaks multiply tests on SPARC.
https://lab.llvm.org/buildbot/#/builders/108/builds/11691/steps/6/logs/FAIL__LLVM__multiply-extension_ll
Reverts llvm/llvm-project#135714
Commit: bed03ae36600f83f214c41af333f47fe8ead9ede
https://github.com/llvm/llvm-project/commit/bed03ae36600f83f214c41af333f47fe8ead9ede
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
A llvm/test/CodeGen/X86/apx/ndd-neg-addr-index.ll
Log Message:
-----------
[X86] Fix the issue of creating index reg negations (#135632)
The 8 and 16 bit LEA instruction support was added by PR #122102, and we
have to update creating index register negations accordingly. The issue
is exposed with APX NDD instructions.
Commit: e676866368a84c88aad90e138268e00a1c56a230
https://github.com/llvm/llvm-project/commit/e676866368a84c88aad90e138268e00a1c56a230
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.h
M llvm/lib/Target/Mips/MipsCallLowering.cpp
M llvm/lib/Target/Mips/MipsCallingConv.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
A llvm/test/CodeGen/Mips/vararg.ll
Log Message:
-----------
[Mips] Fix clang crashes when compiling a variadic function while targeting mips3 (#130558)
issue reason:
Because mips3 has the feature 'FeatureGP64Bit', when target mips3
process function `writeVarArgRegs`, the result of `getGPRSizeInBytes` is
8 and the result of `GetVarArgRegs` is `Mips::A0, Mips::A1, Mips::A2,
Mips::A3`. This would generate `gpr64 = COPY $a1` which should be `gpr64
= COPY $a1_64`.
Also when process `CC_Mips_FixedArg`, mips would CCDelegateTo
`CC_MipsO32_FP`. In fact, it should CCDelegateTo `CC_MipsN`.
Fix #98716.
Commit: 517605c20e6014543e91d45524a17c443aa11bd4
https://github.com/llvm/llvm-project/commit/517605c20e6014543e91d45524a17c443aa11bd4
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
Log Message:
-----------
[alpha.webkit.UnretainedCallArgsChecker] Add the support for RetainPtrArc (#135532)
WebKit uses #define to rename RetainPtr to RetainPtrArc so add the
support for it.
Commit: 71d091699f956c89135bc165165e815ab7876359
https://github.com/llvm/llvm-project/commit/71d091699f956c89135bc165165e815ab7876359
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/complex/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/inttypes/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/libc_math_test_rules.bzl
M utils/bazel/llvm-project-overlay/libc/test/src/stdbit/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/strings/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/unistd/BUILD.bazel
Log Message:
-----------
[libc][bazel] Fold "libc_function_deps" into "deps" for libc_tests. (#135835)
libc_function_deps and deps are now identical, as we no longer need or
have special treatment for libc_function targets. Merge these attributes
passed to the libc_test macro, and fix all relevant libc_test macro
invocations. This change is a no-op.
This concludes cleanup started in
9b13d345303d819bb83de7ebbeb826d704add0bc.
Commit: a024d13f84dbe7b3d1eee555ddc82cdd1af814e0
https://github.com/llvm/llvm-project/commit/a024d13f84dbe7b3d1eee555ddc82cdd1af814e0
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/absd.ll
M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/absd.ll
Log Message:
-----------
[LoongArch] make ABDS/ABDU legal for lsx/lasx (#134190)
Commit: b07c88563febdb62b82daad0480d7b6131bc54d4
https://github.com/llvm/llvm-project/commit/b07c88563febdb62b82daad0480d7b6131bc54d4
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A llvm/include/llvm/Support/InterleavedRange.h
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/InterleavedRangeTest.cpp
Log Message:
-----------
[Support] Add format object for interleaved ranges (#135517)
Add two new format functions for printing ranges: `interleaved` and
`interleaved_array`.
This is meant to improve the ergonomics of printing ranges. Before this
patch, we have to either use `llvm::interleave` or write a for loop by
hand. For example:
Before:
```c++
ArrayRef<Type> types = ...;
ArrayRef<Values> values = ...;
LLVM_DEBUG({
llvm::dbgs() << "Types: ";
llvm::interleave_comma(llvm::dbgs(), types);
llvm::dbgs() << "\n";
llvm::dbgs() << "Values: [";
llvm::interleave_comma(llvm::dbgs(), values);
llvm::dbgs() << "]\n";
}):
```
After:
```c++
ArrayRef<Type> types = ...;
ArrayRef<Values> values = ...;
LLVM_DEBUG(llvm::dbgs() << "Types: " << interleaved(types) << "\n");
LLVM_DEBUG(llvm::dbgs() << "Values: " << interleaved_array(values) << "\n");
```
The separator and the prefix/suffix strings are customizable.
Commit: 04b87e15e40f8857e29ade8321b8b67691545a50
https://github.com/llvm/llvm-project/commit/04b87e15e40f8857e29ade8321b8b67691545a50
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/test/Lower/do_concurrent.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
M flang/test/Lower/nsw.f90
M flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
M flang/test/Transforms/DoConcurrent/non_const_bounds.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
Log Message:
-----------
[flang][fir] Lower `do concurrent` loop nests to `fir.do_concurrent` (#132904)
Adds support for lowering `do concurrent` nests from PFT to the new
`fir.do_concurrent` MLIR op as well as its special terminator
`fir.do_concurrent.loop` which models the actual loop nest.
To that end, this PR emits the allocations for the iteration variables
within the block of the `fir.do_concurrent` op and creates a region for
the `fir.do_concurrent.loop` op that accepts arguments equal in number
to the number of the input `do concurrent` iteration ranges.
For example, given the following input:
```fortran
do concurrent(i=1:10, j=11:20)
end do
```
the changes in this PR emit the following MLIR:
```mlir
fir.do_concurrent {
%22 = fir.alloca i32 {bindc_name = "i"}
%23:2 = hlfir.declare %22 {uniq_name = "_QFsub1Ei"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
%24 = fir.alloca i32 {bindc_name = "j"}
%25:2 = hlfir.declare %24 {uniq_name = "_QFsub1Ej"} : (!fir.ref<i32>) -> (!fir.ref<i32>, !fir.ref<i32>)
fir.do_concurrent.loop (%arg1, %arg2) = (%18, %20) to (%19, %21) step (%c1, %c1_0) {
%26 = fir.convert %arg1 : (index) -> i32
fir.store %26 to %23#0 : !fir.ref<i32>
%27 = fir.convert %arg2 : (index) -> i32
fir.store %27 to %25#0 : !fir.ref<i32>
}
}
```
Commit: 3264a50fe2b61e79572d1623d0cceb2fe88da533
https://github.com/llvm/llvm-project/commit/3264a50fe2b61e79572d1623d0cceb2fe88da533
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/convert-sm100a.ll
Log Message:
-----------
[clang][NVPTX] Add builtins and intrinsics for conversions of new FP types (#134345)
This change:
- Adds NVVM intrinsics and clang builtins for the cvt instruction
variants of types (FP6) `.e2m3x2`, `.e3m2x2`, and (FP8) `.ue8m0x2`
introduced in PTX 8.6 for `sm_100a`, `sm_101a`, and `sm_120a`.
- Adds clang builtins for cvt instruction variant of type tf32.
Tests are added in `NVPTX/convert-sm100a.ll` and
`clang/test/CodeGen/builtins-nvptx.c` and verified through ptxas 12.8.0.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Commit: 2a024046217a1acae4806328ac77bd88648c2bab
https://github.com/llvm/llvm-project/commit/2a024046217a1acae4806328ac77bd88648c2bab
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
Log Message:
-----------
[clang] fix a crash in error recovery in expressions resolving to templates (#135893)
We were using AssumedTemplate incorrectly for error recovery.
Fixes #135621
Commit: 3de88fe40fd0dc5f52ba0bc7ebbaf16e938d6670
https://github.com/llvm/llvm-project/commit/3de88fe40fd0dc5f52ba0bc7ebbaf16e938d6670
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
A llvm/include/llvm/Frontend/HLSL/CBuffer.h
A llvm/lib/Frontend/HLSL/CBuffer.cpp
M llvm/lib/Frontend/HLSL/CMakeLists.txt
M llvm/lib/Target/DirectX/CMakeLists.txt
A llvm/lib/Target/DirectX/DXILCBufferAccess.cpp
A llvm/lib/Target/DirectX/DXILCBufferAccess.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/CBufferAccess/array-typedgep.ll
A llvm/test/CodeGen/DirectX/CBufferAccess/arrays.ll
A llvm/test/CodeGen/DirectX/CBufferAccess/float.ll
A llvm/test/CodeGen/DirectX/CBufferAccess/gep-ce-two-uses.ll
A llvm/test/CodeGen/DirectX/CBufferAccess/scalars.ll
A llvm/test/CodeGen/DirectX/CBufferAccess/vectors.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Implement the DXILCBufferAccess pass (#134571)
This introduces a pass that walks accesses to globals in cbuffers and
replaces them with accesses via the cbuffer handle itself. The logic to
interpret the cbuffer metadata is kept in `lib/Frontend/HLSL` so that it
can be reused by other consumers of that metadata.
Fixes #124630.
Commit: 40460a5cf76c973a783fb2f5229e1076398df96e
https://github.com/llvm/llvm-project/commit/40460a5cf76c973a783fb2f5229e1076398df96e
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcilo.ll
Log Message:
-----------
[RISCV] Add basic ISel patterns for Xqcilo instructions (#135901)
This patch adds basic instruction selection patterns for generating the
48 bit load/store instructions that are a part of the Qualcomm uC Xqcilo
vendor extension.
Commit: 123b0e2a1e9de7465be8fb337a80d5d8984f93ae
https://github.com/llvm/llvm-project/commit/123b0e2a1e9de7465be8fb337a80d5d8984f93ae
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
Log Message:
-----------
Reapply "[AMDGPU][GlobalISel] Properly handle lane op lowering for larger vector types (#132358)" (#135758)
reapply https://github.com/llvm/llvm-project/pull/132358, tests updated.
Commit: f3c77445791b510858561cb424ffa1cd7513250b
https://github.com/llvm/llvm-project/commit/f3c77445791b510858561cb424ffa1cd7513250b
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/complex-div-warn-higher-precision.cpp
Log Message:
-----------
[Clang][Sema] Fix -Whigher-precision-for-complex-division (#131477)
- Fix false positive when divisor is a real number.
- Fix false negative when divident is real, but divisor is complex.
- Fix false negative when due to promotion the division is performed in
higher precision than the divident.
- Fix false negative in divide and assign (`a /= b`).
Fixes: #131127
---------
Co-authored-by: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Commit: dfb5b6e27ca3f8b79ebd3346d11b3088c1600b81
https://github.com/llvm/llvm-project/commit/dfb5b6e27ca3f8b79ebd3346d11b3088c1600b81
Author: leecheechen <chenli at loongson.cn>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
A llvm/test/CodeGen/LoongArch/prefetchi.ll
Log Message:
-----------
[LoongArch] Don't crash on instruction prefetch intrinsics (#135760)
Instead of failing to select during isel, drop the intrinsic in
lowering.
Similar as the X86's PR. Seeing: https://reviews.llvm.org/D151050.
Fixes #134624
Commit: 9e650349bfdcd34998c461e1441f02a79c664d38
https://github.com/llvm/llvm-project/commit/9e650349bfdcd34998c461e1441f02a79c664d38
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Log Message:
-----------
[mlir] Construct SmallVector with ArrayRef (NFC) (#135899)
Commit: 52e3f3d68cbabf81c4c118cfb823828f03b712c4
https://github.com/llvm/llvm-project/commit/52e3f3d68cbabf81c4c118cfb823828f03b712c4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
Log Message:
-----------
[mlir] Use llvm::make_first_range (NFC) (#135900)
Commit: ac4712482e3ff886eee7c044dd33dd4b5d648036
https://github.com/llvm/llvm-project/commit/ac4712482e3ff886eee7c044dd33dd4b5d648036
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-15 (Tue, 15 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCFixup.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchFixupKinds.h
Log Message:
-----------
[LoongArch] Use FirstRelocationKind to remove ELFObjectWriter::recordRelocation special case
The current implementation of R_LARCH_SUB{8,16,32,64} and TLS relocation types relies on fixup kinds FirstLiteralRelocationKind + offset (originally intended for .reloc directives). While this is clever and prevents switch cases like
```
case fixup_...sub8:
return ELF::R_LARCH_SUB8;
```
it needs revision.
GNU Assembler treats .reloc directives differently from standard relocations, notably by skipping
* Skipping STT_SECTION adjustments (when a referenced symbol is local and satisfies certain conditions, it can be redirected to a section symbol).
* Skipping STT_TLS symbol type setting for TLS relocations.
Encode relocatin type t with FirstRelocationKind+t instead of
FirstLiteralRelocationKind+t. The new value is less than
FirstLiteralRelocationKind and will not be treated as a .reloc
directive.
Close #135521
Commit: a56f966417bc53051fa39e3db6fcc95f9abf0b5c
https://github.com/llvm/llvm-project/commit/a56f966417bc53051fa39e3db6fcc95f9abf0b5c
Author: Mythreya <git at mythreya.dev>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/ConfigFragment.h
Log Message:
-----------
[clangd][docs] Fix incorrect docstring for header-insertion "Never" (#135921)
Docstring fix for changes introduced in PR #128503
Commit: 05eafd9f2b14f2e8d2d95f46465c5cc53aafbc56
https://github.com/llvm/llvm-project/commit/05eafd9f2b14f2e8d2d95f46465c5cc53aafbc56
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/test/AST/ByteCode/codegen.cpp
Log Message:
-----------
[clang][bytecode] Explicitly mark constexpr-unknown variables as such (#135806)
Instead of trying to figure out what's constexpr-unknown later on.
Commit: c1fc4c6a69c6ca0ae6aa060e4377ab5040505a66
https://github.com/llvm/llvm-project/commit/c1fc4c6a69c6ca0ae6aa060e4377ab5040505a66
Author: Clo91eaf <Clo91eaf at qq.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SMT/IR/SMTArrayOps.td
Log Message:
-----------
[mlir][SMT] fix the operation name in ArrayBroadcastOp description (#135746)
Commit: a630ef71e84a6bf09a99053ea42d37632ca0d18a
https://github.com/llvm/llvm-project/commit/a630ef71e84a6bf09a99053ea42d37632ca0d18a
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/test/MC/ELF/reloc-directive.s
Log Message:
-----------
ELFObjectWriter: Disable STT_SECTION adjustment for .reloc
... to match GNU Assembler. This generalizes the
SHT_LLVM_CALL_GRAPH_PROFILE special case (which uses .reloc with
BFD_RELOC_NONE https://reviews.llvm.org/D104080).
Targets that want STT_SECTION adjustment cannot use
FirstLiteralRelocationKind derived fixup kinds.
Depends on the fix of #135521
Pull Request: https://github.com/llvm/llvm-project/pull/135519
Commit: 507d7dc651b28d8a975ba8ca6e8f5906b07e37e7
https://github.com/llvm/llvm-project/commit/507d7dc651b28d8a975ba8ca6e8f5906b07e37e7
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
Log Message:
-----------
[LoongArch] Simplify getRelocType
Commit: 3d97d71e66036f51cf0b45cc7d5f3a0a14192eb4
https://github.com/llvm/llvm-project/commit/3d97d71e66036f51cf0b45cc7d5f3a0a14192eb4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/Lex/HeaderSearch.cpp
Log Message:
-----------
[Lex] Use llvm::make_second_range (NFC) (#135902)
Commit: 1256ca04c2064f2ef05625ff93a7954642af84a1
https://github.com/llvm/llvm-project/commit/1256ca04c2064f2ef05625ff93a7954642af84a1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/MachineFunction.cpp
Log Message:
-----------
[CodeGen] Call DenseMap::erase directly (NFC) (#135898)
Commit: bf0de88696095342aaa58e5e0a0105403d5ebd5e
https://github.com/llvm/llvm-project/commit/bf0de88696095342aaa58e5e0a0105403d5ebd5e
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
code format checker: fix python error when the diff becomes empty
Commit: 11857bef8a5fdfb8ab65971c3da6593c6076ff62
https://github.com/llvm/llvm-project/commit/11857bef8a5fdfb8ab65971c3da6593c6076ff62
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcisls.ll
Log Message:
-----------
[RISCV] Add basic ISel patterns for Xqcisls instructions (#135918)
This patch adds basic instruction selection patterns for generating the
scaled load/store instructions that are a part of the Qualcomm uC
Xqcisls vendor extension.
Commit: 559df834df4c5653227cb85129904004164e4c4f
https://github.com/llvm/llvm-project/commit/559df834df4c5653227cb85129904004164e4c4f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix subtracting zero-sized pointers (#135929)
Add the appropriate diagnostic and fix the d-d case.
Commit: 70d34e4bfd32d8518a70226d3d68398d94c1d68f
https://github.com/llvm/llvm-project/commit/70d34e4bfd32d8518a70226d3d68398d94c1d68f
Author: Hendrik_Klug <43926224+Jimmy2027 at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/FoldIntoElementwise.cpp
Log Message:
-----------
[MLIR][Linalg] Remove debug print from FoldIntoElementwise pass (#135928)
Commit: 51b8c66b0867154730d07e1ee4016b5116440293
https://github.com/llvm/llvm-project/commit/51b8c66b0867154730d07e1ee4016b5116440293
Author: Дмитрий Изволов <dmitriy at izvolov.ru>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__algorithm/radix_sort.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
Log Message:
-----------
[libc++] Extend the scope of radix sorting inside std::stable_sort to floating-point types (#129452)
These changes speed up `std::stable_sort` in the case of sorting
floating-point types.
This applies only to IEEE 754 floats.
The speedup is similar to that achieved for integers in PR #104683 (see
benchmarks below).
Why does this worth doing?
Previously, `std::stable_sort` had almost no chance of beating
`std::sort`.
Now there are cases when `std::stable_sort` is preferrable, and the
difference is significant.
```
---------------------------------------------------------------------------
Benchmark | std::stable_sort | std::sort | std::stable_sort
| without radix_sort | | with radix_sort
---------------------------------------------------------------------------
float_Random_1 | 1.62 ns | 2.15 ns | 1.61 ns
float_Random_4 | 18.0 ns | 2.71 ns | 16.3 ns
float_Random_16 | 118 ns | 113 ns | 112 ns
float_Random_64 | 751 ns | 647 ns | 730 ns
float_Random_256 | 4715 ns | 2937 ns | 4669 ns
float_Random_1024 | 25713 ns | 13172 ns | 5959 ns <--
float_Random_4096 | 131307 ns | 56870 ns | 19294 ns <--
float_Random_16384 | 624996 ns | 242953 ns | 64264 ns <--
float_Random_65536 | 2895661 ns | 1027279 ns | 288553 ns <--
float_Random_262144 | 13285372 ns | 4342593 ns | 3022377 ns <--
float_Random_1048576 | 60595871 ns | 19087591 ns | 18690457 ns <--
float_Random_2097152 | 131336117 ns | 38800396 ns | 52325016 ns
float_Random_4194304 | 270043042 ns | 79978019 ns | 102907726 ns
double_Random_1 | 1.60 ns | 2.15 ns | 1.61 ns
double_Random_4 | 15.2 ns | 2.70 ns | 16.9 ns
double_Random_16 | 104 ns | 112 ns | 119 ns
double_Random_64 | 712 ns | 614 ns | 755 ns
double_Random_256 | 4496 ns | 2966 ns | 4820 ns
double_Random_1024 | 24722 ns | 12679 ns | 6189 ns <--
double_Random_4096 | 126075 ns | 54484 ns | 20999 ns <--
double_Random_16384 | 613782 ns | 232557 ns | 110276 ns <--
double_Random_65536 | 2894972 ns | 988531 ns | 774302 ns <--
double_Random_262144 | 13460273 ns | 4278059 ns | 5115123 ns
double_Random_1048576 | 61119996 ns | 18408462 ns | 27166574 ns
double_Random_2097152 | 132511525 ns | 37986158 ns | 54423869 ns
double_Random_4194304 | 272949862 ns | 77912616 ns | 147670834 ns
```
Comparison for only `std::stable_sort`:
```
Benchmark Time Time Old Time New
--------------------------------------------------------------------------------------------------
BM_StableSort_float_Random_1024 -0.7997 25438 5096
BM_StableSort_float_Random_4096 -0.8731 128157 16260
BM_StableSort_float_Random_16384 -0.9024 621271 60623
BM_StableSort_float_Random_65536 -0.9081 2922413 268619
BM_StableSort_float_Random_262144 -0.7766 13386345 2990408
BM_StableSort_float_Random_1048576 -0.6954 60673010 18481751
BM_StableSort_float_Random_2097152 -0.6026 130977358 52052182
BM_StableSort_float_Random_4194304 -0.6252 271556583 101770500
BM_StableSort_float_Ascending_1024 -0.6430 6711 2396
BM_StableSort_float_Ascending_4096 -0.7979 38460 7773
BM_StableSort_float_Ascending_16384 -0.8471 191069 29222
BM_StableSort_float_Ascending_65536 -0.8683 882321 116194
BM_StableSort_float_Ascending_262144 -0.8346 3868552 639937
BM_StableSort_float_Ascending_1048576 -0.7460 16521233 4195953
BM_StableSort_float_Ascending_2097152 -0.5439 21757532 9922776
BM_StableSort_float_Ascending_4194304 -0.7525 67847496 16791582
BM_StableSort_float_Descending_1024 -0.6359 15038 5475
BM_StableSort_float_Descending_4096 -0.7090 62810 18278
BM_StableSort_float_Descending_16384 -0.7763 311844 69750
BM_StableSort_float_Descending_65536 -0.7228 1270513 352202
BM_StableSort_float_Descending_262144 -0.6785 5484173 1763045
BM_StableSort_float_Descending_1048576 -0.5084 20223149 9941852
BM_StableSort_float_Descending_2097152 -0.7646 60523254 14247014
BM_StableSort_float_Descending_4194304 -0.5638 95706839 41748858
BM_StableSort_float_SingleElement_1024 +0.3715 1732 2375
BM_StableSort_float_SingleElement_4096 -0.1685 9357 7781
BM_StableSort_float_SingleElement_16384 -0.3793 47307 29362
BM_StableSort_float_SingleElement_65536 -0.4925 227666 115536
BM_StableSort_float_SingleElement_262144 -0.4271 1075853 616387
BM_StableSort_float_SingleElement_1048576 -0.3736 5097599 3193279
BM_StableSort_float_SingleElement_2097152 -0.2470 9854161 7420158
BM_StableSort_float_SingleElement_4194304 -0.3384 22175964 14670720
BM_StableSort_float_PipeOrgan_1024 -0.4885 10664 5455
BM_StableSort_float_PipeOrgan_4096 -0.6340 50095 18337
BM_StableSort_float_PipeOrgan_16384 -0.7078 238700 69739
BM_StableSort_float_PipeOrgan_65536 -0.6740 1102419 359378
BM_StableSort_float_PipeOrgan_262144 -0.7460 4698739 1193511
BM_StableSort_float_PipeOrgan_1048576 -0.5657 18493972 8032392
BM_StableSort_float_PipeOrgan_2097152 -0.7116 41089206 11850349
BM_StableSort_float_PipeOrgan_4194304 -0.6650 83445011 27955737
BM_StableSort_float_QuickSortAdversary_1024 -0.6863 17402 5460
BM_StableSort_float_QuickSortAdversary_4096 -0.7715 79864 18247
BM_StableSort_float_QuickSortAdversary_16384 -0.7800 317480 69839
BM_StableSort_float_QuickSortAdversary_65536 -0.7400 1357601 352967
BM_StableSort_float_QuickSortAdversary_262144 -0.6450 5662094 2009769
BM_StableSort_float_QuickSortAdversary_1048576 -0.5092 21173627 10392107
BM_StableSort_float_QuickSortAdversary_2097152 -0.7333 61748178 16469993
BM_StableSort_float_QuickSortAdversary_4194304 -0.5607 98459863 43250182
BM_StableSort_double_Random_1024 -0.7657 24769 5802
BM_StableSort_double_Random_4096 -0.8441 126449 19717
BM_StableSort_double_Random_16384 -0.8269 614910 106447
BM_StableSort_double_Random_65536 -0.7413 2905000 751427
BM_StableSort_double_Random_262144 -0.6287 13449514 4994348
BM_StableSort_double_Random_1048576 -0.5635 60863246 26568349
BM_StableSort_double_Random_2097152 -0.5959 130293892 52654532
BM_StableSort_double_Random_4194304 -0.4772 272616445 142526267
BM_StableSort_double_Ascending_1024 -0.4870 6757 3466
BM_StableSort_double_Ascending_4096 -0.7360 37592 9923
BM_StableSort_double_Ascending_16384 -0.7971 183967 37324
BM_StableSort_double_Ascending_65536 -0.7465 897116 227398
BM_StableSort_double_Ascending_262144 -0.6764 4020980 1301033
BM_StableSort_double_Ascending_1048576 -0.6407 16421799 5900751
BM_StableSort_double_Ascending_2097152 -0.6380 29347139 10622419
BM_StableSort_double_Ascending_4194304 -0.5934 70439925 28644185
BM_StableSort_double_Descending_1024 -0.5988 15216 6105
BM_StableSort_double_Descending_4096 -0.6857 65069 20449
BM_StableSort_double_Descending_16384 -0.6922 329321 101381
BM_StableSort_double_Descending_65536 -0.7038 1367970 405242
BM_StableSort_double_Descending_262144 -0.6472 5361644 1891429
BM_StableSort_double_Descending_1048576 -0.6656 22031404 7366459
BM_StableSort_double_Descending_2097152 -0.7593 68922467 16591242
BM_StableSort_double_Descending_4194304 -0.6392 96283643 34743223
BM_StableSort_double_SingleElement_1024 +0.9128 1895 3625
BM_StableSort_double_SingleElement_4096 +0.1475 10013 11490
BM_StableSort_double_SingleElement_16384 -0.1901 52382 42424
BM_StableSort_double_SingleElement_65536 -0.2096 254698 201313
BM_StableSort_double_SingleElement_262144 -0.1833 1248478 1019648
BM_StableSort_double_SingleElement_1048576 -0.1741 5703397 4710603
BM_StableSort_double_SingleElement_2097152 -0.1751 10922197 9009835
BM_StableSort_double_SingleElement_4194304 -0.1538 26571923 22485137
BM_StableSort_double_PipeOrgan_1024 -0.4406 10752 6014
BM_StableSort_double_PipeOrgan_4096 -0.5917 49456 20195
BM_StableSort_double_PipeOrgan_16384 -0.6258 270515 101221
BM_StableSort_double_PipeOrgan_65536 -0.7098 1159462 336457
BM_StableSort_double_PipeOrgan_262144 -0.6591 4735711 1614433
BM_StableSort_double_PipeOrgan_1048576 -0.6620 19353110 6541172
BM_StableSort_double_PipeOrgan_2097152 -0.7288 49131812 13323391
BM_StableSort_double_PipeOrgan_4194304 -0.5988 81958974 32878171
BM_StableSort_double_QuickSortAdversary_1024 -0.6516 17948 6254
BM_StableSort_double_QuickSortAdversary_4096 -0.7527 82359 20363
BM_StableSort_double_QuickSortAdversary_16384 -0.7009 340410 101811
BM_StableSort_double_QuickSortAdversary_65536 -0.6854 1487480 467928
BM_StableSort_double_QuickSortAdversary_262144 -0.6386 5648460 2041377
BM_StableSort_double_QuickSortAdversary_1048576 -0.6127 22859142 8852587
BM_StableSort_double_QuickSortAdversary_2097152 -0.7161 68693975 19499381
BM_StableSort_double_QuickSortAdversary_4194304 -0.5909 95532179 39077491
OVERALL_GEOMEAN -0.6472 0 0
```
Commit: 1f96aea037e612d87b4e2e20825973e45680921c
https://github.com/llvm/llvm-project/commit/1f96aea037e612d87b4e2e20825973e45680921c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
A llvm/test/CodeGen/X86/pr135917.ll
Log Message:
-----------
[X86] Add test coverage for #135917
Commit: b9ce185d4e542dde5e8d152f30314b6637a0d87b
https://github.com/llvm/llvm-project/commit/b9ce185d4e542dde5e8d152f30314b6637a0d87b
Author: Robert Konicar <rkonicar at mail.muni.cz>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/IR/AttrTypeBase.td
A mlir/test/Dialect/LLVMIR/range-attr.mlir
Log Message:
-----------
[MLIR][LLVM] Fix #llvm.constant_range crashing in storage uniquer (#135772)
Add APIntParameter with custom implementation for comparison and use it
in llvm.constant_range attribute. This is necessary because the default
equality operator of APInt asserts when the bit widths of the compared
APInts differ. The comparison is used by StorageUniquer when hashes of
two ranges with different bit widths collide.
Commit: 3d7e56fd28cd2195e7f330f933d491530e274401
https://github.com/llvm/llvm-project/commit/3d7e56fd28cd2195e7f330f933d491530e274401
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_tmop.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/test/CodeGen/AArch64/GlobalISel/regbank-inlineasm.mir
M llvm/test/CodeGen/AArch64/emit_fneg_with_non_register_operand.mir
M llvm/test/CodeGen/AArch64/peephole-insvigpr.mir
A llvm/test/CodeGen/AArch64/sme2-intrinsics-tmop.ll
Log Message:
-----------
[AArch64][clang][llvm] Add structured sparsity outer product (TMOP) intrinsics (#135145)
Implement all {BF/F/S/U/SU/US}TMOP intrinsics in clang and llvm
following the ACLE in https://github.com/ARM-software/acle/pull/380/files
Commit: d508f0cb009a0be98ca97f4dc0498294e0681a66
https://github.com/llvm/llvm-project/commit/d508f0cb009a0be98ca97f4dc0498294e0681a66
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sme-write-fpmr.ll
Log Message:
-----------
[AArch64] Fix FPMR handling when switching streaming mode (#135827)
According to the
[documentation](https://developer.arm.com/documentation/ddi0601/latest/AArch64-Registers/FPMR--Floating-point-Mode-Register),
the FPMR register is set to 0 when entering or exiting streaming mode.
This patch models that behavior by adding FPMR as an implicit def to the
instructions used for entering and exiting streaming mode.
Commit: 41c97afea055a5b7264167ec47b8c14c0f471f2f
https://github.com/llvm/llvm-project/commit/41c97afea055a5b7264167ec47b8c14c0f471f2f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Remove handling of duplicates from getGatherCost
Duplicates are handled in BoUpSLP::processBuildVector (see TryPackScalars), support for duplicates in getGatherCost is not needed anymore.
Reviewers: hiraditya, RKSimon
Reviewed By: hiraditya, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/135834
Commit: 1e61b374ba3ba2891dc1abda732b0b9263216785
https://github.com/llvm/llvm-project/commit/1e61b374ba3ba2891dc1abda732b0b9263216785
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Tighten the semantics of vector.gather (#135749)
This patch restricts `vector.gather` to only accept tensors and memrefs
as valid sources. Currently, the source is typed as `AnyShaped`, which
also includes vectors—allowing the following (invalid) construct to pass
verification:
```mlir
%0 = vector.gather %base[%c0][%indices], %mask, %pass_thru
: vector<16xf32>, vector<16xi32>, vector<16xi1>, vector<16xf32> into vector<16xf32>
```
(Note: the source %base here is a vector, which is incorrect.)
In contrast, `vector.scatter` currently only accepts memrefs, so some
asymmetry remains between the two ops. This PR is a step toward aligning
their semantics.
Commit: 2d63faead4e6339e679ab62113f47112d67a5b06
https://github.com/llvm/llvm-project/commit/2d63faead4e6339e679ab62113f47112d67a5b06
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/FunctionPointer.cpp
M clang/lib/AST/ByteCode/FunctionPointer.h
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/PrimType.h
Log Message:
-----------
[clang][bytecode][NFC] Remove PT_FnPtr (#135947)
We don't need this anymore since we don't return it from classify()
anymore.
Commit: bc03d6cce25712601423398350f56114e64e4e29
https://github.com/llvm/llvm-project/commit/bc03d6cce25712601423398350f56114e64e4e29
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/vplan-printing-outer-loop.ll
M llvm/test/Transforms/LoopVectorize/vplan_hcfg_stress_test.ll
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Introduce all loop regions as VPlan transform. (NFC) (#129402)
Further simplify VPlan CFG builder by moving introduction of inner
regions to a VPlan transform, building on
https://github.com/llvm/llvm-project/pull/128419.
The HCFG builder now only constructs plain CFGs. I will move it to
VPlanConstruction as follow-up.
Depends on https://github.com/llvm/llvm-project/pull/128419.
PR: https://github.com/llvm/llvm-project/pull/129402
Commit: bb5f53c727419c90e3ad6ca7db49330c64a8f54c
https://github.com/llvm/llvm-project/commit/bb5f53c727419c90e3ad6ca7db49330c64a8f54c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
M llvm/test/CodeGen/X86/pr134602.ll
M llvm/test/CodeGen/X86/pr135917.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-fshl-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-sub128.ll
M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
Log Message:
-----------
[DAG] isSplatValue - only treat binop splats with repeated undef elements as undef (#135945)
#135597 didn't correctly fix the issue of binops with an undef element
from only one operand - only reporting the common undef elements could
incorrectly recognise splats where the (binop X, undef) fold might
actually be different - we need to ensure both operands have the same
demanded undefs for certainty.
Fixes #135917
Commit: cf2399a2ee5b8a721eff385acbaa68fb9b00127c
https://github.com/llvm/llvm-project/commit/cf2399a2ee5b8a721eff385acbaa68fb9b00127c
Author: Wenju He <wenju.he at intel.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[CI] enable code-format-helper for .cl files (#135748)
In clang-format, OpenCL .cl file uses default C++ formatting. There are
many pull-requests in libclc project that change OpenCL files. It is
beneficial to enable clang-format for them in CI.
Commit: 38ca73db223031b1831cd24ef66ddb6a8546a16c
https://github.com/llvm/llvm-project/commit/38ca73db223031b1831cd24ef66ddb6a8546a16c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Give typeinfo APValues an LValuePath (#135948)
That's what the current interpreter does as well.
Commit: 27c1aa9b9cf9e0b14211758ff8f7d3aaba24ffcf
https://github.com/llvm/llvm-project/commit/27c1aa9b9cf9e0b14211758ff8f7d3aaba24ffcf
Author: mgschossmann <109181247+mgschossmann at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
A clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp
Log Message:
-----------
[Clang,debuginfo] added vtt parameter in destructor DISubroutineType (#130674)
Fixes issue #104765: When creating a virtual destructor with an
artificial "vtt" argument, the type of "vtt" was previously missing in
the `DISubroutineType` `types` array.
This commit fixes this behavior and adds a regression test.
Commit: 616613c80b75614736d0781d12c0e1237d79738f
https://github.com/llvm/llvm-project/commit/616613c80b75614736d0781d12c0e1237d79738f
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/cxx2c-delete-with-message.cpp
Log Message:
-----------
[Clang] [Sema] Fix a crash when a `friend` function is redefined as deleted (#135679)
NB: This only fixes the crash introduced in Clang 19; we still accept
this code even though we shouldn’t:
```c++
struct S {
friend int f() { return 3; }
friend int f() = delete;
};
```
I tried figuring out a way to diagnose this redeclaration, but it seems
tricky because I kept running into issues around defaulted comparison
operators. From my testing, however, this fix here would still be
required even once we do start diagnosing this.
Fixes #135506.
Commit: 30990c09c99bdcbfa7084d32b2b9851e19b6fb2a
https://github.com/llvm/llvm-project/commit/30990c09c99bdcbfa7084d32b2b9851e19b6fb2a
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/test/Lower/do_concurrent.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
M flang/test/Lower/nsw.f90
M flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
M flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
M flang/test/Transforms/DoConcurrent/non_const_bounds.f90
M flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
Log Message:
-----------
Revert "[flang][fir] Lower `do concurrent` loop nests to `fir.do_concurrent` (#132904)" (#135904)
This reverts commit 04b87e15e40f8857e29ade8321b8b67691545a50.
The reasons for reverting is that the following:
1. I still need need to upstream some part of the do concurrent to
OpenMP pass from our downstream implementation and taking this in
downstream will make things more difficult.
2. I still need to work on a solution for modeling locality specifiers
on `hlfir.do_concurrent` ops. I would prefer to do that and merge the
entire stack together instead of having a partial solution.
After merging the revert I will reopen the origianl PR and keep it
updated against main until I finish the above.
Commit: fe4a31d59db7b18dc45c3593bf100c101e725b79
https://github.com/llvm/llvm-project/commit/fe4a31d59db7b18dc45c3593bf100c101e725b79
Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] Fix bazel build after 00eaff3e9c897c263a879416d0f151d7ca7eeaff. (#135949)
Commit: d3153ad66c539ad146062b6e65741901e5b5e1cc
https://github.com/llvm/llvm-project/commit/d3153ad66c539ad146062b6e65741901e5b5e1cc
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Lex/ModuleLoader.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/LoopHint.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
[clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (#135808)
I found this issue when I working on
https://github.com/llvm/llvm-project/pull/107168.
Currently we have many similiar data structures like:
- `std::pair<IdentifierInfo *, SourceLocation>`.
- Element type of `ModuleIdPath`.
- `IdentifierLocPair`.
- `IdentifierLoc`.
This PR unify these data structures to `IdentifierLoc`, moved
`IdentifierLoc` definition to SourceLocation.h, and deleted other
similer data structures.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: af28c9c65a23806a09d7929792df5ed2e9bdf946
https://github.com/llvm/llvm-project/commit/af28c9c65a23806a09d7929792df5ed2e9bdf946
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-vector-operand-with-reuses.ll
Log Message:
-----------
[SLP]Do not reorder split node operand with reuses, if not possible
Need to check if the operand node of the split vectorize node has reuses
and check if it is possible to build the order for this node to reorder
it correctly.
Fixes #135912
Commit: 1bfd44462886b167f0d82e44e6a9856a830c1f8b
https://github.com/llvm/llvm-project/commit/1bfd44462886b167f0d82e44e6a9856a830c1f8b
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/NVPTX/and-or-setcc.ll
A llvm/test/CodeGen/X86/and-or-setcc.ll
Log Message:
-----------
[DAGCombiner] Fold and/or of NaN SETCC (#135645)
Fold an AND or OR of two NaN SETCC nodes into a single SETCC where
possible. This optimization already exists in InstCombine but adding in
here as well can allow for additional folding if more logical operations
are exposed.
Commit: 181872ffcc7dc7f20ed2b84e8fa39beba41cb6d3
https://github.com/llvm/llvm-project/commit/181872ffcc7dc7f20ed2b84e8fa39beba41cb6d3
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
A llvm/test/MC/AMDGPU/bf16_imm-fake16.s
M llvm/test/MC/AMDGPU/bf16_imm.s
A llvm/test/MC/AMDGPU/gfx11-promotions-fake16.s
M llvm/test/MC/AMDGPU/gfx11-promotions.s
A llvm/test/MC/AMDGPU/gfx1150_asm_features-fake16.s
M llvm/test/MC/AMDGPU/gfx1150_asm_features.s
A llvm/test/MC/AMDGPU/gfx11_asm_vinterp_err-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias-fake16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s
A llvm/test/MC/AMDGPU/gfx11_asm_vop3_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
Log Message:
-----------
[AMDGPU][True16][MC] update a few mc test for true16 (#135816)
This is another NFC patch.
Update mc test for a few true16 instructions by duplicating the file to
fake16 versions and udpate `mattr` flag with +/-real-true16. Also added
some fake16 file that are not properly created before
Commit: 6cfec29cb9bc44ec907eeda99df508985ecbd49b
https://github.com/llvm/llvm-project/commit/6cfec29cb9bc44ec907eeda99df508985ecbd49b
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/test/CodeGenCUDA/offloading-entries.cu
M clang/test/Driver/linker-wrapper-image.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M llvm/include/llvm/Object/OffloadBinary.h
Log Message:
-----------
[Offload][SYCL] Refactor OffloadKind implementation (#135809)
Following are the changes:
1. Make OffloadKind enum values to be powers of two so we can use them
like a bitfield
2. Include OFK_SYCL enum value
3. Modify ActiveOffloadKinds support in clang-linker-wrapper to use
bitfields instead of a vector.
Thanks
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: de90487fc17fb928de7d0cd75d47a44db5181c14
https://github.com/llvm/llvm-project/commit/de90487fc17fb928de7d0cd75d47a44db5181c14
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_expa.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve-intrinsics-fexpa.ll
M llvm/test/MC/AArch64/SVE/fexpa.s
Log Message:
-----------
[AARCH64] Add FEAT_SSVE_FEXPA and fix unsupported features list (#134368)
This patch adds new feature introduced in [2025-03
release](https://developer.arm.com/documentation/ddi0602/2025-03/SVE-Instructions/FEXPA--Floating-point-exponential-accelerator-)
and changes feature requirements for fexpa instructions and intrinsics.
Additionally it fixes unsupported features list by moving fearures
dependent on sme2p1 to correct location.
Commit: 9483aaaaaa427b5dcb9a7af8f232a4696eef94bf
https://github.com/llvm/llvm-project/commit/9483aaaaaa427b5dcb9a7af8f232a4696eef94bf
Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
Log Message:
-----------
[bazel] Fix bazel build after 00eaff3 #2. (#135962)
The linter messed up the order of includes, which is necessary as is.
Commit: 183cb45c1280b80a0022649d1db8a93544bb97b0
https://github.com/llvm/llvm-project/commit/183cb45c1280b80a0022649d1db8a93544bb97b0
Author: John Harrison <harjohn at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb-dap] Fixing a race during disconnect. (#135872)
While attempting to disconnect the DAP transport reader thread is
setting
`disconnecting` as soon as it sees a [disconnect
request](https://microsoft.github.io/debug-adapter-protocol/specification#Requests_Disconnect).
However, if it is processing another request when this disconnect
arrives the `DAP::Loop` handler may exit the loop without replying to
the disconnect request.
There has been some instability on the CI jobs due to this race, for
example https://lab.llvm.org/buildbot/#/builders/59/builds/16076
To address this, ensure we only return from `DAP::Loop` once we've
emptied the queue.
Commit: ef1abbe32e66c16118ded6dd9f7b1a55dea8c2b6
https://github.com/llvm/llvm-project/commit/ef1abbe32e66c16118ded6dd9f7b1a55dea8c2b6
Author: Yonah Goldberg <ygoldberg at nvidia.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
Log Message:
-----------
[NVPTX] Remove extraneous initializeNVVMReflectLegacyPassPass declaration (#135825)
This was already declared in NVPTX.h and I accidentally added it back in
#134416.
Commit: 99c08ff1cb96fc4f471aca0dd253060b3f32e8bc
https://github.com/llvm/llvm-project/commit/99c08ff1cb96fc4f471aca0dd253060b3f32e8bc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Lex/ModuleLoader.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/LoopHint.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
Revert "[clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc`" (#135974)
Reverts llvm/llvm-project#135808
Example from the LLDB macOS CI:
https://green.lab.llvm.org/job/llvm.org/view/LLDB/job/as-lldb-cmake/24084/execution/node/54/log/?consoleFull
```
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp:360:49: error: no viable conversion from 'std::pair<clang::IdentifierInfo *, clang::SourceLocation>' to 'clang::ModuleIdPath' (aka 'ArrayRef<IdentifierLoc>')
clang::Module *top_level_module = DoGetModule(clang_path.front(), false);
^~~~~~~~~~~~~~~~~~
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:41:40: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'std::pair<clang::IdentifierInfo *, clang::SourceLocation>' to 'const llvm::ArrayRef<clang::IdentifierLoc> &' for 1st argument
class LLVM_GSL_POINTER [[nodiscard]] ArrayRef {
^
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:41:40: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'std::pair<clang::IdentifierInfo *, clang::SourceLocation>' to 'llvm::ArrayRef<clang::IdentifierLoc> &&' for 1st argument
/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/llvm/include/llvm/ADT/ArrayRef.h:70:18: note: candidate constructor not viable: no known conversion from 'std::pair<clang::IdentifierInfo *, clang::SourceLocation>' to 'std::nullopt_t' for 1st argument
/*implicit*/ ArrayRef(std::nullopt_t) {}
```
Commit: ab7e0c0fc00b2c0ccae735cb0def103831d15b3b
https://github.com/llvm/llvm-project/commit/ab7e0c0fc00b2c0ccae735cb0def103831d15b3b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_wmem{cpy,move} (#135969)
Commit: 2e9ab7cf96d802a906de342f32bc844036152ada
https://github.com/llvm/llvm-project/commit/2e9ab7cf96d802a906de342f32bc844036152ada
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
Log Message:
-----------
[NFC][Driver][CFI] Update boolean expression (#135881)
Show why we don't need regular CFI runtime, when CFI diag runtime is
linked.
Commit: f875dd10162dcfb8f4625cef2bfc8e6b9f73f8fc
https://github.com/llvm/llvm-project/commit/f875dd10162dcfb8f4625cef2bfc8e6b9f73f8fc
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M lldb/source/Target/ThreadPlanStepInRange.cpp
Log Message:
-----------
[lldb][nfc] Remove redundant check in if statement (#135869)
We already check this boolean in the `if` statement two lines above.
Commit: d13135134c43af674584780b1494316f6fdaf027
https://github.com/llvm/llvm-project/commit/d13135134c43af674584780b1494316f6fdaf027
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[NFC][Driver][CFI] Rename to clarify purpose of CFI runtime (#135885)
CFI runtime (diagnostics, or not) is only needed
for cross-dso support.
Commit: b73e5419f66a2501b4491514a72c7e361c25d57e
https://github.com/llvm/llvm-project/commit/b73e5419f66a2501b4491514a72c7e361c25d57e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[NFC][CFI] Don't mix CFI and non-CFI flags on the same line (#135890)
Commit: 8c04656c457e28680c60e8edc15a4b170b684ca2
https://github.com/llvm/llvm-project/commit/8c04656c457e28680c60e8edc15a4b170b684ca2
Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix bazel build after 2b983a24583dd4e131d727717872a56712b5dd52. (#135976)
Commit: 30259076fec0af97e604ca943b61fb686b9b21ef
https://github.com/llvm/llvm-project/commit/30259076fec0af97e604ca943b61fb686b9b21ef
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vopcx_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopcx_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
Log Message:
-----------
[AMDGPU][True16][MC] fix opsel for v_cmpx 16bit inst (#135441)
Fixed inst printer so that no opsel is generated for dst reg of cmpx
16bit insts
Commit: aca710ac3655fcd3f057edc1382ceec7fc58ef19
https://github.com/llvm/llvm-project/commit/aca710ac3655fcd3f057edc1382ceec7fc58ef19
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[NFC][Clang] Introduce type aliases to replace use of auto in clang/lib/CodeGen/CGCall.cpp. (#135861)
CGCall.cpp declares several functions with a return type that is an
explicitly spelled out specialization of `SmallVector`. Previously,
`auto` was used in several places to avoid repeating the long type name;
a use that Clang maintainers find unjustified. This change introduces
type aliases and replaces the existing uses of `auto` with the
corresponding alias name.
Commit: 81b4fc2bedc411c257fdf24540318e24fe669b8b
https://github.com/llvm/llvm-project/commit/81b4fc2bedc411c257fdf24540318e24fe669b8b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[CodeGen] Construct SmallVector with ArrayRef (NFC) (#135930)
Note that we can drop the call to reserve because the constructor that
takes ArrayRef calls append, which in turn calls reserve.
Commit: 842bc07946e7ac71692ae235e784b9bc6c3d6535
https://github.com/llvm/llvm-project/commit/842bc07946e7ac71692ae235e784b9bc6c3d6535
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
Log Message:
-----------
[DebugInfo] Use StringRef::starts_with (NFC) (#135933)
Commit: 05772406153c390e61809757643ad49bff7dc71d
https://github.com/llvm/llvm-project/commit/05772406153c390e61809757643ad49bff7dc71d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Log Message:
-----------
[Utils] Use StringRef::ends_with (NFC) (#135934)
Commit: 0045b82a42bd36306a14f8b40bd9b54470c299ea
https://github.com/llvm/llvm-project/commit/0045b82a42bd36306a14f8b40bd9b54470c299ea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[Vectorize] Construct SmallVector with an iterator range (NFC) (#135936)
Commit: 419fa1b06a36336ad85f1c71fc72ffa719ceb659
https://github.com/llvm/llvm-project/commit/419fa1b06a36336ad85f1c71fc72ffa719ceb659
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/ValueObject/ValueObject.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp
Log Message:
-----------
[lldb][DataFormatter] Surface CalculateNumChildren errors in std::vector summary (#135944)
When the data-formatters happen to break (e.g., due to layout changes in
libc++), there's no clear indicator of them failing from a user's
perspective. E.g., for `std::vector`s we would just show:
```
(std::vector<int>) v = size=0 {}
```
which is highly misleading, especially if `v.size()` returns a non-zero
size.
This patch surfaces the various errors that could occur when calculating
the number of children of a vector.
rdar://146964266
Commit: 34598fdadc06bd3b21aa97342dda05ecd9233912
https://github.com/llvm/llvm-project/commit/34598fdadc06bd3b21aa97342dda05ecd9233912
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[llvm][ItaniumDemangle] Use __LDBL_MANT_DIG__ for configuring demangling of long doubles (#135968)
Syncing in the changes from
https://github.com/llvm/llvm-project/pull/134976 using the
`cp-to-llvm.sh` script.
Commit: 7f4422d99115efbb770e13ccb60cf6bfc190c245
https://github.com/llvm/llvm-project/commit/7f4422d99115efbb770e13ccb60cf6bfc190c245
Author: David Green <david.green at arm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/shuffle-extend.ll
Log Message:
-----------
[AArch64] Add testing for shuffles that extend into new types. NFC
Commit: 24171f4d12a02b49de1cc7a1beb2dc19c740a9f1
https://github.com/llvm/llvm-project/commit/24171f4d12a02b49de1cc7a1beb2dc19c740a9f1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[NFC][CFI] Add test to check for '-flto' and '-fvisibility=' flags (#135892)
Commit: 76b5fcbf975547251faaeed8b567ea09d139a607
https://github.com/llvm/llvm-project/commit/76b5fcbf975547251faaeed8b567ea09d139a607
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Store flat source operand number in OperandMap in PseudoLoweringEmitter. NFC (#135886)
Previously we stored the index into the source CodeGenInstruction's
operand list. Any operand with sub operands stored the same index into
all of the OperandMap entries for that operand. The emitting loop would
look up the MIOperandNo for the source and add the sub index.
This patch moves the logic into the loop that updates the OperandMap.
Now the emitting loop only needs to print the value.
While there, I've added a check that MIOperandNo is the same for source
and destination.
Commit: 76b7ae7e454a1f0d814406d16926aa6722afcda4
https://github.com/llvm/llvm-project/commit/76b7ae7e454a1f0d814406d16926aa6722afcda4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Remove std::placeholders:: qualifiers, NFC
Commit: 726a5c2c57c486e69df2dfc296482e1d8014ab62
https://github.com/llvm/llvm-project/commit/726a5c2c57c486e69df2dfc296482e1d8014ab62
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[NFC][CFI] Avoid clang error in CFI tests (#135981)
In these tests we test correct linking flags set,
and it's confusing that command fails because of
other missing required flags.
Clang diagnostics opportunistically proceed after
error report on required flags, but there is no
guaranty that processing of tested flags are the same
in supported and erroneous flag sets.
Commit: 72506eb37d9440d32e6dada187785b06aecb415c
https://github.com/llvm/llvm-project/commit/72506eb37d9440d32e6dada187785b06aecb415c
Author: Kostiantyn Lazukin <konstantin.lazukin at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M compiler-rt/test/builtins/Unit/addtf3_test.c
Log Message:
-----------
[compiler-rt] Fix `addtf3_test.c` being skipped due to misplaced include (#134106)
[compiler-rt] The test `addtf3_test.c` is currently guarded by `#if
defined(CRT_HAS_IEEE_TF)`, a macro that is declared in `int_lib.h`.
However, `int_lib.h` is included *after* the preprocessor check, which
results in the macro not being defined in time and causes the test to
always be skipped.
This patch moves the includes of `fp_test.h` and `int_lib.h` to the top
of the file so that `CRT_HAS_IEEE_TF` is defined before it is checked.
Co-authored-by: Kostiantyn Lazukin <koslaz01 at ip-10-252-21-142.eu-west-1.compute.internal>
Commit: 51fa6cde7d773aa7f41b410c8263884ad32eca86
https://github.com/llvm/llvm-project/commit/51fa6cde7d773aa7f41b410c8263884ad32eca86
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/RISCV/smax-reduction-unsigned-missing-sign.ll
Log Message:
-----------
[SLP][NFC]Add a test with missing unsigned promotion for smax reduction, NFC
Commit: ed9bcb52954f8e6171563d2b8310b0ca6d03d655
https://github.com/llvm/llvm-project/commit/ed9bcb52954f8e6171563d2b8310b0ca6d03d655
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/CFIInstBuilder.h
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Log Message:
-----------
[CodeGen][RISCV] Add helper class for emitting CFI instructions into MIR (#135845)
PR: https://github.com/llvm/llvm-project/pull/135845
Commit: 0daf20b3605f19271af7afa4175e7d62194e5578
https://github.com/llvm/llvm-project/commit/0daf20b3605f19271af7afa4175e7d62194e5578
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
A mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
Log Message:
-----------
[mlir][vector] transpose(broadcast) -> broadcast canonicalization (#135096)
Example seen in the 'real world':
```
%0 = vector.broadcast %arg0 : vector<1xi8> to vector<1x8xi8>
%1 = vector.transpose %0, [1, 0] : vector<1x8xi8> to vector<8x1xi8>
```
This PR adds a canonicalizer that rewrites the above as
```
%1 = vector.broadcast %arg0 : vector<1xi8> to vector<8x1xi8>
```
It works by determining if a transpose is only shuffling contiguous
broadcast dimensions.
Commit: d88a3a36ad26e68281873fab9a35389f6eb5c919
https://github.com/llvm/llvm-project/commit/d88a3a36ad26e68281873fab9a35389f6eb5c919
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Remove redundant shape_cast(shape_cast(x)) pattern (#135447)
This PR removes one OpRewritePattern `shape_cast(shape_cast(x)) -> x`
that is already handled by `ShapeCastOp::fold`.
Note that this might affect downstream users who indirectly call
`populateShapeCastFoldingPatterns(RewritePatternSet &patterns,
PatternBenefit)` and then use `patterns` with a `GreedyRewriteConfig
config` that has `config.fold = false`. (only user I've checked is IREE,
that never uses config.fold = false).
Commit: facc57fc25d0f05f5834fed421662dbad3ec5b50
https://github.com/llvm/llvm-project/commit/facc57fc25d0f05f5834fed421662dbad3ec5b50
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
M clang/test/SemaCUDA/function-overload.cu
M clang/test/SemaCXX/implicit-member-functions.cpp
A clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaTemplate/instantiate-function-params.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
Log Message:
-----------
[Clang][RFC] Bypass TAD during overload resolution if a perfect match exists (#133426)
This implements the same overload resolution behavior as GCC,
as described in https://wg21.link/p3606 (sections 1-2, not 3)
If, during overload resolution, a non-template candidate is always
picked because each argument is a perfect match (i.e., the source and
target types are the same), we do not perform deduction for any template
candidate that might exist.
The goal is to be able to merge #122423 without being too disruptive.
This change means that the selection of the best viable candidate and
template argument deduction become interleaved.
To avoid rewriting half of Clang, we store in `OverloadCandidateSet`
enough information to deduce template candidates from
`OverloadCandidateSet::BestViableFunction`. This means the lifetime of
any object used by the template argument must outlive a call to
`Add*Template*Candidate`.
This two-phase resolution is not performed for some initialization as
there are cases where template candidates are a better match per the
standard. It's also bypassed for code completion.
The change has a nice impact on compile times
https://llvm-compile-time-tracker.com/compare.php?from=edc22c64e527171041876f26a491bb1d03d905d5&to=8170b860bd4b70917005796c05a9be013a95abb2&stat=instructions%3Au
Fixes #62096
Fixes #74581
Fixes #53454
Commit: 73b8750a970ddaec5da1540c100561bd5104bca6
https://github.com/llvm/llvm-project/commit/73b8750a970ddaec5da1540c100561bd5104bca6
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] fold transpose(poison) -> poison (#135675)
Following on from https://github.com/llvm/llvm-project/pull/133988
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: eea86489dd3df5b66d75ee2590f4824913c411d5
https://github.com/llvm/llvm-project/commit/eea86489dd3df5b66d75ee2590f4824913c411d5
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Fold broadcast(poison) -> poison (#135677)
In addition to the new folder, I've also a test for broadcast(splat) ->
splat which I think was missing
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: 52e0337ea34142f55c427493e9ca2be5fce2dd38
https://github.com/llvm/llvm-project/commit/52e0337ea34142f55c427493e9ca2be5fce2dd38
Author: Chris B <chris.bieneman at me.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
A clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
M clang/test/SemaOpenCL/cl20-device-side-enqueue.cl
Log Message:
-----------
[HLSL][OpenCL] Strip addrspace from implicit cast diags (#135830)
The address space of a source value for an implicit cast isn't really
relevant when emitting conversion warnings. Since the lvalue->rvalue
cast effectively removes the address space they don't factor in, but
they do create visual noise in the diagnostics.
This is a small quality-of-life fixup to get in as HLSL adopts more
address space annotations.
Commit: 81739c39db11b7f9a4f3528c1c66b552e57b47e4
https://github.com/llvm/llvm-project/commit/81739c39db11b7f9a4f3528c1c66b552e57b47e4
Author: Volodymyr Sapsai <vsapsai at apple.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/macro-identifier-hiding.c
Log Message:
-----------
[Modules] Fix an identifier hiding a function-like macro definition. (#135471)
We emit a macro definition only in a module defining it. But it means
that if another module has an identifier with the same name as the
macro, the users of such module won't be able to use the macro anymore.
Fix by storing that an identifier has a macro definition that's not in a
current module (`MacroDirectivesOffset == 0`). This way
`IdentifierLookupVisitor` knows not to stop at the first module with an
identifier but to keep checking included modules for the actual macro
definition.
Fixes issue #32040.
rdar://30258278
Commit: 913dcf1aa36f3ea2d67a0d2b05b9d1375987e553
https://github.com/llvm/llvm-project/commit/913dcf1aa36f3ea2d67a0d2b05b9d1375987e553
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/RISCV/smax-reduction-unsigned-missing-sign.ll
Log Message:
-----------
[SLP]Fix type promotion for smax reduction with unsigned reduced operands
Need to add an extra bit for sign info for unsigned reduced values to
generate correct code.
Commit: ce7466f66c8a279917cd1c9486846b6857a82fe8
https://github.com/llvm/llvm-project/commit/ce7466f66c8a279917cd1c9486846b6857a82fe8
Author: AdityaK <hiraditya at msn.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Log Message:
-----------
NFC: Rewrite auto castIter -> const auto *castIter (#133521)
Commit: 80c19b3b1d59294be63d8b55fedc317305abbdbe
https://github.com/llvm/llvm-project/commit/80c19b3b1d59294be63d8b55fedc317305abbdbe
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
A clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/struct.c
Log Message:
-----------
[CIR] Upstream initial support for complete record types (#135844)
This adds basic support for populating record types. In order to keep
the change small, everything non-essential was deferred to a later
change set. Only non-recursive structures are handled. Structures
padding is not yet implemented. Bitfields are not supported. No attempt
is made to handle ABI requirements for passing structure arguments.
Commit: 1576fa10104b9a88bef88ae851c2df479502fea9
https://github.com/llvm/llvm-project/commit/1576fa10104b9a88bef88ae851c2df479502fea9
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation-invalid-roots.ll
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Extend the notion of "cannot return" (#135651)
At the time of instrumentation (and instrumentation lowering), `noreturn` is not applied uniformously. Rather than running `FunctionAttrs` pass, we just need to use `llvm::canReturn` exposed in PR #135650
Commit: 6ccc9280ba891bbea349c12a064bf23bdf9000e7
https://github.com/llvm/llvm-project/commit/6ccc9280ba891bbea349c12a064bf23bdf9000e7
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
M clang/test/SemaCUDA/function-overload.cu
M clang/test/SemaCXX/implicit-member-functions.cpp
R clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaTemplate/instantiate-function-params.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
Log Message:
-----------
Revert "[Clang][RFC] Bypass TAD during overload resolution if a perfect match exists" (#135993)
Reverts llvm/llvm-project#133426
This is failing on some bots
https://lab.llvm.org/buildbot/#/builders/163/builds/17265
Commit: 6d03f51f0c59171f1ec3c5cc5c1fe71c30956273
https://github.com/llvm/llvm-project/commit/6d03f51f0c59171f1ec3c5cc5c1fe71c30956273
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/CodeGen/Targets/SystemZ.cpp
A clang/test/CodeGen/SystemZ/Float16.c
A clang/test/CodeGen/SystemZ/fp16.c
M clang/test/CodeGen/SystemZ/strictfp_builtins.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/clear_cache.c
A compiler-rt/lib/builtins/extendhfdf2.c
M compiler-rt/test/builtins/CMakeLists.txt
A compiler-rt/test/builtins/Unit/extendhfdf2_test.c
M llvm/docs/LangRef.rst
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZCallingConv.td
M llvm/lib/Target/SystemZ/SystemZFeatures.td
M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.h
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ14.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ15.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ16.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ17.td
M llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
M llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
M llvm/test/CodeGen/SystemZ/asm-10.ll
M llvm/test/CodeGen/SystemZ/asm-17.ll
M llvm/test/CodeGen/SystemZ/asm-19.ll
A llvm/test/CodeGen/SystemZ/atomic-load-10.ll
A llvm/test/CodeGen/SystemZ/atomic-store-10.ll
A llvm/test/CodeGen/SystemZ/atomicrmw-fadd-04.ll
M llvm/test/CodeGen/SystemZ/fmuladd-soft-float.ll
M llvm/test/CodeGen/SystemZ/fp-abs-01.ll
M llvm/test/CodeGen/SystemZ/fp-abs-03.ll
M llvm/test/CodeGen/SystemZ/fp-abs-04.ll
M llvm/test/CodeGen/SystemZ/fp-add-01.ll
M llvm/test/CodeGen/SystemZ/fp-cmp-04.ll
M llvm/test/CodeGen/SystemZ/fp-conv-05.ll
M llvm/test/CodeGen/SystemZ/fp-conv-06.ll
M llvm/test/CodeGen/SystemZ/fp-conv-07.ll
M llvm/test/CodeGen/SystemZ/fp-conv-08.ll
M llvm/test/CodeGen/SystemZ/fp-conv-09.ll
M llvm/test/CodeGen/SystemZ/fp-conv-10.ll
M llvm/test/CodeGen/SystemZ/fp-conv-11.ll
M llvm/test/CodeGen/SystemZ/fp-conv-12.ll
M llvm/test/CodeGen/SystemZ/fp-conv-13.ll
M llvm/test/CodeGen/SystemZ/fp-conv-14.ll
M llvm/test/CodeGen/SystemZ/fp-conv-20.ll
A llvm/test/CodeGen/SystemZ/fp-copysign-03.ll
M llvm/test/CodeGen/SystemZ/fp-div-01.ll
A llvm/test/CodeGen/SystemZ/fp-half-cmp.ll
A llvm/test/CodeGen/SystemZ/fp-half-libcall.ll
A llvm/test/CodeGen/SystemZ/fp-half-mem.ll
A llvm/test/CodeGen/SystemZ/fp-half-move.ll
A llvm/test/CodeGen/SystemZ/fp-half-strict.ll
A llvm/test/CodeGen/SystemZ/fp-half-vector.ll
A llvm/test/CodeGen/SystemZ/fp-half.ll
M llvm/test/CodeGen/SystemZ/fp-libcall.ll
M llvm/test/CodeGen/SystemZ/fp-mul-01.ll
M llvm/test/CodeGen/SystemZ/fp-mul-06.ll
M llvm/test/CodeGen/SystemZ/fp-mul-08.ll
M llvm/test/CodeGen/SystemZ/fp-mul-10.ll
A llvm/test/CodeGen/SystemZ/fp-mul-15.ll
M llvm/test/CodeGen/SystemZ/fp-neg-01.ll
M llvm/test/CodeGen/SystemZ/fp-neg-02.ll
M llvm/test/CodeGen/SystemZ/fp-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-round-03.ll
M llvm/test/CodeGen/SystemZ/fp-sqrt-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-cmp-04.ll
M llvm/test/CodeGen/SystemZ/fp-strict-cmps-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-cmps-04.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-02.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-05.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-06.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-07.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-08.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-09.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-10.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-11.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-12.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-13.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-14.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-15.ll
M llvm/test/CodeGen/SystemZ/fp-strict-conv-17.ll
M llvm/test/CodeGen/SystemZ/fp-strict-div-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-mul-06.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-03.ll
M llvm/test/CodeGen/SystemZ/fp-strict-sqrt-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-sub-01.ll
M llvm/test/CodeGen/SystemZ/fp-sub-01.ll
M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-explicit-regs-zEC12.ll
M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-explicit-regs.ll
M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting-zEC12.ll
M llvm/test/CodeGen/SystemZ/inline-asm-fp-int-casting.ll
M llvm/test/CodeGen/SystemZ/is_fpclass.ll
A llvm/test/CodeGen/SystemZ/spill-half-01.mir
A llvm/test/CodeGen/SystemZ/spill-half-02.mir
M llvm/test/CodeGen/SystemZ/stackmap.ll
M llvm/test/CodeGen/SystemZ/tdc-01.ll
M llvm/test/CodeGen/SystemZ/tdc-02.ll
M llvm/test/CodeGen/SystemZ/tdc-03.ll
M llvm/test/CodeGen/SystemZ/tdc-04.ll
M llvm/test/CodeGen/SystemZ/tdc-05.ll
M llvm/test/CodeGen/SystemZ/tdc-06.ll
M llvm/test/CodeGen/SystemZ/twoaddr-kill.mir
M llvm/test/CodeGen/SystemZ/vec-max-05.ll
M llvm/test/CodeGen/SystemZ/vec-min-05.ll
M llvm/test/CodeGen/SystemZ/vec-strict-max-01.ll
M llvm/test/CodeGen/SystemZ/vec-strict-min-01.ll
Log Message:
-----------
[SystemZ] Add support for 16-bit floating point. (#109164)
- _Float16 is now accepted by Clang.
- The half IR type is fully handled by the backend.
- These values are passed in FP registers and converted to/from float around
each operation.
- Compiler-rt conversion functions are now built for s390x including the missing
extendhfdf2 which was added.
Fixes #50374
Commit: ad12323fbf8f34fcb3bd3a75ed410d3d5b0ca42c
https://github.com/llvm/llvm-project/commit/ad12323fbf8f34fcb3bd3a75ed410d3d5b0ca42c
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
M clang/test/Driver/dxc_D.hlsl
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/dxc_options.hlsl
M clang/test/Driver/hlsl-lang-targets.hlsl
Log Message:
-----------
[HLSL] Don't invoke `dxv` from `clang-dxc` for text output (#135876)
Running `clang-dxc` with textual output was emitting various spurious
warnings (if `dxv` wasn't on your path) or errors (if it was). Avoid
these by not attempting to run this tool when it doesn't make sense to
do so.
Fixes #135874.
Commit: e19fcb72d7fbda6a1e67c45b85b399fe69d212ad
https://github.com/llvm/llvm-project/commit/e19fcb72d7fbda6a1e67c45b85b399fe69d212ad
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
Fix 'unannotated fall-through between switch labels' warning. (#136000)
Commit: 8a00efd26db21ef73df58b465b7741d1f889a681
https://github.com/llvm/llvm-project/commit/8a00efd26db21ef73df58b465b7741d1f889a681
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
Log Message:
-----------
[SystemZ] Fix warnings
This patch fixes:
llvm/lib/Target/SystemZ/SystemZISelLowering.cpp:6916:7: error:
unused variable 'RegVT' [-Werror,-Wunused-variable]
llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp:1265:30: error: unused
variable 'RC' [-Werror,-Wunused-variable]
Commit: e77ef7b291a0024ae34eaa76dafb62aef06d3c95
https://github.com/llvm/llvm-project/commit/e77ef7b291a0024ae34eaa76dafb62aef06d3c95
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[NFC][CFI] Dump test output to debug llvm-clang-win-x-aarch64 failure (#136002)
Commit: 4aca20c8b6dcf86696db03d860e635112601a7f9
https://github.com/llvm/llvm-project/commit/4aca20c8b6dcf86696db03d860e635112601a7f9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/entry-no-bundle-but-extra-use-on-vec.ll
Log Message:
-----------
[SLP]Pre-cache the last instruction for all entries before vectorization
Need to pre-cache last instruction to avoid unexpected changes in the
last instruction detection during the vectorization, caused by adding
the new vector instructions, which add new uses and may affect the
analysis.
Commit: 4903a7b77b56c7d9a650205b6e7dca46581c7134
https://github.com/llvm/llvm-project/commit/4903a7b77b56c7d9a650205b6e7dca46581c7134
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp
Log Message:
-----------
[ctxprof][nfc] Move profile annotator to Analysis (#135871)
This moves the utility that propagates counter values such that we can reuse it elsewhere. Specifically, in a subsequent patch, it'll be used to guide ICP: we need to prioritize promoting indirect calls that dominate larger portions of the dynamic instruction count. We can compare them based on the dynamic count of IR instructions, and we can get that early with this counter propagation logic.
The patch is mostly a move of the existing logic, with a pimpl - style implementation to hide all the current complexity.
Commit: fe94f11407453c2d166597ef6e58d31f5b27d46e
https://github.com/llvm/llvm-project/commit/fe94f11407453c2d166597ef6e58d31f5b27d46e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Analysis/anonymous-decls.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
Log Message:
-----------
[clang] Fix elaborated keyword canonicalization (#135916)
Commit: c4e9901b5b660f7c64570c3440080436c8e8b32e
https://github.com/llvm/llvm-project/commit/c4e9901b5b660f7c64570c3440080436c8e8b32e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVCompare.cpp
M llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/MC/DXContainerPSVInfo.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/TargetParser/SubtargetFeature.cpp
M llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
M llvm/unittests/DebugInfo/PDB/HashTableTest.cpp
M llvm/unittests/Transforms/IPO/LowerTypeTests.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[llvm] Use llvm::append_range (NFC) (#135931)
Commit: 0f97cd87dee1ddc6aadc04369262739da2f55b5a
https://github.com/llvm/llvm-project/commit/0f97cd87dee1ddc6aadc04369262739da2f55b5a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/Frontend/InitPreprocessor.cpp
Log Message:
-----------
[Frontend] Use StringRef::ends_with (NFC) (#135988)
Commit: fa46d522fe66b77bdf3156be9255ce3b83010433
https://github.com/llvm/llvm-project/commit/fa46d522fe66b77bdf3156be9255ce3b83010433
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/tools/llvm-xray/xray-stacks.cpp
Log Message:
-----------
[llvm-xray] Use llvm::make_second_range (NFC) (#135989)
Commit: 4863d1ffbde77b8a3c580b4f7905ec21b1aba7e0
https://github.com/llvm/llvm-project/commit/4863d1ffbde77b8a3c580b4f7905ec21b1aba7e0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/Serialization/MultiOnDiskHashTable.h
Log Message:
-----------
[Serialization] Use llvm::map_range (NFC) (#135990)
Commit: d338bdc9fe72aef1d9d2043d569fd94eb57db111
https://github.com/llvm/llvm-project/commit/d338bdc9fe72aef1d9d2043d569fd94eb57db111
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Log Message:
-----------
[mlir][linalg][NFC] Update elementwise docs to match op name (#135999)
Updates linalg.elementwise op description to replace older abbreviated
mnemonic with its current form.
Commit: 598ec8ce2d1e5e20b45c56de8972f58a0caeb697
https://github.com/llvm/llvm-project/commit/598ec8ce2d1e5e20b45c56de8972f58a0caeb697
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/test/TableGen/VarLenDecoder.td
M llvm/test/TableGen/trydecode-emission.td
M llvm/test/TableGen/trydecode-emission2.td
M llvm/test/TableGen/trydecode-emission3.td
M llvm/test/TableGen/trydecode-emission4.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter (#135882)
- Add command line option `num-to-skip-size` to parameterize the size of
`NumToSkip` bytes in the decoder table. Default value will be 2, and
targets that need larger size can use 3.
- Keep all existing targets, except AArch64, to use size 2, and change
AArch64 to use size 3 since it run into the "disassembler decoding table
too large" error with size 2.
- Following is a rough reduction in size for the decoder tables by
switching to size 2.
```
Target Old Size New Size % Reduction
================================================
AArch64 153254 153254 0.00
AMDGPU 471566 412805 12.46
ARC 5724 5061 11.58
ARM 84936 73831 13.07
AVR 1497 1306 12.76
BPF 2172 1927 11.28
CSKY 10064 8692 13.63
Hexagon 47967 41965 12.51
Lanai 1108 982 11.37
LoongArch 24446 21621 11.56
MSP430 4200 3716 11.52
Mips 36330 31415 13.53
PPC 31897 28098 11.91
RISCV 37979 32790 13.66
Sparc 8331 7252 12.95
SystemZ 36722 32248 12.18
VE 48296 42873 11.23
XCore 2590 2316 10.58
Xtensa 3827 3316 13.35
```
Commit: 80855eb6f11b06c194939eb305761eb2b62822f9
https://github.com/llvm/llvm-project/commit/80855eb6f11b06c194939eb305761eb2b62822f9
Author: Lei Wang <wlei at fb.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
Log Message:
-----------
[SampleFDO] Extend the function base name max size (#135863)
The function base name could be way long which overflows and leads to a
crash. Update to extend the max size.
Also changed to use heap allocation( `std::vector<char>` ) to avoid
stack overflow.
Commit: 05aa98955c697e52209d775327013e9cc2be6321
https://github.com/llvm/llvm-project/commit/05aa98955c697e52209d775327013e9cc2be6321
Author: calebwat <107081575+calebwat at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
Log Message:
-----------
[NFCI] Explicitly delete unused copy constructor and assign copy for VPInterleavedAccessInfo (#134755)
VPInterleavedAccessInfo has a defined destructor freeing memory, but no
explicitly defined copy constructor or copy assignment op. These are not
used, so this patch marks them as deleted to avoid usage of the
implicitly defined implementations.
Commit: 7fd0c8acd4659ccd0aef5486afe32c8ddf0f2957
https://github.com/llvm/llvm-project/commit/7fd0c8acd4659ccd0aef5486afe32c8ddf0f2957
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/test/TableGen/VarLenDecoder.td
M llvm/test/TableGen/trydecode-emission.td
M llvm/test/TableGen/trydecode-emission2.td
M llvm/test/TableGen/trydecode-emission3.td
M llvm/test/TableGen/trydecode-emission4.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
Revert "[LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter" (#136017)
Reverts llvm/llvm-project#135882
Causing assert failures for AArch64 backend
Commit: c7fae59ac540ced666f664c88c2a49e06352a8dc
https://github.com/llvm/llvm-project/commit/c7fae59ac540ced666f664c88c2a49e06352a8dc
Author: James Newling <james.newling at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][vector] Move extract_strided_slice canonicalization to folding (#135676)
Folders are preferred:
https://mlir.llvm.org/docs/Canonicalization/#when-to-use-the-fold-method-vs-rewriterpatterns-for-canonicalizations
Included here : some missing `-----` between lit test file with mlir-opt
with `-split-input-file` flag
Commit: cbbf6b487360a0926c88d512c986b3640136f91e
https://github.com/llvm/llvm-project/commit/cbbf6b487360a0926c88d512c986b3640136f91e
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Revert "[NFC][CFI] Dump test output to debug llvm-clang-win-x-aarch64 failure" (#136029)
Reverts llvm/llvm-project#136002
Not needed any more.
Commit: 6b0c8c4acd31eba83bf20ab1cf8729b2153e383c
https://github.com/llvm/llvm-project/commit/6b0c8c4acd31eba83bf20ab1cf8729b2153e383c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Revert "[NFC][CFI] Avoid clang error in CFI tests" (#136030)
Reverts llvm/llvm-project#135981
Fails with 'clang: error: --rtlib=libgcc requires --unwindlib=libgcc' on
some bots.
Commit: 41c1a7be3f1a2556e407e761acb766a5d103d691
https://github.com/llvm/llvm-project/commit/41c1a7be3f1a2556e407e761acb766a5d103d691
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
Log Message:
-----------
[LV] Don't add fixed-order recurrence phis to forced scalars.
Fixed-order recurrence phis cannot be forced to be scalar, they will
always be widened at the moment.
Make sure we don't add them to ForcedScalars, otherwise the legacy cost
model will compute incorrect costs.
This fixes an assertion reported with
https://github.com/llvm/llvm-project/pull/129645.
Commit: 42ad82bb059f1ba454c6f7d882984f38d6099d88
https://github.com/llvm/llvm-project/commit/42ad82bb059f1ba454c6f7d882984f38d6099d88
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[mlir][tosa] Add verifier check for Slice Op (#135853)
Add verifier check for Slice Op to make sure input1 and output have same
ranks.
Added test in verifier.mlir
Also moved existing slice verifier tests in invalid.mlir to verfier.mlir
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 2afef58e40ba953c0848577106dee51819b9be8f
https://github.com/llvm/llvm-project/commit/2afef58e40ba953c0848577106dee51819b9be8f
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/CFIInstBuilder.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
Log Message:
-----------
[ARM] Use helper class for emitting CFI instructions into MIR (#135994)
Similar to #135845.
PR: https://github.com/llvm/llvm-project/pull/135994
Commit: a9827fbc86b3d2973b9eef7bfb8f726dd75f17a5
https://github.com/llvm/llvm-project/commit/a9827fbc86b3d2973b9eef7bfb8f726dd75f17a5
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[llvm] Handle CPI symbols for UEFI (#135652)
UEFI targets besides MSVC environment must support constant pool
symbols.
Commit: 9dbe107219c7ab1c422300f9eeb9ca3f7fc87c53
https://github.com/llvm/llvm-project/commit/9dbe107219c7ab1c422300f9eeb9ca3f7fc87c53
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py
Log Message:
-----------
disable test on older compilers (#136037)
Commit: c409da2223ad910d2a0fb491c19623c679e8aae3
https://github.com/llvm/llvm-project/commit/c409da2223ad910d2a0fb491c19623c679e8aae3
Author: Muzammil <55665739+Muzammiluddin-Syed-ECE at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[mlir][ROCDL] Add permlanex16 op to allow subgroup reductions on gfx10+ (#135983)
Adding Permlanex16Op to ROCDL dialect to enable subgroup reduce lowering
to DPP ops for gfx 10+ devices.
See [this PR](https://github.com/llvm/llvm-project/pull/133204).
---------
Signed-off-by: Muzammiluddin Syed <muzasyed at amd.com>
Commit: 6727d588919a49ae14d0857d2a642099098c9194
https://github.com/llvm/llvm-project/commit/6727d588919a49ae14d0857d2a642099098c9194
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[NFC][CFI] Remove unnecessary -rtlib=platform from tests (#136032)
Should allow to reland https://github.com/llvm/llvm-project/pull/135981
Commit: 7623501c056a38c665ccf718ad318fd16451e4cc
https://github.com/llvm/llvm-project/commit/7623501c056a38c665ccf718ad318fd16451e4cc
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M compiler-rt/lib/asan/asan_report.cpp
Log Message:
-----------
[asan] Fix build on fuchsia (#136042)
Does not link after #131756
Commit: 697aa9995c24a977425e672d76a4a434384b16e3
https://github.com/llvm/llvm-project/commit/697aa9995c24a977425e672d76a4a434384b16e3
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/SMT.h
M mlir/include/mlir-c/Target/ExportSMTLIB.h
A mlir/lib/Bindings/Python/DialectSMT.cpp
M mlir/lib/CAPI/Dialect/SMT.cpp
M mlir/lib/CAPI/Target/ExportSMTLIB.cpp
M mlir/python/CMakeLists.txt
A mlir/python/mlir/dialects/SMTOps.td
A mlir/python/mlir/dialects/smt.py
M mlir/test/CAPI/smt.c
A mlir/test/python/dialects/smt.py
Log Message:
-----------
[mlir][SMT] add python bindings (#135674)
This PR adds "rich" python bindings to SMT dialect.
Commit: 9c98a9801dff79ea7e440f2a45f669be2cdc965b
https://github.com/llvm/llvm-project/commit/9c98a9801dff79ea7e440f2a45f669be2cdc965b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
Log Message:
-----------
[NFC][Asan] CRLF to LF in a test
Commit: 91df4cce44ac33d2d169614c532868c1dde5df51
https://github.com/llvm/llvm-project/commit/91df4cce44ac33d2d169614c532868c1dde5df51
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
Log Message:
-----------
[NFC][Asan] Disabled test dead-locking on Darwin
After #131756.
Commit: e64305096a3d1ec122953be6e7008fbf05467d73
https://github.com/llvm/llvm-project/commit/e64305096a3d1ec122953be6e7008fbf05467d73
Author: David Truby <david.truby at arm.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Types.def
M clang/test/Driver/fortran.f95
M flang/test/Driver/input-from-stdin/input-from-stdin.f90
M flang/test/Driver/phases.f90
M flang/test/Driver/pp-fixed-form.f90
Log Message:
-----------
[flang] Complete alignment of -x language modes with gfortran (#133775)
Commit: 8ebdd9d8a19543992195f197de215c53d506fb72
https://github.com/llvm/llvm-project/commit/8ebdd9d8a19543992195f197de215c53d506fb72
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/test/TableGen/VarLenDecoder.td
M llvm/test/TableGen/trydecode-emission.td
M llvm/test/TableGen/trydecode-emission2.td
M llvm/test/TableGen/trydecode-emission3.td
M llvm/test/TableGen/trydecode-emission4.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
Reapply "[LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter" (#136017) (#136019)
This reverts commit 7fd0c8acd4659ccd0aef5486afe32c8ddf0f2957, and fixes
the assert condition in `patchNumToSkip`.
Commit: d35bf17e8a0cf37959149257c0eda7b9f912390e
https://github.com/llvm/llvm-project/commit/d35bf17e8a0cf37959149257c0eda7b9f912390e
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/OutArgExpr.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
M clang/test/AST/HLSL/private.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_align.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
M clang/test/ParserHLSL/cb_error.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserHLSL/invalid_inside_cb.hlsl
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/hlsl_resource_t.hlsl
M clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
M clang/test/SemaHLSL/cb_error.hlsl
M clang/test/SemaHLSL/export.hlsl
M clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
A clang/test/SemaHLSL/resource_binding_implicit.hlsl
Log Message:
-----------
[HLSL] Add a warning for implicit bindings (#135909)
Implicit bindings will cause very confusing crashes in the backend at
present, so this is intended at least partially as a stop gap until we
get them implemented (see #110722).
However, I do think that this is useful in the longer term as well as an
off-by-default warning, as it is quite easy to miss a binding or two
when using explicit bindings and the results of that can be surprisingly
hard to debug. I've filed #135907 to track turning this into an
off-by-default warning or removing it eventually as we see fit.
Commit: b9f1de04f65b062559d01c83dfd3948601924ee1
https://github.com/llvm/llvm-project/commit/b9f1de04f65b062559d01c83dfd3948601924ee1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
Log Message:
-----------
[TableGen] Combine the two separate OperandMapping loops in PseudoLoweringEmitter. (#136007)
Previously we had one loop over the DAG for immediates and registers and
another loop over the destination operands for mapping from the source.
Now we have a single loop over the destination operands that handles immediates,
registers, and named operands. A helper method is added so we can handle
operands and sub-operands specified by a sub-dag.
My goal is to allow a named operand to appear in a sub-dag which wasn't
supported before. This will allow the destination instruction to have an
operand with sub-operands when the source does not have sub operands.
For RISC-V, I'm looking into using an operand with sub-operands to
represent an reg+offset memory address. I need to be able to lower a
pseudo instruction that only has a register operand to an instruction
that has a reg+offset operand. The offset will be filled in with 0
during expansion and the register will be copied from the source.
The expansion would look like this:
def PseudoCALLIndirect : Pseudo<(outs), (ins GPRJALR:$rs1),
[(riscv_call GPRJALR:$rs1)]>,
PseudoInstExpansion<(JALR X1, (ops GPR:$rs1, 0))>;
Commit: f7bdf30cb9b8a10847c29b9cad34e5e8abc1ecb8
https://github.com/llvm/llvm-project/commit/f7bdf30cb9b8a10847c29b9cad34e5e8abc1ecb8
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
A .clang-format-ignore
Log Message:
-----------
Add empty top level .clang-format-ignore (#136022)
Otherwise if the source tree is embedded in another project with a
.clang-format-ignore, some clang-format tests fail because they use that
.clang-format-ignore.
Commit: f8ea2ed59820a0bef3f23638ce7a5d10165f7109
https://github.com/llvm/llvm-project/commit/f8ea2ed59820a0bef3f23638ce7a5d10165f7109
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix build for 8ebdd9d8a19543992195f197de215c53d506fb72
Commit: f3bf844d2ff0a2984ca9bf976014decc0241d2b4
https://github.com/llvm/llvm-project/commit/f3bf844d2ff0a2984ca9bf976014decc0241d2b4
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/test/Fir/tbaa-codegen-records.fir
Log Message:
-----------
[flang] Unwrap sequence types when checking for descriptor members (#136039)
The TBAA generation gives conservative TBAA metadata when handling an
access of a record type with a descriptor member, since the access may
be a regular data access OR another descriptor. Array members were being
incorrectly identified as non-descriptor-members, and were giving
incorrect TBAA metadata which led to bugs showing up in the optimizer
when LLVM encountered mismatching TBAA.
`fir::isRecordWithDescriptorMember` now unwraps sequence types before
checking for descriptor members.
Commit: eef978290ccb847c67bf0431e5fdd1dc4c7d408d
https://github.com/llvm/llvm-project/commit/eef978290ccb847c67bf0431e5fdd1dc4c7d408d
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
Log Message:
-----------
[clang-doc][NFC] clean unused variable in HTML generator (#135505)
While reading the code, I found some dead variables that are not used
anymore but it still declared without removing them.
Commit: 218531821a6b6f1132a245a1f52e125610dc7f6a
https://github.com/llvm/llvm-project/commit/218531821a6b6f1132a245a1f52e125610dc7f6a
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
Log Message:
-----------
LowerTypeTests: Fix quadratic complexity (try 2).
Currently we have quadratic complexity in LowerTypeTests because
ScopedSaveAliaseesAndUsed loops over all aliases for each disjoint
set, and the number of aliases and number of disjoint sets is
roughly proportional to the program size. Fix that by moving
ScopedSaveAliaseesAndUsed to LowerTypeTestsModule::lower() so that
we do this only once.
Reland of #135875 with fix for bug that caused check-lld test failures.
The fix is to only remove functions from llvm.used/llvm.compiler.used
because buildBitSetsFromGlobalVariables, which now runs while
ScopedSaveAliaseesAndUsed is in scope, will delete global variables,
which would otherwise lead to a use-after-free when they are added
back to llvm.used or llvm.compiler.used.
Reviewers: fmayer, vitalybuka
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/136053
Commit: 18855ece3c34a0d76a2126538d60760ddeee2de8
https://github.com/llvm/llvm-project/commit/18855ece3c34a0d76a2126538d60760ddeee2de8
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M lldb/source/Plugins/Language/ObjC/NSString.cpp
M lldb/source/Plugins/Language/ObjC/NSString.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
A lldb/test/API/lang/objc/foundation/tagged/strings/Makefile
A lldb/test/API/lang/objc/foundation/tagged/strings/TestObjCTaggedStrings.py
A lldb/test/API/lang/objc/foundation/tagged/strings/main.m
Log Message:
-----------
[lldb] Add summary for NSIndirectTaggedPointerString (#136025)
rdar://143164164
Commit: 78671dbb26628f072cb94de784349c50201c1e0f
https://github.com/llvm/llvm-project/commit/78671dbb26628f072cb94de784349c50201c1e0f
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/CFIInstBuilder.h
M llvm/lib/Target/Sparc/SparcFrameLowering.cpp
Log Message:
-----------
[Sparc] Use helper class for emitting CFI instructions into MIR (#136027)
Also, guard emission by `needsFrameMoves()` check. There are no changes
in tests because cfi instructions are currently ignored by AsmPrinter
when they don't need to be printed/encoded.
PR: https://github.com/llvm/llvm-project/pull/136027
Commit: 6d8bf3cf3dcc5d85bec7b1e70a59a02cdfdaa1b4
https://github.com/llvm/llvm-project/commit/6d8bf3cf3dcc5d85bec7b1e70a59a02cdfdaa1b4
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/CMakeLists.txt
M llvm/test/TableGen/VarLenDecoder.td
M llvm/test/TableGen/trydecode-emission.td
M llvm/test/TableGen/trydecode-emission2.td
M llvm/test/TableGen/trydecode-emission3.td
M llvm/test/TableGen/trydecode-emission4.td
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
Revert "Reapply "[LLVM][TableGen] Parameterize NumToSkip in DecoderEmitter" (#136017)" (#136068)
Reverts llvm/llvm-project#136019
Expensive checks tests are failing, so reverting.
Commit: 6b8d072cfd41f647f2c241f0a1a0843a279d049b
https://github.com/llvm/llvm-project/commit/6b8d072cfd41f647f2c241f0a1a0843a279d049b
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M libc/src/stdio/printf_core/float_dec_converter.h
Log Message:
-----------
[libc] Fix incorrect unsigned comparison (#135595)
There is a problem with such unsigned comparison pattern:
```
if(unsigned_a - unsigned_b > 0) { /* only NOT go here when unsigned_a==unsigned_b */ }
```
When `unsigned_a` < `unsigned_b`, the result will still be `>0` due to
underflow.
This patch fixes two of the occurrences I found.
Also remove two redundant `if` where its condition is guaranteed by
outer `if`.
Commit: 53eae22e228532fe3349890b6c7fc10b9c10dbee
https://github.com/llvm/llvm-project/commit/53eae22e228532fe3349890b6c7fc10b9c10dbee
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/Object/DXContainer.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/BinaryFormat/DXContainer.cpp
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
M llvm/test/ObjectYAML/DXContainer/RootSignature-Flags.yaml
A llvm/test/ObjectYAML/DXContainer/RootSignature-InvalidType.yaml
A llvm/test/ObjectYAML/DXContainer/RootSignature-InvalidVisibility.yaml
A llvm/test/ObjectYAML/DXContainer/RootSignature-MultipleParameters.yaml
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
M llvm/unittests/Object/DXContainerTest.cpp
M llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
Log Message:
-----------
[DirectX] adding support in obj2yaml and yaml2obj to root constants (#127840)
Adding support for Root Constant in MC, Object and obj2yaml and
yaml2obj, this PR adds:
- new structures to dxbc definition.
- serialize and desirialize logic from dxcontainer to yaml
- tests validating against dxc
- adding support to multiple parts.
Closes: https://github.com/llvm/llvm-project/issues/126633
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 9bd0c8726a5e3fd4f76e84692bd920dfca7a8d7f
https://github.com/llvm/llvm-project/commit/9bd0c8726a5e3fd4f76e84692bd920dfca7a8d7f
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in BWACS_MultiLine (#135906)
Fix #51940
Commit: de528d689f3a2305c051528993fe30295f2a0cd9
https://github.com/llvm/llvm-project/commit/de528d689f3a2305c051528993fe30295f2a0cd9
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[Clang] Handle default template arguments for alias CTAD guides (#134807)
It's possible that some deduced template arguments come from default
arguments, not just from the return type. So we need to recursively
visit the default arguments of the parameter if it's referenced, thereby
the template parameter referenced by the defualt arguments could come
along to the synthesized deduction guide.
Fixes https://github.com/llvm/llvm-project/issues/134471
Commit: ee17ca77e50a2170dd79f31e109f6751235e098e
https://github.com/llvm/llvm-project/commit/ee17ca77e50a2170dd79f31e109f6751235e098e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/IR/IRBuilder.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
M llvm/tools/lto/lto.cpp
Log Message:
-----------
[llvm] Construct SmallVector with ArrayRef (NFC) (#136063)
Commit: 799916ae1047cac6f6af8aed1499d8bf1b921f82
https://github.com/llvm/llvm-project/commit/799916ae1047cac6f6af8aed1499d8bf1b921f82
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[llvm] Construct SmallVector with iterator ranges (NFC) (#136064)
Commit: 47d8fec9b8bd5425af17711317a41743a30a8cef
https://github.com/llvm/llvm-project/commit/47d8fec9b8bd5425af17711317a41743a30a8cef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Bitcode/BitcodeConvenience.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[llvm] Use llvm::append_range (NFC) (#136066)
This patch replaces:
llvm::copy(Src, std::back_inserter(Dst));
with:
llvm::append_range(Dst, Src);
for breavity.
One side benefit is that llvm::append_range eventually calls
llvm::SmallVector::reserve if Dst is of llvm::SmallVector.
Commit: de893f87d2893c0de4dd730bcd91a79797078fa7
https://github.com/llvm/llvm-project/commit/de893f87d2893c0de4dd730bcd91a79797078fa7
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Revert "[bazel] Fix build for 8ebdd9d8a19543992195f197de215c53d506fb72"
This reverts commit f8ea2ed59820a0bef3f23638ce7a5d10165f7109.
Commit: b6c99cb56bcd7f08d6c94d0feca88afacb25302f
https://github.com/llvm/llvm-project/commit/b6c99cb56bcd7f08d6c94d0feca88afacb25302f
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
Log Message:
-----------
[gn] port 6d03f51f0c59
Commit: 638c386b618a286ab1f30f628485e495f21ce124
https://github.com/llvm/llvm-project/commit/638c386b618a286ab1f30f628485e495f21ce124
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Support/CMakeLists.txt
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn] port ece59a8cb9c8
Commit: ebf9883b82aed98aacdfc77824655fec8dc46988
https://github.com/llvm/llvm-project/commit/ebf9883b82aed98aacdfc77824655fec8dc46988
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/vec-shuffle-byte-rotate.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-rotate.ll
Log Message:
-----------
[LoongArch] Lower vector shuffle as byte rotate (if possible) (#135157)
Commit: b99ac8b3d37ee2410d57c4c943a4bcff806dc5d6
https://github.com/llvm/llvm-project/commit/b99ac8b3d37ee2410d57c4c943a4bcff806dc5d6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Frontend/HLSL/BUILD.gn
Log Message:
-----------
[gn build] Port 3de88fe40fd0
Commit: bf7f602e7d549d9933a8a5f073e65917e7c877de
https://github.com/llvm/llvm-project/commit/bf7f602e7d549d9933a8a5f073e65917e7c877de
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port b07c88563feb
Commit: e016a90e0bcfbb61f5523696c6b2ad3d6db2579b
https://github.com/llvm/llvm-project/commit/e016a90e0bcfbb61f5523696c6b2ad3d6db2579b
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
A mlir/test/Target/ExportSMTLIB/attributes.mlir
A mlir/test/Target/ExportSMTLIB/basic.mlir
A mlir/test/Target/ExportSMTLIB/lit.local.cfg
Log Message:
-----------
[mlir][SMT] add missing ExportSMTLIB tests (#136069)
Whoops forgot these -export-smtlib tests.
---------
Co-authored-by: Bea Healy <beahealy22 at gmail.com>
Co-authored-by: Martin Erhart <maerhart at outlook.com>
Co-authored-by: Mike Urbach <mikeurbach at gmail.com>
Co-authored-by: Will Dietz <will.dietz at sifive.com>
Co-authored-by: fzi-hielscher <hielscher at fzi.de>
Co-authored-by: Fehr Mathieu <mathieu.fehr at gmail.com>
Co-authored-by: Clo91eaf <Clo91eaf at qq.com>
Commit: c11c2fe1ae2fe7b88135c51c32a66d0e30fe5431
https://github.com/llvm/llvm-project/commit/c11c2fe1ae2fe7b88135c51c32a66d0e30fe5431
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/test/CodeGen/NVPTX/bug22246.ll
A llvm/test/CodeGen/NVPTX/i1-select.ll
M llvm/test/CodeGen/NVPTX/i128.ll
Log Message:
-----------
[NVPTX] Lower i1 select with logical ops in the general case (#135868)
Update i1 select lowering to use an expansion based on logical ops,
unless the selected operands are truncations. This can improve generated
code quality by exposing additional potential optimizations.
Commit: d647d66da697952f600d7a0d84fba94612fe51db
https://github.com/llvm/llvm-project/commit/d647d66da697952f600d7a0d84fba94612fe51db
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
Log Message:
-----------
[AMDGPU] Add illegal type convertion (#135729)
Add more bit-convert tests for illegal types conversion
Commit: adba24aa3c52c7e2673104fc16bd19e639221077
https://github.com/llvm/llvm-project/commit/adba24aa3c52c7e2673104fc16bd19e639221077
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Add missing __builtin_memcpy checks (#135975)
Add a test for type punning and tests and the necessary checks for
non-trivially-copyable types and incomplete types.
Commit: 84082223c819426a8a6486f9740210e956a4cea8
https://github.com/llvm/llvm-project/commit/84082223c819426a8a6486f9740210e956a4cea8
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernArgProlog.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Log Message:
-----------
[AMDGPU][NPM] Cleanup AMDGPUPassRegistry.def (#130071)
Finishing up AMDGPU specific passes. Only ones remaining are assembly
printer, virt reg rewriter and PEI.
Commit: dfed3d235fe00b5ad7befe584fc0cad8359afde2
https://github.com/llvm/llvm-project/commit/dfed3d235fe00b5ad7befe584fc0cad8359afde2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/Makefile
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp
Log Message:
-----------
[lldb][test] TestDataFormatterLibcxxInvalidVectorSimulator.py: fix inline namespace warnings
Fixes:
```
/Users/ec2-user/jenkins/workspace/apple-llvm-project-pr-macos/branch-swift/release/6.2/llvm-project/lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp:5:11: warning: inline namespace reopened as a non-inline namespace [-Winline-namespace-reopened-noninline]
5 | namespace __1 {
| ^
```
Drive-by: compile test as C++20 (in an attempt to fix another buildbot issue)
Commit: bc1725ef3a2707c244d8c2a401d7545755f96cbd
https://github.com/llvm/llvm-project/commit/bc1725ef3a2707c244d8c2a401d7545755f96cbd
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang] convergent attribute does not require "all threads" (#135803)
The documentation for the `convergent` attribute claims that OpenCL and
CUDA require "all threads" in a group to call the same convergent
operation. This is true only for OpenCL, and in general, the
`convergent` attribute is used in LLVM IR on operations that have no
such constraint.
Commit: 4d84d3dfba38ee4151350ef2ec8c1d92ba8f6d36
https://github.com/llvm/llvm-project/commit/4d84d3dfba38ee4151350ef2ec8c1d92ba8f6d36
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M mlir/python/CMakeLists.txt
Log Message:
-----------
[mlir][python][smt] fix DialectSMT (include NanobindUtils.h)
Commit: 1fd7e4c517141ddfb527e7560e02fd5856244971
https://github.com/llvm/llvm-project/commit/1fd7e4c517141ddfb527e7560e02fd5856244971
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/monolithic-linux.sh
M lldb/test/requirements.txt
Log Message:
-----------
Revert "[CI] monolithic-linux improvements (#135499)"
This reverts commit a399c6926a8701083c767cbb041e22ff92e9d717.
This is causing some premerge workflow failures.
Examople:
https://buildkite.com/llvm-project/github-pull-requests/builds/169129#01963d1d-dc75-4b4c-9952-fb60efbf91b4
Commit: a2029ee91ddf0738f8b521ec8159068b6d65010f
https://github.com/llvm/llvm-project/commit/a2029ee91ddf0738f8b521ec8159068b6d65010f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Rename fields in RegRegOp. NFC
Rename Reg1->BaseReg, Reg2->OffsetReg.
Commit: dbb79c30c9f3578b7afd9ea0ec33f82e70e472c7
https://github.com/llvm/llvm-project/commit/dbb79c30c9f3578b7afd9ea0ec33f82e70e472c7
Author: wangjue <wangjue at zhcomputing.com>
Date: 2025-04-16 (Wed, 16 Apr 2025)
Changed paths:
M bolt/CMakeLists.txt
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/runtime/CMakeLists.txt
M bolt/runtime/common.h
M bolt/runtime/instr.cpp
A bolt/runtime/sys_riscv64.h
A bolt/test/runtime/RISCV/basic-instrumentation.s
A bolt/test/runtime/RISCV/instrumentation-ind-call.c
A bolt/test/runtime/RISCV/lit.local.cfg
Log Message:
-----------
[BOLT][Instrumentation] Initial instrumentation support for RISCV64 (#133882)
This patch adds code generation for RISCV64 instrumentation.The work
involved includes the following three points:
a) Implements support for instrumenting direct function call and jump
on RISC-V which relies on , Atomic instructions
(used to increment counters) are only available on RISC-V when the A
extension is used.
b) Implements support for instrumenting direct function inderect call
by implementing the createInstrumentedIndCallHandlerEntryBB and
createInstrumentedIndCallHandlerExitBB interfaces. In this process, we
need to accurately record the target address and IndCallID to ensure
the correct recording of the indirect call counters.
c)Implemented the RISCV64 Bolt runtime library, implemented some system
call interfaces through embedded assembly. Get the difference between
runtime addrress of .text section andstatic address in section header
table, which in turn can be used to search for indirect call
description.
However, the community code currently has problems with relocation in
some scenarios, but this has nothing to do with instrumentation. We
may continue to submit patches to fix the related bugs.
Commit: 377ec36b323ea99ca316cb5cf79c0a0c93eebc37
https://github.com/llvm/llvm-project/commit/377ec36b323ea99ca316cb5cf79c0a0c93eebc37
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
M clang/test/SemaCUDA/function-overload.cu
M clang/test/SemaCXX/implicit-member-functions.cpp
A clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaTemplate/instantiate-function-params.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
Log Message:
-----------
[Clang] Bypass TAD during overload resolution if a perfect match exists (#136018)
This implements the same overload resolution behavior as GCC,
as described in https://wg21.link/p3606 (section 1-2, not 3)
If during overload resolution, there is a non-template candidate
that would be always be picked - because each of the argument
is a perfect match (ie the source and target types are the same),
we do not perform deduction for any template candidate
that might exists.
The goal is to be able to merge
https://github.com/llvm/llvm-project/pull/122423 without being too
disruptive.
This change means that the selection of the best viable candidate and
template argument deduction become interleaved.
To avoid rewriting half of Clang we store in `OverloadCandidateSet`
enough information to be able to deduce template candidates from
`OverloadCandidateSet::BestViableFunction`. Which means
the lifetime of any object used by template argument must outlive
a call to `Add*Template*Candidate`.
This two phase resolution is not performed for some initialization
as there are cases where template candidate are better match
in these cases per the standard. It's also bypassed for code completion.
The change has a nice impact on compile times
https://llvm-compile-time-tracker.com/compare.php?from=719b029c16eeb1035da522fd641dfcc4cee6be74&to=bf7041045c9408490c395230047c5461de72fc39&stat=instructions%3Au
Fixes https://github.com/llvm/llvm-project/issues/62096
Fixes https://github.com/llvm/llvm-project/issues/74581
Reapplies #133426
Commit: 78b37ca2a3af50de1daea09295b6f4ea99e7edaa
https://github.com/llvm/llvm-project/commit/78b37ca2a3af50de1daea09295b6f4ea99e7edaa
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/test/CodeGen/Hexagon/64bit_tstbit.ll
M llvm/test/CodeGen/Hexagon/always-ext.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-concat-multiple.ll
M llvm/test/CodeGen/Hexagon/autohvx/isel-q-legalization-loop.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-terminator.ll
M llvm/test/CodeGen/Hexagon/autohvx/vector-align-use-in-different-block.ll
M llvm/test/CodeGen/Hexagon/reg-scavengebug-2.ll
M llvm/test/CodeGen/Hexagon/swp-const-tc1.ll
Log Message:
-----------
[Hexagon] Pre-commit tests for PR130742. NFC. (#135604)
Needed by https://github.com/llvm/llvm-project/pull/130742.
Commit: 8e67d8fdf3a31b42f52ec12d995490f866b4449b
https://github.com/llvm/llvm-project/commit/8e67d8fdf3a31b42f52ec12d995490f866b4449b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/test/CodeGenOpenCL/spir32_target.cl
M clang/test/CodeGenOpenCL/spir64_target.cl
M clang/test/CodeGenOpenCL/spirv_target.cl
Log Message:
-----------
[Clang][CodeGen][OpenCL] Add `-fno-delete-null-pointer-checks` to avoid UB. NFC. (#135602)
Needed by https://github.com/llvm/llvm-project/pull/130742.
Commit: d1a80deae674300d1011ccb6d6ee7030eaf8e713
https://github.com/llvm/llvm-project/commit/d1a80deae674300d1011ccb6d6ee7030eaf8e713
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/CodeGenCXX/local-class-instantiation.cpp
M clang/test/SemaTemplate/instantiate-local-class.cpp
Log Message:
-----------
Reapply "[Clang] Fix dependent local class instantiation bugs" (#135914)
This reapplies #134038
Since the last patch, this fixes a null pointer dereference where the
TSI of the destructor wasn't properly propagated into the
DeclarationNameInfo. We now construct a LocInfoType for dependent cases,
as done elsewhere in getDestructorName, such that GetTypeFromParser can
correctly obtain the TSI.
---
This patch fixes two long-standing bugs that prevent Clang from
instantiating local class members inside a dependent context. These bugs
were introduced in commits
https://github.com/llvm/llvm-project/commit/21eb1af469c3257606aec2270d544e0e8ecf77b2
and
https://github.com/llvm/llvm-project/commit/919df9d75ac2a721a8072327c803f34486884571.
https://github.com/llvm/llvm-project/commit/21eb1af469c3257606aec2270d544e0e8ecf77b2
introduced a concept called eligible methods such that it did an attempt
to skip past ineligible method instantiation when instantiating class
members. Unfortunately, this broke the instantiation chain for local
classes - getTemplateInstantiationPattern() would fail to find the
correct definition pattern if the class was defined within a partially
transformed dependent context.
https://github.com/llvm/llvm-project/commit/919df9d75ac2a721a8072327c803f34486884571
introduced a separate issue by incorrectly copying the
DeclarationNameInfo during function definition instantiation from the
template pattern, even though that DNI might contain a transformed
TypeSourceInfo. Since that TSI was already updated when the declaration
was instantiated, this led to inconsistencies. As a result, the final
instantiated function could lose track of the transformed declarations,
hence we crash: https://compiler-explorer.com/z/vjvoG76Tf.
This PR corrects them by
1. Removing the bypass logic for method instantiation. The eligible flag
is independent of instantiation and can be updated properly afterward,
so skipping instantiation is unnecessary.
2. Carefully handling TypeSourceInfo by creating a new instance that
preserves the pattern's source location while using the already
transformed type.
Commit: 1a09ffea31e22172ce3de2fd553b770f52add576
https://github.com/llvm/llvm-project/commit/1a09ffea31e22172ce3de2fd553b770f52add576
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
Log Message:
-----------
[mlir][ArmSME][NFC] Check early for unsupported mask ops (#135955)
This is to avoid rollbacks in the dialect conversion, which are
expensive.
Note: This is in preparation of the One-Shot Dialect Conversion
refactoring.
Commit: 1906c18ce01092aed9524f1cb8344c11920ba144
https://github.com/llvm/llvm-project/commit/1906c18ce01092aed9524f1cb8344c11920ba144
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
Log Message:
-----------
[mlir][memref] Mark result memref as "strided" (#135939)
We already check this in the verifier, but this makes it explicit in the
Tablegen.
Commit: 62d32c2c27a83261af9f2529a961a22605df8a2b
https://github.com/llvm/llvm-project/commit/62d32c2c27a83261af9f2529a961a22605df8a2b
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
Log Message:
-----------
[mlir][memref][NFC] Simplify `constifyIndexValues` (#135940)
Simplify the code by removing function pointers.
Commit: 34f9ddf1ce2d775d8df1ca9c9806710f3ba8361d
https://github.com/llvm/llvm-project/commit/34f9ddf1ce2d775d8df1ca9c9806710f3ba8361d
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
M llvm/test/CodeGen/AArch64/sve-lsrchain.ll
M llvm/test/CodeGen/AArch64/sve-vl-arith.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-ld1-single.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-st1-single.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/vscale-fixups.ll
Log Message:
-----------
[AArch64][SVE] Fold ADD+CNTB to INCB/DECB (#118280)
Currently, given:
```cpp
uint64_t incb(uint64_t x) {
return x+svcntb();
}
```
LLVM generates:
```gas
incb:
addvl x0, x0, #1
ret
```
Which is equivalent to:
```gas
incb:
incb x0
ret
```
However, on microarchitectures like the Neoverse V2 and Neoverse V3,
the second form (with INCB) can have significantly better latency and
throughput (according to their SWOG). On the Neoverse V2, for example,
ADDVL has a latency and throughput of 2, whereas some forms of INCB
have a latency of 1 and a throughput of 4. The same applies to DECB.
This patch adds patterns to prefer the cheaper INCB/DECB forms over
ADDVL where applicable.
Commit: 1cf9acdb750612985674a0349ed607768e1edc6d
https://github.com/llvm/llvm-project/commit/1cf9acdb750612985674a0349ed607768e1edc6d
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
M llvm/test/Transforms/Util/add-TLI-mappings.ll
M llvm/unittests/Analysis/ReplaceWithVecLibTest.cpp
Log Message:
-----------
[TLI] Use AArch64 vector calling convention for ArmPL routines (#135790)
Some ArmPL vector math routines that operate on fixed-width
vector types obey the aarch64_vector_pcs calling convention,
e.g. armpl_vsinq_f64, etc. This patch adds support for
functions in the TLI to specify an optional calling
convention to be added to the declared function. Once this
patch lands I intend to follow up with a vectoriser patch
that adds this optional calling convention when invoking the
vector library variant from the loop vectoriser.
Commit: d41bd1fb4056f2bb649a76b09b8a5cc258453818
https://github.com/llvm/llvm-project/commit/d41bd1fb4056f2bb649a76b09b8a5cc258453818
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
Log Message:
-----------
[mlir][tosa] Remove trailing whitespaces (#136031)
Trivial format cleanup
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: f351172d4a840dfbf533319b62925747a10b762f
https://github.com/llvm/llvm-project/commit/f351172d4a840dfbf533319b62925747a10b762f
Author: lntue <lntue at google.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M libc/src/__support/common.h
Log Message:
-----------
[libc] Export standard C symbols in the public packages for MacOS instead of namespaced C++ symbols. (#136100)
Commit: bf6986f9f09f79da38006a83c339226c429bb686
https://github.com/llvm/llvm-project/commit/bf6986f9f09f79da38006a83c339226c429bb686
Author: Camsyn <camsyn at foxmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/test/Instrumentation/ThreadSanitizer/capture.ll
Log Message:
-----------
[TSan, SanitizerBinaryMetadata] Improve instrument for derived pointers via phis/selects (#132752)
ThreadSanitizer.cpp and SanitizerBinaryMetadata.cpp previously used
`getUnderlyingObject` to check if pointers originate from stack objects.
However, `getUnderlyingObject()` by default only looks through linear
chains, not selects/phis. In particular, this means that we miss cases
involving pointer induction variables.
For instance,
```llvm
%stkobj = alloca [2 x i32], align 8
; getUnderlyingObject(%derived) = %derived
%derived = getelementptr inbounds i32, ptr %stkobj, i64 1
```
This will result in redundant instrumentation of TSan, resulting in
greater performance costs, especially when there are loops, referring to
this [godbolt page](https://godbolt.org/z/eaT1fPjTW) for details.
```cpp
char loop(int x) {
char buf[10];
char *p = buf;
for (int i = 0; i < x && i < 10; i++) {
// Should not instrument, as its base object is a non-captured stack
// variable.
// However, currectly, it is instrumented due to %p = %phi ...
*p++ = i;
}
// Use buf to prevent it from being eliminated by optimization
return buf[9];
}
```
There are TWO APIs `getUnderlyingObjectAggressive` and
`findAllocaForValue` that can backtrack the pointer via tree traversal,
supporting phis/selects.
This patch replaces `getUnderlyingObject` with `findAllocaForValue`
which:
1. Properly tracks through PHINodes and select operations
2. Directly identifies if a pointer comes from a `AllocaInst`
Performance impact:
- Compilation: Moderate cost increase due to wider value tracing, but...
- Runtime: Significant wins for code with pointer induction variables
derived from stack allocas, especially for loop-heavy code, as
instrumentation can now be safely omitted.
Commit: 1588aab6ed2d02db2ffb23ca7f339d38a4d8c5e9
https://github.com/llvm/llvm-project/commit/1588aab6ed2d02db2ffb23ca7f339d38a4d8c5e9
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/lib/CodeGen/ValueTypes.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-sve-ldst-one.ll
M llvm/test/CodeGen/AArch64/add.ll
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/arm64-collect-loh.ll
M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
M llvm/test/CodeGen/AArch64/arm64-neon-simd-ldst-one.ll
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/arm64-st1.ll
M llvm/test/CodeGen/AArch64/bitcast-v2i8.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/ctlz.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/cttz.ll
M llvm/test/CodeGen/AArch64/dp1.ll
M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
M llvm/test/CodeGen/AArch64/insertextract.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-truncstore.ll
M llvm/test/CodeGen/AArch64/nontemporal-load.ll
M llvm/test/CodeGen/AArch64/pr-cf624b2.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/setcc-type-mismatch.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/store.ll
M llvm/test/CodeGen/AArch64/sub.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-permute-rev.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/tbl-loops.ll
M llvm/test/CodeGen/AArch64/trunc-to-tbl.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-truncate-store.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/AArch64/vec_uaddo.ll
M llvm/test/CodeGen/AArch64/vec_umulo.ll
M llvm/test/CodeGen/AArch64/vector-compress.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] Generalize integer FPR lane stores for all types (#134117)
This rewrites the fold from #129756 to apply to all types, including
stores of i8s. This required adding a new `aarch64mfp8` MVT to represent
FPR8 types on AArch64, which can be used to extract and store 8-bit
values using b sub-registers.
Follow on from: #129756
Closes: #131793
Commit: 5c97397c2c414d7ac8e43e87c6d2a79a87e802fb
https://github.com/llvm/llvm-project/commit/5c97397c2c414d7ac8e43e87c6d2a79a87e802fb
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[SROA] Support load-only promotion with dynamic offset loads (#135609)
If we do load-only promotion, it is okay if we leave some loads alone.
We only need to know all stores that affect a specific location.
As such, we can handle loads with unknown offset via the "escaped
read-only" code path.
This is something we already support in LICM load-only promotion, but
doing this in SROA is much better from a phase ordering perspective.
Fixes https://github.com/llvm/llvm-project/issues/134513.
Commit: 046a1e629c49365b1cd5f1ff17f650fcce186494
https://github.com/llvm/llvm-project/commit/046a1e629c49365b1cd5f1ff17f650fcce186494
Author: Will Froom <willfroom at google.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/uwtable.ll
A mlir/test/Target/LLVMIR/uwtable.mlir
Log Message:
-----------
[MLIR:LLVM] Add UWTableKind attribute (#135811)
Add `UWTableKind` enum and corresponding attribute to `llvm.func`
including translation to `llvm::Function` attribute.
Commit: 2a91d04b022f1295fe2057bc88dc89987e6a6e04
https://github.com/llvm/llvm-project/commit/2a91d04b022f1295fe2057bc88dc89987e6a6e04
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
M clang/test/SemaCUDA/function-overload.cu
M clang/test/SemaCXX/implicit-member-functions.cpp
R clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaTemplate/instantiate-function-params.cpp
M clang/test/Templight/templight-empty-entries-fix.cpp
Log Message:
-----------
Revert "[Clang] Bypass TAD during overload resolution if a perfect match exists" (#136113)
Reverts llvm/llvm-project#136018
Still some bots failing
https://lab.llvm.org/buildbot/#/builders/52/builds/7643
Commit: 2ee7fc04568f835be00629cb4130171b14b2e7df
https://github.com/llvm/llvm-project/commit/2ee7fc04568f835be00629cb4130171b14b2e7df
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] More OOP to simplify vectorizeStores() (NFC) (#134605)
This moves more code into the RelatedStoreInsts helper class. The
FillStoresSet lambda is now only a couple of lines and is easier to
read.
Commit: 121cd7c6f0270540ce976b98061ba765edc1675d
https://github.com/llvm/llvm-project/commit/121cd7c6f0270540ce976b98061ba765edc1675d
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
A llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
Re apply 130577 narrow math for and operand (#133896)
Re-apply https://github.com/llvm/llvm-project/pull/130577
Which is reverted in https://github.com/llvm/llvm-project/pull/133880
The old application failed in address sanitizer due to
`tryNarrowMathIfNoOverflow` was called after `I.eraseFromParent();` in
`AMDGPUCodeGenPrepareImpl::visitBinaryOperator`, it create a use after
free failure.
To fix this, `tryNarrowMathIfNoOverflow` will be called before and
directly return if `tryNarrowMathIfNoOverflow` result in true.
Commit: c5e112eed78a8ddfef5d16f6df6030c3ec8ca6ef
https://github.com/llvm/llvm-project/commit/c5e112eed78a8ddfef5d16f6df6030c3ec8ca6ef
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Semantics/OpenMP/cancel.f90
Log Message:
-----------
[flang][OpenMP][Semantics] Disallow NOWAIT and ORDERED with CANCEL (#135991)
NOWAIT was a tricky one because the clause can be on either the start or
the end directive. I couldn't find a convenient way to access the end
directive from the CANCEL directive nested inside of the construct, but
there are convenient ways to access the start directive. I have added a
list to the start directive context containing the clauses from the end
directive.
Commit: bd49bbaaafc98433a2cb4e95ce25b7a201baf5a5
https://github.com/llvm/llvm-project/commit/bd49bbaaafc98433a2cb4e95ce25b7a201baf5a5
Author: Kashyap Chamarthy <kchamart at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
Log Message:
-----------
[ORC][unittests] Skip the ReOptimizeLayerTest for RISC-V (#134702)
David Abdurachmanov reports[1] that we hit this error on P550 hardware:
/builddir/build/BUILD/llvm-20.1.1-build/llvm-project-20.1.1.src/llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp:140:
Failure
Value of: llvm::detail::TakeError(RM.takeError())
Expected: succeeded
Actual: failed (Architecture not supported) (of type
llvm::detail::ErrorHolder)
Tom Stellard noted[2] that he's seen this before on other architectures
and suggested to skip it.
[1] https://src.fedoraproject.org/rpms/llvm/pull-request/408#comment-255547
[2] https://src.fedoraproject.org/rpms/llvm/pull-request/408#comment-255557
Signed-off-by: Kashyap Chamarthy <kchamart at redhat.com>
Commit: c3c0b27f2d34cd106df278afc378c30fe493f513
https://github.com/llvm/llvm-project/commit/c3c0b27f2d34cd106df278afc378c30fe493f513
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/test/Assembler/aarch64-intrinsics-attributes.ll
M llvm/test/Assembler/autoupgrade-invalid-mem-intrinsics.ll
M llvm/test/TableGen/intrinsic-attrs.td
M llvm/test/Transforms/CorrelatedValuePropagation/uscmp.ll
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
M llvm/utils/TableGen/Basic/CodeGenIntrinsics.h
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[Intrinsics] Add support for range attributes (#135642)
Add support for specifying range attributes in Intrinsics.td. Use this
to specify the ucmp/scmp range [-1,2).
This case is trickier than existing intrinsic attributes, because we
need to create the attribute with the correct bitwidth. As such, the
attribute construction now needs to be aware of the function type.
We also need to be careful to no longer assign attributes on intrinsics
with invalid signatures, as we'd make invalid assumptions about the
number of arguments etc otherwise.
Fixes https://github.com/llvm/llvm-project/issues/130179.
Commit: 35f4cdbf59fca82b97869cce7e9e5d5009144938
https://github.com/llvm/llvm-project/commit/35f4cdbf59fca82b97869cce7e9e5d5009144938
Author: Prakhar Dixit <dixitprakhar11 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Add constraints to the MulIOp for preventing type mismatch while folding (#136093)
Fixes #135289
The original version didn't check if the types of lhs, rhs, and the
result matched, which could cause type errors.
This fix adds type checks to make sure the constants attributes have
the same type as the SSA values before applying the simplification.
Commit: 7e5317139d5a96837ede208635daf031ab53eaee
https://github.com/llvm/llvm-project/commit/7e5317139d5a96837ede208635daf031ab53eaee
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/loop-instr-form-non-inc.ll
M llvm/test/CodeGen/PowerPC/p10-spill-crgt.ll
M llvm/test/CodeGen/PowerPC/sms-cpy-1.ll
M llvm/test/CodeGen/PowerPC/sms-phi.ll
M llvm/test/Transforms/LoopUnroll/PowerPC/p10-respect-unroll-pragma.ll
Log Message:
-----------
[PowerPC] Pre-commit tests for PR130742. NFC. (#135606)
Needed by https://github.com/llvm/llvm-project/pull/130742.
Commit: a09fd9c6536b746deea651b796978285ed161a00
https://github.com/llvm/llvm-project/commit/a09fd9c6536b746deea651b796978285ed161a00
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBlockPlacement.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
Log Message:
-----------
[CodeGen][NPM] Port MachineBlockPlacementStats to NPM (#129853)
Commit: 6f91bfcc8aebe61ba4469c48270928f82ee89027
https://github.com/llvm/llvm-project/commit/6f91bfcc8aebe61ba4469c48270928f82ee89027
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/test/CodeGen/AArch64/sve-ld1-addressing-mode-reg-reg.ll
M llvm/test/CodeGen/AArch64/sve-st1-addressing-mode-reg-reg.ll
Log Message:
-----------
[LLVM][AArch64ISel] Fix IsLE predicate setting so it does not affect BE codegen. (#135978)
Ensure little endian specific patterns, not just their multi-classes,
are protected by IsLE.
Commit: d69ee885cccecb49f0b288ec634186c35c8ecfb5
https://github.com/llvm/llvm-project/commit/d69ee885cccecb49f0b288ec634186c35c8ecfb5
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/nocapture-2.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[CaptureTracking] Remove dereferenceable_or_null special case (#135613)
Remove the special case where comparing a dereferenceable_or_null
pointer with null results in captures(none) instead of
captures(address_is_null).
This special case is not entirely correct. Let's say we have an
allocated object of size 2 at address 1 and have a pointer `%p` pointing
either to address 1 or 2. Then passing `gep p, -1` to a
`dereferenceable_or_null(1)` function is well-defined, and allows us to
distinguish between the two possible pointers, capturing information
about the address.
Now that we ignore address captures in alias analysis, I think we're
ready to drop this special case. Additionally, if there are regressions
in other places, the fact that this is inferred as address_is_null
should allow us to easily address them if necessary.
Commit: 90ddb5444030b8d7cca6e91a27994e4fa9a6525d
https://github.com/llvm/llvm-project/commit/90ddb5444030b8d7cca6e91a27994e4fa9a6525d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/builtin-constant-p.cpp
Log Message:
-----------
[clang][bytecode] Enter a non-constant context when revisiting (#136104)
Otherwise, things like __builtin_is_constant_evaluated() return the
wrong value.
Commit: eafbb879f676ccd65fe7efae6b5280ae750ef20a
https://github.com/llvm/llvm-project/commit/eafbb879f676ccd65fe7efae6b5280ae750ef20a
Author: John Brawn <john.brawn at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.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/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[LoopVectorize] Don't replicate blocks with optsize (#129265)
Any VPlan we generate that contains a replicator region will result in
replicated blocks in the output, causing a large code size increase.
Reject such VPlans when optimizing for size, as the code size impact is
usually worse than having a scalar epilogue, which we already forbid
with optsize.
This change requires a lot of test changes. For tests of optsize
specifically I've updated the test with the new output, otherwise the
tests have been adjusted to not rely on optsize.
Fixes #66652
Commit: c536967af123c30b43f186133e8719e0090f24a6
https://github.com/llvm/llvm-project/commit/c536967af123c30b43f186133e8719e0090f24a6
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3369_3.c
Log Message:
-----------
Split _Countof tests into two files; NFC
Post-commit review feedback during the language WG meeting requested
that I try to generalize the testing for this rather than only test on
a single target as we previously did.
The tests which are hard to generalize are the VLA tests, so those
still have specific triples in the RUN line, but have more coverage and
a comment explaining that the test should generalize to all targets.
Commit: 4bd9b9e9adf9db1a326e2f2fa616c714beb83c4f
https://github.com/llvm/llvm-project/commit/4bd9b9e9adf9db1a326e2f2fa616c714beb83c4f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/test/C/C2y/n3369_2.c
Log Message:
-----------
Fix failing bot with changes to _Countof testing
This addresses the issue found by:
https://lab.llvm.org/buildbot/#/builders/190/builds/18484
Commit: a84a6f7dd68b218757e192fe21a806c80ef0b63d
https://github.com/llvm/llvm-project/commit/a84a6f7dd68b218757e192fe21a806c80ef0b63d
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/test/C/C2y/n3369_2.c
Log Message:
-----------
Fix this _Countof test for 32 vs 64-bits
This should address the issues found by:
https://lab.llvm.org/buildbot/#/builders/154/builds/14958
Commit: 51295d6d56f938b878ca0e2bb0a749eb801e8202
https://github.com/llvm/llvm-project/commit/51295d6d56f938b878ca0e2bb0a749eb801e8202
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
A clang/test/AST/ByteCode/c2y.c
Log Message:
-----------
[clang][bytecode] Reject assignments in C (#136126)
Similar to what the current interpreter does.
Commit: d744596f7da7bb80536d231bd00080870a12112a
https://github.com/llvm/llvm-project/commit/d744596f7da7bb80536d231bd00080870a12112a
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[libc][workflows] fix fullbuild by installing clang-20/clang++-20 (#136074)
Commit: f135ce6a9329124f1e508fcad2eedf5326a668fa
https://github.com/llvm/llvm-project/commit/f135ce6a9329124f1e508fcad2eedf5326a668fa
Author: Charles Zablit <zablitcharles at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/source/Symbol/CompilerType.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
Log Message:
-----------
[lldb] Remove CompilerType::GetIndexOfFieldWithName (#135963)
This patch removes the unused `CompilerType::GetIndexOfFieldWithName` API (it wasn't used apart from in a single testcase). Given we have so many similarly named APIs already, it's best not to maintain this API that's not really used (and isnt tested).
Commit: f9c01b59e3d5239a4e42f94d5edbeb3698a81032
https://github.com/llvm/llvm-project/commit/f9c01b59e3d5239a4e42f94d5edbeb3698a81032
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/smallest-and-widest-types.ll
Log Message:
-----------
[LV] Fix '-1U' bits for smallest type in getSmallestAndWidestTypes (#135783)
For loops without loads/stores, where the smallest/widest types are
calculated from the reduction, the smallest type returned is always -1U
and it actually returns the smallest type as the widest type. This PR
fixes the calculation.
This follows from
https://github.com/llvm/llvm-project/pull/132190#discussion_r2044232607
Commit: 23e3cbb2e82b62586266116c8ab77ce68e412cf8
https://github.com/llvm/llvm-project/commit/23e3cbb2e82b62586266116c8ab77ce68e412cf8
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
R mlir/include/mlir/Dialect/Func/Transforms/OneToNFuncConversions.h
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Dialect/SPIRV/Transforms/SPIRVConversion.h
M mlir/include/mlir/Transforms/DialectConversion.h
R mlir/include/mlir/Transforms/OneToNTypeConversion.h
M mlir/lib/Dialect/Func/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Func/Transforms/OneToNFuncConversions.cpp
M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
R mlir/lib/Dialect/SCF/Transforms/OneToNTypeConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Transforms/Utils/CMakeLists.txt
M mlir/lib/Transforms/Utils/DialectConversion.cpp
R mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
R mlir/test/Conversion/OneToNTypeConversion/one-to-n-type-conversion.mlir
R mlir/test/Conversion/OneToNTypeConversion/scf-structural-one-to-n-type-conversion.mlir
M mlir/test/Transforms/decompose-call-graph-types.mlir
M mlir/test/lib/Conversion/CMakeLists.txt
R mlir/test/lib/Conversion/OneToNTypeConversion/CMakeLists.txt
R mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][Transforms] Delete 1:N dialect conversion driver (#121389)
The 1:N dialect conversion driver has been deprecated. Use the regular
dialect conversion driver instead. This commit deletes the 1:N dialect
conversion driver.
Note for LLVM integration: If you are already using the regular dialect conversion, but still have argument materializations in your code base, simply delete all `addArgumentMaterialization` calls.
For details, see
https://discourse.llvm.org/t/rfc-merging-1-1-and-1-n-dialect-conversions/82513.
Commit: 5a993558c5fa52c605d984e0effdc1cd3b452476
https://github.com/llvm/llvm-project/commit/5a993558c5fa52c605d984e0effdc1cd3b452476
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/InstSimplify/gep.ll
Log Message:
-----------
[InstSimplify] Fold `getelementptr inbounds null, idx -> null` (#130742)
Proof: https://alive2.llvm.org/ce/z/5ZkPx-
See also https://github.com/llvm/llvm-project/pull/130734 for the motivation.
Commit: 47f4f39265b31e2249536b74d33d63508cdfb457
https://github.com/llvm/llvm-project/commit/47f4f39265b31e2249536b74d33d63508cdfb457
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[MLIR][AMDGPU] Fixing word alignment check for bufferload fastpath (#135982)
`delta_bytes % (32 ceilDiv elementBitwidth) != 0` condition is incorrect
in https://github.com/llvm/llvm-project/pull/135014
For example, last load is issued to load only one last element of fp16.
Then `delta bytes = 2`, `(32 ceildiv 16) = 2`. In this case it will be
judged as word aligned. It will send to fast path but get all zeros for
the fp16 because it cross the word boundary.
In reality the equation should be just `delta_bytes % 4` , since a word
is 4 bytes. This PR fix the bug by amending the mod target to 4.
Commit: fb00fa56b51b191d026eec104905e416bf34bbda
https://github.com/llvm/llvm-project/commit/fb00fa56b51b191d026eec104905e416bf34bbda
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-APValue-lvalue.cpp
R clang/test/AST/ast-dump-APValue-todo.cpp
Log Message:
-----------
[clang] Implement dump() for MemberPointer APValues (#136130)
Print the member pointer decl and the path.
Commit: 0348ff515854438cab8a48b79e8839cb99d48701
https://github.com/llvm/llvm-project/commit/0348ff515854438cab8a48b79e8839cb99d48701
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/include/clang/AST/SYCLKernelInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
A clang/lib/CodeGen/CodeGenSYCL.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/Targets/NVPTX.cpp
A clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
Log Message:
-----------
[SYCL] Basic code generation for SYCL kernel caller offload entry point functions. (#133030)
A function declared with the `sycl_kernel_entry_point` attribute,
sometimes called a SYCL kernel entry point function, specifies a pattern
from which the parameters and body of an offload entry point function,
sometimes called a SYCL kernel caller function, are derived.
SYCL kernel caller functions are emitted during SYCL device compilation.
Their parameters and body are derived from the `SYCLKernelCallStmt`
statement and `OutlinedFunctionDecl` declaration associated with their
corresponding SYCL kernel entry point function. A distinct SYCL kernel
caller function is generated for each SYCL kernel entry point function
defined as a non-inline function or ODR-used in the translation unit.
The name of each SYCL kernel caller function is parameterized by the
SYCL kernel name type specified by the `sycl_kernel_entry_point`
attribute attached to the corresponding SYCL kernel entry point
function. For the moment, the Itanium ABI mangled name for typeinfo data
(`_ZTS<type>`) is used to name these functions; a future change will
switch to a more appropriate naming scheme.
The calling convention used for a SYCL kernel caller function is target
dependent. Support for AMDGCN, NVPTX, and SPIR targets is currently
provided. These functions are required to observe the language
restrictions for SYCL devices as specified by the SYCL 2020
specification; this includes a forward progress guarantee and prohibits
recursion.
Only SYCL kernel caller functions, functions declared as
`SYCL_EXTERNAL`, and functions directly or indirectly referenced from
those functions should be emitted during device compilation. Pruning of
other declarations has not yet been implemented.
---------
Co-authored-by: Elizabeth Andrews <elizabeth.andrews at intel.com>
Commit: 40417915a161e87b398f1cc3e9b7c159207abd77
https://github.com/llvm/llvm-project/commit/40417915a161e87b398f1cc3e9b7c159207abd77
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/Preprocessor/embed_weird.cpp
Log Message:
-----------
[clang] Implement StmtPrinter for EmbedExpr (#135957)
Tries to avoid memory leaks previously caused by saving filename by
allocating memory in the preprocessor.
Fixes https://github.com/llvm/llvm-project/issues/132641
Fixes https://github.com/llvm/llvm-project/issues/107869
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 3dfdb4dad5da316a9de88828e9feebca99ba7ae4
https://github.com/llvm/llvm-project/commit/3dfdb4dad5da316a9de88828e9feebca99ba7ae4
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/poison-ops.ll
M llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
[SelectionDAG] Propagate poison in getNode with two operands if the input is poison. (#135387)
Propagation to poison in function `SDValue
SelectionDAG::getNode(unsigned Opcode, const SDLoc &DL, EVT VT,SDValue
N1, SDValue N2, const SDNodeFlags Flags) ` if one of the input is
poison.
The patch also revert the test cases
llvm/test/CodeGen/X86/pr119158.ll
llvm/test/CodeGen/X86/half.ll
which are mentioned in
https://github.com/llvm/llvm-project/pull/125883#discussion_r2021390919
---------
Co-authored-by: Amy Kwan <amy.kwan1 at ibm.com>
Commit: ea8b1bf8895aa6b8a5c668577f845e6a13ddc2e9
https://github.com/llvm/llvm-project/commit/ea8b1bf8895aa6b8a5c668577f845e6a13ddc2e9
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86FastISel.cpp
Log Message:
-----------
[X86][FastISel] Refactor bitcast selection into separate function (NFC)
Commit: e6f23b383e0c08ecc380d879035e594019f34211
https://github.com/llvm/llvm-project/commit/e6f23b383e0c08ecc380d879035e594019f34211
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/ErrorOr.h
Log Message:
-----------
Remove names for unused parameters; NFC
Fixes #21393
Commit: 927a0cb8d654fe11dc010dc3d05e200772709ce6
https://github.com/llvm/llvm-project/commit/927a0cb8d654fe11dc010dc3d05e200772709ce6
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
Log Message:
-----------
[LV][NFC] Regenerate AArch64/veclib-* test CHECK lines (#136138)
Commit: bd0b903a91721570e0bc98f7ed8b0aaf2f2a628b
https://github.com/llvm/llvm-project/commit/bd0b903a91721570e0bc98f7ed8b0aaf2f2a628b
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/lib/Frontend/FrontendAction.cpp
Log Message:
-----------
Mark the file opened by DeserializedDeclsSourceRangePrinter as a text file (#135842)
This PR will fix the following lit failure seeing on z/OS and most likely on Windows:
`FAIL: Clang :: Frontend/dump-minimization-hints.cpp`
Without `OF_TextWithCRLF` flag, a file is treated as binary and is read improperly, at least on z/OS.
Commit: 728f6de4177a7e4d8030cb37ace525e2af97d247
https://github.com/llvm/llvm-project/commit/728f6de4177a7e4d8030cb37ace525e2af97d247
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 0348ff515854
Commit: 9ee4fdf4990f7dbdc0cfc30a8f733f676dbdcb51
https://github.com/llvm/llvm-project/commit/9ee4fdf4990f7dbdc0cfc30a8f733f676dbdcb51
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
A flang/test/Fir/CUDA/cuda-stream.mlir
M flang/tools/fir-opt/fir-opt.cpp
Log Message:
-----------
[flang][cuda] Introduce stream cast op (#136050)
Cast a stream object reference as a GPU async token. This is useful to
be able to connect the stream representation of CUDA Fortran and the
async mechanism of the GPU dialect.
This op will later become a no op.
Commit: 10f75b8ef7edc80759b9e916e72e17b1c2e9abcb
https://github.com/llvm/llvm-project/commit/10f75b8ef7edc80759b9e916e72e17b1c2e9abcb
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
A lld/test/ELF/aarch64-execute-only-plt.s
M lld/test/ELF/aarch64-gnu-ifunc-plt.s
M lld/test/ELF/aarch64-plt.s
Log Message:
-----------
[LLD][ELF][AArch64] Mark .plt and .iplt with PURECODE flag (#134798)
Mark the synthetic sections `.plt` and `.iplt` with the
`SHF_AARCH64_PURECODE` section flag, allowing them to be placed in an
executable-only segment.
Commit: 45f27167bcd312a8691365a63719fab136972692
https://github.com/llvm/llvm-project/commit/45f27167bcd312a8691365a63719fab136972692
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[AArch64][Docs] Add release note for execute-only support on AArch64 (#134799)
Commit: 41675fa5b88dc703b3b1d96de668281582f21f3b
https://github.com/llvm/llvm-project/commit/41675fa5b88dc703b3b1d96de668281582f21f3b
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
Log Message:
-----------
[VPlan] Simplify vp.merge true, (or x, y), x -> vp.merge y, true, x (#135017)
With EVL tail folding an AnyOf reduction will emit an i1 vp.merge like
vp.merge true, (or phi, cond), phi, evl
We can remove the or and optimise this to
vp.merge cond, true, phi, evl
Which makes it slightly easier to pattern match in #134898.
This also adds a pattern matcher for calls to help match this.
Blended AnyOf reductions will use an and instead of an or, which we may
also be able to simplify in a later patch.
Commit: 8d4b19e3d4a8cee8899d5a293972aef48f9bdb7f
https://github.com/llvm/llvm-project/commit/8d4b19e3d4a8cee8899d5a293972aef48f9bdb7f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp
Log Message:
-----------
[RISCV] Remove skipFunction from RISCVVMV0Elimination. (#136080)
skipFunction disables the pass for functions with optnone attribute.
This pass is important to correct register allocation so I don't think
it should be disabled.
Commit: 427a7792b15d28a7962e42b5f677bfde9383e975
https://github.com/llvm/llvm-project/commit/427a7792b15d28a7962e42b5f677bfde9383e975
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M lld/docs/ReleaseNotes.rst
Log Message:
-----------
[LLD][Docs] Add release notes for execute-only support on AArch64 (#134804)
Commit: 7daa5010ab6a2ae77ac88ffd84e2cc37a2e11faa
https://github.com/llvm/llvm-project/commit/7daa5010ab6a2ae77ac88ffd84e2cc37a2e11faa
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
A llvm/test/CodeGen/NVPTX/fabs-intrinsics.ll
M llvm/test/CodeGen/NVPTX/math-intrins-sm80-ptx70-autoupgrade.ll
M llvm/test/Transforms/InstCombine/NVPTX/nvvm-intrins.ll
Log Message:
-----------
[NVPTX] Cleanup and document nvvm.fabs intrinsics, adding f16 support (#135644)
This change unifies the NVVM intrinsics for floating point absolute
value into two new overloaded intrinsics "llvm.nvvm.fabs.*" and
"llvm.nvvm.fabs.ftz.*". Documentation has been added specifying the
semantics of these intrinsics to clarify how they differ from
"llvm.fabs.*". In addition, support for these new intrinsics is
extended to cover the f16 variants.
Commit: 78857e7263ba555fb40b286c6b40fcd35a85a65a
https://github.com/llvm/llvm-project/commit/78857e7263ba555fb40b286c6b40fcd35a85a65a
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
A clang/include/clang/CIR/ABIArgInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/ABIInfo.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/lib/CIR/CodeGen/TargetInfo.cpp
A clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/IR/call.cir
A clang/test/CIR/IR/invalid-call.cir
Log Message:
-----------
[CIR] cir.call with scalar return type (#135552)
This PR introduces support for calling functions with a scalar return
type to the upstream. This PR also includes an initial version of
`CIRGenTargetInfo` and related definitions which are essential for the
CIRGen of call ops.
Related to #132487 .
Commit: d83b639b4c62924deef504f46e573e7d995ea10d
https://github.com/llvm/llvm-project/commit/d83b639b4c62924deef504f46e573e7d995ea10d
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Lex/ModuleLoader.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/LoopHint.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
Log Message:
-----------
Reland [clang] Unify `SourceLocation` and `IdentifierInfo*` pair-like data structures to `IdentifierLoc` (#136077)
This PR reland https://github.com/llvm/llvm-project/pull/135808, fixed
some missed changes in LLDB.
I found this issue when I working on
https://github.com/llvm/llvm-project/pull/107168.
Currently we have many similiar data structures like:
- std::pair<IdentifierInfo *, SourceLocation>.
- Element type of ModuleIdPath.
- IdentifierLocPair.
- IdentifierLoc.
This PR unify these data structures to IdentifierLoc, moved
IdentifierLoc definition to SourceLocation.h, and deleted other similer
data structures.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 1467b3b0a86fcd4a6b3225fbafd959ee781b5b5c
https://github.com/llvm/llvm-project/commit/1467b3b0a86fcd4a6b3225fbafd959ee781b5b5c
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang][Docs] Add release note for execute-only support on AArch64 (#134802)
Commit: 2007dcfeb86fe272fcd16283f9bca45292e3c630
https://github.com/llvm/llvm-project/commit/2007dcfeb86fe272fcd16283f9bca45292e3c630
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/IR/Metadata.cpp
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/GVN/pre-invalid-prof-metadata.ll
A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-hoist.ll
A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-sink.ll
Log Message:
-----------
Reapply [Metadata] Preserve MD_prof when merging instructions when one is missing. (#135418)
Preserve branch weight metadata when merging instructions if one of the
instructions is missing metadata. This is similar in behaviour to what
we do today for other types of metadata such as mmra, memprof and
callsite metadata.
Also add a legality check when merging prof metadata based on
instruction type. Without this check GVN PRE optimizations result in
prof metadata on phi nodes which break the module verifier.
Build failure caught by
https://lab.llvm.org/buildbot/#/builders/113/builds/6621
```
!9185 = !{!"branch_weights", i32 3912, i32 802}
Wrong number of operands
!9185 = !{!"branch_weights", i32 3912, i32 802}
fatal error: error in backend: Broken module found, compilation aborted!
```
Reverts #134200 with additional changes.
Commit: 909a9feda9292be8a7322f07dd167a603309b541
https://github.com/llvm/llvm-project/commit/909a9feda9292be8a7322f07dd167a603309b541
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/AArch64/ubsan-handler-pass-by-ref.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/attr-counted-by.c
A clang/test/CodeGen/ubsan-attr.cpp
Log Message:
-----------
[Reland][Clang][CodeGen][UBSan] Add more precise attributes to recoverable ubsan handlers (#135135)
This patch relands https://github.com/llvm/llvm-project/pull/130990.
If the check value is passed by reference, add `memory(read)`.
Original PR description:
This patch adds `memory(argmem: read, inaccessiblemem: readwrite)` to
**recoverable** ubsan handlers in order to unblock some
memory/loop optimizations. It provides an average of 3% performance
improvement on llvm-test-suite (except for 49 test failures due to ubsan
diagnostics).
Commit: ecbd2d5e148cc1f2e5795d13d752e2a1c79cce1a
https://github.com/llvm/llvm-project/commit/ecbd2d5e148cc1f2e5795d13d752e2a1c79cce1a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
Log Message:
-----------
[clang][ExprConst] Diagnose ptr subs with non-zero offset (#135938)
The attached test case was missing the note.
Commit: 70e2acf0c5650b8862c41f2697a9e0485ecb17be
https://github.com/llvm/llvm-project/commit/70e2acf0c5650b8862c41f2697a9e0485ecb17be
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Check if operator delete calls are in the right frame (#136141)
This is only permitted in a std::allocator::deallocate frame.
Commit: a9dff35ad251cd20376ab25b26d1e5394e18ff4c
https://github.com/llvm/llvm-project/commit/a9dff35ad251cd20376ab25b26d1e5394e18ff4c
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/extend-variable-liveness.c
Log Message:
-----------
[Clang] Enable -fextend-lifetimes at -Og (#118026)
Recently, a new flag -fextend-variable-liveness was added that prevents
optimizations from removing the values of source variables in some cases,
improving the quality of debugging for optimized builds where it is
enabled.
Following the inclusion of the flag, this patch enables it by default
when `-Og` is set. Currently, `-Og` is equivalent to `-O1` - it is
effectively just an alias. By enabling `-fextend-lifetimes`, this patch
changes the code generated by Clang with `-Og` to have reduced
optimization and greater debuggability than `-O1`, differentiating the
two according to their respective purposes. This idea was discussed
previously on Discourse where there was general agreement with the
principle of this change:
https://discourse.llvm.org/t/rfc-redefine-og-o1-and-add-a-new-level-of-og
Commit: 1fcf78d15318e3fbe384c635a0ae651be89d0686
https://github.com/llvm/llvm-project/commit/1fcf78d15318e3fbe384c635a0ae651be89d0686
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/masked-loads-side-effects-after-vec.ll
Log Message:
-----------
[SLP]Cache data for compressed loads before codegen
Need to cache and use cached data for compressed loads before codegen to
avoid side-effects, caused by the earlier vectorization, which may
affect the analysis.
Commit: 83116209331ad6a5a45f1b8735ad5bce9e6ef761
https://github.com/llvm/llvm-project/commit/83116209331ad6a5a45f1b8735ad5bce9e6ef761
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M lldb/source/Host/common/Editline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Fix lock inversion between statusline mutex and output mutex (#135956)
Fix a deadlock between the statusline mutex (in Debugger) and the output
file mutex (in LockedStreamFile). The deadlock occurs when the main
thread is calling the statusline callback while holding the output mutex
in Editline, while the default event thread is trying to update the
statusline.
Extend the uncritical section so we can redraw the statusline there.
The loop in Editline::GetCharacter should be unnecessary. It would only
loop if we had a successful read with length zero, which shouldn't be
possible or when we can't convert a partial UTF-8 character, in which
case we bail out.
rdar://149251156
Commit: 168092e2ba432c0995806470790fa5aef3d7315b
https://github.com/llvm/llvm-project/commit/168092e2ba432c0995806470790fa5aef3d7315b
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
A llvm/test/CodeGen/DirectX/legalize-freeze.ll
Log Message:
-----------
[DirectX] Legalize Freeze instruction (#136043)
fixes #135719
LLVM 3.7 did not have a freeze instruction
Further this instruction is really only used as syntactic sugar
in LLVM's optimizer passes to not aggressively optimize things that
could be undef or poison ie x*2 to x+x.
Most backends treat it as a no-op so we will do the same
by removing it and replacing its uses with its input.
Commit: 1267facdc6f254fd9bd85cd8a033e7128b6e053d
https://github.com/llvm/llvm-project/commit/1267facdc6f254fd9bd85cd8a033e7128b6e053d
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Remove duplicate dependency (#136152)
AffineDialect was duplicated in the deps list since
47f4f39265b31e2249536b74d33d63508cdfb457
Commit: 5fe91f1b5948591b75416ce529b3179234c8d93d
https://github.com/llvm/llvm-project/commit/5fe91f1b5948591b75416ce529b3179234c8d93d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/catchswitch-block-in-use.ll
Log Message:
-----------
[SLP]Check for catchswitch block before doing the analysis of the instructions
Need to skip the analysis of the catchswitch blocks to avoid a compiler
crash when trying to get the first instruction in the block.
Commit: 1f224d889dfa89a293e3efa5b04740f634454370
https://github.com/llvm/llvm-project/commit/1f224d889dfa89a293e3efa5b04740f634454370
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
A llvm/test/Transforms/IndVarSimplify/debugloc-rem-subst.ll
Log Message:
-----------
[DebugInfo][IndVarSimplify] Propagate source loc when simplifying rem (#135399)
When IndVarSimplify simplifies a rem of the induction variable to a cmp
and select, only the select currently receives the rem's source
location; this patch propagates it to the cmp as well.
Found using https://github.com/llvm/llvm-project/pull/107279.
Commit: 8210ca019839fc5430b3a95d7caf5c829df3232a
https://github.com/llvm/llvm-project/commit/8210ca019839fc5430b3a95d7caf5c829df3232a
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.h
M llvm/lib/Target/Sparc/SparcInstrVIS.td
A llvm/test/CodeGen/SPARC/ctlz.ll
Log Message:
-----------
[SPARC] Use lzcnt to implement CTLZ when we have VIS3
Reviewers: s-barannikov, brad0, rorth
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/135715
Commit: 2ef01048624dc2a564d5925d082a72a51bb97c48
https://github.com/llvm/llvm-project/commit/2ef01048624dc2a564d5925d082a72a51bb97c48
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcInstrVIS.td
A llvm/test/CodeGen/SPARC/bitcast.ll
Log Message:
-----------
[SPARC] Use native bitcast instructions when we have VIS3
Reviewers: brad0, s-barannikov, rorth
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/135716
Commit: 52e10e6c3bad782380c8a931aabca2800b53a85d
https://github.com/llvm/llvm-project/commit/52e10e6c3bad782380c8a931aabca2800b53a85d
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/docs/ClangOffloadPackager.rst
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M llvm/lib/Object/OffloadBinary.cpp
Log Message:
-----------
[SYCL] Add clang-linker-wrapper changes to call clang-sycl-linker for SYCL offloads (#135683)
This PR is one of the many PRs in the SYCL upstreaming effort focusing
on device code linking during the SYCL offload compilation process. RFC:
https://discourse.llvm.org/t/rfc-offloading-design-for-sycl-offload-kind-and-spir-targets/74088
Approved PRs so far:
1. [Clang][SYCL] Introduce clang-sycl-linker to link SYCL offloading
device code (Part 1 of many) -
[Link](https://github.com/llvm/llvm-project/pull/112245)
2. [clang-sycl-linker] Replace llvm-link with API calls -
[Link](https://github.com/llvm/llvm-project/pull/133797)
3. [SYCL][SPIR-V Backend][clang-sycl-linker] Add SPIR-V backend support
inside clang-sycl-linker -
[Link](https://github.com/llvm/llvm-project/pull/133967)
This PR adds SYCL device code linking support to clang-linker-wrapper.
### Summary for this PR
Device code linking happens inside clang-linker-wrapper. In the current
implementation, clang-linker-wrapper does the following:
1. Extracts device code. Input_1, Input_2,.....
5. Group device code according to target devices Inputs[triple_1] = ....
Inputs[triple_2] = ....
6. For each group, i.e. Inputs[triple_i], a. Gather all the offload
kinds found inside those inputs in ActiveOffloadKinds b. Link all images
inside Inputs[triple_i] by calling clang --target=triple_i .... c.
Create a copy of that linked image for each offload kind and add it to
Output[Kind] list.
In SYCL compilation flow, there is a deviation in Step 3b. We call
device code splitting inside the 'clang --target=triple_i ....' call and
the output is now a 'packaged' file containing multiple device images.
This deviation requires us to capture the OffloadKind during the linking
stage and pass it along to the linking function (clang), so that clang
can be called with a unique option '--sycl-link' that will help us to
call 'clang-sycl-linker' under the hood (clang-sycl-linker will do SYCL
specific linking).
Our current objective is to implement an end-to-end SYCL offloading flow
and get it working. We will eventually merge our approach with the
community flow.
Thanks
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 9ed4c705ac1c5c8797f328694f6cd22fbcdae03b
https://github.com/llvm/llvm-project/commit/9ed4c705ac1c5c8797f328694f6cd22fbcdae03b
Author: Florian Mayer <fmayer at google.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/test/CodeGen/memtag-globals.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/unittests/IR/VerifierTest.cpp
Log Message:
-----------
[MTE] decide whether to tag global in AsmPrinter (#135891)
there are llvm passes that would invalidate the decision we make in
clang.
Commit: dbc4f443828883445bef71879455712cac7ec7d7
https://github.com/llvm/llvm-project/commit/dbc4f443828883445bef71879455712cac7ec7d7
Author: Florian Mayer <fmayer at google.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .clang-format-ignore
M .github/new-prs-labeler.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/premerge.yaml
M .github/workflows/spirv-tests.yml
M .mailmap
M bolt/CMakeLists.txt
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/runtime/CMakeLists.txt
M bolt/runtime/common.h
M bolt/runtime/hugify.cpp
M bolt/runtime/instr.cpp
A bolt/runtime/sys_riscv64.h
A bolt/test/AArch64/validate-secondary-entry-point.s
A bolt/test/RISCV/validate-secondary-entry-point.s
M bolt/test/X86/callcont-fallthru.s
M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/test/link_fdata.py
A bolt/test/runtime/Inputs/user_func_order.txt
A bolt/test/runtime/RISCV/basic-instrumentation.s
A bolt/test/runtime/RISCV/instrumentation-ind-call.c
A bolt/test/runtime/RISCV/lit.local.cfg
R bolt/test/runtime/X86/Inputs/user_func_order.txt
R bolt/test/runtime/X86/hugify.c
R bolt/test/runtime/X86/user-func-reorder.c
A bolt/test/runtime/hugify.c
A bolt/test/runtime/relative-vftable.cpp
A bolt/test/runtime/user-func-reorder.c
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
A clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/File.cpp
A clang-tools-extra/clang-doc/support/File.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/test/CMakeLists.txt
M clang-tools-extra/clangd/test/lit.site.cfg.py.in
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/swapped-arguments.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/HLSL.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ClangOffloadPackager.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/ControlFlowIntegrity.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/PointerAuthentication.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/SYCLKernelInfo.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
A clang/include/clang/Analysis/Support/FixitUtil.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/include/clang/Basic/BuiltinsDirectX.td
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
A clang/include/clang/CIR/ABIArgInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Lex/ModuleLoader.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/LoopHint.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCodeCompletion.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/FunctionPointer.cpp
M clang/lib/AST/ByteCode/FunctionPointer.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclOpenACC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/CMakeLists.txt
A clang/lib/Analysis/FixitUtil.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
A clang/lib/CIR/CodeGen/ABIInfo.h
A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
A clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/lib/CIR/CodeGen/TargetInfo.cpp
A clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
A clang/lib/CodeGen/CodeGenSYCL.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M clang/lib/Driver/ToolChains/ROCm.h
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/amxcomplexintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
A clang/lib/Sema/SemaDirectX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/c2y.c
M clang/test/AST/ByteCode/codegen.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/cxx23.cpp
A clang/test/AST/ByteCode/libcxx/minmax.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
A clang/test/AST/ByteCode/typeid.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/OutArgExpr.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
A clang/test/AST/HLSL/private.hlsl
M clang/test/AST/ast-dump-APValue-lvalue.cpp
R clang/test/AST/ast-dump-APValue-todo.cpp
M clang/test/AST/ast-dump-array.cpp
M clang/test/AST/ast-dump-ptrauth-json.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/AST/ast-print-openacc-set-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
M clang/test/Analysis/anonymous-decls.cpp
A clang/test/Analysis/castsize.c
M clang/test/C/C11/n1285.c
A clang/test/C/C11/n1285_1.c
M clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3369_3.c
M clang/test/C/drs/dr0xx.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/binassign.c
A clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/cmp.cpp
A clang/test/CIR/CodeGen/comma.c
A clang/test/CIR/CodeGen/if-consteval.cpp
A clang/test/CIR/CodeGen/if.cpp
A clang/test/CIR/CodeGen/nullptr-init.cpp
A clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/CodeGen/union.c
A clang/test/CIR/CodeGenOpenACC/data.c
A clang/test/CIR/CodeGenOpenACC/init.c
A clang/test/CIR/CodeGenOpenACC/kernels.c
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented-global.cpp
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/CodeGenOpenACC/parallel.c
A clang/test/CIR/CodeGenOpenACC/serial.c
A clang/test/CIR/CodeGenOpenACC/set.c
A clang/test/CIR/CodeGenOpenACC/shutdown.c
A clang/test/CIR/IR/binassign.cir
A clang/test/CIR/IR/call.cir
A clang/test/CIR/IR/cmp.cir
A clang/test/CIR/IR/invalid-call.cir
A clang/test/CIR/IR/struct.cir
M clang/test/CIR/Lowering/array.cpp
A clang/test/CIR/Lowering/if.cir
A clang/test/CIR/Transforms/if.cir
M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
M clang/test/CodeCompletion/member-access.c
M clang/test/CodeCompletion/member-access.cpp
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_expa.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
A clang/test/CodeGen/AArch64/ubsan-handler-pass-by-ref.c
A clang/test/CodeGen/Inputs/cuda.h
A clang/test/CodeGen/SystemZ/Float16.c
M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
A clang/test/CodeGen/SystemZ/fp16.c
M clang/test/CodeGen/SystemZ/strictfp_builtins.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-target-features.c
A clang/test/CodeGen/atomic-ops-load.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-target-x86.c
A clang/test/CodeGen/builtin-maxnum-minnum.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/catch-alignment-assumption-array.c
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
A clang/test/CodeGen/cfi-check-fail-nomerge.c
A clang/test/CodeGen/cfi-check-fail2-nomerge.c
R clang/test/CodeGen/include/cuda.h
A clang/test/CodeGen/invalid_llvm_ir.ll
M clang/test/CodeGen/nvptx-surface.cu
M clang/test/CodeGen/pointer-overflow.c
M clang/test/CodeGen/pragma-fenv_access.c
A clang/test/CodeGen/ptrauth-debuginfo.c
A clang/test/CodeGen/ptrauth-qualifier-const-init.c
A clang/test/CodeGen/ptrauth-qualifier-function.c
A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
A clang/test/CodeGen/ubsan-attr.cpp
A clang/test/CodeGen/unique-source-file-names.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCXX/Inputs/std-coroutine.h
A clang/test/CodeGenCXX/bug135668.cpp
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
A clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
A clang/test/CodeGenCXX/local-class-instantiation.cpp
A clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
A clang/test/CodeGenCXX/mangle-ms-ptrauth.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/pointers-to-data-members.cpp
A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/sections.cpp
A clang/test/CodeGenCXX/type-aware-allocators.cpp
A clang/test/CodeGenCXX/type-aware-coroutines.cpp
A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
A clang/test/CodeGenCoroutines/pr134409.cpp
A clang/test/CodeGenDirectX/Builtins/dot2add.c
A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/CodeGenHLSL/builtins/dst.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
A clang/test/CodeGenHLSL/builtins/lit.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_align.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
A clang/test/CodeGenHLSL/out-of-line-static.hlsl
A clang/test/CodeGenHLSL/res-may-alias.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
A clang/test/CodeGenHLSL/static-variable.hlsl
A clang/test/CodeGenHipStdPar/rdc-does-not-enable-hipstdpar.cpp
A clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
M clang/test/CodeGenObjC/property-array-type.m
A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/CodeGenOpenCL/kernel-arg-info.cl
A clang/test/CodeGenOpenCL/opencl-kernel-call.cl
M clang/test/CodeGenOpenCL/reflect.cl
M clang/test/CodeGenOpenCL/sampler.cl
M clang/test/CodeGenOpenCL/spir-calling-conv.cl
M clang/test/CodeGenOpenCL/spir32_target.cl
M clang/test/CodeGenOpenCL/spir64_target.cl
M clang/test/CodeGenOpenCL/spirv_target.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
A clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
A clang/test/Driver/arm-fpu-selection.s
A clang/test/Driver/armv7-default-neon.s
A clang/test/Driver/armv7s-default-vfpv4.s
M clang/test/Driver/armv8.1m.main.s
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/dxc_D.hlsl
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/dxc_options.hlsl
M clang/test/Driver/extend-variable-liveness.c
M clang/test/Driver/fortran.f95
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-sanitize-options.hip
A clang/test/Driver/hip-thinlto.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hlsl-lang-targets.hlsl
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/mips-abi.c
A clang/test/Driver/openacc-no-cir.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-arm.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/systemz-march.c
A clang/test/Driver/unique-source-file-names.c
M clang/test/Driver/x86-target-features.c
A clang/test/FixIt/fixit-bool.cpp
M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
A clang/test/Frontend/dump-minimization-hints.cpp
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Import/pack-expansion-expr/test.cpp
A clang/test/Index/single-file-parse-include-macro.c
A clang/test/Index/single-file-parse-undefined-function-like-macro.c
M clang/test/Interpreter/inline-virtual.cpp
M clang/test/Misc/target-invalid-cpu-note/systemz.c
A clang/test/Modules/fmodule-file-mismatch.cppm
A clang/test/Modules/macro-identifier-hiding.c
M clang/test/Modules/new-delete.cpp
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/relocatable-modules.cpp
M clang/test/Modules/safe_buffers_optout.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/declare_variant_messages.c
M clang/test/OpenMP/declare_variant_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/distribute_simd_linear_messages.cpp
M clang/test/OpenMP/for_linear_messages.cpp
M clang/test/OpenMP/for_simd_linear_messages.cpp
M clang/test/OpenMP/for_simd_misc_messages.c
M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_for_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_misc_messages.c
M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/simd_linear_messages.cpp
M clang/test/OpenMP/simd_misc_messages.c
M clang/test/OpenMP/target_parallel_for_linear_messages.cpp
M clang/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_simd_linear_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
M clang/test/OpenMP/task_affinity_messages.cpp
M clang/test/OpenMP/task_depend_messages.cpp
M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
A clang/test/Parser/ptrauth-qualifier.c
M clang/test/ParserHLSL/cb_error.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserHLSL/invalid_inside_cb.hlsl
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/Preprocessor/arm-target-features.c
A clang/test/Preprocessor/constants.c
A clang/test/Preprocessor/embed-reject-device-files-lin.c
A clang/test/Preprocessor/embed-reject-device-files-win.c
M clang/test/Preprocessor/embed___has_embed.c
M clang/test/Preprocessor/embed_parameter_unrecognized.c
M clang/test/Preprocessor/embed_weird.cpp
M clang/test/Preprocessor/has_attribute.c
M clang/test/Preprocessor/has_attribute.cpp
M clang/test/Preprocessor/has_c_attribute.c
M clang/test/Preprocessor/has_include.c
A clang/test/Preprocessor/pr133574.c
M clang/test/Preprocessor/predefined-arch-macros.c
A clang/test/Preprocessor/ptrauth_extension.c
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_tmop.cpp
M clang/test/Sema/attr-capabilities.c
A clang/test/Sema/attr-decl-after-definition-std.c
A clang/test/Sema/attr-musttail.cpp
M clang/test/Sema/code_align.c
A clang/test/Sema/complex-div-warn-higher-precision.cpp
M clang/test/Sema/incomplete-decl.c
A clang/test/Sema/main-no-return-c89-1.c
A clang/test/Sema/main-no-return-c89-2.c
A clang/test/Sema/main-no-return-c89-3.c
A clang/test/Sema/ptrauth-atomic-ops.c
A clang/test/Sema/ptrauth-qualifier.c
M clang/test/Sema/tentative-decls.c
A clang/test/Sema/warn-cast-function-type-win.c
M clang/test/Sema/warn-int-in-bool-context.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/align_value.cpp
M clang/test/SemaCXX/alloc-align-attr.cpp
M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
A clang/test/SemaCXX/bug135668.cpp
M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
M clang/test/SemaCXX/cxx2c-delete-with-message.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/delete.cpp
R clang/test/SemaCXX/gh134265.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/ptrauth-qualifier.cpp
A clang/test/SemaCXX/ptrauth-template-parameters.cpp
A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
A clang/test/SemaCXX/type-aware-coroutines.cpp
A clang/test/SemaCXX/type-aware-new-constexpr.cpp
A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
A clang/test/SemaCXX/type-aware-placement-operators.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaCXX/warn-dangling-local.cpp
A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
A clang/test/SemaCXX/windows-Wpadded.cpp
A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/hlsl_resource_t.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
M clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
A clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
M clang/test/SemaHLSL/Language/OutputParameters.hlsl
A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl
M clang/test/SemaHLSL/cb_error.hlsl
M clang/test/SemaHLSL/export.hlsl
M clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaHLSL/parameter_modifiers.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
A clang/test/SemaHLSL/resource_binding_implicit.hlsl
A clang/test/SemaObjC/ptrauth-qualifier.m
M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
A clang/test/SemaOpenACC/device_type_valid_values.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct-ast.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M clang/test/SemaOpenCL/cl20-device-side-enqueue.cl
M clang/test/SemaOpenCL/to_addr_builtin.cl
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
M clang/test/SemaTemplate/instantiate-local-class.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/partial-order.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/trailing-return-short-circuit.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M clang/tools/CMakeLists.txt
R clang/tools/amdgpu-arch/AMDGPUArch.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
R clang/tools/amdgpu-arch/CMakeLists.txt
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/libclang.map
R clang/tools/nvptx-arch/CMakeLists.txt
R clang/tools/nvptx-arch/NVPTXArch.cpp
A clang/tools/offload-arch/AMDGPUArchByHIP.cpp
A clang/tools/offload-arch/AMDGPUArchByKFD.cpp
A clang/tools/offload-arch/CMakeLists.txt
A clang/tools/offload-arch/NVPTXArch.cpp
A clang/tools/offload-arch/OffloadArch.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTest.h
M clang/unittests/Format/CleanupTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_fake_stack.cpp
M compiler-rt/lib/asan/asan_flags.inc
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/clear_cache.c
A compiler-rt/lib/builtins/extendhfdf2.c
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
M compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_linux.cpp
M compiler-rt/lib/interception/interception_linux.h
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/orc/error.h
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_platform.h
M compiler-rt/test/asan/TestCases/Linux/asan_rt_confict_test-2.cpp
M compiler-rt/test/asan/TestCases/Posix/mmap_limit_mb.cpp
A compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
A compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
M compiler-rt/test/builtins/CMakeLists.txt
M compiler-rt/test/builtins/Unit/addtf3_test.c
A compiler-rt/test/builtins/Unit/extendhfdf2_test.c
A compiler-rt/test/ctx_profile/TestCases/autodetect-roots.cpp
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
M compiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
M compiler-rt/test/hwasan/TestCases/tag-mismatch-border-address.c
M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
M compiler-rt/test/sanitizer_common/android_commands/android_run.py
M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/include/flang-rt/runtime/terminator.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/cuda/kernel.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/connection.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/edit-output.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/docs/ArrayRepacking.md
M flang/docs/Extensions.md
M flang/docs/ModFiles.md
M flang/docs/OpenACC.md
M flang/include/flang/Common/uint128.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
R flang/include/flang/Optimizer/CodeGen/CGOps.h
R flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
A flang/include/flang/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.td
M flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
A flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/kernel.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/complex.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
R flang/lib/Optimizer/CodeGen/CGOps.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/lib/Optimizer/Dialect/FIRCG/CGOps.cpp
A flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/lib/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
A flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/lib/Support/Fortran.cpp
M flang/module/cudadevice.f90
M flang/test/Driver/do_concurrent_to_omp_cli.f90
M flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Driver/input-from-stdin/input-from-stdin.f90
M flang/test/Driver/linker-flags.f90
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Driver/phases.f90
M flang/test/Driver/pp-fixed-form.f90
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
M flang/test/Fir/CUDA/cuda-launch.fir
A flang/test/Fir/CUDA/cuda-stream.mlir
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid-types.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/target-rewrite-fmfs.fir
M flang/test/Fir/target-rewrite-selective.fir
A flang/test/Fir/tbaa-codegen-records.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/HLFIR/minval-maxval-issue-134308.fir
A flang/test/HLFIR/volatile1.fir
A flang/test/HLFIR/volatile2.fir
A flang/test/HLFIR/volatile3.fir
A flang/test/HLFIR/volatile4.fir
M flang/test/Integration/OpenMP/atomic-capture-complex.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-init.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-shutdown.f90
M flang/test/Lower/OpenACC/acc-update.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
A flang/test/Lower/OpenMP/cancel.f90
A flang/test/Lower/OpenMP/cancellationpoint.f90
A flang/test/Lower/OpenMP/clause-cleanup.f90
A flang/test/Lower/OpenMP/copyprivate3.f90
A flang/test/Lower/OpenMP/optional-argument-map.f90
M flang/test/Lower/OpenMP/task-depend-array-section.f90
A flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/polymorphic.f90
A flang/test/Lower/repack-arrays-safe.f90
A flang/test/Parser/OpenMP/bug518.f
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
A flang/test/Preprocessing/bug134986.F90
A flang/test/Preprocessing/bug518.F
M flang/test/Preprocessing/kind-suffix.F90
M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
M flang/test/Semantics/OpenACC/acc-data.f90
M flang/test/Semantics/OpenACC/acc-declare-validity.f90
M flang/test/Semantics/OpenACC/acc-host-data.f90
M flang/test/Semantics/OpenACC/acc-init-validity.f90
M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
M flang/test/Semantics/OpenACC/acc-update-validity.f90
M flang/test/Semantics/OpenMP/cancel.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/interop-construct.f90
A flang/test/Semantics/OpenMP/threadprivate09.f90
M flang/test/Semantics/cuf-device-procedures02.cuf
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/cuf10.cuf
M flang/test/Semantics/spec-expr.f90
M flang/test/Semantics/test_errors.py
M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
A flang/test/Transforms/lower-repack-arrays-openacc.fir
A flang/test/Transforms/lower-repack-arrays-openmp.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-lsp-server/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/fir-opt/fir-opt.cpp
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
M flang/unittests/Optimizer/FIRTypesTest.cpp
M libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/porting.rst
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_itimerval.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_itimerval.h
M libc/include/sys/time.yaml
M libc/src/__support/FPUtil/aarch64/sqrt.h
A libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/__support/common.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/getitimer.h
M libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/getitimer.cpp
A libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/setitimer.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/str_to_float_comparison_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atan_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sincos_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
M libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/getitimer_test.cpp
A libc/test/src/sys/time/setitimer_test.cpp
M libc/test/src/time/ctime_test.cpp
A libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/misc/clc_shuffle.h
A libclc/clc/include/clc/misc/clc_shuffle2.h
A libclc/clc/include/clc/misc/shuffle2_decl.inc
A libclc/clc/include/clc/misc/shuffle2_def.inc
A libclc/clc/include/clc/misc/shuffle_decl.inc
A libclc/clc/include/clc/misc/shuffle_def.inc
M libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/integer/clc_ctz.cl
M libclc/clc/lib/generic/math/clc_frexp.inc
A libclc/clc/lib/generic/misc/clc_shuffle.cl
A libclc/clc/lib/generic/misc/clc_shuffle2.cl
M libclc/clspv/lib/math/fma.cl
M libclc/cmake/modules/AddLibclc.cmake
R libclc/generic/include/clc/atom_decl_int32.inc
R libclc/generic/include/clc/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_add.h
A libclc/generic/include/clc/atomic/atom_and.h
A libclc/generic/include/clc/atomic/atom_cmpxchg.h
A libclc/generic/include/clc/atomic/atom_dec.h
A libclc/generic/include/clc/atomic/atom_decl_int32.inc
A libclc/generic/include/clc/atomic/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_inc.h
A libclc/generic/include/clc/atomic/atom_max.h
A libclc/generic/include/clc/atomic/atom_min.h
A libclc/generic/include/clc/atomic/atom_or.h
A libclc/generic/include/clc/atomic/atom_sub.h
A libclc/generic/include/clc/atomic/atom_xchg.h
A libclc/generic/include/clc/atomic/atom_xor.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/clc.h
A libclc/generic/include/clc/integer/ctz.h
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/include/clc/misc/shuffle2.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_add.cl
A libclc/generic/lib/atomic/atom_and.cl
A libclc/generic/lib/atomic/atom_cmpxchg.cl
A libclc/generic/lib/atomic/atom_dec.cl
A libclc/generic/lib/atomic/atom_inc.cl
A libclc/generic/lib/atomic/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_max.cl
A libclc/generic/lib/atomic/atom_min.cl
A libclc/generic/lib/atomic/atom_or.cl
A libclc/generic/lib/atomic/atom_sub.cl
A libclc/generic/lib/atomic/atom_xchg.cl
A libclc/generic/lib/atomic/atom_xor.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
A libclc/generic/lib/integer/ctz.cl
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
M libcxx/.clang-format
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes.rst
R libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__algorithm/out_value_result.h
M libcxx/include/__algorithm/radix_sort.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/memory_order.h
M libcxx/include/__atomic/support.h
M libcxx/include/__bit/bit_log2.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__charconv/tables.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/to_chars_result.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__compare/compare_three_way.h
M libcxx/include/__compare/compare_three_way_result.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__coroutine/noop_coroutine_handle.h
R libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
R libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
R libcxx/include/__cxx03/__algorithm/for_each_n.h
R libcxx/include/__cxx03/__algorithm/in_found_result.h
R libcxx/include/__cxx03/__algorithm/in_fun_result.h
R libcxx/include/__cxx03/__algorithm/in_in_out_result.h
R libcxx/include/__cxx03/__algorithm/in_in_result.h
R libcxx/include/__cxx03/__algorithm/in_out_out_result.h
R libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
R libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
R libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/pstl.h
R libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
R libcxx/include/__cxx03/__algorithm/ranges_all_of.h
R libcxx/include/__cxx03/__algorithm/ranges_any_of.h
R libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
R libcxx/include/__cxx03/__algorithm/ranges_clamp.h
R libcxx/include/__cxx03/__algorithm/ranges_contains.h
R libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
R libcxx/include/__cxx03/__algorithm/ranges_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
R libcxx/include/__cxx03/__algorithm/ranges_count.h
R libcxx/include/__cxx03/__algorithm/ranges_count_if.h
R libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
R libcxx/include/__cxx03/__algorithm/ranges_equal.h
R libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
R libcxx/include/__cxx03/__algorithm/ranges_fill.h
R libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
R libcxx/include/__cxx03/__algorithm/ranges_find.h
R libcxx/include/__cxx03/__algorithm/ranges_find_end.h
R libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
R libcxx/include/__cxx03/__algorithm/ranges_find_last.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
R libcxx/include/__cxx03/__algorithm/ranges_generate.h
R libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
R libcxx/include/__cxx03/__algorithm/ranges_includes.h
R libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
R libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
R libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
R libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
R libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
R libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
R libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_max.h
R libcxx/include/__cxx03/__algorithm/ranges_max_element.h
R libcxx/include/__cxx03/__algorithm/ranges_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_min.h
R libcxx/include/__cxx03/__algorithm/ranges_min_element.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
R libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
R libcxx/include/__cxx03/__algorithm/ranges_move.h
R libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_none_of.h
R libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
R libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_remove.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_sample.h
R libcxx/include/__cxx03/__algorithm/ranges_search.h
R libcxx/include/__cxx03/__algorithm/ranges_search_n.h
R libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
R libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_union.h
R libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
R libcxx/include/__cxx03/__algorithm/ranges_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
R libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
R libcxx/include/__cxx03/__algorithm/ranges_transform.h
R libcxx/include/__cxx03/__algorithm/ranges_unique.h
R libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
R libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
R libcxx/include/__cxx03/__algorithm/shift_left.h
R libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
R libcxx/include/__cxx03/__atomic/atomic_ref.h
R libcxx/include/__cxx03/__bit/bit_cast.h
R libcxx/include/__cxx03/__bit/bit_ceil.h
R libcxx/include/__cxx03/__bit/bit_floor.h
R libcxx/include/__cxx03/__bit/bit_log2.h
R libcxx/include/__cxx03/__bit/bit_width.h
R libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
R libcxx/include/__cxx03/__bit/endian.h
R libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
R libcxx/include/__cxx03/__charconv/chars_format.h
R libcxx/include/__cxx03/__charconv/from_chars_integral.h
R libcxx/include/__cxx03/__charconv/from_chars_result.h
R libcxx/include/__cxx03/__charconv/tables.h
R libcxx/include/__cxx03/__charconv/to_chars.h
R libcxx/include/__cxx03/__charconv/to_chars_base_10.h
R libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
R libcxx/include/__cxx03/__charconv/to_chars_integral.h
R libcxx/include/__cxx03/__charconv/to_chars_result.h
R libcxx/include/__cxx03/__charconv/traits.h
R libcxx/include/__cxx03/__chrono/calendar.h
R libcxx/include/__cxx03/__chrono/concepts.h
R libcxx/include/__cxx03/__chrono/convert_to_tm.h
R libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
R libcxx/include/__cxx03/__chrono/exception.h
R libcxx/include/__cxx03/__chrono/file_clock.h
R libcxx/include/__cxx03/__chrono/formatter.h
R libcxx/include/__cxx03/__chrono/hh_mm_ss.h
R libcxx/include/__cxx03/__chrono/leap_second.h
R libcxx/include/__cxx03/__chrono/literals.h
R libcxx/include/__cxx03/__chrono/local_info.h
R libcxx/include/__cxx03/__chrono/month.h
R libcxx/include/__cxx03/__chrono/month_weekday.h
R libcxx/include/__cxx03/__chrono/monthday.h
R libcxx/include/__cxx03/__chrono/ostream.h
R libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
R libcxx/include/__cxx03/__chrono/statically_widen.h
R libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/time_point.h
R libcxx/include/__cxx03/__chrono/time_zone.h
R libcxx/include/__cxx03/__chrono/time_zone_link.h
R libcxx/include/__cxx03/__chrono/tzdb.h
R libcxx/include/__cxx03/__chrono/tzdb_list.h
R libcxx/include/__cxx03/__chrono/weekday.h
R libcxx/include/__cxx03/__chrono/year.h
R libcxx/include/__cxx03/__chrono/year_month.h
R libcxx/include/__cxx03/__chrono/year_month_day.h
R libcxx/include/__cxx03/__chrono/year_month_weekday.h
R libcxx/include/__cxx03/__chrono/zoned_time.h
R libcxx/include/__cxx03/__compare/common_comparison_category.h
R libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_three_way.h
R libcxx/include/__cxx03/__compare/compare_three_way_result.h
R libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
R libcxx/include/__cxx03/__compare/is_eq.h
R libcxx/include/__cxx03/__compare/ordering.h
R libcxx/include/__cxx03/__compare/partial_order.h
R libcxx/include/__cxx03/__compare/strong_order.h
R libcxx/include/__cxx03/__compare/synth_three_way.h
R libcxx/include/__cxx03/__compare/three_way_comparable.h
R libcxx/include/__cxx03/__compare/weak_order.h
R libcxx/include/__cxx03/__concepts/arithmetic.h
R libcxx/include/__cxx03/__concepts/assignable.h
R libcxx/include/__cxx03/__concepts/boolean_testable.h
R libcxx/include/__cxx03/__concepts/class_or_enum.h
R libcxx/include/__cxx03/__concepts/common_reference_with.h
R libcxx/include/__cxx03/__concepts/common_with.h
R libcxx/include/__cxx03/__concepts/constructible.h
R libcxx/include/__cxx03/__concepts/convertible_to.h
R libcxx/include/__cxx03/__concepts/copyable.h
R libcxx/include/__cxx03/__concepts/derived_from.h
R libcxx/include/__cxx03/__concepts/destructible.h
R libcxx/include/__cxx03/__concepts/different_from.h
R libcxx/include/__cxx03/__concepts/equality_comparable.h
R libcxx/include/__cxx03/__concepts/invocable.h
R libcxx/include/__cxx03/__concepts/movable.h
R libcxx/include/__cxx03/__concepts/predicate.h
R libcxx/include/__cxx03/__concepts/regular.h
R libcxx/include/__cxx03/__concepts/relation.h
R libcxx/include/__cxx03/__concepts/same_as.h
R libcxx/include/__cxx03/__concepts/semiregular.h
R libcxx/include/__cxx03/__concepts/swappable.h
R libcxx/include/__cxx03/__concepts/totally_ordered.h
R libcxx/include/__cxx03/__coroutine/coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/coroutine_traits.h
R libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
R libcxx/include/__cxx03/__expected/bad_expected_access.h
R libcxx/include/__cxx03/__expected/expected.h
R libcxx/include/__cxx03/__expected/unexpect.h
R libcxx/include/__cxx03/__expected/unexpected.h
R libcxx/include/__cxx03/__filesystem/copy_options.h
R libcxx/include/__cxx03/__filesystem/directory_entry.h
R libcxx/include/__cxx03/__filesystem/directory_iterator.h
R libcxx/include/__cxx03/__filesystem/directory_options.h
R libcxx/include/__cxx03/__filesystem/file_status.h
R libcxx/include/__cxx03/__filesystem/file_time_type.h
R libcxx/include/__cxx03/__filesystem/file_type.h
R libcxx/include/__cxx03/__filesystem/filesystem_error.h
R libcxx/include/__cxx03/__filesystem/operations.h
R libcxx/include/__cxx03/__filesystem/path.h
R libcxx/include/__cxx03/__filesystem/path_iterator.h
R libcxx/include/__cxx03/__filesystem/perm_options.h
R libcxx/include/__cxx03/__filesystem/perms.h
R libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
R libcxx/include/__cxx03/__filesystem/space_info.h
R libcxx/include/__cxx03/__filesystem/u8path.h
R libcxx/include/__cxx03/__format/buffer.h
R libcxx/include/__cxx03/__format/concepts.h
R libcxx/include/__cxx03/__format/container_adaptor.h
R libcxx/include/__cxx03/__format/enable_insertable.h
R libcxx/include/__cxx03/__format/escaped_output_table.h
R libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
R libcxx/include/__cxx03/__format/format_arg.h
R libcxx/include/__cxx03/__format/format_arg_store.h
R libcxx/include/__cxx03/__format/format_args.h
R libcxx/include/__cxx03/__format/format_context.h
R libcxx/include/__cxx03/__format/format_error.h
R libcxx/include/__cxx03/__format/format_functions.h
R libcxx/include/__cxx03/__format/format_parse_context.h
R libcxx/include/__cxx03/__format/format_string.h
R libcxx/include/__cxx03/__format/format_to_n_result.h
R libcxx/include/__cxx03/__format/formatter.h
R libcxx/include/__cxx03/__format/formatter_bool.h
R libcxx/include/__cxx03/__format/formatter_char.h
R libcxx/include/__cxx03/__format/formatter_floating_point.h
R libcxx/include/__cxx03/__format/formatter_integer.h
R libcxx/include/__cxx03/__format/formatter_integral.h
R libcxx/include/__cxx03/__format/formatter_output.h
R libcxx/include/__cxx03/__format/formatter_pointer.h
R libcxx/include/__cxx03/__format/formatter_string.h
R libcxx/include/__cxx03/__format/formatter_tuple.h
R libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
R libcxx/include/__cxx03/__format/parser_std_format_spec.h
R libcxx/include/__cxx03/__format/range_default_formatter.h
R libcxx/include/__cxx03/__format/range_formatter.h
R libcxx/include/__cxx03/__format/unicode.h
R libcxx/include/__cxx03/__format/width_estimation_table.h
R libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/bind.h
R libcxx/include/__cxx03/__functional/bind_back.h
R libcxx/include/__cxx03/__functional/bind_front.h
R libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
R libcxx/include/__cxx03/__functional/compose.h
R libcxx/include/__cxx03/__functional/default_searcher.h
R libcxx/include/__cxx03/__functional/function.h
R libcxx/include/__cxx03/__functional/invoke.h
R libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
R libcxx/include/__cxx03/__functional/not_fn.h
R libcxx/include/__cxx03/__functional/perfect_forward.h
R libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
R libcxx/include/__cxx03/__fwd/format.h
R libcxx/include/__cxx03/__fwd/mdspan.h
R libcxx/include/__cxx03/__fwd/memory_resource.h
R libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/string.h
R libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
R libcxx/include/__cxx03/__iterator/common_iterator.h
R libcxx/include/__cxx03/__iterator/concepts.h
R libcxx/include/__cxx03/__iterator/counted_iterator.h
R libcxx/include/__cxx03/__iterator/data.h
R libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
R libcxx/include/__cxx03/__iterator/empty.h
R libcxx/include/__cxx03/__iterator/incrementable_traits.h
R libcxx/include/__cxx03/__iterator/indirectly_comparable.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
R libcxx/include/__cxx03/__iterator/iter_move.h
R libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
R libcxx/include/__cxx03/__iterator/iterator_with_data.h
R libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
R libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
R libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
R libcxx/include/__cxx03/__iterator/projected.h
R libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
R libcxx/include/__cxx03/__iterator/readable_traits.h
R libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
R libcxx/include/__cxx03/__iterator/size.h
R libcxx/include/__cxx03/__iterator/sortable.h
R libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
R libcxx/include/__cxx03/__math/special_functions.h
R libcxx/include/__cxx03/__mdspan/default_accessor.h
R libcxx/include/__cxx03/__mdspan/extents.h
R libcxx/include/__cxx03/__mdspan/layout_left.h
R libcxx/include/__cxx03/__mdspan/layout_right.h
R libcxx/include/__cxx03/__mdspan/layout_stride.h
R libcxx/include/__cxx03/__mdspan/mdspan.h
R libcxx/include/__cxx03/__memory/concepts.h
R libcxx/include/__cxx03/__memory/inout_ptr.h
R libcxx/include/__cxx03/__memory/out_ptr.h
R libcxx/include/__cxx03/__memory/ranges_construct_at.h
R libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
R libcxx/include/__cxx03/__memory/uses_allocator_construction.h
R libcxx/include/__cxx03/__memory_resource/memory_resource.h
R libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
R libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
R libcxx/include/__cxx03/__memory_resource/pool_options.h
R libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
R libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__cxx03/__mutex/once_flag.h
R libcxx/include/__cxx03/__node_handle
R libcxx/include/__cxx03/__numeric/exclusive_scan.h
R libcxx/include/__cxx03/__numeric/gcd_lcm.h
R libcxx/include/__cxx03/__numeric/inclusive_scan.h
R libcxx/include/__cxx03/__numeric/midpoint.h
R libcxx/include/__cxx03/__numeric/pstl.h
R libcxx/include/__cxx03/__numeric/reduce.h
R libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
R libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_reduce.h
R libcxx/include/__cxx03/__ostream/print.h
R libcxx/include/__cxx03/__pstl/backend.h
R libcxx/include/__cxx03/__pstl/backend_fwd.h
R libcxx/include/__cxx03/__pstl/backends/default.h
R libcxx/include/__cxx03/__pstl/backends/libdispatch.h
R libcxx/include/__cxx03/__pstl/backends/serial.h
R libcxx/include/__cxx03/__pstl/backends/std_thread.h
R libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
R libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
R libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
R libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
R libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
R libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
R libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
R libcxx/include/__cxx03/__pstl/dispatch.h
R libcxx/include/__cxx03/__pstl/handle_exception.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/seed_seq.h
R libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
R libcxx/include/__cxx03/__ranges/access.h
R libcxx/include/__cxx03/__ranges/all.h
R libcxx/include/__cxx03/__ranges/as_rvalue_view.h
R libcxx/include/__cxx03/__ranges/chunk_by_view.h
R libcxx/include/__cxx03/__ranges/common_view.h
R libcxx/include/__cxx03/__ranges/concepts.h
R libcxx/include/__cxx03/__ranges/container_compatible_range.h
R libcxx/include/__cxx03/__ranges/counted.h
R libcxx/include/__cxx03/__ranges/dangling.h
R libcxx/include/__cxx03/__ranges/data.h
R libcxx/include/__cxx03/__ranges/drop_view.h
R libcxx/include/__cxx03/__ranges/drop_while_view.h
R libcxx/include/__cxx03/__ranges/elements_view.h
R libcxx/include/__cxx03/__ranges/empty.h
R libcxx/include/__cxx03/__ranges/empty_view.h
R libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
R libcxx/include/__cxx03/__ranges/enable_view.h
R libcxx/include/__cxx03/__ranges/filter_view.h
R libcxx/include/__cxx03/__ranges/from_range.h
R libcxx/include/__cxx03/__ranges/iota_view.h
R libcxx/include/__cxx03/__ranges/istream_view.h
R libcxx/include/__cxx03/__ranges/join_view.h
R libcxx/include/__cxx03/__ranges/lazy_split_view.h
R libcxx/include/__cxx03/__ranges/movable_box.h
R libcxx/include/__cxx03/__ranges/non_propagating_cache.h
R libcxx/include/__cxx03/__ranges/owning_view.h
R libcxx/include/__cxx03/__ranges/range_adaptor.h
R libcxx/include/__cxx03/__ranges/rbegin.h
R libcxx/include/__cxx03/__ranges/ref_view.h
R libcxx/include/__cxx03/__ranges/rend.h
R libcxx/include/__cxx03/__ranges/repeat_view.h
R libcxx/include/__cxx03/__ranges/reverse_view.h
R libcxx/include/__cxx03/__ranges/single_view.h
R libcxx/include/__cxx03/__ranges/size.h
R libcxx/include/__cxx03/__ranges/split_view.h
R libcxx/include/__cxx03/__ranges/subrange.h
R libcxx/include/__cxx03/__ranges/take_view.h
R libcxx/include/__cxx03/__ranges/take_while_view.h
R libcxx/include/__cxx03/__ranges/to.h
R libcxx/include/__cxx03/__ranges/transform_view.h
R libcxx/include/__cxx03/__ranges/view_interface.h
R libcxx/include/__cxx03/__ranges/views.h
R libcxx/include/__cxx03/__ranges/zip_view.h
R libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
R libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
R libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
R libcxx/include/__cxx03/__stop_token/stop_callback.h
R libcxx/include/__cxx03/__stop_token/stop_source.h
R libcxx/include/__cxx03/__stop_token/stop_state.h
R libcxx/include/__cxx03/__stop_token/stop_token.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
R libcxx/include/__cxx03/__thread/formatter.h
M libcxx/include/__cxx03/__thread/id.h
R libcxx/include/__cxx03/__thread/jthread.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__tree
R libcxx/include/__cxx03/__tuple/ignore.h
R libcxx/include/__cxx03/__type_traits/common_reference.h
R libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
R libcxx/include/__cxx03/__type_traits/is_aggregate.h
R libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
M libcxx/include/__cxx03/__type_traits/result_of.h
R libcxx/include/__cxx03/__utility/as_const.h
R libcxx/include/__cxx03/__utility/cmp.h
M libcxx/include/__cxx03/__utility/exception_guard.h
R libcxx/include/__cxx03/__utility/exchange.h
R libcxx/include/__cxx03/__utility/forward_like.h
R libcxx/include/__cxx03/__utility/in_place.h
M libcxx/include/__cxx03/__utility/pair.h
R libcxx/include/__cxx03/__utility/to_underlying.h
M libcxx/include/__cxx03/algorithm
R libcxx/include/__cxx03/any
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
R libcxx/include/__cxx03/barrier
R libcxx/include/__cxx03/bit
M libcxx/include/__cxx03/bitset
R libcxx/include/__cxx03/charconv
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
R libcxx/include/__cxx03/compare
R libcxx/include/__cxx03/concepts
M libcxx/include/__cxx03/condition_variable
R libcxx/include/__cxx03/coroutine
M libcxx/include/__cxx03/deque
R libcxx/include/__cxx03/execution
R libcxx/include/__cxx03/expected
R libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
R libcxx/include/__cxx03/experimental/__simd/declaration.h
R libcxx/include/__cxx03/experimental/__simd/reference.h
R libcxx/include/__cxx03/experimental/__simd/scalar.h
R libcxx/include/__cxx03/experimental/__simd/simd.h
R libcxx/include/__cxx03/experimental/__simd/simd_mask.h
R libcxx/include/__cxx03/experimental/__simd/traits.h
R libcxx/include/__cxx03/experimental/__simd/utility.h
R libcxx/include/__cxx03/experimental/__simd/vec_ext.h
R libcxx/include/__cxx03/experimental/iterator
R libcxx/include/__cxx03/experimental/memory
R libcxx/include/__cxx03/experimental/propagate_const
R libcxx/include/__cxx03/experimental/simd
R libcxx/include/__cxx03/experimental/type_traits
M libcxx/include/__cxx03/experimental/utility
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
R libcxx/include/__cxx03/filesystem
R libcxx/include/__cxx03/format
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
R libcxx/include/__cxx03/initializer_list
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
R libcxx/include/__cxx03/latch
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
R libcxx/include/__cxx03/mdspan
M libcxx/include/__cxx03/memory
R libcxx/include/__cxx03/memory_resource
M libcxx/include/__cxx03/mutex
R libcxx/include/__cxx03/numbers
M libcxx/include/__cxx03/numeric
R libcxx/include/__cxx03/optional
M libcxx/include/__cxx03/ostream
R libcxx/include/__cxx03/print
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
R libcxx/include/__cxx03/ranges
M libcxx/include/__cxx03/regex
R libcxx/include/__cxx03/scoped_allocator
R libcxx/include/__cxx03/semaphore
M libcxx/include/__cxx03/set
R libcxx/include/__cxx03/shared_mutex
R libcxx/include/__cxx03/source_location
R libcxx/include/__cxx03/span
M libcxx/include/__cxx03/stack
R libcxx/include/__cxx03/stop_token
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
R libcxx/include/__cxx03/syncstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/thread
R libcxx/include/__cxx03/tuple
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
R libcxx/include/__cxx03/variant
M libcxx/include/__cxx03/vector
A libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
A libcxx/include/__flat_set/utils.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/container_adaptor.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/format_parse_context.h
M libcxx/include/__format/format_string.h
M libcxx/include/__format/format_to_n_result.h
M libcxx/include/__format/formatter.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integer.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__format/formatter_tuple.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__functional/binary_function.h
M libcxx/include/__functional/binary_negate.h
M libcxx/include/__functional/binder1st.h
M libcxx/include/__functional/binder2nd.h
M libcxx/include/__functional/boyer_moore_searcher.h
M libcxx/include/__functional/default_searcher.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/mem_fun_ref.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/pointer_to_binary_function.h
M libcxx/include/__functional/pointer_to_unary_function.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/unary_function.h
M libcxx/include/__functional/unary_negate.h
M libcxx/include/__fwd/array.h
M libcxx/include/__fwd/complex.h
M libcxx/include/__fwd/deque.h
M libcxx/include/__fwd/format.h
M libcxx/include/__fwd/fstream.h
M libcxx/include/__fwd/functional.h
M libcxx/include/__fwd/ios.h
M libcxx/include/__fwd/istream.h
M libcxx/include/__fwd/map.h
M libcxx/include/__fwd/memory.h
M libcxx/include/__fwd/memory_resource.h
M libcxx/include/__fwd/ostream.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/queue.h
M libcxx/include/__fwd/set.h
M libcxx/include/__fwd/sstream.h
M libcxx/include/__fwd/stack.h
M libcxx/include/__fwd/streambuf.h
M libcxx/include/__fwd/string.h
M libcxx/include/__fwd/string_view.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__fwd/variant.h
M libcxx/include/__fwd/vector.h
M libcxx/include/__hash_table
M libcxx/include/__ios/fpos.h
M libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iterator.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale
A libcxx/include/__mdspan/aligned_accessor.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/auto_ptr.h
M libcxx/include/__memory/inout_ptr.h
A libcxx/include/__memory/is_sufficiently_aligned.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/lock_guard.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__node_handle
A libcxx/include/__numeric/ranges_iota.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__random/bernoulli_distribution.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/cauchy_distribution.h
M libcxx/include/__random/chi_squared_distribution.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/exponential_distribution.h
M libcxx/include/__random/extreme_value_distribution.h
M libcxx/include/__random/fisher_f_distribution.h
M libcxx/include/__random/gamma_distribution.h
M libcxx/include/__random/geometric_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__random/lognormal_distribution.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__random/normal_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/poisson_distribution.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/student_t_distribution.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_real_distribution.h
M libcxx/include/__random/weibull_distribution.h
M libcxx/include/__ranges/non_propagating_cache.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__stop_token/atomic_unique_lock.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/alignment_of.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/conditional.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/dependent_type.h
M libcxx/include/__type_traits/enable_if.h
M libcxx/include/__type_traits/extent.h
M libcxx/include/__type_traits/has_unique_object_representation.h
M libcxx/include/__type_traits/has_virtual_destructor.h
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_abstract.h
M libcxx/include/__type_traits/is_aggregate.h
M libcxx/include/__type_traits/is_arithmetic.h
M libcxx/include/__type_traits/is_array.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_base_of.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_char_like_type.h
M libcxx/include/__type_traits/is_class.h
M libcxx/include/__type_traits/is_compound.h
M libcxx/include/__type_traits/is_const.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/include/__type_traits/is_destructible.h
M libcxx/include/__type_traits/is_empty.h
M libcxx/include/__type_traits/is_enum.h
M libcxx/include/__type_traits/is_final.h
M libcxx/include/__type_traits/is_floating_point.h
M libcxx/include/__type_traits/is_function.h
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_implicit_lifetime.h
M libcxx/include/__type_traits/is_integral.h
M libcxx/include/__type_traits/is_literal_type.h
M libcxx/include/__type_traits/is_member_pointer.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_null_pointer.h
M libcxx/include/__type_traits/is_object.h
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_polymorphic.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_reference_wrapper.h
M libcxx/include/__type_traits/is_same.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__type_traits/is_signed.h
M libcxx/include/__type_traits/is_signed_integer.h
M libcxx/include/__type_traits/is_standard_layout.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__type_traits/is_trivially_destructible.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__type_traits/is_union.h
M libcxx/include/__type_traits/is_unsigned.h
M libcxx/include/__type_traits/is_unsigned_integer.h
M libcxx/include/__type_traits/is_void.h
M libcxx/include/__type_traits/is_volatile.h
M libcxx/include/__type_traits/rank.h
M libcxx/include/__type_traits/reference_constructs_from_temporary.h
M libcxx/include/__type_traits/reference_converts_from_temporary.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_const.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/remove_volatile.h
M libcxx/include/__type_traits/result_of.h
M libcxx/include/__type_traits/underlying_type.h
M libcxx/include/__utility/convert_to_integral.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/piecewise_construct.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/__vector/vector_bool_formatter.h
M libcxx/include/__verbose_abort
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/charconv
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/deque
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/__hash
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/filesystem
M libcxx/include/flat_set
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/istream
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap
M libcxx/include/mutex
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/version
M libcxx/modules/std/algorithm.inc
M libcxx/modules/std/flat_set.inc
M libcxx/modules/std/mdspan.inc
M libcxx/modules/std/memory.inc
M libcxx/modules/std/numeric.inc
M libcxx/src/filesystem/path_parser.h
M libcxx/src/verbose_abort.cpp
A libcxx/test/benchmarks/locale/num_put.bench.cpp
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
M libcxx/test/libcxx/clang_tidy.gen.py
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/iterator.compile.pass.cpp
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/byte_alignment.verify.cpp
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/element_type.verify.cpp
A libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
M libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
M libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp
A libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp
M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/types.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
A libcxx/test/std/containers/container.adaptors/flat_helpers.h
A libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/types.pass.cpp
M libcxx/test/std/depr/depr.c.headers/stddef_h.compile.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/language.support/support.types/byte.pass.cpp
M libcxx/test/std/language.support/support.types/max_align_t.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/types.compile.pass.cpp
A libcxx/test/std/utilities/memory/ptr.align/is_sufficiently_aligned.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.deprecated.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
M libcxx/test/support/nasty_string.h
M libcxx/test/support/test_iterators.h
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.hpp
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/modules.py
M libcxx/utils/libcxx/test/params.py
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M libcxxabi/test/uncaught_exception.pass.cpp
M libunwind/docs/BuildingLibunwind.rst
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputFiles.h
M lld/MachO/OutputSegment.cpp
M lld/MinGW/Driver.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/arm64ec-x86-sec.yaml
A lld/test/COFF/arm64x-map.s
A lld/test/COFF/export-alias.test
A lld/test/COFF/imports-static-lib-indirect.test
A lld/test/COFF/imports-static-lib.test
R lld/test/COFF/undefined_lazy.test
A lld/test/ELF/aarch64-execute-only-mixed.s
A lld/test/ELF/aarch64-execute-only-plt.s
M lld/test/ELF/aarch64-execute-only.s
M lld/test/ELF/aarch64-gnu-ifunc-plt.s
M lld/test/ELF/aarch64-plt.s
A lld/test/ELF/arm-execute-only-mixed.s
M lld/test/ELF/arm-execute-only.s
A lld/test/ELF/loongarch-relax-tls-ie.s
M lld/test/ELF/loongarch-tls-ie.s
A lld/test/MachO/archive-no-index.ll
A lld/test/MachO/archive-no-index.s
M lld/test/MachO/arm64-objc-stubs.s
R lld/test/MachO/invalid/archive-no-index.s
A lld/test/MachO/tapi-rpath.s
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/API/SBReproducer.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/Host/ProcessRunLock.h
M lldb/include/lldb/Initialization/SystemLifetimeManager.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/LLDBAssert.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
R lldb/scripts/reproducer-replay.py
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBReproducer.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Host/common/ProcessRunLock.cpp
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Initialization/SystemLifetimeManager.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/ObjC/NSString.cpp
M lldb/source/Plugins/Language/ObjC/NSString.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/Language.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp
M lldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
A lldb/test/API/lang/objc/foundation/tagged/strings/Makefile
A lldb/test/API/lang/objc/foundation/tagged/strings/TestObjCTaggedStrings.py
A lldb/test/API/lang/objc/foundation/tagged/strings/main.m
A lldb/test/API/python_api/target/read-instructions-flavor/Makefile
A lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
A lldb/test/API/python_api/target/read-instructions-flavor/main.c
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
A lldb/test/API/tools/lldb-dap/cancel/Makefile
A lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
A lldb/test/API/tools/lldb-dap/cancel/main.c
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
M lldb/test/Shell/Settings/TestFrameFormatName.test
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/Handler/CancelRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
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/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-server/lldb-server.cpp
M lldb/tools/lldb-test/SystemInitializerTest.cpp
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/DebuggerTest.cpp
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Interpreter/TestCommandPaths.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
M lldb/unittests/Language/ObjC/ObjCLanguageTest.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
M lldb/unittests/Process/ProcessEventDataTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
M lldb/unittests/Symbol/UnwindPlanTest.cpp
M lldb/unittests/Target/ExecutionContextTest.cpp
M lldb/unittests/Target/MemoryTest.cpp
M lldb/unittests/Target/StackFrameRecognizerTest.cpp
M lldb/unittests/Thread/ThreadTest.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
M llvm/Maintainers.md
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
M llvm/cmake/modules/TableGen.cmake
M llvm/docs/CMake.rst
M llvm/docs/CodeOfConduct.rst
M llvm/docs/CommandGuide/llc.rst
M llvm/docs/GitHub.rst
A llvm/docs/InterfaceExportAnnotations.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/CFG.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/Bitcode/BitcodeConvenience.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
A llvm/include/llvm/CodeGen/BranchRelaxation.h
A llvm/include/llvm/CodeGen/CFIInstBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineBlockPlacement.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
A llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
A llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
A llvm/include/llvm/CodeGen/SDNodeInfo.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
A llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
A llvm/include/llvm/CodeGen/StackFrameLayoutAnalysisPass.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/MicrosoftDemangle.h
M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
M llvm/include/llvm/Frontend/Atomic/Atomic.h
A llvm/include/llvm/Frontend/HLSL/CBuffer.h
M llvm/include/llvm/Frontend/OpenACC/ACC.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.h
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Commit: d21a360a969def1e4bf4541f215dd9ca041205f7
https://github.com/llvm/llvm-project/commit/d21a360a969def1e4bf4541f215dd9ca041205f7
Author: Florian Mayer <fmayer at google.com>
Date: 2025-04-17 (Thu, 17 Apr 2025)
Changed paths:
M .ci/generate_test_report_lib.py
M .ci/generate_test_report_lib_test.py
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
A .clang-format-ignore
M .github/new-prs-labeler.yml
M .github/workflows/ci-post-commit-analyzer.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/premerge.yaml
M .github/workflows/spirv-tests.yml
M .mailmap
M bolt/CMakeLists.txt
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/runtime/CMakeLists.txt
M bolt/runtime/common.h
M bolt/runtime/hugify.cpp
M bolt/runtime/instr.cpp
A bolt/runtime/sys_riscv64.h
A bolt/test/AArch64/validate-secondary-entry-point.s
A bolt/test/RISCV/validate-secondary-entry-point.s
M bolt/test/X86/callcont-fallthru.s
M bolt/test/X86/split-func-jump-table-fragment-bidirection.s
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/test/link_fdata.py
A bolt/test/runtime/Inputs/user_func_order.txt
A bolt/test/runtime/RISCV/basic-instrumentation.s
A bolt/test/runtime/RISCV/instrumentation-ind-call.c
A bolt/test/runtime/RISCV/lit.local.cfg
R bolt/test/runtime/X86/Inputs/user_func_order.txt
R bolt/test/runtime/X86/hugify.c
R bolt/test/runtime/X86/user-func-reorder.c
A bolt/test/runtime/hugify.c
A bolt/test/runtime/relative-vftable.cpp
A bolt/test/runtime/user-func-reorder.c
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Mapper.cpp
A clang-tools-extra/clang-doc/support/CMakeLists.txt
A clang-tools-extra/clang-doc/support/File.cpp
A clang-tools-extra/clang-doc/support/File.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnintendedCharOstreamOutputCheck.h
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/readability/StaticAccessedThroughInstanceCheck.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.cpp
M clang-tools-extra/clang-tidy/utils/Matchers.h
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/test/CMakeLists.txt
M clang-tools-extra/clangd/test/lit.site.cfg.py.in
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/pp-trace/PPCallbacksTracker.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Calculator.h
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/swapped-arguments.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-allowed-types.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output-cast-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unintended-char-ostream-output.cpp
M clang-tools-extra/test/clang-tidy/checkers/cert/err33-c.c
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-algorithm.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/trivially-destructible.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/type-promotion-in-math-fn.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/delete-null-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/else-after-return-no-warn.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-hungarian-notation-lower-case-prefix.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-outofline.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration-cxx17.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/isolate-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration-ignore-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/HLSL.cmake
M clang/docs/ClangFormat.rst
M clang/docs/ClangOffloadPackager.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/ControlFlowIntegrity.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/PointerAuthentication.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/DeclarationName.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/PrettyPrinter.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/SYCLKernelInfo.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchersInternal.h
M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
A clang/include/clang/Analysis/Support/FixitUtil.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/include/clang/Basic/BuiltinsDirectX.td
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Basic/DiagnosticSerializationKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileEntry.h
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
A clang/include/clang/CIR/ABIArgInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Dialect/IR/CIRTypesDetails.h
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Driver/Types.def
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Lex/ModuleLoader.h
M clang/include/clang/Lex/PPCallbacks.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/LoopHint.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCodeCompletion.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/FunctionPointer.cpp
M clang/lib/AST/ByteCode/FunctionPointer.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclOpenACC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/CMakeLists.txt
A clang/lib/Analysis/FixitUtil.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
A clang/lib/CIR/CodeGen/ABIInfo.h
A clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenDeclOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
A clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
A clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
A clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/lib/CIR/CodeGen/TargetInfo.cpp
A clang/lib/CIR/CodeGen/TargetInfo.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
A clang/lib/CodeGen/CodeGenSYCL.cpp
M clang/lib/CodeGen/CodeGenTypes.h
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M clang/lib/Driver/ToolChains/ROCm.h
M clang/lib/Format/BreakableToken.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/WhitespaceManager.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/amxcomplexintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPExpressions.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Lex/Pragma.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
A clang/lib/Sema/SemaDirectX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaSwift.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/c2y.c
M clang/test/AST/ByteCode/codegen.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/cxx23.cpp
A clang/test/AST/ByteCode/libcxx/minmax.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/ByteCode/pointer-to-fnptr.cpp
A clang/test/AST/ByteCode/typeid.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/OutArgExpr.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/pch_with_buf.hlsl
A clang/test/AST/HLSL/private.hlsl
M clang/test/AST/ast-dump-APValue-lvalue.cpp
R clang/test/AST/ast-dump-APValue-todo.cpp
M clang/test/AST/ast-dump-array.cpp
M clang/test/AST/ast-dump-ptrauth-json.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-init-construct.cpp
M clang/test/AST/ast-print-openacc-loop-construct.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/AST/ast-print-openacc-set-construct.cpp
M clang/test/AST/ast-print-openacc-shutdown-construct.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor-templates.cpp
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
M clang/test/Analysis/anonymous-decls.cpp
A clang/test/Analysis/castsize.c
M clang/test/C/C11/n1285.c
A clang/test/C/C11/n1285_1.c
M clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3369_3.c
M clang/test/C/drs/dr0xx.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/binassign.c
A clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/cmp.cpp
A clang/test/CIR/CodeGen/comma.c
A clang/test/CIR/CodeGen/if-consteval.cpp
A clang/test/CIR/CodeGen/if.cpp
A clang/test/CIR/CodeGen/nullptr-init.cpp
A clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/struct.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/CodeGen/union.c
A clang/test/CIR/CodeGenOpenACC/data.c
A clang/test/CIR/CodeGenOpenACC/init.c
A clang/test/CIR/CodeGenOpenACC/kernels.c
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented-global.cpp
A clang/test/CIR/CodeGenOpenACC/openacc-not-implemented.cpp
A clang/test/CIR/CodeGenOpenACC/parallel.c
A clang/test/CIR/CodeGenOpenACC/serial.c
A clang/test/CIR/CodeGenOpenACC/set.c
A clang/test/CIR/CodeGenOpenACC/shutdown.c
A clang/test/CIR/IR/binassign.cir
A clang/test/CIR/IR/call.cir
A clang/test/CIR/IR/cmp.cir
A clang/test/CIR/IR/invalid-call.cir
A clang/test/CIR/IR/struct.cir
M clang/test/CIR/Lowering/array.cpp
A clang/test/CIR/Lowering/if.cir
A clang/test/CIR/Transforms/if.cir
M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
M clang/test/CXX/class.derived/class.derived.general/p2.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/temp/temp.decls/temp.class.spec/p6.cpp
M clang/test/CXX/temp/temp.decls/temp.mem/p5.cpp
M clang/test/ClangScanDeps/modules-relocated-mm-macro.c
M clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
M clang/test/CodeCompletion/member-access.c
M clang/test/CodeCompletion/member-access.cpp
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_tmop.c
M clang/test/CodeGen/AArch64/sve-acle-__ARM_FEATURE_SVE_VECTOR_OPERATORS.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_expa.c
M clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_rdffr.c
A clang/test/CodeGen/AArch64/ubsan-handler-pass-by-ref.c
A clang/test/CodeGen/Inputs/cuda.h
A clang/test/CodeGen/SystemZ/Float16.c
M clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector5.c
A clang/test/CodeGen/SystemZ/fp16.c
M clang/test/CodeGen/SystemZ/strictfp_builtins.c
M clang/test/CodeGen/SystemZ/systemz-abi-vector.c
M clang/test/CodeGen/SystemZ/systemz-abi.c
M clang/test/CodeGen/SystemZ/systemz-inline-asm.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/arm-target-features.c
A clang/test/CodeGen/atomic-ops-load.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-target-x86.c
A clang/test/CodeGen/builtin-maxnum-minnum.c
M clang/test/CodeGen/builtins-nvptx-native-half-type.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/catch-alignment-assumption-array.c
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-lvalue.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-align_value-on-paramvar.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-alloc_align-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-attribute-assume_aligned-on-function.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-polymorphism.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-three-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-builtin_assume_aligned-two-params.cpp
M clang/test/CodeGen/catch-alignment-assumption-openmp.cpp
M clang/test/CodeGen/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.c
A clang/test/CodeGen/cfi-check-fail-nomerge.c
A clang/test/CodeGen/cfi-check-fail2-nomerge.c
R clang/test/CodeGen/include/cuda.h
A clang/test/CodeGen/invalid_llvm_ir.ll
M clang/test/CodeGen/nvptx-surface.cu
M clang/test/CodeGen/pointer-overflow.c
M clang/test/CodeGen/pragma-fenv_access.c
A clang/test/CodeGen/ptrauth-debuginfo.c
A clang/test/CodeGen/ptrauth-qualifier-const-init.c
A clang/test/CodeGen/ptrauth-qualifier-function.c
A clang/test/CodeGen/ptrauth-qualifier-loadstore.c
A clang/test/CodeGen/ubsan-attr.cpp
A clang/test/CodeGen/unique-source-file-names.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenCUDA/offloading-entries.cu
A clang/test/CodeGenCXX/Inputs/std-coroutine.h
A clang/test/CodeGenCXX/bug135668.cpp
M clang/test/CodeGenCXX/catch-nullptr-and-nonzero-offset-in-offsetof-idiom.cpp
A clang/test/CodeGenCXX/cfi-mfcall-nomerge.cpp
A clang/test/CodeGenCXX/debug-info-dtor-implicit-args.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
A clang/test/CodeGenCXX/local-class-instantiation.cpp
A clang/test/CodeGenCXX/mangle-itanium-ptrauth.cpp
A clang/test/CodeGenCXX/mangle-ms-ptrauth.cpp
M clang/test/CodeGenCXX/mangle-template.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/pointers-to-data-members.cpp
A clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/sections.cpp
A clang/test/CodeGenCXX/type-aware-allocators.cpp
A clang/test/CodeGenCXX/type-aware-coroutines.cpp
A clang/test/CodeGenCXX/type-aware-new-constexpr.cpp
A clang/test/CodeGenCXX/type-aware-placement-operators.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenCoroutines/coro-alloc-2.cpp
A clang/test/CodeGenCoroutines/pr134409.cpp
A clang/test/CodeGenDirectX/Builtins/dot2add.c
A clang/test/CodeGenHLSL/BasicFeatures/frem_modulo.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/GlobalConstructors.hlsl
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/AppendStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ConsumeStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-subscript.hlsl
M clang/test/CodeGenHLSL/builtins/RWStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/RasterizerOrderedStructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-subscripts.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/CodeGenHLSL/builtins/dst.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
A clang/test/CodeGenHLSL/builtins/lit.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_align.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
A clang/test/CodeGenHLSL/enable-16bit-types.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
A clang/test/CodeGenHLSL/out-of-line-static.hlsl
A clang/test/CodeGenHLSL/res-may-alias.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
A clang/test/CodeGenHLSL/static-variable.hlsl
A clang/test/CodeGenHipStdPar/rdc-does-not-enable-hipstdpar.cpp
A clang/test/CodeGenHipStdPar/select-accelerator-code-pass-ordering.cpp
M clang/test/CodeGenObjC/property-array-type.m
A clang/test/CodeGenObjCXX/ptrauth-struct-cxx-abi.mm
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-coerce.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/amdgpu-printf.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raytracing.cl
M clang/test/CodeGenOpenCL/cl-uniform-wg-size.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue-attributes.cl
M clang/test/CodeGenOpenCL/cl20-device-side-enqueue.cl
M clang/test/CodeGenOpenCL/enqueue-kernel-non-entry-block.cl
M clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
M clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
M clang/test/CodeGenOpenCL/kernel-arg-info.cl
A clang/test/CodeGenOpenCL/opencl-kernel-call.cl
M clang/test/CodeGenOpenCL/reflect.cl
M clang/test/CodeGenOpenCL/sampler.cl
M clang/test/CodeGenOpenCL/spir-calling-conv.cl
M clang/test/CodeGenOpenCL/spir32_target.cl
M clang/test/CodeGenOpenCL/spir64_target.cl
M clang/test/CodeGenOpenCL/spirv_target.cl
M clang/test/CodeGenOpenCL/visibility.cl
M clang/test/CodeGenOpenCLCXX/addrspace-of-this.clcpp
A clang/test/CodeGenSYCL/kernel-caller-entry-point.cpp
M clang/test/Driver/HLSL/metal-converter.hlsl
A clang/test/Driver/arm-fpu-selection.s
A clang/test/Driver/armv7-default-neon.s
A clang/test/Driver/armv7s-default-vfpv4.s
M clang/test/Driver/armv8.1m.main.s
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/dxc_D.hlsl
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/dxc_options.hlsl
M clang/test/Driver/extend-variable-liveness.c
M clang/test/Driver/fortran.f95
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-sanitize-options.hip
A clang/test/Driver/hip-thinlto.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/hlsl-lang-targets.hlsl
M clang/test/Driver/linker-wrapper-image.c
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/mips-abi.c
A clang/test/Driver/openacc-no-cir.c
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/print-supported-extensions-arm.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/sanitizer-ld.c
M clang/test/Driver/systemz-march.c
A clang/test/Driver/unique-source-file-names.c
M clang/test/Driver/x86-target-features.c
A clang/test/FixIt/fixit-bool.cpp
M clang/test/Frontend/amdgcn-machine-analysis-remarks.cl
A clang/test/Frontend/dump-minimization-hints.cpp
M clang/test/Headers/__clang_hip_cmath.hip
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Import/pack-expansion-expr/test.cpp
A clang/test/Index/single-file-parse-include-macro.c
A clang/test/Index/single-file-parse-undefined-function-like-macro.c
M clang/test/Interpreter/inline-virtual.cpp
M clang/test/Misc/target-invalid-cpu-note/systemz.c
A clang/test/Modules/fmodule-file-mismatch.cppm
A clang/test/Modules/macro-identifier-hiding.c
M clang/test/Modules/new-delete.cpp
M clang/test/Modules/odr_hash.cpp
A clang/test/Modules/relocatable-modules.cpp
M clang/test/Modules/safe_buffers_optout.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/declare_variant_messages.c
M clang/test/OpenMP/declare_variant_messages.cpp
M clang/test/OpenMP/distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/distribute_simd_linear_messages.cpp
M clang/test/OpenMP/for_linear_messages.cpp
M clang/test/OpenMP/for_simd_linear_messages.cpp
M clang/test/OpenMP/for_simd_misc_messages.c
M clang/test/OpenMP/masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_for_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_for_simd_misc_messages.c
M clang/test/OpenMP/parallel_masked_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/parallel_master_taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/simd_linear_messages.cpp
M clang/test/OpenMP/simd_misc_messages.c
M clang/test/OpenMP/target_parallel_for_linear_messages.cpp
M clang/test/OpenMP/target_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_simd_linear_messages.cpp
M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/target_teams_distribute_simd_linear_messages.cpp
M clang/test/OpenMP/task_affinity_messages.cpp
M clang/test/OpenMP/task_depend_messages.cpp
M clang/test/OpenMP/taskloop_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_parallel_for_simd_linear_messages.cpp
M clang/test/OpenMP/teams_distribute_simd_linear_messages.cpp
M clang/test/Parser/cxx1z-class-template-argument-deduction.cpp
A clang/test/Parser/ptrauth-qualifier.c
M clang/test/ParserHLSL/cb_error.hlsl
M clang/test/ParserHLSL/hlsl_is_rov_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_raw_buffer_attr_error.hlsl
M clang/test/ParserHLSL/hlsl_resource_class_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserHLSL/invalid_inside_cb.hlsl
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/Preprocessor/arm-target-features.c
A clang/test/Preprocessor/constants.c
A clang/test/Preprocessor/embed-reject-device-files-lin.c
A clang/test/Preprocessor/embed-reject-device-files-win.c
M clang/test/Preprocessor/embed___has_embed.c
M clang/test/Preprocessor/embed_parameter_unrecognized.c
M clang/test/Preprocessor/embed_weird.cpp
M clang/test/Preprocessor/has_attribute.c
M clang/test/Preprocessor/has_attribute.cpp
M clang/test/Preprocessor/has_c_attribute.c
M clang/test/Preprocessor/has_include.c
A clang/test/Preprocessor/pr133574.c
M clang/test/Preprocessor/predefined-arch-macros.c
A clang/test/Preprocessor/ptrauth_extension.c
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
A clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_tmop.cpp
M clang/test/Sema/attr-capabilities.c
A clang/test/Sema/attr-decl-after-definition-std.c
A clang/test/Sema/attr-musttail.cpp
M clang/test/Sema/code_align.c
A clang/test/Sema/complex-div-warn-higher-precision.cpp
M clang/test/Sema/incomplete-decl.c
A clang/test/Sema/main-no-return-c89-1.c
A clang/test/Sema/main-no-return-c89-2.c
A clang/test/Sema/main-no-return-c89-3.c
A clang/test/Sema/ptrauth-atomic-ops.c
A clang/test/Sema/ptrauth-qualifier.c
M clang/test/Sema/tentative-decls.c
A clang/test/Sema/warn-cast-function-type-win.c
M clang/test/Sema/warn-int-in-bool-context.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/align_value.cpp
M clang/test/SemaCXX/alloc-align-attr.cpp
M clang/test/SemaCXX/attr-lifetime-capture-by.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
A clang/test/SemaCXX/bug135668.cpp
M clang/test/SemaCXX/builtin-assume-aligned-tmpl.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx2a-destroying-delete.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/cxx2c-binding-pack-nontemplate.cpp
M clang/test/SemaCXX/cxx2c-delete-with-message.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/delete.cpp
R clang/test/SemaCXX/gh134265.cpp
M clang/test/SemaCXX/new-delete.cpp
A clang/test/SemaCXX/ptrauth-qualifier.cpp
A clang/test/SemaCXX/ptrauth-template-parameters.cpp
A clang/test/SemaCXX/type-aware-class-scoped-mismatched-constraints.cpp
A clang/test/SemaCXX/type-aware-coroutines.cpp
A clang/test/SemaCXX/type-aware-new-constexpr.cpp
A clang/test/SemaCXX/type-aware-new-delete-arrays.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-free-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-in-class-declarations.cpp
A clang/test/SemaCXX/type-aware-new-delete-basic-resolution.cpp
A clang/test/SemaCXX/type-aware-new-delete-qualifiers.cpp
A clang/test/SemaCXX/type-aware-new-invalid-type-identity.cpp
A clang/test/SemaCXX/type-aware-placement-operators.cpp
M clang/test/SemaCXX/undefined-partial-specialization.cpp
M clang/test/SemaCXX/warn-dangling-local.cpp
A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
A clang/test/SemaCXX/windows-Wpadded.cpp
A clang/test/SemaHIP/amdgpu-builtin-in-lambda-with-unsupported-attribute.hip
A clang/test/SemaHIP/amdgpu-builtin-in-lambda.hip
M clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaHLSL/BuiltIns/asuint-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/hlsl_resource_t.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/splitdouble-errors.hlsl
M clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
A clang/test/SemaHLSL/Language/ImpCastAddrSpace.hlsl
M clang/test/SemaHLSL/Language/OutputParameters.hlsl
A clang/test/SemaHLSL/Operators/frem_modulo-errors.hlsl
M clang/test/SemaHLSL/cb_error.hlsl
M clang/test/SemaHLSL/export.hlsl
M clang/test/SemaHLSL/packoffset-invalid.hlsl
M clang/test/SemaHLSL/parameter_modifiers.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_basic.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_resource.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_silence_diags.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_space.hlsl
M clang/test/SemaHLSL/resource_binding_attr_error_udt.hlsl
A clang/test/SemaHLSL/resource_binding_implicit.hlsl
A clang/test/SemaObjC/ptrauth-qualifier.m
M clang/test/SemaOpenACC/combined-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/data-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/data-construct-device_type-clause.c
A clang/test/SemaOpenACC/device_type_valid_values.c
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-ast.cpp
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/set-construct-ast.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
M clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
M clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M clang/test/SemaOpenCL/cl20-device-side-enqueue.cl
M clang/test/SemaOpenCL/to_addr_builtin.cl
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/dependent-names.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/elaborated-type-specifier.cpp
M clang/test/SemaTemplate/instantiate-expanded-type-constraint.cpp
M clang/test/SemaTemplate/instantiate-local-class.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/partial-order.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/trailing-return-short-circuit.cpp
M clang/test/SemaTemplate/type_pack_element.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M clang/tools/CMakeLists.txt
R clang/tools/amdgpu-arch/AMDGPUArch.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
R clang/tools/amdgpu-arch/AMDGPUArchByKFD.cpp
R clang/tools/amdgpu-arch/CMakeLists.txt
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-format/clang-format-diff.py
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/driver/cc1as_main.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/libclang.map
R clang/tools/nvptx-arch/CMakeLists.txt
R clang/tools/nvptx-arch/NVPTXArch.cpp
A clang/tools/offload-arch/AMDGPUArchByHIP.cpp
A clang/tools/offload-arch/AMDGPUArchByKFD.cpp
A clang/tools/offload-arch/CMakeLists.txt
A clang/tools/offload-arch/NVPTXArch.cpp
A clang/tools/offload-arch/OffloadArch.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/BitcastBuffer.cpp
M clang/unittests/AST/ByteCode/toAPValue.cpp
M clang/unittests/AST/TypePrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTest.h
M clang/unittests/Format/CleanupTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
M clang/unittests/Format/FormatTestTableGen.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/cmake/config-ix.cmake
M compiler-rt/lib/asan/asan_errors.cpp
M compiler-rt/lib/asan/asan_fake_stack.cpp
M compiler-rt/lib/asan/asan_flags.inc
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_malloc_linux.cpp
M compiler-rt/lib/asan/asan_poisoning.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_posix.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/clear_cache.c
A compiler-rt/lib/builtins/extendhfdf2.c
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
M compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/lib/interception/interception.h
M compiler-rt/lib/interception/interception_linux.cpp
M compiler-rt/lib/interception/interception_linux.h
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/msan/msan.cpp
M compiler-rt/lib/orc/error.h
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_errno.h
M compiler-rt/lib/sanitizer_common/sanitizer_errno_codes.h
A compiler-rt/lib/sanitizer_common/sanitizer_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_linux.h
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_mac.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h
A compiler-rt/lib/sanitizer_common/sanitizer_procmaps_haiku.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_platform.h
M compiler-rt/test/asan/TestCases/Linux/asan_rt_confict_test-2.cpp
M compiler-rt/test/asan/TestCases/Posix/mmap_limit_mb.cpp
A compiler-rt/test/asan/TestCases/asan_lsan_deadlock.cpp
A compiler-rt/test/asan/TestCases/fakeframe-right-redzone.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size-partial-granule.cpp
A compiler-rt/test/asan/TestCases/use-after-poison-history-size.cpp
M compiler-rt/test/builtins/CMakeLists.txt
M compiler-rt/test/builtins/Unit/addtf3_test.c
A compiler-rt/test/builtins/Unit/extendhfdf2_test.c
A compiler-rt/test/ctx_profile/TestCases/autodetect-roots.cpp
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/hwasan/TestCases/Linux/release-shadow.c
M compiler-rt/test/hwasan/TestCases/heap-buffer-overflow.c
M compiler-rt/test/hwasan/TestCases/tag-mismatch-border-address.c
M compiler-rt/test/sanitizer_common/android_commands/android_compile.py
M compiler-rt/test/sanitizer_common/android_commands/android_run.py
M compiler-rt/test/ubsan/TestCases/Integer/bit-int.c
M flang-rt/include/flang-rt/runtime/allocator-registry.h
M flang-rt/include/flang-rt/runtime/connection.h
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/include/flang-rt/runtime/reduction-templates.h
M flang-rt/include/flang-rt/runtime/terminator.h
M flang-rt/lib/cuda/allocatable.cpp
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/cuda/kernel.cpp
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/array-constructor.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/character.cpp
M flang-rt/lib/runtime/connection.cpp
M flang-rt/lib/runtime/copy.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/edit-output.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/extrema.cpp
M flang-rt/lib/runtime/findloc.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/misc-intrinsic.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/temporary-stack.cpp
M flang-rt/lib/runtime/terminator.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/unittests/Evaluate/reshape.cpp
M flang-rt/unittests/Runtime/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
M flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/CharacterTest.cpp
M flang-rt/unittests/Runtime/CommandTest.cpp
M flang-rt/unittests/Runtime/TemporaryStack.cpp
M flang-rt/unittests/Runtime/tools.h
M flang/docs/ArrayRepacking.md
M flang/docs/Extensions.md
M flang/docs/ModFiles.md
M flang/docs/OpenACC.md
M flang/include/flang/Common/uint128.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Optimizer/Builder/BoxValue.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
R flang/include/flang/Optimizer/CodeGen/CGOps.h
R flang/include/flang/Optimizer/CodeGen/CGOps.td
M flang/include/flang/Optimizer/CodeGen/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.h
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.h
A flang/include/flang/Optimizer/Dialect/FIRCG/CGOps.td
A flang/include/flang/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/include/flang/Optimizer/Dialect/FIRDialect.h
M flang/include/flang/Optimizer/Dialect/FIROps.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.h
A flang/include/flang/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.td
M flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
A flang/include/flang/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/kernel.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/complex.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/Fortran.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/HostAssociations.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
R flang/lib/Optimizer/CodeGen/CGOps.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
A flang/lib/Optimizer/Dialect/FIRCG/CGOps.cpp
A flang/lib/Optimizer/Dialect/FIRCG/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
A flang/lib/Optimizer/Dialect/SafeTempArrayCopyAttrInterface.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/FIROpenACCAttributes.cpp
M flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/lib/Optimizer/OpenMP/Support/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/Support/FIROpenMPAttributes.cpp
A flang/lib/Optimizer/OpenMP/Support/RegisterOpenMPExtensions.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-directive-structure.h
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/lib/Support/Fortran.cpp
M flang/module/cudadevice.f90
M flang/test/Driver/do_concurrent_to_omp_cli.f90
M flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Driver/input-from-stdin/input-from-stdin.f90
M flang/test/Driver/linker-flags.f90
M flang/test/Driver/omp-driver-offload.f90
M flang/test/Driver/phases.f90
M flang/test/Driver/pp-fixed-form.f90
M flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir
M flang/test/Fir/CUDA/cuda-launch.fir
A flang/test/Fir/CUDA/cuda-stream.mlir
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
M flang/test/Fir/cse.fir
M flang/test/Fir/invalid-types.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/target-rewrite-fmfs.fir
M flang/test/Fir/target-rewrite-selective.fir
A flang/test/Fir/tbaa-codegen-records.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/HLFIR/minval-maxval-issue-134308.fir
A flang/test/HLFIR/volatile1.fir
A flang/test/HLFIR/volatile2.fir
A flang/test/HLFIR/volatile3.fir
A flang/test/HLFIR/volatile4.fir
M flang/test/Integration/OpenMP/atomic-capture-complex.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-exit-data.f90
M flang/test/Lower/OpenACC/acc-host-data.f90
M flang/test/Lower/OpenACC/acc-init.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-shutdown.f90
M flang/test/Lower/OpenACC/acc-update.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
A flang/test/Lower/OpenMP/cancel.f90
A flang/test/Lower/OpenMP/cancellationpoint.f90
A flang/test/Lower/OpenMP/clause-cleanup.f90
A flang/test/Lower/OpenMP/copyprivate3.f90
A flang/test/Lower/OpenMP/optional-argument-map.f90
M flang/test/Lower/OpenMP/task-depend-array-section.f90
A flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/polymorphic.f90
A flang/test/Lower/repack-arrays-safe.f90
A flang/test/Parser/OpenMP/bug518.f
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
A flang/test/Preprocessing/bug134986.F90
A flang/test/Preprocessing/bug518.F
M flang/test/Preprocessing/kind-suffix.F90
M flang/test/Semantics/OpenACC/acc-atomic-validity.f90
M flang/test/Semantics/OpenACC/acc-data.f90
M flang/test/Semantics/OpenACC/acc-declare-validity.f90
M flang/test/Semantics/OpenACC/acc-host-data.f90
M flang/test/Semantics/OpenACC/acc-init-validity.f90
M flang/test/Semantics/OpenACC/acc-shutdown-validity.f90
M flang/test/Semantics/OpenACC/acc-update-validity.f90
M flang/test/Semantics/OpenMP/cancel.f90
M flang/test/Semantics/OpenMP/default-none.f90
M flang/test/Semantics/OpenMP/interop-construct.f90
A flang/test/Semantics/OpenMP/threadprivate09.f90
M flang/test/Semantics/cuf-device-procedures02.cuf
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/cuf10.cuf
M flang/test/Semantics/spec-expr.f90
M flang/test/Semantics/test_errors.py
M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
A flang/test/Transforms/lower-repack-arrays-openacc.fir
A flang/test/Transforms/lower-repack-arrays-openmp.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/tools/bbc/CMakeLists.txt
M flang/tools/fir-lsp-server/CMakeLists.txt
M flang/tools/fir-opt/CMakeLists.txt
M flang/tools/fir-opt/fir-opt.cpp
M flang/tools/tco/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
M flang/unittests/Optimizer/FIRTypesTest.cpp
M libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/porting.rst
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_itimerval.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/struct_itimerval.h
M libc/include/sys/time.yaml
M libc/src/__support/FPUtil/aarch64/sqrt.h
A libc/src/__support/FPUtil/arm/sqrt.h
M libc/src/__support/FPUtil/riscv/sqrt.h
M libc/src/__support/FPUtil/sqrt.h
M libc/src/__support/common.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f.cpp
M libc/src/math/generic/atanhf.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/cospif16.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/sinpif.cpp
M libc/src/math/generic/sinpif16.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/getitimer.h
M libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/getitimer.cpp
A libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/setitimer.h
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/str_to_float_comparison_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atan_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cbrt_test.cpp
M libc/test/src/math/smoke/cbrtf_test.cpp
M libc/test/src/math/smoke/cos_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/erff_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf_test.cpp
M libc/test/src/math/smoke/pow_test.cpp
M libc/test/src/math/smoke/powf_test.cpp
M libc/test/src/math/smoke/sin_test.cpp
M libc/test/src/math/smoke/sincos_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tan_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
M libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/getitimer_test.cpp
A libc/test/src/sys/time/setitimer_test.cpp
M libc/test/src/time/ctime_test.cpp
A libclc/clc/include/clc/integer/clc_ctz.h
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/misc/clc_shuffle.h
A libclc/clc/include/clc/misc/clc_shuffle2.h
A libclc/clc/include/clc/misc/shuffle2_decl.inc
A libclc/clc/include/clc/misc/shuffle2_def.inc
A libclc/clc/include/clc/misc/shuffle_decl.inc
A libclc/clc/include/clc/misc/shuffle_def.inc
M libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/integer/clc_ctz.cl
M libclc/clc/lib/generic/math/clc_frexp.inc
A libclc/clc/lib/generic/misc/clc_shuffle.cl
A libclc/clc/lib/generic/misc/clc_shuffle2.cl
M libclc/clspv/lib/math/fma.cl
M libclc/cmake/modules/AddLibclc.cmake
R libclc/generic/include/clc/atom_decl_int32.inc
R libclc/generic/include/clc/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_add.h
A libclc/generic/include/clc/atomic/atom_and.h
A libclc/generic/include/clc/atomic/atom_cmpxchg.h
A libclc/generic/include/clc/atomic/atom_dec.h
A libclc/generic/include/clc/atomic/atom_decl_int32.inc
A libclc/generic/include/clc/atomic/atom_decl_int64.inc
A libclc/generic/include/clc/atomic/atom_inc.h
A libclc/generic/include/clc/atomic/atom_max.h
A libclc/generic/include/clc/atomic/atom_min.h
A libclc/generic/include/clc/atomic/atom_or.h
A libclc/generic/include/clc/atomic/atom_sub.h
A libclc/generic/include/clc/atomic/atom_xchg.h
A libclc/generic/include/clc/atomic/atom_xor.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
R libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
R libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/clc.h
A libclc/generic/include/clc/integer/ctz.h
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/include/clc/misc/shuffle2.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_add.cl
A libclc/generic/lib/atomic/atom_and.cl
A libclc/generic/lib/atomic/atom_cmpxchg.cl
A libclc/generic/lib/atomic/atom_dec.cl
A libclc/generic/lib/atomic/atom_inc.cl
A libclc/generic/lib/atomic/atom_int32_binary.inc
A libclc/generic/lib/atomic/atom_max.cl
A libclc/generic/lib/atomic/atom_min.cl
A libclc/generic/lib/atomic/atom_or.cl
A libclc/generic/lib/atomic/atom_sub.cl
A libclc/generic/lib/atomic/atom_xchg.cl
A libclc/generic/lib/atomic/atom_xor.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
R libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
R libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
A libclc/generic/lib/integer/ctz.cl
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
M libcxx/.clang-format
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/docs/DesignDocs/VisibilityMacros.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes.rst
R libcxx/docs/ReleaseNotes/19.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__algorithm/out_value_result.h
M libcxx/include/__algorithm/radix_sort.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/memory_order.h
M libcxx/include/__atomic/support.h
M libcxx/include/__bit/bit_log2.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__charconv/tables.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/to_chars_result.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__chrono/duration.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__chrono/parser_std_format_spec.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__compare/compare_three_way.h
M libcxx/include/__compare/compare_three_way_result.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__coroutine/coroutine_handle.h
M libcxx/include/__coroutine/noop_coroutine_handle.h
R libcxx/include/__cxx03/__algorithm/clamp.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
R libcxx/include/__cxx03/__algorithm/fold.h
M libcxx/include/__cxx03/__algorithm/for_each.h
R libcxx/include/__cxx03/__algorithm/for_each_n.h
R libcxx/include/__cxx03/__algorithm/in_found_result.h
R libcxx/include/__cxx03/__algorithm/in_fun_result.h
R libcxx/include/__cxx03/__algorithm/in_in_out_result.h
R libcxx/include/__cxx03/__algorithm/in_in_result.h
R libcxx/include/__cxx03/__algorithm/in_out_out_result.h
R libcxx/include/__cxx03/__algorithm/in_out_result.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
R libcxx/include/__cxx03/__algorithm/lexicographical_compare_three_way.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
R libcxx/include/__cxx03/__algorithm/min_max_result.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/pstl.h
R libcxx/include/__cxx03/__algorithm/ranges_adjacent_find.h
R libcxx/include/__cxx03/__algorithm/ranges_all_of.h
R libcxx/include/__cxx03/__algorithm/ranges_any_of.h
R libcxx/include/__cxx03/__algorithm/ranges_binary_search.h
R libcxx/include/__cxx03/__algorithm/ranges_clamp.h
R libcxx/include/__cxx03/__algorithm/ranges_contains.h
R libcxx/include/__cxx03/__algorithm/ranges_contains_subrange.h
R libcxx/include/__cxx03/__algorithm/ranges_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_copy_n.h
R libcxx/include/__cxx03/__algorithm/ranges_count.h
R libcxx/include/__cxx03/__algorithm/ranges_count_if.h
R libcxx/include/__cxx03/__algorithm/ranges_ends_with.h
R libcxx/include/__cxx03/__algorithm/ranges_equal.h
R libcxx/include/__cxx03/__algorithm/ranges_equal_range.h
R libcxx/include/__cxx03/__algorithm/ranges_fill.h
R libcxx/include/__cxx03/__algorithm/ranges_fill_n.h
R libcxx/include/__cxx03/__algorithm/ranges_find.h
R libcxx/include/__cxx03/__algorithm/ranges_find_end.h
R libcxx/include/__cxx03/__algorithm/ranges_find_first_of.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if.h
R libcxx/include/__cxx03/__algorithm/ranges_find_if_not.h
R libcxx/include/__cxx03/__algorithm/ranges_find_last.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each.h
R libcxx/include/__cxx03/__algorithm/ranges_for_each_n.h
R libcxx/include/__cxx03/__algorithm/ranges_generate.h
R libcxx/include/__cxx03/__algorithm/ranges_generate_n.h
R libcxx/include/__cxx03/__algorithm/ranges_includes.h
R libcxx/include/__cxx03/__algorithm/ranges_inplace_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_is_heap_until.h
R libcxx/include/__cxx03/__algorithm/ranges_is_partitioned.h
R libcxx/include/__cxx03/__algorithm/ranges_is_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted.h
R libcxx/include/__cxx03/__algorithm/ranges_is_sorted_until.h
R libcxx/include/__cxx03/__algorithm/ranges_iterator_concept.h
R libcxx/include/__cxx03/__algorithm/ranges_lexicographical_compare.h
R libcxx/include/__cxx03/__algorithm/ranges_lower_bound.h
R libcxx/include/__cxx03/__algorithm/ranges_make_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_max.h
R libcxx/include/__cxx03/__algorithm/ranges_max_element.h
R libcxx/include/__cxx03/__algorithm/ranges_merge.h
R libcxx/include/__cxx03/__algorithm/ranges_min.h
R libcxx/include/__cxx03/__algorithm/ranges_min_element.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax.h
R libcxx/include/__cxx03/__algorithm/ranges_minmax_element.h
R libcxx/include/__cxx03/__algorithm/ranges_mismatch.h
R libcxx/include/__cxx03/__algorithm/ranges_move.h
R libcxx/include/__cxx03/__algorithm/ranges_move_backward.h
R libcxx/include/__cxx03/__algorithm/ranges_next_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_none_of.h
R libcxx/include/__cxx03/__algorithm/ranges_nth_element.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_partial_sort_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_partition_point.h
R libcxx/include/__cxx03/__algorithm/ranges_pop_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_prev_permutation.h
R libcxx/include/__cxx03/__algorithm/ranges_push_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_remove.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_remove_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_copy_if.h
R libcxx/include/__cxx03/__algorithm/ranges_replace_if.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse.h
R libcxx/include/__cxx03/__algorithm/ranges_reverse_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate.h
R libcxx/include/__cxx03/__algorithm/ranges_rotate_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_sample.h
R libcxx/include/__cxx03/__algorithm/ranges_search.h
R libcxx/include/__cxx03/__algorithm/ranges_search_n.h
R libcxx/include/__cxx03/__algorithm/ranges_set_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_intersection.h
R libcxx/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h
R libcxx/include/__cxx03/__algorithm/ranges_set_union.h
R libcxx/include/__cxx03/__algorithm/ranges_shuffle.h
R libcxx/include/__cxx03/__algorithm/ranges_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_sort_heap.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_partition.h
R libcxx/include/__cxx03/__algorithm/ranges_stable_sort.h
R libcxx/include/__cxx03/__algorithm/ranges_starts_with.h
R libcxx/include/__cxx03/__algorithm/ranges_swap_ranges.h
R libcxx/include/__cxx03/__algorithm/ranges_transform.h
R libcxx/include/__cxx03/__algorithm/ranges_unique.h
R libcxx/include/__cxx03/__algorithm/ranges_unique_copy.h
R libcxx/include/__cxx03/__algorithm/ranges_upper_bound.h
R libcxx/include/__cxx03/__algorithm/sample.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
R libcxx/include/__cxx03/__algorithm/shift_left.h
R libcxx/include/__cxx03/__algorithm/shift_right.h
M libcxx/include/__cxx03/__algorithm/simd_utils.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
R libcxx/include/__cxx03/__atomic/atomic_ref.h
R libcxx/include/__cxx03/__bit/bit_cast.h
R libcxx/include/__cxx03/__bit/bit_ceil.h
R libcxx/include/__cxx03/__bit/bit_floor.h
R libcxx/include/__cxx03/__bit/bit_log2.h
R libcxx/include/__cxx03/__bit/bit_width.h
R libcxx/include/__cxx03/__bit/byteswap.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
R libcxx/include/__cxx03/__bit/endian.h
R libcxx/include/__cxx03/__bit/has_single_bit.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
R libcxx/include/__cxx03/__charconv/chars_format.h
R libcxx/include/__cxx03/__charconv/from_chars_integral.h
R libcxx/include/__cxx03/__charconv/from_chars_result.h
R libcxx/include/__cxx03/__charconv/tables.h
R libcxx/include/__cxx03/__charconv/to_chars.h
R libcxx/include/__cxx03/__charconv/to_chars_base_10.h
R libcxx/include/__cxx03/__charconv/to_chars_floating_point.h
R libcxx/include/__cxx03/__charconv/to_chars_integral.h
R libcxx/include/__cxx03/__charconv/to_chars_result.h
R libcxx/include/__cxx03/__charconv/traits.h
R libcxx/include/__cxx03/__chrono/calendar.h
R libcxx/include/__cxx03/__chrono/concepts.h
R libcxx/include/__cxx03/__chrono/convert_to_tm.h
R libcxx/include/__cxx03/__chrono/day.h
M libcxx/include/__cxx03/__chrono/duration.h
R libcxx/include/__cxx03/__chrono/exception.h
R libcxx/include/__cxx03/__chrono/file_clock.h
R libcxx/include/__cxx03/__chrono/formatter.h
R libcxx/include/__cxx03/__chrono/hh_mm_ss.h
R libcxx/include/__cxx03/__chrono/leap_second.h
R libcxx/include/__cxx03/__chrono/literals.h
R libcxx/include/__cxx03/__chrono/local_info.h
R libcxx/include/__cxx03/__chrono/month.h
R libcxx/include/__cxx03/__chrono/month_weekday.h
R libcxx/include/__cxx03/__chrono/monthday.h
R libcxx/include/__cxx03/__chrono/ostream.h
R libcxx/include/__cxx03/__chrono/parser_std_format_spec.h
R libcxx/include/__cxx03/__chrono/statically_widen.h
R libcxx/include/__cxx03/__chrono/sys_info.h
M libcxx/include/__cxx03/__chrono/time_point.h
R libcxx/include/__cxx03/__chrono/time_zone.h
R libcxx/include/__cxx03/__chrono/time_zone_link.h
R libcxx/include/__cxx03/__chrono/tzdb.h
R libcxx/include/__cxx03/__chrono/tzdb_list.h
R libcxx/include/__cxx03/__chrono/weekday.h
R libcxx/include/__cxx03/__chrono/year.h
R libcxx/include/__cxx03/__chrono/year_month.h
R libcxx/include/__cxx03/__chrono/year_month_day.h
R libcxx/include/__cxx03/__chrono/year_month_weekday.h
R libcxx/include/__cxx03/__chrono/zoned_time.h
R libcxx/include/__cxx03/__compare/common_comparison_category.h
R libcxx/include/__cxx03/__compare/compare_partial_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_strong_order_fallback.h
R libcxx/include/__cxx03/__compare/compare_three_way.h
R libcxx/include/__cxx03/__compare/compare_three_way_result.h
R libcxx/include/__cxx03/__compare/compare_weak_order_fallback.h
R libcxx/include/__cxx03/__compare/is_eq.h
R libcxx/include/__cxx03/__compare/ordering.h
R libcxx/include/__cxx03/__compare/partial_order.h
R libcxx/include/__cxx03/__compare/strong_order.h
R libcxx/include/__cxx03/__compare/synth_three_way.h
R libcxx/include/__cxx03/__compare/three_way_comparable.h
R libcxx/include/__cxx03/__compare/weak_order.h
R libcxx/include/__cxx03/__concepts/arithmetic.h
R libcxx/include/__cxx03/__concepts/assignable.h
R libcxx/include/__cxx03/__concepts/boolean_testable.h
R libcxx/include/__cxx03/__concepts/class_or_enum.h
R libcxx/include/__cxx03/__concepts/common_reference_with.h
R libcxx/include/__cxx03/__concepts/common_with.h
R libcxx/include/__cxx03/__concepts/constructible.h
R libcxx/include/__cxx03/__concepts/convertible_to.h
R libcxx/include/__cxx03/__concepts/copyable.h
R libcxx/include/__cxx03/__concepts/derived_from.h
R libcxx/include/__cxx03/__concepts/destructible.h
R libcxx/include/__cxx03/__concepts/different_from.h
R libcxx/include/__cxx03/__concepts/equality_comparable.h
R libcxx/include/__cxx03/__concepts/invocable.h
R libcxx/include/__cxx03/__concepts/movable.h
R libcxx/include/__cxx03/__concepts/predicate.h
R libcxx/include/__cxx03/__concepts/regular.h
R libcxx/include/__cxx03/__concepts/relation.h
R libcxx/include/__cxx03/__concepts/same_as.h
R libcxx/include/__cxx03/__concepts/semiregular.h
R libcxx/include/__cxx03/__concepts/swappable.h
R libcxx/include/__cxx03/__concepts/totally_ordered.h
R libcxx/include/__cxx03/__coroutine/coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/coroutine_traits.h
R libcxx/include/__cxx03/__coroutine/noop_coroutine_handle.h
R libcxx/include/__cxx03/__coroutine/trivial_awaitables.h
R libcxx/include/__cxx03/__expected/bad_expected_access.h
R libcxx/include/__cxx03/__expected/expected.h
R libcxx/include/__cxx03/__expected/unexpect.h
R libcxx/include/__cxx03/__expected/unexpected.h
R libcxx/include/__cxx03/__filesystem/copy_options.h
R libcxx/include/__cxx03/__filesystem/directory_entry.h
R libcxx/include/__cxx03/__filesystem/directory_iterator.h
R libcxx/include/__cxx03/__filesystem/directory_options.h
R libcxx/include/__cxx03/__filesystem/file_status.h
R libcxx/include/__cxx03/__filesystem/file_time_type.h
R libcxx/include/__cxx03/__filesystem/file_type.h
R libcxx/include/__cxx03/__filesystem/filesystem_error.h
R libcxx/include/__cxx03/__filesystem/operations.h
R libcxx/include/__cxx03/__filesystem/path.h
R libcxx/include/__cxx03/__filesystem/path_iterator.h
R libcxx/include/__cxx03/__filesystem/perm_options.h
R libcxx/include/__cxx03/__filesystem/perms.h
R libcxx/include/__cxx03/__filesystem/recursive_directory_iterator.h
R libcxx/include/__cxx03/__filesystem/space_info.h
R libcxx/include/__cxx03/__filesystem/u8path.h
R libcxx/include/__cxx03/__format/buffer.h
R libcxx/include/__cxx03/__format/concepts.h
R libcxx/include/__cxx03/__format/container_adaptor.h
R libcxx/include/__cxx03/__format/enable_insertable.h
R libcxx/include/__cxx03/__format/escaped_output_table.h
R libcxx/include/__cxx03/__format/extended_grapheme_cluster_table.h
R libcxx/include/__cxx03/__format/format_arg.h
R libcxx/include/__cxx03/__format/format_arg_store.h
R libcxx/include/__cxx03/__format/format_args.h
R libcxx/include/__cxx03/__format/format_context.h
R libcxx/include/__cxx03/__format/format_error.h
R libcxx/include/__cxx03/__format/format_functions.h
R libcxx/include/__cxx03/__format/format_parse_context.h
R libcxx/include/__cxx03/__format/format_string.h
R libcxx/include/__cxx03/__format/format_to_n_result.h
R libcxx/include/__cxx03/__format/formatter.h
R libcxx/include/__cxx03/__format/formatter_bool.h
R libcxx/include/__cxx03/__format/formatter_char.h
R libcxx/include/__cxx03/__format/formatter_floating_point.h
R libcxx/include/__cxx03/__format/formatter_integer.h
R libcxx/include/__cxx03/__format/formatter_integral.h
R libcxx/include/__cxx03/__format/formatter_output.h
R libcxx/include/__cxx03/__format/formatter_pointer.h
R libcxx/include/__cxx03/__format/formatter_string.h
R libcxx/include/__cxx03/__format/formatter_tuple.h
R libcxx/include/__cxx03/__format/indic_conjunct_break_table.h
R libcxx/include/__cxx03/__format/parser_std_format_spec.h
R libcxx/include/__cxx03/__format/range_default_formatter.h
R libcxx/include/__cxx03/__format/range_formatter.h
R libcxx/include/__cxx03/__format/unicode.h
R libcxx/include/__cxx03/__format/width_estimation_table.h
R libcxx/include/__cxx03/__format/write_escaped.h
M libcxx/include/__cxx03/__functional/bind.h
R libcxx/include/__cxx03/__functional/bind_back.h
R libcxx/include/__cxx03/__functional/bind_front.h
R libcxx/include/__cxx03/__functional/boyer_moore_searcher.h
R libcxx/include/__cxx03/__functional/compose.h
R libcxx/include/__cxx03/__functional/default_searcher.h
R libcxx/include/__cxx03/__functional/function.h
R libcxx/include/__cxx03/__functional/invoke.h
R libcxx/include/__cxx03/__functional/is_transparent.h
M libcxx/include/__cxx03/__functional/mem_fn.h
R libcxx/include/__cxx03/__functional/not_fn.h
R libcxx/include/__cxx03/__functional/perfect_forward.h
R libcxx/include/__cxx03/__functional/ranges_operations.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
R libcxx/include/__cxx03/__fwd/format.h
R libcxx/include/__cxx03/__fwd/mdspan.h
R libcxx/include/__cxx03/__fwd/memory_resource.h
R libcxx/include/__cxx03/__fwd/span.h
M libcxx/include/__cxx03/__fwd/string.h
R libcxx/include/__cxx03/__fwd/subrange.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
R libcxx/include/__cxx03/__iterator/common_iterator.h
R libcxx/include/__cxx03/__iterator/concepts.h
R libcxx/include/__cxx03/__iterator/counted_iterator.h
R libcxx/include/__cxx03/__iterator/data.h
R libcxx/include/__cxx03/__iterator/default_sentinel.h
M libcxx/include/__cxx03/__iterator/distance.h
R libcxx/include/__cxx03/__iterator/empty.h
R libcxx/include/__cxx03/__iterator/incrementable_traits.h
R libcxx/include/__cxx03/__iterator/indirectly_comparable.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
R libcxx/include/__cxx03/__iterator/iter_move.h
R libcxx/include/__cxx03/__iterator/iter_swap.h
M libcxx/include/__cxx03/__iterator/iterator_traits.h
R libcxx/include/__cxx03/__iterator/iterator_with_data.h
R libcxx/include/__cxx03/__iterator/mergeable.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
R libcxx/include/__cxx03/__iterator/move_sentinel.h
M libcxx/include/__cxx03/__iterator/next.h
R libcxx/include/__cxx03/__iterator/permutable.h
M libcxx/include/__cxx03/__iterator/prev.h
R libcxx/include/__cxx03/__iterator/projected.h
R libcxx/include/__cxx03/__iterator/ranges_iterator_traits.h
R libcxx/include/__cxx03/__iterator/readable_traits.h
R libcxx/include/__cxx03/__iterator/reverse_access.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
R libcxx/include/__cxx03/__iterator/size.h
R libcxx/include/__cxx03/__iterator/sortable.h
R libcxx/include/__cxx03/__iterator/unreachable_sentinel.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
R libcxx/include/__cxx03/__math/special_functions.h
R libcxx/include/__cxx03/__mdspan/default_accessor.h
R libcxx/include/__cxx03/__mdspan/extents.h
R libcxx/include/__cxx03/__mdspan/layout_left.h
R libcxx/include/__cxx03/__mdspan/layout_right.h
R libcxx/include/__cxx03/__mdspan/layout_stride.h
R libcxx/include/__cxx03/__mdspan/mdspan.h
R libcxx/include/__cxx03/__memory/concepts.h
R libcxx/include/__cxx03/__memory/inout_ptr.h
R libcxx/include/__cxx03/__memory/out_ptr.h
R libcxx/include/__cxx03/__memory/ranges_construct_at.h
R libcxx/include/__cxx03/__memory/ranges_uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
R libcxx/include/__cxx03/__memory/uses_allocator_construction.h
R libcxx/include/__cxx03/__memory_resource/memory_resource.h
R libcxx/include/__cxx03/__memory_resource/monotonic_buffer_resource.h
R libcxx/include/__cxx03/__memory_resource/polymorphic_allocator.h
R libcxx/include/__cxx03/__memory_resource/pool_options.h
R libcxx/include/__cxx03/__memory_resource/synchronized_pool_resource.h
R libcxx/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h
M libcxx/include/__cxx03/__mutex/once_flag.h
R libcxx/include/__cxx03/__node_handle
R libcxx/include/__cxx03/__numeric/exclusive_scan.h
R libcxx/include/__cxx03/__numeric/gcd_lcm.h
R libcxx/include/__cxx03/__numeric/inclusive_scan.h
R libcxx/include/__cxx03/__numeric/midpoint.h
R libcxx/include/__cxx03/__numeric/pstl.h
R libcxx/include/__cxx03/__numeric/reduce.h
R libcxx/include/__cxx03/__numeric/saturation_arithmetic.h
R libcxx/include/__cxx03/__numeric/transform_exclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_inclusive_scan.h
R libcxx/include/__cxx03/__numeric/transform_reduce.h
R libcxx/include/__cxx03/__ostream/print.h
R libcxx/include/__cxx03/__pstl/backend.h
R libcxx/include/__cxx03/__pstl/backend_fwd.h
R libcxx/include/__cxx03/__pstl/backends/default.h
R libcxx/include/__cxx03/__pstl/backends/libdispatch.h
R libcxx/include/__cxx03/__pstl/backends/serial.h
R libcxx/include/__cxx03/__pstl/backends/std_thread.h
R libcxx/include/__cxx03/__pstl/cpu_algos/any_of.h
R libcxx/include/__cxx03/__pstl/cpu_algos/cpu_traits.h
R libcxx/include/__cxx03/__pstl/cpu_algos/fill.h
R libcxx/include/__cxx03/__pstl/cpu_algos/find_if.h
R libcxx/include/__cxx03/__pstl/cpu_algos/for_each.h
R libcxx/include/__cxx03/__pstl/cpu_algos/merge.h
R libcxx/include/__cxx03/__pstl/cpu_algos/stable_sort.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform.h
R libcxx/include/__cxx03/__pstl/cpu_algos/transform_reduce.h
R libcxx/include/__cxx03/__pstl/dispatch.h
R libcxx/include/__cxx03/__pstl/handle_exception.h
M libcxx/include/__cxx03/__random/generate_canonical.h
M libcxx/include/__cxx03/__random/seed_seq.h
R libcxx/include/__cxx03/__random/uniform_random_bit_generator.h
R libcxx/include/__cxx03/__ranges/access.h
R libcxx/include/__cxx03/__ranges/all.h
R libcxx/include/__cxx03/__ranges/as_rvalue_view.h
R libcxx/include/__cxx03/__ranges/chunk_by_view.h
R libcxx/include/__cxx03/__ranges/common_view.h
R libcxx/include/__cxx03/__ranges/concepts.h
R libcxx/include/__cxx03/__ranges/container_compatible_range.h
R libcxx/include/__cxx03/__ranges/counted.h
R libcxx/include/__cxx03/__ranges/dangling.h
R libcxx/include/__cxx03/__ranges/data.h
R libcxx/include/__cxx03/__ranges/drop_view.h
R libcxx/include/__cxx03/__ranges/drop_while_view.h
R libcxx/include/__cxx03/__ranges/elements_view.h
R libcxx/include/__cxx03/__ranges/empty.h
R libcxx/include/__cxx03/__ranges/empty_view.h
R libcxx/include/__cxx03/__ranges/enable_borrowed_range.h
R libcxx/include/__cxx03/__ranges/enable_view.h
R libcxx/include/__cxx03/__ranges/filter_view.h
R libcxx/include/__cxx03/__ranges/from_range.h
R libcxx/include/__cxx03/__ranges/iota_view.h
R libcxx/include/__cxx03/__ranges/istream_view.h
R libcxx/include/__cxx03/__ranges/join_view.h
R libcxx/include/__cxx03/__ranges/lazy_split_view.h
R libcxx/include/__cxx03/__ranges/movable_box.h
R libcxx/include/__cxx03/__ranges/non_propagating_cache.h
R libcxx/include/__cxx03/__ranges/owning_view.h
R libcxx/include/__cxx03/__ranges/range_adaptor.h
R libcxx/include/__cxx03/__ranges/rbegin.h
R libcxx/include/__cxx03/__ranges/ref_view.h
R libcxx/include/__cxx03/__ranges/rend.h
R libcxx/include/__cxx03/__ranges/repeat_view.h
R libcxx/include/__cxx03/__ranges/reverse_view.h
R libcxx/include/__cxx03/__ranges/single_view.h
R libcxx/include/__cxx03/__ranges/size.h
R libcxx/include/__cxx03/__ranges/split_view.h
R libcxx/include/__cxx03/__ranges/subrange.h
R libcxx/include/__cxx03/__ranges/take_view.h
R libcxx/include/__cxx03/__ranges/take_while_view.h
R libcxx/include/__cxx03/__ranges/to.h
R libcxx/include/__cxx03/__ranges/transform_view.h
R libcxx/include/__cxx03/__ranges/view_interface.h
R libcxx/include/__cxx03/__ranges/views.h
R libcxx/include/__cxx03/__ranges/zip_view.h
R libcxx/include/__cxx03/__stop_token/atomic_unique_lock.h
R libcxx/include/__cxx03/__stop_token/intrusive_list_view.h
R libcxx/include/__cxx03/__stop_token/intrusive_shared_ptr.h
R libcxx/include/__cxx03/__stop_token/stop_callback.h
R libcxx/include/__cxx03/__stop_token/stop_source.h
R libcxx/include/__cxx03/__stop_token/stop_state.h
R libcxx/include/__cxx03/__stop_token/stop_token.h
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__system_error/error_code.h
M libcxx/include/__cxx03/__system_error/error_condition.h
R libcxx/include/__cxx03/__thread/formatter.h
M libcxx/include/__cxx03/__thread/id.h
R libcxx/include/__cxx03/__thread/jthread.h
M libcxx/include/__cxx03/__thread/thread.h
M libcxx/include/__cxx03/__tree
R libcxx/include/__cxx03/__tuple/ignore.h
R libcxx/include/__cxx03/__type_traits/common_reference.h
R libcxx/include/__cxx03/__type_traits/has_unique_object_representation.h
R libcxx/include/__cxx03/__type_traits/is_aggregate.h
R libcxx/include/__cxx03/__type_traits/is_nothrow_convertible.h
M libcxx/include/__cxx03/__type_traits/result_of.h
R libcxx/include/__cxx03/__utility/as_const.h
R libcxx/include/__cxx03/__utility/cmp.h
M libcxx/include/__cxx03/__utility/exception_guard.h
R libcxx/include/__cxx03/__utility/exchange.h
R libcxx/include/__cxx03/__utility/forward_like.h
R libcxx/include/__cxx03/__utility/in_place.h
M libcxx/include/__cxx03/__utility/pair.h
R libcxx/include/__cxx03/__utility/to_underlying.h
M libcxx/include/__cxx03/algorithm
R libcxx/include/__cxx03/any
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/atomic
R libcxx/include/__cxx03/barrier
R libcxx/include/__cxx03/bit
M libcxx/include/__cxx03/bitset
R libcxx/include/__cxx03/charconv
M libcxx/include/__cxx03/chrono
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
R libcxx/include/__cxx03/compare
R libcxx/include/__cxx03/concepts
M libcxx/include/__cxx03/condition_variable
R libcxx/include/__cxx03/coroutine
M libcxx/include/__cxx03/deque
R libcxx/include/__cxx03/execution
R libcxx/include/__cxx03/expected
R libcxx/include/__cxx03/experimental/__simd/aligned_tag.h
R libcxx/include/__cxx03/experimental/__simd/declaration.h
R libcxx/include/__cxx03/experimental/__simd/reference.h
R libcxx/include/__cxx03/experimental/__simd/scalar.h
R libcxx/include/__cxx03/experimental/__simd/simd.h
R libcxx/include/__cxx03/experimental/__simd/simd_mask.h
R libcxx/include/__cxx03/experimental/__simd/traits.h
R libcxx/include/__cxx03/experimental/__simd/utility.h
R libcxx/include/__cxx03/experimental/__simd/vec_ext.h
R libcxx/include/__cxx03/experimental/iterator
R libcxx/include/__cxx03/experimental/memory
R libcxx/include/__cxx03/experimental/propagate_const
R libcxx/include/__cxx03/experimental/simd
R libcxx/include/__cxx03/experimental/type_traits
M libcxx/include/__cxx03/experimental/utility
M libcxx/include/__cxx03/ext/hash_map
M libcxx/include/__cxx03/ext/hash_set
R libcxx/include/__cxx03/filesystem
R libcxx/include/__cxx03/format
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/fstream
M libcxx/include/__cxx03/functional
R libcxx/include/__cxx03/initializer_list
M libcxx/include/__cxx03/ios
M libcxx/include/__cxx03/istream
M libcxx/include/__cxx03/iterator
R libcxx/include/__cxx03/latch
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
R libcxx/include/__cxx03/mdspan
M libcxx/include/__cxx03/memory
R libcxx/include/__cxx03/memory_resource
M libcxx/include/__cxx03/mutex
R libcxx/include/__cxx03/numbers
M libcxx/include/__cxx03/numeric
R libcxx/include/__cxx03/optional
M libcxx/include/__cxx03/ostream
R libcxx/include/__cxx03/print
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/random
R libcxx/include/__cxx03/ranges
M libcxx/include/__cxx03/regex
R libcxx/include/__cxx03/scoped_allocator
R libcxx/include/__cxx03/semaphore
M libcxx/include/__cxx03/set
R libcxx/include/__cxx03/shared_mutex
R libcxx/include/__cxx03/source_location
R libcxx/include/__cxx03/span
M libcxx/include/__cxx03/stack
R libcxx/include/__cxx03/stop_token
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
R libcxx/include/__cxx03/syncstream
M libcxx/include/__cxx03/system_error
M libcxx/include/__cxx03/thread
R libcxx/include/__cxx03/tuple
M libcxx/include/__cxx03/type_traits
M libcxx/include/__cxx03/typeindex
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/utility
M libcxx/include/__cxx03/valarray
R libcxx/include/__cxx03/variant
M libcxx/include/__cxx03/vector
A libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
A libcxx/include/__flat_set/utils.h
M libcxx/include/__format/buffer.h
M libcxx/include/__format/container_adaptor.h
M libcxx/include/__format/format_arg.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/format_args.h
M libcxx/include/__format/format_context.h
M libcxx/include/__format/format_functions.h
M libcxx/include/__format/format_parse_context.h
M libcxx/include/__format/format_string.h
M libcxx/include/__format/format_to_n_result.h
M libcxx/include/__format/formatter.h
M libcxx/include/__format/formatter_bool.h
M libcxx/include/__format/formatter_char.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integer.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__format/formatter_pointer.h
M libcxx/include/__format/formatter_string.h
M libcxx/include/__format/formatter_tuple.h
M libcxx/include/__format/parser_std_format_spec.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__functional/binary_function.h
M libcxx/include/__functional/binary_negate.h
M libcxx/include/__functional/binder1st.h
M libcxx/include/__functional/binder2nd.h
M libcxx/include/__functional/boyer_moore_searcher.h
M libcxx/include/__functional/default_searcher.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/mem_fun_ref.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/pointer_to_binary_function.h
M libcxx/include/__functional/pointer_to_unary_function.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__functional/unary_function.h
M libcxx/include/__functional/unary_negate.h
M libcxx/include/__fwd/array.h
M libcxx/include/__fwd/complex.h
M libcxx/include/__fwd/deque.h
M libcxx/include/__fwd/format.h
M libcxx/include/__fwd/fstream.h
M libcxx/include/__fwd/functional.h
M libcxx/include/__fwd/ios.h
M libcxx/include/__fwd/istream.h
M libcxx/include/__fwd/map.h
M libcxx/include/__fwd/memory.h
M libcxx/include/__fwd/memory_resource.h
M libcxx/include/__fwd/ostream.h
M libcxx/include/__fwd/pair.h
M libcxx/include/__fwd/queue.h
M libcxx/include/__fwd/set.h
M libcxx/include/__fwd/sstream.h
M libcxx/include/__fwd/stack.h
M libcxx/include/__fwd/streambuf.h
M libcxx/include/__fwd/string.h
M libcxx/include/__fwd/string_view.h
M libcxx/include/__fwd/subrange.h
M libcxx/include/__fwd/tuple.h
M libcxx/include/__fwd/variant.h
M libcxx/include/__fwd/vector.h
M libcxx/include/__hash_table
M libcxx/include/__ios/fpos.h
M libcxx/include/__iterator/aliasing_iterator.h
M libcxx/include/__iterator/back_insert_iterator.h
M libcxx/include/__iterator/front_insert_iterator.h
M libcxx/include/__iterator/insert_iterator.h
M libcxx/include/__iterator/istream_iterator.h
M libcxx/include/__iterator/istreambuf_iterator.h
M libcxx/include/__iterator/iterator.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__iterator/move_iterator.h
M libcxx/include/__iterator/move_sentinel.h
M libcxx/include/__iterator/ostream_iterator.h
M libcxx/include/__iterator/ostreambuf_iterator.h
M libcxx/include/__iterator/reverse_iterator.h
M libcxx/include/__iterator/wrap_iter.h
M libcxx/include/__locale
A libcxx/include/__mdspan/aligned_accessor.h
M libcxx/include/__mdspan/mdspan.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/auto_ptr.h
M libcxx/include/__memory/inout_ptr.h
A libcxx/include/__memory/is_sufficiently_aligned.h
M libcxx/include/__memory/out_ptr.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/raw_storage_iterator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory/uses_allocator.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/lock_guard.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__node_handle
A libcxx/include/__numeric/ranges_iota.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__random/bernoulli_distribution.h
M libcxx/include/__random/binomial_distribution.h
M libcxx/include/__random/cauchy_distribution.h
M libcxx/include/__random/chi_squared_distribution.h
M libcxx/include/__random/discard_block_engine.h
M libcxx/include/__random/discrete_distribution.h
M libcxx/include/__random/exponential_distribution.h
M libcxx/include/__random/extreme_value_distribution.h
M libcxx/include/__random/fisher_f_distribution.h
M libcxx/include/__random/gamma_distribution.h
M libcxx/include/__random/geometric_distribution.h
M libcxx/include/__random/independent_bits_engine.h
M libcxx/include/__random/linear_congruential_engine.h
M libcxx/include/__random/lognormal_distribution.h
M libcxx/include/__random/mersenne_twister_engine.h
M libcxx/include/__random/negative_binomial_distribution.h
M libcxx/include/__random/normal_distribution.h
M libcxx/include/__random/piecewise_constant_distribution.h
M libcxx/include/__random/piecewise_linear_distribution.h
M libcxx/include/__random/poisson_distribution.h
M libcxx/include/__random/seed_seq.h
M libcxx/include/__random/shuffle_order_engine.h
M libcxx/include/__random/student_t_distribution.h
M libcxx/include/__random/subtract_with_carry_engine.h
M libcxx/include/__random/uniform_real_distribution.h
M libcxx/include/__random/weibull_distribution.h
M libcxx/include/__ranges/non_propagating_cache.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__stop_token/atomic_unique_lock.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_code.h
M libcxx/include/__system_error/error_condition.h
M libcxx/include/__thread/formatter.h
M libcxx/include/__thread/id.h
M libcxx/include/__thread/thread.h
M libcxx/include/__tree
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__tuple/tuple_size.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/alignment_of.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/conditional.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/dependent_type.h
M libcxx/include/__type_traits/enable_if.h
M libcxx/include/__type_traits/extent.h
M libcxx/include/__type_traits/has_unique_object_representation.h
M libcxx/include/__type_traits/has_virtual_destructor.h
M libcxx/include/__type_traits/integral_constant.h
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/is_abstract.h
M libcxx/include/__type_traits/is_aggregate.h
M libcxx/include/__type_traits/is_arithmetic.h
M libcxx/include/__type_traits/is_array.h
M libcxx/include/__type_traits/is_assignable.h
M libcxx/include/__type_traits/is_base_of.h
M libcxx/include/__type_traits/is_bounded_array.h
M libcxx/include/__type_traits/is_char_like_type.h
M libcxx/include/__type_traits/is_class.h
M libcxx/include/__type_traits/is_compound.h
M libcxx/include/__type_traits/is_const.h
M libcxx/include/__type_traits/is_constructible.h
M libcxx/include/__type_traits/is_convertible.h
M libcxx/include/__type_traits/is_core_convertible.h
M libcxx/include/__type_traits/is_destructible.h
M libcxx/include/__type_traits/is_empty.h
M libcxx/include/__type_traits/is_enum.h
M libcxx/include/__type_traits/is_final.h
M libcxx/include/__type_traits/is_floating_point.h
M libcxx/include/__type_traits/is_function.h
M libcxx/include/__type_traits/is_fundamental.h
M libcxx/include/__type_traits/is_implicit_lifetime.h
M libcxx/include/__type_traits/is_integral.h
M libcxx/include/__type_traits/is_literal_type.h
M libcxx/include/__type_traits/is_member_pointer.h
M libcxx/include/__type_traits/is_nothrow_assignable.h
M libcxx/include/__type_traits/is_nothrow_constructible.h
M libcxx/include/__type_traits/is_nothrow_destructible.h
M libcxx/include/__type_traits/is_null_pointer.h
M libcxx/include/__type_traits/is_object.h
M libcxx/include/__type_traits/is_pod.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_polymorphic.h
M libcxx/include/__type_traits/is_reference.h
M libcxx/include/__type_traits/is_reference_wrapper.h
M libcxx/include/__type_traits/is_same.h
M libcxx/include/__type_traits/is_scalar.h
M libcxx/include/__type_traits/is_signed.h
M libcxx/include/__type_traits/is_signed_integer.h
M libcxx/include/__type_traits/is_standard_layout.h
M libcxx/include/__type_traits/is_swappable.h
M libcxx/include/__type_traits/is_trivial.h
M libcxx/include/__type_traits/is_trivially_assignable.h
M libcxx/include/__type_traits/is_trivially_constructible.h
M libcxx/include/__type_traits/is_trivially_copyable.h
M libcxx/include/__type_traits/is_trivially_destructible.h
M libcxx/include/__type_traits/is_unbounded_array.h
M libcxx/include/__type_traits/is_union.h
M libcxx/include/__type_traits/is_unsigned.h
M libcxx/include/__type_traits/is_unsigned_integer.h
M libcxx/include/__type_traits/is_void.h
M libcxx/include/__type_traits/is_volatile.h
M libcxx/include/__type_traits/rank.h
M libcxx/include/__type_traits/reference_constructs_from_temporary.h
M libcxx/include/__type_traits/reference_converts_from_temporary.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_const.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/remove_volatile.h
M libcxx/include/__type_traits/result_of.h
M libcxx/include/__type_traits/underlying_type.h
M libcxx/include/__utility/convert_to_integral.h
M libcxx/include/__utility/in_place.h
M libcxx/include/__utility/integer_sequence.h
M libcxx/include/__utility/pair.h
M libcxx/include/__utility/piecewise_construct.h
M libcxx/include/__utility/to_underlying.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/__vector/vector_bool_formatter.h
M libcxx/include/__verbose_abort
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/charconv
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/deque
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/__hash
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/filesystem
M libcxx/include/flat_set
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/istream
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap
M libcxx/include/mutex
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/syncstream
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/version
M libcxx/modules/std/algorithm.inc
M libcxx/modules/std/flat_set.inc
M libcxx/modules/std/mdspan.inc
M libcxx/modules/std/memory.inc
M libcxx/modules/std/numeric.inc
M libcxx/src/filesystem/path_parser.h
M libcxx/src/verbose_abort.cpp
A libcxx/test/benchmarks/locale/num_put.bench.cpp
M libcxx/test/libcxx/algorithms/cpp17_iterator_concepts.verify.cpp
M libcxx/test/libcxx/clang_tidy.gen.py
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/iterator.compile.pass.cpp
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/byte_alignment.verify.cpp
A libcxx/test/libcxx/containers/views/mdspan/aligned_accessor/element_type.verify.cpp
A libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
M libcxx/test/libcxx/feature_test_macro/ftm_metadata.sh.py
M libcxx/test/libcxx/feature_test_macro/implemented_ftms.sh.py
A libcxx/test/libcxx/feature_test_macro/is_implemented.sh.py
M libcxx/test/libcxx/feature_test_macro/standard_ftms.sh.py
M libcxx/test/libcxx/feature_test_macro/std_dialects.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header.sh.py
M libcxx/test/libcxx/feature_test_macro/version_header_implementation.sh.py
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.py
M libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
M libcxx/test/libcxx/memory/allocator_void.trivial.compile.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/utilities/memory/util.smartptr/util.smartptr.shared/libcxx.control_block_layout.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
M libcxx/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp
A libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp
M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/types.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
A libcxx/test/std/containers/container.adaptors/flat_helpers.h
A libcxx/test/std/containers/views/mdspan/aligned_accessor/access.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.from.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.conversion.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/ctor.default.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/offset.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/operator.conversion.to.default_accessor.pass.cpp
A libcxx/test/std/containers/views/mdspan/aligned_accessor/types.pass.cpp
M libcxx/test/std/depr/depr.c.headers/stddef_h.compile.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/any.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/array.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bitset.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/charconv.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/chrono.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cmath.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/compare.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/complex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/concepts.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/coroutine.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstddef.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstdlib.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/cstring.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/deque.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/exception.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/execution.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/expected.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/fstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iomanip.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ios.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/istream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/iterator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/limits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/locale.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mdspan.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/memory_resource.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/new.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numbers.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/optional.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/random.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ratio.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/regex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/scoped_allocator.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/source_location.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/span.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/sstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stack.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stdatomic.h.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/stop_token.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/string_view.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/syncstream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/thread.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/tuple.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/type_traits.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/typeinfo.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_map.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/unordered_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/variant.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/vector.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/language.support/support.types/byte.pass.cpp
M libcxx/test/std/language.support/support.types/max_align_t.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
M libcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/ranges/range.req/range.view/view_base.compile.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/time/time.duration/time.duration.nonmember/ostream.pass.cpp
M libcxx/test/std/time/time.syn/formatter.duration.pass.cpp
M libcxx/test/std/time/time.syn/formatter.file_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.hh_mm_ss.pass.cpp
M libcxx/test/std/time/time.syn/formatter.local_time.pass.cpp
M libcxx/test/std/time/time.syn/formatter.sys_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.zonedtraits/types.compile.pass.cpp
A libcxx/test/std/utilities/memory/ptr.align/is_sufficiently_aligned.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.deprecated.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.general/ignore.pass.cpp
M libcxx/test/support/nasty_string.h
M libcxx/test/support/test_iterators.h
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.hpp
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/modules.py
M libcxx/utils/libcxx/test/params.py
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M libcxxabi/test/uncaught_exception.pass.cpp
M libunwind/docs/BuildingLibunwind.rst
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Options.td
M lld/ELF/Relocations.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Driver.cpp
M lld/MachO/InputFiles.cpp
M lld/MachO/InputFiles.h
M lld/MachO/OutputSegment.cpp
M lld/MinGW/Driver.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/arm64ec-x86-sec.yaml
A lld/test/COFF/arm64x-map.s
A lld/test/COFF/export-alias.test
A lld/test/COFF/imports-static-lib-indirect.test
A lld/test/COFF/imports-static-lib.test
R lld/test/COFF/undefined_lazy.test
A lld/test/ELF/aarch64-execute-only-mixed.s
A lld/test/ELF/aarch64-execute-only-plt.s
M lld/test/ELF/aarch64-execute-only.s
M lld/test/ELF/aarch64-gnu-ifunc-plt.s
M lld/test/ELF/aarch64-plt.s
A lld/test/ELF/arm-execute-only-mixed.s
M lld/test/ELF/arm-execute-only.s
A lld/test/ELF/loongarch-relax-tls-ie.s
M lld/test/ELF/loongarch-tls-ie.s
A lld/test/MachO/archive-no-index.ll
A lld/test/MachO/archive-no-index.s
M lld/test/MachO/arm64-objc-stubs.s
R lld/test/MachO/invalid/archive-no-index.s
A lld/test/MachO/tapi-rpath.s
M lldb/include/lldb/API/SBDebugger.h
M lldb/include/lldb/API/SBReproducer.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/RichManglingContext.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/Host/ProcessRunLock.h
M lldb/include/lldb/Initialization/SystemLifetimeManager.h
M lldb/include/lldb/Interpreter/OptionValue.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Utility/LLDBAssert.h
M lldb/include/lldb/ValueObject/DILParser.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
R lldb/scripts/reproducer-replay.py
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBReproducer.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/RichManglingContext.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Host/common/ProcessRunLock.cpp
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Initialization/SystemLifetimeManager.cpp
M lldb/source/Interpreter/OptionValue.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/ObjC/NSString.cpp
M lldb/source/Plugins/Language/ObjC/NSString.h
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
M lldb/source/Plugins/Language/ObjC/ObjCLanguage.h
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/Language.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/source/ValueObject/ValueObject.cpp
M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/TestDataFormatterLibcxxInvalidVectorSimulator.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx-simulators/invalid-vector/main.cpp
M lldb/test/API/functionalities/param_entry_vals/basic_entry_values/main.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/tail_call_frames/inlining_and_tail_calls/main.cpp
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
A lldb/test/API/lang/objc/foundation/tagged/strings/Makefile
A lldb/test/API/lang/objc/foundation/tagged/strings/TestObjCTaggedStrings.py
A lldb/test/API/lang/objc/foundation/tagged/strings/main.m
A lldb/test/API/python_api/target/read-instructions-flavor/Makefile
A lldb/test/API/python_api/target/read-instructions-flavor/TestTargetReadInstructionsFlavor.py
A lldb/test/API/python_api/target/read-instructions-flavor/main.c
M lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
A lldb/test/API/tools/lldb-dap/cancel/Makefile
A lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
A lldb/test/API/tools/lldb-dap/cancel/main.c
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/Shell/Recognizer/verbose_trap-in-stl-max-depth.test
M lldb/test/Shell/Settings/TestFrameFormatName.test
M lldb/test/Shell/SymbolFile/NativePDB/inline_sites_live.cpp
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/driver/Driver.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/Handler/CancelRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
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/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-server/lldb-server.cpp
M lldb/tools/lldb-test/SystemInitializerTest.cpp
M lldb/tools/lldb-test/lldb-test.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/DebuggerTest.cpp
M lldb/unittests/Core/DiagnosticEventTest.cpp
M lldb/unittests/Core/RichManglingContextTest.cpp
M lldb/unittests/Interpreter/TestCommandPaths.cpp
M lldb/unittests/Language/CPlusPlus/CPlusPlusLanguageTest.cpp
M lldb/unittests/Language/ObjC/ObjCLanguageTest.cpp
M lldb/unittests/Platform/PlatformSiginfoTest.cpp
M lldb/unittests/Process/ProcessEventDataTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteClientBaseTest.cpp
M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
M lldb/unittests/Symbol/UnwindPlanTest.cpp
M lldb/unittests/Target/ExecutionContextTest.cpp
M lldb/unittests/Target/MemoryTest.cpp
M lldb/unittests/Target/StackFrameRecognizerTest.cpp
M lldb/unittests/Thread/ThreadTest.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
M llvm/Maintainers.md
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
M llvm/cmake/modules/TableGen.cmake
M llvm/docs/CMake.rst
M llvm/docs/CodeOfConduct.rst
M llvm/docs/CommandGuide/llc.rst
M llvm/docs/GitHub.rst
A llvm/docs/InterfaceExportAnnotations.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/Reference.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/CFG.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/ProfileSummaryInfo.h
M llvm/include/llvm/Analysis/TargetLibraryInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/Bitcode/BitcodeConvenience.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
A llvm/include/llvm/CodeGen/BranchRelaxation.h
A llvm/include/llvm/CodeGen/CFIInstBuilder.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/MachineBlockPlacement.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
A llvm/include/llvm/CodeGen/PostRAHazardRecognizer.h
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/CodeGen/RegAllocGreedyPass.h
A llvm/include/llvm/CodeGen/RemoveLoadsIntoFakeUses.h
A llvm/include/llvm/CodeGen/SDNodeInfo.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
A llvm/include/llvm/CodeGen/SanitizerBinaryMetadata.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
A llvm/include/llvm/CodeGen/StackFrameLayoutAnalysisPass.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/ValueTypes.td
M llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h
M llvm/include/llvm/DebugInfo/LogicalView/Readers/LVDWARFReader.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/Demangle/MicrosoftDemangle.h
M llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
M llvm/include/llvm/Frontend/Atomic/Atomic.h
A llvm/include/llvm/Frontend/HLSL/CBuffer.h
M llvm/include/llvm/Frontend/OpenACC/ACC.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.h
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/4315e7ed173b...d21a360a969d
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