[all-commits] [llvm/llvm-project] ec3525: [NVPTX] Attempt to load params using symbol additi...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Tue Jan 21 07:33:26 PST 2025
Branch: refs/heads/users/alexey-bataev/spr/slpinitial-non-power-of-2-but-still-whole-register-for-remaining-nodes
Home: https://github.com/llvm/llvm-project
Commit: ec3525f7844878767b70b78753affbe44acfa9ed
https://github.com/llvm/llvm-project/commit/ec3525f7844878767b70b78753affbe44acfa9ed
Author: Kevin McAfee <kmcafee at nvidia.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
A llvm/test/CodeGen/NVPTX/param-add.ll
Log Message:
-----------
[NVPTX] Attempt to load params using symbol addition node directly (#119935)
During instruction selection on load instructions, transform loads of
[register+offset] into [symbol+offset] if the register value is the
result of an ADD instruction(s) of a symbol and constant(s). This
enables the removal of any ADD(s) of the symbol that are not combined
with the load to create a ld.param. This is normally not an issue when
DAG combines are enabled as any extra ADDs would be folded. However,
when DAG combines are disabled, there may be cases where an ADD of a
symbol is consumed by multiple other nodes and is retained in generated
code as a PTX `add` instruction that uses the symbol as an operand -
this is illegal PTX.
Commit: 0c1c49f0ff8003aee22c3f26fca03c2f5385f355
https://github.com/llvm/llvm-project/commit/0c1c49f0ff8003aee22c3f26fca03c2f5385f355
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
[mlir][AMDGPU] Fix raw buffer ptr ops lowering (#122293)
This patch fixes several bugs in the lowering of AMDGPU raw buffer
operations. These bugs include:
- Incorrectly handling the offset of the memref, causing errors when
using subviews.
- Using the MaximumOp (float specific op) to calculate the number of
records.
- The number of records in the static shape case.
- The lowering when index bitwidth=i64.
Furthermore this patch also switches to use MLIR's data layout to get
the type size.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: a100fd8cbd3dad3846a6212d97279ca23db85c75
https://github.com/llvm/llvm-project/commit/a100fd8cbd3dad3846a6212d97279ca23db85c75
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M llvm/include/llvm/Demangle/ItaniumDemangle.h
Log Message:
-----------
[libc++abi][ItaniumDemangle] Demangle DF16b as std::bfloat16_t (#120109)
This mangling is official in the Itanium C++ ABI specification and is
already supported by clang.
Commit: 1907a29dedfb9625772a332bb6d6c31d89fb36d3
https://github.com/llvm/llvm-project/commit/1907a29dedfb9625772a332bb6d6c31d89fb36d3
Author: Tom Honermann <tom.honermann at intel.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[Clang][NFC] Indentation fixes and unneeded semicolon removal. (#122794)
Commit: 7e191038957cf5e22da55ba577ce6e033236b05f
https://github.com/llvm/llvm-project/commit/7e191038957cf5e22da55ba577ce6e033236b05f
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/unittests/Transforms/Utils/ValueMapperTest.cpp
Log Message:
-----------
[DebugInfo] Map VAM args to `poison` instead of `undef` [NFC] (#122756)
If an argument cannot be mapped in `Mapper::mapValue`, it can be mapped
to `poison` instead of `undef`.
Commit: a10ce71ac4ef55cc9a80c0aece501a09bd39cc9a
https://github.com/llvm/llvm-project/commit/a10ce71ac4ef55cc9a80c0aece501a09bd39cc9a
Author: David Green <david.green at arm.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/test/tools/llvm-mca/ARM/cortex-a57-memory-instructions.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-thumb.s
M llvm/test/tools/llvm-mca/ARM/m4-int.s
M llvm/test/tools/llvm-mca/ARM/m55-int.s
M llvm/test/tools/llvm-mca/ARM/m7-int.s
M llvm/test/tools/llvm-mca/ARM/m85-int.s
Log Message:
-----------
[ARM] Add mayStore to more store instructions
As in #121565 we need to mark all stores as mayStore, hasSideEffects is not
enough to prevent moving loads past the instructions. And marking the
instructions as mayStore is a sensible thing to do on its own.
Commit: a39aaf35d3858a5542f532e399482c2bb0259dac
https://github.com/llvm/llvm-project/commit/a39aaf35d3858a5542f532e399482c2bb0259dac
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
A llvm/test/tools/llvm-exegesis/dry-run-measurement.test
M llvm/test/tools/llvm-exegesis/lit.local.cfg
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
Reland: "[Exegesis] Add the ability to dry-run the measurement phase (#121991)" (#122775)
This relands f8f8598fd886cddfd374fa43eb6d7d37d301b576
Follow up on #122371:
The problem here is a little subtle: when we dry-run the measurement
phase, we create a LLJIT instance without actually executing the
snippets. The key is, LLJIT has its own TargetMachine which uses triple
designated by LLVM_TARGET_ARCH (which is default to host). On a machine
that does not support Exegesis, the LLJIT would fail to create its
TargetMachine because llvm-exegesis don't even register the host's
target!
Putting this test into any of the target-specific folder won't help,
because it's about the host. And personally I don't really want to use
`exegesis-can-execute-<arch>` for generic tests like this -- it's too
strict as we don't actually need to execute the snippet.
My solution here is creating another test feature which is added only
when LLVM_TARGET_ARCH is supported by llvm-exegesis. This feature is
something in between `<arch>-registered-target` and
`exegesis-can-execute-<arch>`.
Commit: 0f3aeca16fc1de8d172fd14c908ebbd0fe61eeb4
https://github.com/llvm/llvm-project/commit/0f3aeca16fc1de8d172fd14c908ebbd0fe61eeb4
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] Update and/or/xor codegen pattern for i16 (#121835)
In true16 flow, remove and/or/xor 32bit patterns for i16
Commit: 283dca56f8dddbf2f144730a01675c94b04f57cb
https://github.com/llvm/llvm-project/commit/283dca56f8dddbf2f144730a01675c94b04f57cb
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/win-import-call-optimization-nocalls.ll
A llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
A llvm/test/CodeGen/MIR/AArch64/called-globals.mir
M llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir
M llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir
A llvm/test/MC/AArch64/win-import-call-optimization.s
A llvm/test/MC/COFF/bad-parse.s
Log Message:
-----------
Reapply "[aarch64][win] Add support for import call optimization (equivalent to MSVC /d2ImportCallOptimization) (#121516)" (#122777)
This reverts commit 2f7ade4b5e399962e18f5f9a0ab0b7335deece51.
Fix is available in #122762
Commit: 19032bfe87fa0f4a3a7b3e68daafc93331b71e0d
https://github.com/llvm/llvm-project/commit/19032bfe87fa0f4a3a7b3e68daafc93331b71e0d
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMSLSHardening.cpp
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
Log Message:
-----------
[aarch64][win] Update Called Globals info when updating Call Site info (#122762)
Fixes the "use after poison" issue introduced by #121516 (see
<https://github.com/llvm/llvm-project/pull/121516#issuecomment-2585912395>).
The root cause of this issue is that #121516 introduced "Called Global"
information for call instructions modeling how "Call Site" info is
stored in the machine function, HOWEVER it didn't copy the
copy/move/erase operations for call site information.
The fix is to rename and update the existing copy/move/erase functions
so they also take care of Called Global info.
Commit: 61e2841d8b83319e90cd44cf77770d2e41080cc2
https://github.com/llvm/llvm-project/commit/61e2841d8b83319e90cd44cf77770d2e41080cc2
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/array/main.cpp
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/main.cpp
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/main.cpp
Log Message:
-----------
[lldb][test] Fix some 'import-std-module' tests (#122358)
Some tests from 'import-std-module' used to fail on the builder
https://lab.llvm.org/staging/#/builders/195/builds/4470,
since libcxx is set up to be linked statically with test binaries
on it.
Thus, they were temporarily disabled in #112530. Here, this commit
is reverted.
Jitted expressions from the tests try to call __libcpp_verbose_abort
function that is not present in the process image, which causes
the failure.
Here, this symbol is explicitly referenced from the test source files.
Commit: bab7920fd7ea822543b8f1aa8037d489eea2cb73
https://github.com/llvm/llvm-project/commit/bab7920fd7ea822543b8f1aa8037d489eea2cb73
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][CG]Use processShuffleMasks for per-register shuffles
Patch adds usage of processShuffleMasks in in codegen
in lowerShuffleViaVRegSplitting. This function is already used for X86
shuffles estimations and in DAGTypeLegalizer::SplitVecRes_VECTOR_SHUFFLE
functions, unifies the code.
Reviewers: topperc, wangpc-pp, lukel97, preames
Reviewed By: preames
Pull Request: https://github.com/llvm/llvm-project/pull/121765
Commit: ad56f6267f6b208c46074d9f58464f171418d619
https://github.com/llvm/llvm-project/commit/ad56f6267f6b208c46074d9f58464f171418d619
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/Support/APFloat.cpp
Log Message:
-----------
[APFloat][NFC]extract `fltSemantics::isRepresentableBy` to header (#122636)
isRepresentableBy is useful to check float point type compatibility
Commit: ab023199d595187d248abe67aa2fd8635be51fdb
https://github.com/llvm/llvm-project/commit/ab023199d595187d248abe67aa2fd8635be51fdb
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
Log Message:
-----------
[clang-tidy] fix wrong float to float conversion check when floating point type is not standard type (#122637)
compare type kind is the wrong way to compare floating point type compatibility.
more generic compatibility check is needed.
Commit: 251ef3f5037d3e89fa457d146fb2521215e13feb
https://github.com/llvm/llvm-project/commit/251ef3f5037d3e89fa457d146fb2521215e13feb
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
A lld/test/COFF/arm64x-incl.s
Log Message:
-----------
[LLD][COFF] Use appropriate symbol table for -include argument on ARM64X (#122554)
Move `LinkerDriver::addUndefined` to` SymbolTable` to allow its use with
both symbol tables on ARM64X and rename it to `addGCRoot` to clarify its
distinct role compared to the existing `SymbolTable::addUndefined`.
Command-line `-include` arguments now apply to the EC symbol table, with
`mainSymtab` introduced in `linkerMain`. There will be more similar
cases. For `.drectve` sections, the corresponding symbol table is used
based on the context.
Commit: a8d2aeec8732c8d158f5b194a5191c0805bcd961
https://github.com/llvm/llvm-project/commit/a8d2aeec8732c8d158f5b194a5191c0805bcd961
Author: ChiaHungDuan <chiahungduan at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/primary64.h
Log Message:
-----------
[scudo] Fix the format of getStats() (#121608)
This is a quick fix for b71c44b9be17dc6295eb733d685b38e797f3c846
"last released" was removed by accident in primary64.h and the update of
"NumReleasesAttempted" was missing.
Commit: 386dec2be9ff979a9ca522debd9387d2d3c83e76
https://github.com/llvm/llvm-project/commit/386dec2be9ff979a9ca522debd9387d2d3c83e76
Author: jimingham <jingham at apple.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
Update ReleaseNotes.md
Mentioned native command definitions and support for breaking on inlined call-sites.
Commit: cd264f09a4d2f25d75436abdeeb757c412c3a75c
https://github.com/llvm/llvm-project/commit/cd264f09a4d2f25d75436abdeeb757c412c3a75c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/Transforms/InstSimplify/select.ll
Log Message:
-----------
[InstSimplify] Test select bit test with trunc to i1 (NFC)
Commit: 8ce81f17a16b8b689895c7c093d0401a75c09882
https://github.com/llvm/llvm-project/commit/8ce81f17a16b8b689895c7c093d0401a75c09882
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
Log Message:
-----------
[LegalizeVectorOps][RISCV] Use VP_FP_EXTEND/ROUND when promoting VP_FP* operations. (#122784)
This preserves the original VL leading to more reuse of VL for vsetvli.
The VLOptimizer can also clean up a lot of this, but I'm not sure if it
gets all of it.
There are some regressions in here from propagating the mask too, but
I'm not sure if that's a concern.
Commit: 051612c0180e4e5a9ba750a994a91d2c1b05b00c
https://github.com/llvm/llvm-project/commit/051612c0180e4e5a9ba750a994a91d2c1b05b00c
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/Tensor/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][ValueBounds] memref.dim and tensor.dim are always positive (#122804)
Add the constraint that the length of a memref or tensor dimension is
always non-negative (at least 0) even if we don't know which dimension
we're querying the length of.
Commit: 7d8b4eb0ead277f41ff69525ed807f9f6e227f37
https://github.com/llvm/llvm-project/commit/7d8b4eb0ead277f41ff69525ed807f9f6e227f37
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[sanitizer][NFCI] Add Options parameter to LowerAllowCheckPass (#122765)
This is glue code to convert LowerAllowCheckPass from a FUNCTION_PASS to
FUNCTION_PASS_WITH_PARAMS. The parameters are currently unused.
Future work will plumb `-fsanitize-skip-hot-cutoff` (introduced in
https://github.com/llvm/llvm-project/pull/121619) to
LowerAllowCheckOptions.
Commit: 1515caf7a59dc20cb932b724b2ef5c1d1a593427
https://github.com/llvm/llvm-project/commit/1515caf7a59dc20cb932b724b2ef5c1d1a593427
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/Instrumentation/LowerAllowCheckPass.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
Revert "[sanitizer][NFCI] Add Options parameter to LowerAllowCheckPass" (#122833)
Reverts llvm/llvm-project#122765
Reason: buildbot breakage
(https://lab.llvm.org/buildbot/#/builders/46/builds/10393)
```
z:\b\llvm-clang-x86_64-sie-win\build\bin\clang.exe -cc1 -internal-isystem Z:\b\llvm-clang-x86_64-sie-win\build\lib\clang\20\include -nostdsysteminc -triple x86_64-pc-linux-gnu -emit-llvm -o - Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c -fsanitize=signed-integer-overflow -mllvm -ubsan-guard-checks -O3 -mllvm -lower-allow-check-random-rate=1 -Rpass=lower-allow-check -Rpass-missed=lower-allow-check -fno-inline 2>&1 | z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c --check-prefixes=NOINL --implicit-check-not="remark:"
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\clang.exe' -cc1 -internal-isystem 'Z:\b\llvm-clang-x86_64-sie-win\build\lib\clang\20\include' -nostdsysteminc -triple x86_64-pc-linux-gnu -emit-llvm -o - 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c' -fsanitize=signed-integer-overflow -mllvm -ubsan-guard-checks -O3 -mllvm -lower-allow-check-random-rate=1 -Rpass=lower-allow-check -Rpass-missed=lower-allow-check -fno-inline
# note: command had no output on stdout or stderr
# error: command failed with exit status: 0xc0000409
# executed command: 'z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe' 'Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c' --check-prefixes=NOINL --implicit-check-not=remark:
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line: z:\b\llvm-clang-x86_64-sie-win\build\bin\filecheck.exe Z:\b\llvm-clang-x86_64-sie-win\llvm-project\clang\test\CodeGen\allow-ubsan-check-inline.c --check-prefixes=NOINL --implicit-check-not=remark:
# `-----------------------------
# error: command failed with exit status: 2
```
Commit: 2201164477982c2bd20fa2e925f567585c390805
https://github.com/llvm/llvm-project/commit/2201164477982c2bd20fa2e925f567585c390805
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/Support/Win64EH.h
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv2.yaml
M llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-image.yaml
M llvm/tools/llvm-objdump/COFFDump.cpp
M llvm/tools/llvm-readobj/Win64EHDumper.cpp
M llvm/tools/llvm-readobj/Win64EHDumper.h
Log Message:
-----------
[llvm] Win x64 Unwind V2 2/n: Support dumping UOP_Epilog (#110338)
Adds support to objdump and readobj for reading the `UOP_Epilog` entries
of Windows x64 unwind v2.
`UOP_Epilog` has a weird format:
The first `UOP_Epilog` in the unwind data is the "header":
* The least-significant bit of `OpInfo` is the "At End" flag, which
signifies that there is an epilog at the very end of the associated
function.
* `CodeOffset` is the length each epilog described by the current unwind
information (all epilogs have the same length).
Any subsequent `UOP_Epilog` represents another epilog for the current
function, where `OpInfo` and `CodeOffset` are combined to a 12-bit value
which is the offset of the beginning of the epilog from the end of the
current function. If the offset is 0, then this entry is actually
padding and can be ignored.
Commit: 1908c41259dbd43567bb8fd32ee69862411305ef
https://github.com/llvm/llvm-project/commit/1908c41259dbd43567bb8fd32ee69862411305ef
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M llvm/include/llvm/Debuginfod/Debuginfod.h
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/unittests/Debuginfod/DebuginfodTests.cpp
Log Message:
-----------
Revert "[lldb] Switch debuginfod cache to use lldb index cache settings" (#122816)
This reverts commit 7b808e73aa0193c8a42eae8f2420a803f424bee1.
Previous commit which change default debuginfod cache path and pruning
policy settings is problematic. It broke multiple tests across lldb and
llvm. Reverting for now.
Co-authored-by: George Hu <georgehuyubo at gmail.com>
Commit: 5ea1c873647c02c80556594b9738de6768d98bf1
https://github.com/llvm/llvm-project/commit/5ea1c873647c02c80556594b9738de6768d98bf1
Author: wanglei <wanglei at loongson.cn>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_loongarch64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_loongarch64.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_loongarch64.h
M lldb/source/Plugins/Process/Utility/lldb-loongarch-register-enums.h
M lldb/source/Utility/LoongArch_DWARF_Registers.h
A lldb/test/API/linux/loongarch64/simd_registers/Makefile
A lldb/test/API/linux/loongarch64/simd_registers/TestLoongArch64LinuxSIMDRegisters.py
A lldb/test/API/linux/loongarch64/simd_registers/main.c
Log Message:
-----------
[LLDB][LoongArch] Add LSX and LASX register definitions and operations
With this patch, vector registers can be read and written when debugging a live process.
Note: We currently assume that all LoongArch64 processors include the
LSX and LASX extensions.
To add test cases, the following modifications were also made:
lldb/packages/Python/lldbsuite/test/lldbtest.py
lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Reviewed By: DavidSpickett, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/120664
Commit: ba4dc5a0d6ecb772befe418d42f9c7089563d690
https://github.com/llvm/llvm-project/commit/ba4dc5a0d6ecb772befe418d42f9c7089563d690
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-launch.fir
Log Message:
-----------
[flang][cuda] Pass the device address for global descriptor (#122802)
Commit: c701c18bed0c6c1bfd4a1dcfa9f207ddbb74cdfc
https://github.com/llvm/llvm-project/commit/c701c18bed0c6c1bfd4a1dcfa9f207ddbb74cdfc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/module/__cuda_device.f90
M flang/module/cudadevice.f90
M flang/tools/f18/CMakeLists.txt
Log Message:
-----------
[flang][cuda] Move interface to __cuda_device (#122771)
Commit: 3a9977efaa24089c1cbd987d8fafa9831cbb780d
https://github.com/llvm/llvm-project/commit/3a9977efaa24089c1cbd987d8fafa9831cbb780d
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Log Message:
-----------
[mlir][linalg] Fix no-null pointer check (#122727)
This PR fixes
[Bug19](https://pvs-studio.com/en/blog/posts/cpp/1188/#ID6222F3BAF3)
mentioned in https://pvs-studio.com/en/blog/posts/cpp/1188/.
Commit: 4bd9edc15a323f09116c356404b0c926a02b69a9
https://github.com/llvm/llvm-project/commit/4bd9edc15a323f09116c356404b0c926a02b69a9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
Log Message:
-----------
[RISCV] Remove loads from fixed-vectors-extract.ll. NFC (#122796)
These test cases weren't trying to test load+extract. I believe they
only used loads because fixed vector arguments weren't supported when
they were written or they weren't copied from the structure of other
tests that pre-date fixed vector argument support.
Reduces diff from #122671.
Commit: 58708151ecaab8786c58b20eefc548dbdb23c8cc
https://github.com/llvm/llvm-project/commit/58708151ecaab8786c58b20eefc548dbdb23c8cc
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
A mlir/docs/DefiningDialects/Assembly.md
Log Message:
-----------
[mlir][docs] Guide on generating alias for type/attribute (#121698)
This is part of
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792.
Verbose printing of commonly used type/attribute that is long could
severely reduce the readablity of the resulting assembly, and it has
been asked several times in the LLVM discourse how to generate alias.
Cc @ftynse
### Discussion
* I am not sure where to put the markdown, so I put it in `mlir/docs/`.
* Documentation on `OpAsmOpInterface` (controlling
`AsmResultName`/`BlockArgName`/etc) could also be added in this
markdown, so I used the title `Customizing AsmPrinter Behavior` and let
further PR to update the content.
Commit: 7c51c310ad9a50e721e5f17f2f27f066a0d77b80
https://github.com/llvm/llvm-project/commit/7c51c310ad9a50e721e5f17f2f27f066a0d77b80
Author: vporpo <vporpodas at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
Log Message:
-----------
[SandboxVec][BottomUpVec] Clean up dead address instrs (#122536)
When we vectorize loads or stores we only keep the address of the first
lane. The rest may become dead. This patch adds the address operands of
vectorized loads or stores to the dead candidates set, such that they
get erased if dead.
Commit: 64c2156d8802b0d7724f65ce854844670e4ec457
https://github.com/llvm/llvm-project/commit/64c2156d8802b0d7724f65ce854844670e4ec457
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
Log Message:
-----------
[Wunsafe-buffer-usage] Fix false positive when const sized array is indexed by const evaluatable expressions (#119340)
Do not warn when constant sized array is indexed by expressions that
evaluate to a const value. For instance, sizeof(T) expression value can
be evaluated at compile time and if an array is indexed by such an
expression, it's bounds can be validated.
(rdar://140320289)
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 717230c959bcb01343ca9e43b053fb62e736b4ec
https://github.com/llvm/llvm-project/commit/717230c959bcb01343ca9e43b053fb62e736b4ec
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
Log Message:
-----------
[JITLink] Fix empty comment on LinkGraph::intern method.
Commit: d90a42751f9bfa73ed3555c702e70cf34d97bb39
https://github.com/llvm/llvm-project/commit/d90a42751f9bfa73ed3555c702e70cf34d97bb39
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
Log Message:
-----------
[RISCV] Remove loads from single element fixed vector reduction tests. NFC (#122808)
These tests weren't interested in the loads. Removing them reduces the
diffs from #122671.
Commit: 9f114afe092483983a82a73c82704f11bb28bf8c
https://github.com/llvm/llvm-project/commit/9f114afe092483983a82a73c82704f11bb28bf8c
Author: lialan <me at alanli.org>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[MLIR][ROCDL] Convert `math::fpowi` to ROCDL call (#122640)
* Have to relax static assert to allow reuse of existing template
patterns for conversion.
Commit: cb2560d33b029b50c10bbc4348bbb944382fb659
https://github.com/llvm/llvm-project/commit/cb2560d33b029b50c10bbc4348bbb944382fb659
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Verify plan before optimizations. NFC (#122678)
I've been exploring verifying the VPlan before and after the EVL
transformation steps, and noticed that the VPlan comes out in an invalid
state between construction and optimisation.
In adjustRecipesForReductions, we leave behind some dead recipes which
are invalid:
1) When we replace a link with a reduction recipe, the old link ends up
becoming a use-before-def:
WIDEN ir<%l7> = add ir<%sum.02>, ir<%indvars.iv>.1
WIDEN ir<%l8> = add ir<%l7>.1, ir<%l3>
WIDEN ir<%l9> = add ir<%l8>.1, ir<%l5>
...
REDUCE ir<%l7>.1 = ir<%sum.02> + reduce.add (ir<%indvars.iv>.1)
REDUCE ir<%l8>.1 = ir<%l7>.1 + reduce.add (ir<%l3>)
REDUCE ir<%l9>.1 = ir<%l8>.1 + reduce.add (ir<%l5>)
2) When transforming an AnyOf reduction phi to a boolean, we leave
behind a select with mismatching operand types, which will trigger the
assertions in VTypeAnalysis after #122679
This adds an extra verification step and deletes the dead recipes
eagerly to keep the plan valid.
Commit: ffe5cddb68ab84348866b3a3ac727d263b2a44c2
https://github.com/llvm/llvm-project/commit/ffe5cddb68ab84348866b3a3ac727d263b2a44c2
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[RISCV] Support vp.{gather,scatter} in RISCVGatherScatterLowering (#122232)
This adds support for lowering llvm.vp.{gather,scatter}s to
experimental.vp.strided.{load,store}.
This will help us handle strided accesses with EVL tail folding that are
emitted from the loop vectorizer, but note that it's still not enough.
We will also need to handle the vector step not being loop-invariant
(i.e. produced by @llvm.experimental.vector.length) in a future patch.
Commit: 35f9d2ac49eb3344f528c5b0c3b75330ade93982
https://github.com/llvm/llvm-project/commit/35f9d2ac49eb3344f528c5b0c3b75330ade93982
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#122778)
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 expect Prototype.P to be nonnull.
Commit: 1ac52ec40acfcc039ab830404e7f7ac72dfe8480
https://github.com/llvm/llvm-project/commit/1ac52ec40acfcc039ab830404e7f7ac72dfe8480
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[NFC]Update -fsplit-machine-functions now aarch64 function splitting is supported (#122860)
With https://reviews.llvm.org/D157157, mfs is supported on aarch64.
Commit: 9b5857a68381652dbea2a0c9efa734b6c4cf38c9
https://github.com/llvm/llvm-project/commit/9b5857a68381652dbea2a0c9efa734b6c4cf38c9
Author: soumyaGhoshh <soumya_ghosh.mail at icloud.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix parentheses for clarity in X86ISelLowering.cpp (#121954)
fixes #121908
This pull request resolves issue #121908 by adding proper parentheses in
X86ISelLowering.cpp to follow operator precedence rules. This change
ensures better code clarity and avoids ambiguity.
Commit: 4eaff6c58ae2f130ac8d63cf2c87bbb483114876
https://github.com/llvm/llvm-project/commit/4eaff6c58ae2f130ac8d63cf2c87bbb483114876
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/MapperJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
Log Message:
-----------
[JITLink] Use target triple for LinkGraph pointer size and endianness.
Removes LinkGraph's PointerSize and Endianness members and uses the triple to
find these values instead.
Also removes some redundant Triple copies.
Commit: 87d7aebdd43102160d93d8e5859228d860ea072d
https://github.com/llvm/llvm-project/commit/87d7aebdd43102160d93d8e5859228d860ea072d
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV][test] Add more 64-bit tests in zbb-logic-neg-imm.ll
Commit: 726cfc67b69633119279a6369263491421861b1d
https://github.com/llvm/llvm-project/commit/726cfc67b69633119279a6369263491421861b1d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-13 (Mon, 13 Jan 2025)
Changed paths:
M llvm/test/TableGen/AsmPredicateCombiningRISCV.td
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[RISCV] Don't convert virtual register Register to MCRegister in isCompressibleInst. (#122843)
Calling MCRegisterClass::contains with a Register does an implicit
conversion from Register to MCRegister. I think MCRegister is only
intended to be used for physical registers. We should protect this
implicit conversion by checking for physical registers first.
While I was here I removed some unnecessary parentheses from the output.
Commit: c9bc0fffa74d374bec57a1c1a320ec99b49f4e29
https://github.com/llvm/llvm-project/commit/c9bc0fffa74d374bec57a1c1a320ec99b49f4e29
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp
Log Message:
-----------
[JITLink] Fix incorrect file name in unit test file comment.
Commit: 99fc649c5f9a0592f4aaed7945a0ffa79a191c33
https://github.com/llvm/llvm-project/commit/99fc649c5f9a0592f4aaed7945a0ffa79a191c33
Author: Ben Shi <2283975856 at qq.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/AVR/AVRInstrInfo.td
Log Message:
-----------
[AVR][NFC] Improve format of target description files (#122845)
Commit: cfe5a0847a42d7e67942d70f938d2d664a95990c
https://github.com/llvm/llvm-project/commit/cfe5a0847a42d7e67942d70f938d2d664a95990c
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
Log Message:
-----------
[RISCV] Enable Zbb ANDN/ORN/XNOR for more 64-bit constants (#122698)
This extends PR #120221 to 64-bit constants that don't match
the 12-low-bits-set pattern.
Commit: 1a935d7a17519e9b75d12c3caf9a54a3405a0af3
https://github.com/llvm/llvm-project/commit/1a935d7a17519e9b75d12c3caf9a54a3405a0af3
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/ARC/ARCFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/test/CodeGen/PowerPC/alloca-crspill.ll
M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir
Log Message:
-----------
[llvm] Mark scavenging spill-slots as *spilled* stack objects. (#122673)
This seems like an oversight when copying code from other backends.
Commit: 95f7c2f88dc5b2fd851c3181b03300538151133e
https://github.com/llvm/llvm-project/commit/95f7c2f88dc5b2fd851c3181b03300538151133e
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
Log Message:
-----------
[lldb] Reduce duplication in two of DWARFDIE context functions (#122712)
This doesn't make much of a difference now, but it makes it easier to
add -gsimple-template-names support to these functions (the idea is to
add an argument to say whether you want the name as spelled in the debug
info, or the one embellished with template arguments -- we have use
cases for both).
Commit: 53c7fe50d869386459226aeac5ec72ee918737c9
https://github.com/llvm/llvm-project/commit/53c7fe50d869386459226aeac5ec72ee918737c9
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/test/Dialect/NVGPU/invalid.mlir
Log Message:
-----------
[mlir][nvgpu]add dim check test to nvgpu.mma op. (#122864)
add shape checks of matrixA, matrixB, and matrixC to the nvgpu.mma's verify.
Commit: e4e85e04c33bbb9ab298ab18d56e2d6de89f80c2
https://github.com/llvm/llvm-project/commit/e4e85e04c33bbb9ab298ab18d56e2d6de89f80c2
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC][AArch64] Add relnote saying SVE2.1 and SME2.1 now fully implemented by ACLE (#122705)
Commit: 19c516c8d5716c3ab7ceb5c01705c9dc9a7e6c0a
https://github.com/llvm/llvm-project/commit/19c516c8d5716c3ab7ceb5c01705c9dc9a7e6c0a
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/test/MC/AArch64/armv9.1a-rme.s
M llvm/test/MC/Disassembler/AArch64/armv9a-rme.txt
Log Message:
-----------
[AArch64] Add DC CIGDPAPA and DC CIPAPA instructions (#122718)
Add `DC CIGDPAPA` and `DC CIPAPA` instructions, for the RME extension,
which was added as part of Armv9.1-A, but these instructions were
missed.
Commit: 42595bdaefb6b066896c20b69ab66ff2a7fe8477
https://github.com/llvm/llvm-project/commit/42595bdaefb6b066896c20b69ab66ff2a7fe8477
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
A llvm/unittests/ExecutionEngine/JITLink/AArch64Tests.cpp
M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
Log Message:
-----------
[JITLink] Teach aarch64 GOT & PLT table managers to discover existing entries.
aarch64::GOTTableManager and aarch64::PLTTableManager will now look for
existing GOT and PLT sections and re-use existing entries if they're present.
This will be used for an upcoming MachO patch to enable compact unwind support.
Commit: 40fa7f5e8b315159d45aa280c771af5998bdc75e
https://github.com/llvm/llvm-project/commit/40fa7f5e8b315159d45aa280c771af5998bdc75e
Author: Piotr Sobczak <piotr.sobczak at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.demote.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.vote.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf-kill.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
[AMDGPU] Fix computed kill mask (#122736)
Replace S_XOR with S_ANDN2 when computing the kill mask in demote/kill
lowering. This has the effect of AND'ing demote/kill condition with exec
which is needed for proper live mask update.
The S_XOR is inadequate because it may return true for lane with exec=0.
This patch fixes an image corruption in game.
I think the issue went unnoticed because demote/kill condition is often
naturally dependent on exec, so AND'ing with exec is usually not
required.
Commit: a94f08174c0312bca0ff6405640eb8a3ff986084
https://github.com/llvm/llvm-project/commit/a94f08174c0312bca0ff6405640eb8a3ff986084
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
Log Message:
-----------
LAA: regen a test with UTC (NFC) (#122748)
Commit: 7a0f75c7385e971b84f05da2e48c138dc40f2b3b
https://github.com/llvm/llvm-project/commit/7a0f75c7385e971b84f05da2e48c138dc40f2b3b
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/test/Other/new-pm-print-pipeline.ll
Log Message:
-----------
Reapply "[GVN] MemorySSA for GVN: add optional `AllowMemorySSA`"
Original commit: eb63cd62a4a1907dbd58f12660efd8244e7d81e9
Previously reverted due to non-negligible compile-time impact in
stage1-ReleaseLTO-g scenario. The issue has been addressed by
always reusing previously computed MemorySSA results, and request
new ones only when `isMemorySSAEnabled` is set.
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Commit: 6d2534546582721b8d7f10963c329de0a04f0bfe
https://github.com/llvm/llvm-project/commit/6d2534546582721b8d7f10963c329de0a04f0bfe
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsBase.td
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
Remove the `CustomEntry` escape hatch from builtin TableGen (#120861)
This was an especially challenging escape hatch because it directly
forced the use of a specific X-macro structure and prevented any other
form of TableGen emission.
The problematic feature that motivated this is a case where a builtin's
prototype can't be represented in the mini-language used by TableGen.
Instead of adding a complete custom entry for this, this PR just teaches
the prototype handling to do the same thing the X-macros did in this
case: emit an empty string and let the Clang builtin handling respond
appropriately.
This should produce identical results while preserving all the rest of
the structured representation in the builtin TableGen code.
Commit: 4cc9bf149f07edec5ea910af8b3ead17ae8b29b7
https://github.com/llvm/llvm-project/commit/4cc9bf149f07edec5ea910af8b3ead17ae8b29b7
Author: higher-performance <higher.performance.github at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/attr-lifetimebound.cpp
Log Message:
-----------
Propagate lifetimebound from formal parameters to those in the canonical declaration and use that for analysis (#107627)
This partially fixes #62072 by making sure that re-declarations of a
function do not have the effect of removing lifetimebound from the
canonical declaration.
It doesn't handle the implicit 'this' parameter, but that can be
addressed in a separate fix.
Commit: ea4a87957f7a30139680d5e4856b754a14de0c4b
https://github.com/llvm/llvm-project/commit/ea4a87957f7a30139680d5e4856b754a14de0c4b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/JITLink/BUILD.gn
Log Message:
-----------
[gn build] Port 42595bdaefb6
Commit: 0209739597b42f3f617db89043a9c1efe7825c0d
https://github.com/llvm/llvm-project/commit/0209739597b42f3f617db89043a9c1efe7825c0d
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleave4.ll
Log Message:
-----------
[InterleavedAccessPass]: Ensure that dead nodes get erased only once (#122643)
Use SmallSetVector instead of SmallVector to avoid duplication,
so that dead nodes get erased/deleted only once.
Commit: df1a84d2ed6565ea2a5ff8111eb984499ba9e571
https://github.com/llvm/llvm-project/commit/df1a84d2ed6565ea2a5ff8111eb984499ba9e571
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][Docs] Add Minidump related LLDB release notes (#122759)
Add some release notes for the Minidump work I did over the last few
months.
Commit: ac857f9bdd500d274d7996e0fa14aaf8b765d745
https://github.com/llvm/llvm-project/commit/ac857f9bdd500d274d7996e0fa14aaf8b765d745
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Change the way we do init chains (#122871)
See the comment in Compiler<>::VisitCXXThisExpr.
We need to mark the InitList explicitly, so we later know what to refer
to when the init chain is active.
Commit: 04733fac1009fdf7cd89fb24997b1f8866a518fc
https://github.com/llvm/llvm-project/commit/04733fac1009fdf7cd89fb24997b1f8866a518fc
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][Docs] Formatting changes to LLDB release notes
Commit: cfd7e024c6a97b0083f2e25a9d03d7dd516a0452
https://github.com/llvm/llvm-project/commit/cfd7e024c6a97b0083f2e25a9d03d7dd516a0452
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][Docs] Add release note for lldb-server port mapping changes
Commit: 05f9cdd58de0a11819c392f6b09beddb809bf395
https://github.com/llvm/llvm-project/commit/05f9cdd58de0a11819c392f6b09beddb809bf395
Author: Nathan Gauër <brioche at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Remove Check Clang Format from watched workflows (#122740)
This was useful to test metrics before we had an actual workflow, now it
generates noise.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 89063433792699c5913ba116cab09b534c549e56
https://github.com/llvm/llvm-project/commit/89063433792699c5913ba116cab09b534c549e56
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/docs/Dialects/OpenMPDialect/_index.md
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] Add the host_eval clause (#116048)
This patch adds the definition of a new entry block argument-defining
`host_eval` clause. This is intended to implement the passthrough
approach discussed in [this
RFC](https://discourse.llvm.org/t/rfc-openmp-dialect-representation-of-num-teams-thread-limit-and-target-spmd/81106),
for supporting host-evaluated clauses that apply to operations nested
inside of `omp.target`.
Commit: 9d7d8d2c87b3503681b362f6391d97227c62c2e8
https://github.com/llvm/llvm-project/commit/9d7d8d2c87b3503681b362f6391d97227c62c2e8
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/docs/Dialects/OpenMPDialect/_index.md
M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Add host_eval clause to omp.target (#116049)
This patch adds the `host_eval` clause to the `omp.target` operation.
Additionally, it updates its op verifier to make sure all uses of block
arguments defined by this clause fall within one of the few cases where
they are allowed.
MLIR to LLVM IR translation fails on translation of this clause with a
not-yet-implemented error.
Commit: cc3aab580b680e8566e9f7a1ff9feff895ecfc49
https://github.com/llvm/llvm-project/commit/cc3aab580b680e8566e9f7a1ff9feff895ecfc49
Author: Acim Maravic <Acim.Maravic at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
Log Message:
-----------
[AMDGPU] Handle nontemporal and amdgpu.last.use metadata in amdgpu-lower-buffer-fat-pointers (#120139)
Commit: 9988309d5537e2954376005b07e9750cb62574a3
https://github.com/llvm/llvm-project/commit/9988309d5537e2954376005b07e9750cb62574a3
Author: Dan Klishch <30951924+DanShaders at users.noreply.github.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-target-clones.c
M clang/test/Sema/attr-target-mv.c
M clang/test/Sema/attr-target.c
Log Message:
-----------
[clang] Do not allow unorderable features in [[gnu::target{,_clones}]] (#98426)
This partially addresses #98244.
Commit: 0bf1591d01a218dff236e94ca9e0880013129855
https://github.com/llvm/llvm-project/commit/0bf1591d01a218dff236e94ca9e0880013129855
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll
Log Message:
-----------
[VectorCombine] foldPermuteOfBinops - fold "shuffle (binop (shuffle, other)), undef" --> "binop (shuffle), (shuffle)". (#122118)
foldPermuteOfBinops currently requires both binop operands to be oneuse shuffles to fold the shuffles across the binop, but there will be cases where its still profitable to fold across the binop with only one foldable shuffle.
Commit: 27bc6bdaba1138d611e256e890023eefee677edc
https://github.com/llvm/llvm-project/commit/27bc6bdaba1138d611e256e890023eefee677edc
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
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/omptarget-region-device-llvm.mlir
Log Message:
-----------
[OMPIRBuilder] Introduce struct to hold default kernel teams/threads (#116050)
This patch introduces the `OpenMPIRBuilder::TargetKernelDefaultAttrs`
structure used to simplify passing default and constant values for
number of teams and threads, and possibly other target kernel-related
information in the future.
This is used to forward values passed to `createTarget` to
`createTargetInit`, which previously used a default unrelated set of
values.
Commit: ce7c8815a1b1220905d46a6daf377b03819fd1ce
https://github.com/llvm/llvm-project/commit/ce7c8815a1b1220905d46a6daf377b03819fd1ce
Author: David Green <david.green at arm.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/mte-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-mte-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-mte-instructions.s
Log Message:
-----------
[AArch64] Add mayStore to more store instructions
As in #121565 we need to mark all stores as mayStore, hasSideEffects is not
enough to prevent moving loads past the instructions. And marking the
instructions as mayStore is a sensible thing to do on its own.
Commit: 0fe8469e08cfe5bbd4cd7ee42a8b931560ca041c
https://github.com/llvm/llvm-project/commit/0fe8469e08cfe5bbd4cd7ee42a8b931560ca041c
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
SLPVectorizer: strip bad FIXME (NFC) (#122888)
Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of the FIXME it introduced in SLPVectorizer: the FIXME is bad, and we'd
get no testable impact by using CmpPredicate::getMatching here.
Commit: b87fdd9ce612d53b0e0b73d7c062b39a042e8629
https://github.com/llvm/llvm-project/commit/b87fdd9ce612d53b0e0b73d7c062b39a042e8629
Author: Martin Storsjö <martin at martin.st>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libcxx/src/CMakeLists.txt
Log Message:
-----------
[libcxx] Reindent a section of a CMake file. NFC. (#122800)
This was missed in 43ba97e7079525a9686e15a6963508dfbd493f81 (#111821)
when reindenting after
917ada35cd937ad4104dff89c48398bd796ba6b7 (#80007).
Commit: e87f94a6a806a941242506680f88573d6a87a828
https://github.com/llvm/llvm-project/commit/e87f94a6a806a941242506680f88573d6a87a828
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang/lib/Basic/SourceManager.cpp
M flang/test/HLFIR/associate-codegen.fir
M libc/test/src/unistd/getopt_test.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Target/StructuredDataPlugin.cpp
M lldb/unittests/Target/RegisterFlagsTest.cpp
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/test/CodeGen/AArch64/eon.ll
M llvm/test/DebugInfo/X86/multiple-at-const-val.ll
M llvm/test/Transforms/EarlyCSE/guards.ll
M llvm/test/Transforms/InstCombine/matrix-multiplication-negation.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
M mlir/test/Transforms/mem2reg.mlir
M mlir/test/Transforms/sroa.mlir
Log Message:
-----------
[llvm-project] Fix typos mutli and mutliple. NFC. (#122880)
Commit: e409204a89c7fb1d1c040c18fac2fa8db9dfe893
https://github.com/llvm/llvm-project/commit/e409204a89c7fb1d1c040c18fac2fa8db9dfe893
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
Log Message:
-----------
VectorCombine: teach foldExtractedCmps about samesign (#122883)
Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of one of the FIXMEs it introduced by replacing a predicate comparison
with CmpPredicate::getMatching.
Commit: aae259208a2dae815112638eab52023a8526c338
https://github.com/llvm/llvm-project/commit/aae259208a2dae815112638eab52023a8526c338
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVersioning/incorrect-phi.ll
Log Message:
-----------
LoopVersioning: improve a test, regen with UTC (#122876)
Improve a test by replacing undef with poison, and regenerate it using
UpdateTestChecks.
Commit: 6a9e9878a200a6e494beed8944d6d08347945727
https://github.com/llvm/llvm-project/commit/6a9e9878a200a6e494beed8944d6d08347945727
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldPermuteOfBinops - ensure potential identity mask isn't length changing.
Commit: fabc443e9394e460d328984d75570d9f017fe709
https://github.com/llvm/llvm-project/commit/fabc443e9394e460d328984d75570d9f017fe709
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[OMPIRBuilder] Support runtime number of teams and threads, and SPMD mode (#116051)
This patch introduces a `TargetKernelRuntimeAttrs` structure to hold
host-evaluated `num_teams`, `thread_limit`, `num_threads` and trip count
values passed to the runtime kernel offloading call.
Additionally, kernel type information is used to influence target device
code generation and the `IsSPMD` flag is replaced by `ExecFlags`, which
provides more granularity.
Commit: d0b641b7e2a9b4120c11fc60b111a657b0420176
https://github.com/llvm/llvm-project/commit/d0b641b7e2a9b4120c11fc60b111a657b0420176
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[OMPIRBuilder] Propagate attributes to outlined target regions (#117875)
This patch copies the target-cpu and target-features attributes of
functions containing target regions into the corresponding outlined
function holding the target region.
This mirrors what is currently being done for all other outlined
functions through the `CodeExtractor` in `OpenMPIRBuilder::finalize()`.
Commit: be96bd74f8eae5637033e4e05fcbf2a693ce8334
https://github.com/llvm/llvm-project/commit/be96bd74f8eae5637033e4e05fcbf2a693ce8334
Author: Kirill Chibisov <contact at kchibisov.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Target/Cpp/declare_func.mlir
M mlir/test/Target/Cpp/for.mlir
M mlir/test/Target/Cpp/if.mlir
A mlir/test/Target/Cpp/no_extra_semicolon.mlir
M mlir/test/Target/Cpp/switch.mlir
Log Message:
-----------
[mlir][emitc] Don't emit extra semicolon after bracket (#122464)
Extra semicolons were emitted for operations that should never have
them, since not every place was checking whether semicolon would be
actually needed.
Thus change the emitOperation to ignore trailingSemicolon field for such
operations.
Commit: f879da799b4e112d79243dde6d299259d8359eeb
https://github.com/llvm/llvm-project/commit/f879da799b4e112d79243dde6d299259d8359eeb
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/tools/mlir-cpu-runner/CMakeLists.txt
Log Message:
-----------
[mlir-cpu-runner] Pass --exclude-libs to linker when building runner (#122329)
This fixes a conflict between the version of LLVM linked against by the
runner and the unrelated version of LLVM that may be dynamically loaded
by a graphics driver. (Relevant to #73457: fixes loading certain Vulkan
drivers.)
Commit: 30f9a4f75412850d603fde29b59d27dd9d31f380
https://github.com/llvm/llvm-project/commit/30f9a4f75412850d603fde29b59d27dd9d31f380
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/OpenMP/parallel_masked_taskloop_simd_codegen.c
Log Message:
-----------
[OpenMP] codegen support for masked combined construct parallel masked taskloop simd. (#121746)
Added codegen support for combined masked constructs `Parallel masked
taskloop simd`.
Added implementation for `EmitOMPParallelMaskedTaskLoopSimdDirective`.
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: 0d71b3e4031e7b18a5947bdea076839e5a56d202
https://github.com/llvm/llvm-project/commit/0d71b3e4031e7b18a5947bdea076839e5a56d202
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
Log Message:
-----------
[CodeGen] Remove unused argument from getCoveringSubRegIndexes. NFC. (#122884)
Commit: d2d4c3bd598453a1d871096466953ec25483034f
https://github.com/llvm/llvm-project/commit/d2d4c3bd598453a1d871096466953ec25483034f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/test/Integration/OpenMP/target-filtering.f90
M flang/test/Lower/OpenMP/function-filtering-2.f90
M flang/test/Lower/OpenMP/function-filtering-3.f90
M flang/test/Lower/OpenMP/function-filtering.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-byref-bycopy-generation-device.mlir
M mlir/test/Target/LLVMIR/omptarget-constant-alloca-raise.mlir
M mlir/test/Target/LLVMIR/omptarget-constant-indexing-device-region.mlir
M mlir/test/Target/LLVMIR/omptarget-debug.mlir
M mlir/test/Target/LLVMIR/omptarget-declare-target-llvm-device.mlir
M mlir/test/Target/LLVMIR/omptarget-parallel-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-region-device-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-target-inside-task.mlir
M mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
A mlir/test/Target/LLVMIR/openmp-target-launch-device.mlir
A mlir/test/Target/LLVMIR/openmp-target-launch-host.mlir
M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
M mlir/test/Target/LLVMIR/openmp-task-target-device.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] LLVM IR translation of host_eval (#116052)
This patch adds support for processing the `host_eval` clause of
`omp.target` to populate default and runtime kernel launch attributes.
Specifically, these related to the `num_teams`, `thread_limit` and
`num_threads` clauses attached to operations nested inside of
`omp.target`. As a result, the `thread_limit` clause of `omp.target` is
also supported.
The implementation of `initTargetDefaultAttrs()` is intended to reflect
clang's own processing of multiple constructs and clauses in order to
define a default number of teams and threads to be used as kernel
attributes and to populate global variables in the target device module.
One side effect of this change is that it is no longer possible to
translate to LLVM IR target device MLIR modules unless they have a
supported target triple. This is because the local `getGridValue()`
function in the `OpenMPIRBuilder` only works for certain architectures,
and it is called whenever the maximum number of threads has not been
explicitly defined. This limitation also matches clang.
Evaluating the collapsed loop trip count of SPMD and Generic-SPMD
kernels remains unsupported.
Commit: 6c7a53b78fd695ee58ea42d21362f6fa861eb37e
https://github.com/llvm/llvm-project/commit/6c7a53b78fd695ee58ea42d21362f6fa861eb37e
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/Support/Path.h
Log Message:
-----------
[llvm] Add lifetimebound to llvm::sys::path::filename, etc. (#122890)
Commit: 0bd098b1cce62ad63eb63f7e57c3a55ccfaf7e0c
https://github.com/llvm/llvm-project/commit/0bd098b1cce62ad63eb63f7e57c3a55ccfaf7e0c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
Log Message:
-----------
[X86] Fold VPERMV3(WIDEN(X),M,WIDEN(Y)) -> VPERMV(CONCAT(X,Y),M') iff the CONCAT is free (#122750)
Minor followup to #122485 - if the source operands were widened half-size subvectors, then attempt to concatenate the subvectors directly, and then adjust the shuffle mask so references to the second operand now refer to the upper half of the concat result.
Commit: 1393f4e69f92f31e6a7ffd63676ef8fd62d1f882
https://github.com/llvm/llvm-project/commit/1393f4e69f92f31e6a7ffd63676ef8fd62d1f882
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
Log Message:
-----------
[MemCpyOpt] Use doesNotCapture() helper (NFC)
No difference in semantics here as byval is already handled
separately. This simplifies migration to the captures attribute.
Commit: 428c8767ae997b0f726c0b40160ea8172551babf
https://github.com/llvm/llvm-project/commit/428c8767ae997b0f726c0b40160ea8172551babf
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libcxx/CMakeLists.txt
M libcxxabi/CMakeLists.txt
M libcxxabi/include/CMakeLists.txt
M lldb/test/CMakeLists.txt
M lldb/utils/lldb-dotest/CMakeLists.txt
Log Message:
-----------
[libc++] Stop copying headers to the build directory (#115380)
This was needed before https://github.com/llvm/llvm-project/pull/115077
since the compiler-rt test build made assumptions about the build
layout of libc++ and libc++abi, but now they link against a local
installation of these libraries so we no longer need this workaround.
Commit: d8d30a96031bfdad3e2c424e14a4247c14980cb5
https://github.com/llvm/llvm-project/commit/d8d30a96031bfdad3e2c424e14a4247c14980cb5
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/tools/mlir-cpu-runner/CMakeLists.txt
Log Message:
-----------
Revert "[mlir-cpu-runner] Pass --exclude-libs to linker when building runner (#122329)"
This reverts commit f879da799b4e112d79243dde6d299259d8359eeb. The change
to not export certain symbols apparently broke the UBsan/Asan buildbot,
because the DSO for the sanitizer wants to link to them.
Commit: 8fe11a26ae8f12622ddec83a7b80637080843a8b
https://github.com/llvm/llvm-project/commit/8fe11a26ae8f12622ddec83a7b80637080843a8b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/include/flang/Common/OpenMP-utils.h
M flang/lib/Common/OpenMP-utils.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/host-eval.f90
A flang/test/Lower/OpenMP/target-spmd.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
Log Message:
-----------
[Flang][OpenMP] Lowering of host-evaluated clauses (#116219)
This patch adds support for lowering OpenMP clauses and expressions
attached to constructs nested inside of a target region that need to be
evaluated in the host device. This is done through the use of the
`OpenMP_HostEvalClause` `omp.target` set of operands and entry block
arguments.
When lowering clauses for a target construct, a more involved
`processHostEvalClauses()` function is called, which looks at the
current and potentially other nested constructs in order to find and
lower clauses that need to be processed outside of the `omp.target`
operation under construction. This populates an instance of a global
structure with the resulting MLIR values.
The resulting list of host-evaluated values is used to initialize the
`host_eval` operands when constructing the `omp.target` operation, and
then replaced with the corresponding block arguments after creating that
operation's region.
Afterwards, while lowering nested operations, those that might
potentially be evaluated on the host (i.e. `num_teams`, `thread_limit`,
`num_threads` and `collapse`) check first whether there is an active
global host-evaluated information structure and whether it holds values
referring to these clauses. If that is the case, the stored values
(`omp.target` entry block arguments at that stage) are used instead of
lowering these clauses again.
Commit: 310c281b020b169e760ca75f878f5873ffbb2a9f
https://github.com/llvm/llvm-project/commit/310c281b020b169e760ca75f878f5873ffbb2a9f
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Frontend/CompilerInvocation.h
A flang/include/flang/Support/StringOstream.h
A flang/include/flang/Support/Timing.h
M flang/lib/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/lib/Support/CMakeLists.txt
A flang/lib/Support/Timing.cpp
A flang/test/Driver/time-report.f90
Log Message:
-----------
[flang][Driver] Preliminary support for -ftime-report (#122894)
The behavior is not entirely consistent with that of clang for the
moment since detailed timing information on the LLVM IR optimization and
code generation passes is not provided. The -ftime-report= option is
also not enabled since that is only relevant for information about the
LLVM IR passes. However, some code to handle that option has been
included, to make it easier to support the option when the issues
blocking it are resolved. A FortranSupport library has been created that
is intended to mirror the LLVM and MLIR support libraries.
Based on @tarunprabhu's PR
https://github.com/llvm/llvm-project/pull/107270 with minor changes
addressing latest review feedback. He's busy and we'd like to get this
support in ASAP.
Co-authored-by: Tarun Prabhu <tarun.prabhu at gmail.com>
Commit: 8f6867c9c6247b394749729757a1ab9acbfa78e6
https://github.com/llvm/llvm-project/commit/8f6867c9c6247b394749729757a1ab9acbfa78e6
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/test/Integration/OpenMP/target-filtering.f90
M flang/test/Lower/OpenMP/function-filtering-2.f90
M flang/test/Lower/OpenMP/function-filtering-3.f90
M flang/test/Lower/OpenMP/function-filtering.f90
Log Message:
-----------
[Flang] Add triple requirement for failing tests, NFC (#122898)
Fix Fortran test failures caused by the introduction of the
amdgcn-amd-amdhsa target triple in #116052.
Commit: c1de9b920935e7d2fcc8dd7b39c1b7285783e948
https://github.com/llvm/llvm-project/commit/c1de9b920935e7d2fcc8dd7b39c1b7285783e948
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
[clang][bytecode] Mark global decls with diagnostics invalid (#122895)
Even if their evaluation succeeds, mark them as invalid. This fixes some
long standing differences to the ast walker interpeter.
Commit: f925e5455415d69df5716a25ceff377989603c0a
https://github.com/llvm/llvm-project/commit/f925e5455415d69df5716a25ceff377989603c0a
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
Log Message:
-----------
[VPlan] Fix mutating whilst iterating over users in EVL transform (#122885)
This fixes a miscompilation extracted from 525.x264_r, where we were
failing to update the runtime VF of a VPReverseVectorPointerRecipe.
We were removing a use of VF whilst iterating over the users() iterator,
which messed up the iterator in-flight and caused us to miss some
recipes. This fixes it by copying the users into a SmallVector first.
Fixes #122681
Fixes #122682
Commit: da9df6c52a81a29302e45fd77b8dec6b4ae3b5b7
https://github.com/llvm/llvm-project/commit/da9df6c52a81a29302e45fd77b8dec6b4ae3b5b7
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
A llvm/test/MachineVerifier/stack-protector-offset.mir
Log Message:
-----------
MachineVerifier: Check stack protector is top-most in frame (#122635)
Mitigate against potential bugs that might place it elsewhere and render
the mechanism useless.
Commit: 5ec7ecd2f2d213f1777af3ff3a2e7910d00ea774
https://github.com/llvm/llvm-project/commit/5ec7ecd2f2d213f1777af3ff3a2e7910d00ea774
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/test/Driver/aarch64-implied-sme-features.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/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening.s
M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening.s
M llvm/test/MC/AArch64/SME2p2/bftmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/bftmopa.s
M llvm/test/MC/AArch64/SME2p2/directive-arch-negative.s
M llvm/test/MC/AArch64/SME2p2/directive-arch.s
M llvm/test/MC/AArch64/SME2p2/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SME2p2/directive-arch_extension.s
M llvm/test/MC/AArch64/SME2p2/directive-cpu-negative.s
M llvm/test/MC/AArch64/SME2p2/directive-cpu.s
M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening.s
M llvm/test/MC/AArch64/SME2p2/ftmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/ftmopa.s
M llvm/test/MC/AArch64/SME2p2/smop4a-16to32.s
M llvm/test/MC/AArch64/SME2p2/smop4a-64.s
M llvm/test/MC/AArch64/SME2p2/smop4a-8to32.s
M llvm/test/MC/AArch64/SME2p2/smop4a-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/smop4s-16to32.s
M llvm/test/MC/AArch64/SME2p2/smop4s-64.s
M llvm/test/MC/AArch64/SME2p2/smop4s-8to32.s
M llvm/test/MC/AArch64/SME2p2/smop4s-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/stmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/stmopa.s
M llvm/test/MC/AArch64/SME2p2/sumop4a-32.s
M llvm/test/MC/AArch64/SME2p2/sumop4a-64.s
M llvm/test/MC/AArch64/SME2p2/sumop4a-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/sumop4s-32.s
M llvm/test/MC/AArch64/SME2p2/sumop4s-64.s
M llvm/test/MC/AArch64/SME2p2/sumop4s-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/sutmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/sutmopa.s
M llvm/test/MC/AArch64/SME2p2/umop4a-16to32.s
M llvm/test/MC/AArch64/SME2p2/umop4a-64.s
M llvm/test/MC/AArch64/SME2p2/umop4a-8to32.s
M llvm/test/MC/AArch64/SME2p2/umop4a-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/umop4s-16to32.s
M llvm/test/MC/AArch64/SME2p2/umop4s-64.s
M llvm/test/MC/AArch64/SME2p2/umop4s-8to32.s
M llvm/test/MC/AArch64/SME2p2/umop4s-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/usmop4a-32.s
M llvm/test/MC/AArch64/SME2p2/usmop4a-64.s
M llvm/test/MC/AArch64/SME2p2/usmop4a-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/usmop4s-32.s
M llvm/test/MC/AArch64/SME2p2/usmop4s-64.s
M llvm/test/MC/AArch64/SME2p2/usmop4s-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/ustmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/ustmopa.s
M llvm/test/MC/AArch64/SME2p2/utmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/utmopa.s
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[LLVM][AArch64] Add new feature +sme-mop4 and +sme-tmop (#121935)
The 2024-12 ISA spec release[1] add these features:
FEAT_SME_MOP4(sme-mop4) to enable SME Quarter-tile outer product
instructions
and
FEAT_SME_TMOP(sme-tmop) to enable SME Structured sparsity outer product
instructions
to allow these instructions to be available outside Armv9.6/sme2p2
[1]
https://developer.arm.com/Architectures/A-Profile%20Architecture#Downloads
Commit: 2d760a139ef11b31c58fa270878585961cb67cb7
https://github.com/llvm/llvm-project/commit/2d760a139ef11b31c58fa270878585961cb67cb7
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/initializes.ll
Log Message:
-----------
[FunctionAttrs] Add test for initializes + byval (NFC)
Commit: b6eb6a87cf04d8e8e8e323e4d77a38e92a6afc3e
https://github.com/llvm/llvm-project/commit/b6eb6a87cf04d8e8e8e323e4d77a38e92a6afc3e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
Log Message:
-----------
[FunctionAttrs] Use doesNotCapture()
To be conservative, explicitly exclude byval arguments, which
doesNotCapture() would otherwise allow. Even if byval has an
initializes attribute, it would only apply to the implicit
copy.
Commit: a53fa78e7b14e57f0acd5a0981e4c63a1c217a11
https://github.com/llvm/llvm-project/commit/a53fa78e7b14e57f0acd5a0981e4c63a1c217a11
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][doc] fix incorrectly performance-unnecessary-copy-initialization link in release note (#122910)
Commit: 7900769985ee4994870f7dfb2a505b8c41b38740
https://github.com/llvm/llvm-project/commit/7900769985ee4994870f7dfb2a505b8c41b38740
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][Docs] Add a release note about the lldb DWARF indexing speedup (#122870)
The figure includes works that's already committed. In does not include
the WIP/RFC proposal in
https://discourse.llvm.org/t/rfc-speeding-up-dwarf-indexing-again/83979.
Commit: 5e26ff35c14778a728cd3ee7e70d61529bf49661
https://github.com/llvm/llvm-project/commit/5e26ff35c14778a728cd3ee7e70d61529bf49661
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.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_vopc_t16_promote.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_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_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cmp_lt_f16 (#122499)
True16 format for v_cmp_lt_f16. Update VOPC t16 and fake16 pseudo.
Commit: b1751faada35e3456b2a3f6b6c9559b5d74d559b
https://github.com/llvm/llvm-project/commit/b1751faada35e3456b2a3f6b6c9559b5d74d559b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M lldb/include/lldb/Target/MemoryRegionInfo.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Target/MemoryRegionInfo.cpp
A lldb/test/API/linux/aarch64/gcs/Makefile
A lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
A lldb/test/API/linux/aarch64/gcs/main.c
M lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
M lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
M lldb/unittests/Process/minidump/MinidumpParserTest.cpp
Log Message:
-----------
[lldb][Linux] Mark memory regions used for shadow stacks (#117861)
This is intended for use with Arm's Guarded Control Stack extension
(GCS). Which reuses some existing shadow stack support in Linux. It
should also work with the x86 equivalent.
A "ss" flag is added to the "VmFlags" line of shadow stack memory
regions in `/proc/<pid>/smaps`. To keep the naming generic I've called
it shadow stack instead of guarded control stack.
Also the wording is "shadow stack: yes" because the shadow stack region
is just where it's stored. It's enabled for the whole process or it
isn't. As opposed to memory tagging which can be enabled per region, so
"memory tagging: enabled" fits better for that.
I've added a test case that is also intended to be the start of a set of
tests for GCS. This should help me avoid duplicating the inline assembly
needed.
Note that no special compiler support is needed for the test. However,
for the intial enabling of GCS (assuming the libc isn't doing it) we do
need to use an inline assembly version of prctl.
This is because as soon as you enable GCS, all returns are checked
against the GCS. If the GCS is empty, the program will fault. In other
words, you can never return from the function that enabled GCS, unless
you push values onto it (which is possible but not needed here).
So you cannot use the libc's prctl wrapper for this reason. You can use
that wrapper for anything else, as we do to check if GCS is enabled.
Commit: 438e2ccd4ad18d23fc800d0ad9f4f667a547f868
https://github.com/llvm/llvm-project/commit/438e2ccd4ad18d23fc800d0ad9f4f667a547f868
Author: PaulXiCao <paulxicao7 at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__memory/destruct_n.h
M libcxx/include/algorithm
M libcxx/include/module.modulemap
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp
Log Message:
-----------
[libc++] Make std::stable_sort constexpr friendly (#110320)
Implementing `constexpr std::stable_sort`. This is part of P2562R1,
tracked via issue #105360.
Closes #119394
Co-authored-by: A. Jiang <de34 at live.cn>
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: e03c435d2a4900eb442c1f68b044c21cbc89acbe
https://github.com/llvm/llvm-project/commit/e03c435d2a4900eb442c1f68b044c21cbc89acbe
Author: A. Jiang <de34 at live.cn>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libcxx/include/tuple
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp
Log Message:
-----------
[libc++] Fix `tuple_cat` for element with unconstrained constructor (#122433)
Currently, when the result type is 1-`tuple`, `tuple_cat` possibly tests
an undesired constructor of the element, due to conversion from the
reference tuple to the result type. If the element type has an
unconstrained constructor template, there can be extraneous hard error
which shouldn't happen.
This patch introduces a helper function template to select the element-wise
constructor template of `tuple`, which can avoid such error.
Fixes #41034.
Commit: f4aec22e4776218d2d94f5357e19897bc2e726d4
https://github.com/llvm/llvm-project/commit/f4aec22e4776218d2d94f5357e19897bc2e726d4
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
Log Message:
-----------
[mlir][acc] Fix async only api on data entry operations (#122818)
Data entry operations which are created from constructs with async
clause that has no value (aka `acc data copyin(var) async`) end up
holding an attribute array named to keep track of this information.
However, in cases where `async` clause is not used, calling
`hasAsyncOnly` ends up crashing since this attribute is not set.
Thus, to fix this issue, ensure that we check for this attribute before
trying to walk the attribute array.
Commit: 493c066a3dd8cbd665cf4065abf15e9f3c63741f
https://github.com/llvm/llvm-project/commit/493c066a3dd8cbd665cf4065abf15e9f3c63741f
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libcxx/include/__algorithm/count.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__bit_reference
M libcxx/include/__fwd/bit_reference.h
M libcxx/include/bitset
M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
Log Message:
-----------
[libc++] Fix ambiguity due to non-uglified member typedefs (#121664)
This PR fixes the ambiguities in name lookup caused by non-standard
member typedefs `size_type` and `difference_type` in `std::bitset`.
Follows up #121620.
Closes #121618.
Commit: fbef1f835f0381a71362199840bee9ec491e3918
https://github.com/llvm/llvm-project/commit/fbef1f835f0381a71362199840bee9ec491e3918
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format][NFC] Make formatting Verilog faster (#121139)
A regular expression was used in the lexing process. It made the program
take more than linear time with regards to the length of the input. It
looked like the entire buffer could be scanned for every token lexed.
Now the regular expression is replaced with code. Previously it took 20
minutes for the program to format 125 000 lines of code on my computer.
Now it takes 315 milliseconds.
Commit: df40b056f1e956a25b8121174d0b42bf1b5c7732
https://github.com/llvm/llvm-project/commit/df40b056f1e956a25b8121174d0b42bf1b5c7732
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
Log Message:
-----------
[mlir][nfc] Update 2 tests for PadOpVectorizationWithTransferWritePattern (#122721)
* Relocates two tests for `PadOpVectorizationWithTransferWritePattern`
in "vectorization-pad-patterns.mlir" to group them with other tests
for the same pattern.
* Adds a note clarifying that these are negative tests and explains the
reasoning behind them.
* Removes `transform.apply_patterns.linalg.decompose_pad` from the TD
sequences as it's no longer needed (*).
This is essentially a small clean-up in preparation for upcoming
changes.
(*) `transform.apply_patterns.linalg.decompose_pad` was split off from
`transform.apply_patterns.linalg.pad_vectorization` in #117329.
"vectorization-pad-patterns.mlir" is meant to test the latter, not the
former.
Commit: d305fd0b09b1bd7c29640e072c58567ecf2f5026
https://github.com/llvm/llvm-project/commit/d305fd0b09b1bd7c29640e072c58567ecf2f5026
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Lower/ConvertType.cpp
Log Message:
-----------
[flang][AIX] filter out __builtin_c_devptr for generating packed type (#122812)
Commit: 2f7807ed52ff41b7cd92b635c21e7c1da4ea8bb5
https://github.com/llvm/llvm-project/commit/2f7807ed52ff41b7cd92b635c21e7c1da4ea8bb5
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/math-lowering/cosh.f90
M flang/test/Lower/trigonometric-intrinsics.f90
Log Message:
-----------
[Flang] Generate math.cosh op for non-precise cosh intrinsic calls (#122292)
This patch changes the codgegn for non-precise cosh calls to generate
math.cosh ops. This wasn't done before because the math dialect did not
have a cosh operation at the time.
Commit: 4f614a8f7c8b92f0348109521833dc3ef7ea8a4a
https://github.com/llvm/llvm-project/commit/4f614a8f7c8b92f0348109521833dc3ef7ea8a4a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
Log Message:
-----------
[AMDGPULowerBufferFatPointers] Use typeIncompatible() (#122902)
Use typeIncompatible() to drop attributes incompatible with the new
argument/return type, instead of keeping a custom list.
Commit: f1b1c7f3c18c1b75b620a968746346b1a1d94ce3
https://github.com/llvm/llvm-project/commit/f1b1c7f3c18c1b75b620a968746346b1a1d94ce3
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] Undo sub(x,c) to add in true16 flow (#118854)
Undo sub x, c -> add x, -c canonicalization in true16 fow.
This duplicating the pattern from fake16 and implemement the same
pattern in true16 format
Commit: 0fb0ac708a581e795c78b7838e10305d80a25c67
https://github.com/llvm/llvm-project/commit/0fb0ac708a581e795c78b7838e10305d80a25c67
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OMPIRBuilder] Simplify error handling while emitting target calls, NFC (#122477)
The OMPIRBuilder uses `llvm::Error`s to allow callbacks passed to it to
signal errors and prevent OMPIRBuilder functions to continue after one
has been triggered. This means that OMPIRBuilder functions taking
callbacks needs to be able to forward these errors, which must always be
checked.
However, in cases where these functions are called from within the
OMPIRBuilder with callbacks also defined inside of it, it can be known
in advance that no errors will be produced. This is the case of those
defined in `emitTargetCall`.
This patch introduces calls to the `cantFail` function instead of the
previous superfluous checks that still assumed calls wouldn't fail,
making these assumptions more obvious and simplifying their
implementation.
Commit: 87750c9de4b7bd71539bfadd61c10317235da138
https://github.com/llvm/llvm-project/commit/87750c9de4b7bd71539bfadd61c10317235da138
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll
Log Message:
-----------
[VectorCombine] foldPermuteOfBinops - match identity shuffles only if they match the destination type
Fixes regression identified after #122118
Commit: 193ea83dd7e879ddd4e3dfb1fa74a676b528e4a6
https://github.com/llvm/llvm-project/commit/193ea83dd7e879ddd4e3dfb1fa74a676b528e4a6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/test/Transforms/InstCombine/str-int-2.ll
M llvm/test/Transforms/InstCombine/str-int-3.ll
M llvm/test/Transforms/InstCombine/str-int.ll
M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
Log Message:
-----------
[SimplifyLibCalls] Don't infer call-site nocapture on atoi
This is already inferred on the function declaration by BLC, there
is no need to also do it at the call-site.
Commit: 58fa55c04baaaa645a0bf9e265154b7ea7caf0d8
https://github.com/llvm/llvm-project/commit/58fa55c04baaaa645a0bf9e265154b7ea7caf0d8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/cxx11.cpp
Log Message:
-----------
[clang][bytecode] Add init link for the RVO ptr (#122904)
Commit: 97cf5aa1b2459b91ce402f2e4f64af3587824fcf
https://github.com/llvm/llvm-project/commit/97cf5aa1b2459b91ce402f2e4f64af3587824fcf
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang] Add AArch64 SME changes to release notes (NFC) (#122899)
Commit: 616007d88f06f0c523239151d5e52bd4ec61db96
https://github.com/llvm/llvm-project/commit/616007d88f06f0c523239151d5e52bd4ec61db96
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M lld/COFF/InputFiles.cpp
A lld/test/COFF/info-sec.s
Log Message:
-----------
[LLD][COFF] Skip sections marked as IMAGE_SCN_LNK_INFO in the output image (#122752)
Fixes #106275.
Commit: 091adb8807decb4fa1b4e58eba141a06058eb804
https://github.com/llvm/llvm-project/commit/091adb8807decb4fa1b4e58eba141a06058eb804
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc][cmake] move _get_{common|hermetic}_test_compile_options to LLVMLibCTestRules.cmake (#122549)
They're only used in that file, which is more appropriate than
LLVMLibCCompileOptionRules.cmake since they're strictly related to tests.
Remove unused flags param from _get_hermetic_test_compile_options, and flags
that were already set by a prior call to _get_common_test_compile_options.
Commit: 0298e58c7dd1fa76b98ff270cdb9e0eba4949185
https://github.com/llvm/llvm-project/commit/0298e58c7dd1fa76b98ff270cdb9e0eba4949185
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__vector/vector.h
M libcxx/test/benchmarks/GenerateInput.h
M libcxx/test/benchmarks/containers/ContainerBenchmarks.h
M libcxx/test/benchmarks/containers/vector_operations.bench.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp
Log Message:
-----------
[libc++] Optimize input_iterator-pair `insert` for std::vector (#113768)
As a follow-up to #113852, this PR optimizes the performance of the
`insert(const_iterator pos, InputIt first, InputIt last)` function for
`input_iterator`-pair inputs in `std::vector` for cases where
reallocation occurs during insertion. Additionally, this optimization
enhances exception safety by replacing the traditional `try-catch`
mechanism with a modern exception guard for the `insert` function.
The optimization targets cases where insertion trigger reallocation. In
scenarios without reallocation, the implementation remains unchanged.
Previous implementation
-----------------------
The previous implementation of `insert` is inefficient in reallocation
scenarios because it performs the following steps separately:
- `reserve()`: This leads to the first round of relocating old
elements to new memory;
- `rotate()`: This leads to the second round of reorganizing the
existing elements;
- Move-forward: Moves the elements after the insertion position to
their final positions.
- Insert: performs the actual insertion.
This approach results in a lot of redundant operations, requiring the
elements to undergo three rounds of relocations/reorganizations to be
placed in their final positions.
Proposed implementation
-----------------------
The proposed implementation jointly optimize the above 4 steps in the
previous implementation such that each element is placed in its final
position in just one round of relocation. Specifically, this
optimization reduces the total cost from 2 relocations + 1 std::rotate
call to just 1 relocation, without needing to call `std::rotate`,
thereby significantly improving overall performance.
Commit: b74d3e179d6d1d8aad65a7ee8d359defd94a8ec1
https://github.com/llvm/llvm-project/commit/b74d3e179d6d1d8aad65a7ee8d359defd94a8ec1
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/pointers/type-deduce-sycl-stub.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupBroadcast.ll
M llvm/test/CodeGen/SPIRV/validate/sycl-hier-par-basic.ll
M llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll
Log Message:
-----------
[SPIR-V] Specify target environment in tests referring to the BuiltIn WorkgroupSize variable (#122755)
https://github.com/KhronosGroup/SPIRV-Tools/pull/5407 introduces a check
for WorkgroupSize variable to be a 3-component 32-bit int vector, and
indeed, we see this requirement in
https://registry.khronos.org/vulkan/specs/latest/man/html/WorkgroupSize.html#VUID-WorkgroupSize-WorkgroupSize-04427
However, OpenCL imposes different requirements, documented here:
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Env.html#_built_in_variables
OpenCL environment requires WorkgroupSize variable to have components of
size_t size that will be 32 or 64 depending on a target. This is the way
how the SPIR-V Backend implements this, by querying pointer size of the
current platform/target.
To allow spirv-val to account target environments difference, this PR
adds `--target-env <env>` to test cases referring to the BuiltIn
WorkgroupSize variable.
Commit: c2771ca284124861de76ba1853ac4f26e09b8497
https://github.com/llvm/llvm-project/commit/c2771ca284124861de76ba1853ac4f26e09b8497
Author: Prashanth <TheStarOne01 at proton.me>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/sys/resource.yaml
Log Message:
-----------
[libc][docs] Add sys/resource header's implementation status (#122563)
### Add sys/resource header's implementation status ( #122006 )
#### Changes:
1. **CMakeLists.txt**: Added `sys/resource` to the list of documentation
directories.
2. **index.rst**: Included `sys/resource` in the documentation index.
3. **resource.yaml**: Created a new YAML file for `sys/resource` with
functions and macros which manages system resources.
This PR adds documentation support for the `sys/resource` header,
including functions and macros as per the latest POSIX standards.
Commit: 9ba27ca5c76a18c2b29cbac132b5b8d340b8f237
https://github.com/llvm/llvm-project/commit/9ba27ca5c76a18c2b29cbac132b5b8d340b8f237
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
A llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll
Log Message:
-----------
[SPIR-V] Ensure no uses of intrinsic global variables after module translation (#122729)
Ensure that the backend satisfies the requirement of the verifier that
disallows uses of intrinsic global variables. This PR fixes
https://github.com/llvm/llvm-project/issues/110495
Commit: 539b15b41a6a01017c0a555e89b7d2b62ba194d2
https://github.com/llvm/llvm-project/commit/539b15b41a6a01017c0a555e89b7d2b62ba194d2
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/pthread.yaml
Log Message:
-----------
[libc][docs] stub out pthread.h support (#122497)
Link: #122006
Commit: c33486954bd1404495581e42ed62428fb7abeae9
https://github.com/llvm/llvm-project/commit/c33486954bd1404495581e42ed62428fb7abeae9
Author: Zack Johnson <zacklj89 at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M compiler-rt/lib/asan/asan_interceptors.cpp
A compiler-rt/test/asan/TestCases/Windows/msvc/strdup_null_input.cpp
Log Message:
-----------
[ASan] Change strdup interceptor to allow null input on Windows (#122803)
[These are the MS
Docs](https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/strdup-wcsdup-mbsdup?view=msvc-170)
regarding `strdup`, but they don't explicitly mention this. The SAL
annotations on `strdup` do, though, with the input parameter being
marked `_In_opt_z_`.
Commit: 8d9dcd111e5ced8135387917859dd64d67886be0
https://github.com/llvm/llvm-project/commit/8d9dcd111e5ced8135387917859dd64d67886be0
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.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] fseek interception update. (#122795)
fseek api is POSIX.
to also address #122163
Commit: fbb4697c3f08dc3ef69e718b3c43dde494018de3
https://github.com/llvm/llvm-project/commit/fbb4697c3f08dc3ef69e718b3c43dde494018de3
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libcxx/include/barrier
M libcxx/src/barrier.cpp
M libcxx/test/tools/clang_tidy_checks/internal_ftm_use.cpp
Log Message:
-----------
[libc++] Remove unused _LIBCPP_HAS_NO_TREE_BARRIER macro and associated dead code (#122769)
That macro was present in the original implementation of the
synchronization library, but it was never defined and so it's
effectively unused.
Commit: 06c6baeb521e321ffcb60fc0a411451e987cd98b
https://github.com/llvm/llvm-project/commit/06c6baeb521e321ffcb60fc0a411451e987cd98b
Author: Deric Cheung <cheung.deric at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_detail.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl
A clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl
Log Message:
-----------
[HLSL] Implement D3DCOLORtoUBYTE4 intrinsic (#122202)
Fixes #99092.
1. Defines the function `D3DCOLORtoUBYTE4` in
`clang/lib/Headers/hlsl/hlsl_intrinsics.h`.
2. Implements the function `D3DCOLORtoUBYTE4` as `d3d_color_to_ubyte4`
in `clang/lib/Headers/hlsl/hlsl_detail.h`
3. Adds a HLSL codegen test to
`clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl`
4. Adds sema tests to
`clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl`
Commit: a0bd40e5a3df94229ec06243f2958289071ca75c
https://github.com/llvm/llvm-project/commit/a0bd40e5a3df94229ec06243f2958289071ca75c
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/test/AST/ByteCode/arrays.cpp
M clang/test/AST/ByteCode/cxx23.cpp
Log Message:
-----------
Revert "[clang][bytecode] Mark global decls with diagnostics invalid (#122895)"
This reverts commit c1de9b920935e7d2fcc8dd7b39c1b7285783e948.
It looks like this breaks the memory-sanitizer builder:
https://lab.llvm.org/buildbot/#/builders/94/builds/3745
Commit: 692c77f2af133874f18942fe8c32f0f072bfc02b
https://github.com/llvm/llvm-project/commit/692c77f2af133874f18942fe8c32f0f072bfc02b
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libc/docs/build_and_test.rst
R libc/docs/c23.rst
R libc/docs/fullbuild_mode.rst
A libc/docs/getting_started.rst
M libc/docs/index.rst
M libc/docs/porting.rst
R libc/docs/usage_modes.rst
Log Message:
-----------
[libc][docs] reorder docs to be more beginner friendly (#122376)
This commit does a few things, with the intent to make it more straightforward
to potential future users how to get started with llvm-libc. Answers to "What's
the status and how do I use it?" are front and center, "above the fold."
This commit does a few things:
* reorganize the landing page's toctree: start with implementation status, arch
* support, platform support, and
compiler support.
* Then a (new) simple getting started page using full host builds. Then more
* Advanced topics such as host vs cross builds, overlay mode,
gpu builds and additional configuration options.
* Remove c23 status, the old fullbuild_mode landing page, and
usage_modes landing pages. c23 status isn't as interesting as I originally
thought it might.
We should point people at full host builds to start, then link to more info on
cross compilation, or overlay mode as more advanced topics. I assert most users
starting out won't care about those.
Commit: b1edfa1c07dc6ac42205b3397304e5b5f77617a1
https://github.com/llvm/llvm-project/commit/b1edfa1c07dc6ac42205b3397304e5b5f77617a1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SelectionDAG] Prevent converting a virtual register to an MCRegister. (#122857)
I believe the goal is that MCRegister is only for physical registers.
Commit: c7fddf5f786d4ed726b53096d461b62cf7649b90
https://github.com/llvm/llvm-project/commit/c7fddf5f786d4ed726b53096d461b62cf7649b90
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
Log Message:
-----------
[ARM] Prevent converting virtual register to MCRegister. (#122862)
MCRegister should only be used for physical reigsters.
Commit: fed817a8b25e178cd701fefcdfe80c447d2ab212
https://github.com/llvm/llvm-project/commit/fed817a8b25e178cd701fefcdfe80c447d2ab212
Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll
Log Message:
-----------
[DSE] Consider the aliasing through global variable while checking clobber (#120044)
While update the read clobber check for the "initializes" attr, we
checked the aliasing among arguments, but didn't consider the aliasing
through global variable. It causes problems in this example:
```
int g_var = 123;
void update(int* ptr) {
*ptr = g_var;
void foo() {
g_var = 0;
bar(&g_var);
}
```
We mistakenly removed `g_var = 0;` as a dead store.
Fix the issue by requiring the CallBase only access argmem or
inaccessiblemem.
Commit: 5187482fd0065b52fc483774799df082c2a35a4d
https://github.com/llvm/llvm-project/commit/5187482fd0065b52fc483774799df082c2a35a4d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/IR/Instructions.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
M llvm/unittests/IR/InstructionsTest.cpp
Log Message:
-----------
IR: handle FP predicates in CmpPredicate::getMatching (#122924)
CmpPredicate::getMatching implicitly assumes that both predicates are
integer-predicates, and this has led to a crash being reported in
VectorCombine after e409204 (VectorCombine: teach foldExtractedCmps
about samesign). FP predicates are simple enough to handle as there is
never any samesign information associated with them: hence handle them
in CmpPredicate::getMatching, fixing the VectorCombine crash and
guarding against future incorrect usages.
Commit: a4b7a2d021ca7371752f0e8180200ffd7b48ca70
https://github.com/llvm/llvm-project/commit/a4b7a2d021ca7371752f0e8180200ffd7b48ca70
Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
M llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll
Log Message:
-----------
[DirectX] Propagate shader flags mask of callees to callers (#118306)
Propagate shader flags mask of callees to callers.
Add tests to verify propagation of shader flags
Commit: 5a3b5ca058f36c9dd647f0ea6702d3509bee6c27
https://github.com/llvm/llvm-project/commit/5a3b5ca058f36c9dd647f0ea6702d3509bee6c27
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add targets for some testing utility binaries/libraries. (#122834)
Commit: 71f238a221ff307a1c079678b85ef3abe43c71ab
https://github.com/llvm/llvm-project/commit/71f238a221ff307a1c079678b85ef3abe43c71ab
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsHexagonDep.def
M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
M llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
Log Message:
-----------
[Hexagon] Add missing builtins for V79 (#122916)
This patch adds new builtins that were added in V79 architecture.
Commit: 576b53801fc3d721602ae0d8377af9950f356000
https://github.com/llvm/llvm-project/commit/576b53801fc3d721602ae0d8377af9950f356000
Author: Kirill Stoimenov <kstoimenov at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libcxx/CMakeLists.txt
M libcxxabi/CMakeLists.txt
M libcxxabi/include/CMakeLists.txt
M lldb/test/CMakeLists.txt
M lldb/utils/lldb-dotest/CMakeLists.txt
Log Message:
-----------
Revert "[libc++] Stop copying headers to the build directory (#115380)"
This reverts commit 428c8767ae997b0f726c0b40160ea8172551babf.
Breaks sanitizer build: https://lab.llvm.org/buildbot/#/builders/51/builds/9056
Commit: 1594413d5edf6a47d4100cb6a2bc613cfbb92beb
https://github.com/llvm/llvm-project/commit/1594413d5edf6a47d4100cb6a2bc613cfbb92beb
Author: higher-performance <higher.performance.github at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Sema/uninit-variables.c
M clang/test/SemaCXX/uninitialized.cpp
Log Message:
-----------
Add Clang attribute to ensure that fields are initialized explicitly (#102040)
This is a new Clang-specific attribute to ensure that field
initializations are performed explicitly.
For example, if we have
```
struct B {
[[clang::explicit]] int f1;
};
```
then the diagnostic would trigger if we do `B b{};`:
```
field 'f1' is left uninitialized, but was marked as requiring initialization
```
This prevents callers from accidentally forgetting to initialize fields,
particularly when new fields are added to the class.
Commit: dcc141bc0bb471ba209c89aca4288dc5cd2ef8bc
https://github.com/llvm/llvm-project/commit/dcc141bc0bb471ba209c89aca4288dc5cd2ef8bc
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/module.modulemap
Log Message:
-----------
[TargetParser] Add missing include to modulemap (#122768)
Resolves warning when building with `LLVM_ENABLE_MODULES`
```
AArch64TargetParser.h:39:2: warning: missing submodule 'LLVM_Utils.TargetParser.AArch64FeatPriorities' [-Wincomplete-umbrella]
39 | #include "llvm/TargetParser/AArch64FeatPriorities.inc"
| ^ ~~~~~~~
```
Commit: bf23ae6d38cfdda3284e8ddb3a296ad44c001a8a
https://github.com/llvm/llvm-project/commit/bf23ae6d38cfdda3284e8ddb3a296ad44c001a8a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Evaluate/shape.cpp
A flang/test/Semantics/bug121971.f90
Log Message:
-----------
[flang] Fix crash in fuzzed input program (#122193)
Fixes https://github.com/llvm/llvm-project/issues/121971.
Commit: c8202db43ad0cafdc59903dadc4ea9f95a73de9b
https://github.com/llvm/llvm-project/commit/c8202db43ad0cafdc59903dadc4ea9f95a73de9b
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Evaluate/tools.cpp
A flang/test/Semantics/bug121972.f90
Log Message:
-----------
[flang] Fix crash in fuzzing test (#122189)
Fixes https://github.com/llvm/llvm-project/issues/121972.
Commit: 6f55c8068f42f391dd38d7c711ed7c639b01d72c
https://github.com/llvm/llvm-project/commit/6f55c8068f42f391dd38d7c711ed7c639b01d72c
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/bug121973.f90
Log Message:
-----------
[flang] Fix crash in fuzzer-generated error test. (#122199)
Fixes https://github.com/llvm/llvm-project/issues/121973.
Commit: 9405a81ee7a16d8a30584f612234b4e27bd3d2dd
https://github.com/llvm/llvm-project/commit/9405a81ee7a16d8a30584f612234b4e27bd3d2dd
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Semantics/reshape.f90
Log Message:
-----------
[flang] Fix crash exposed by fuzzing (#122187)
An integer overflowed in an erroneous test. Fix, and improve the error
messages a bit.
Fixes https://github.com/llvm/llvm-project/issues/121979.
Commit: 01a0d212a64919205734706d929db37e503c35ce
https://github.com/llvm/llvm-project/commit/01a0d212a64919205734706d929db37e503c35ce
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
A flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
A flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Optimizer/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
A flang/test/Fir/OpenACC/openacc-mappable.fir
M flang/test/lib/CMakeLists.txt
A flang/test/lib/OpenACC/CMakeLists.txt
A flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
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
Log Message:
-----------
[flang][acc] Implement MappableType interfaces for fir.box and fir.array (#122495)
The newly introduced MappableType interface in `acc` dialect was
primarily intended to allow variables with non-materialized storage to
be used in acc data clauses (previously everything was required to be
`pointer-like`). One motivator for this was `fir.box` since it is
possible to be passed to functions without a wrapping `fir.ref` and also
it can be generated directly via operations like `fir.embox` - and
unlike other variable representations in FIR, the underlying storage for
it does not get materialized until LLVM codegen.
The new interface is being attached to both `fir.box` and `fir.array`.
Strictly speaking, attaching to the latter is primarily for consistency
since the MappableType interface requires implementation of utilities to
compute byte size - and it made sense that a
`fir.box<fir.array<10xi32>>` and `fir.array<10xi32>` would have a
consistently computable size. This decision may be revisited as
MappableType interface evolves.
The new interface attachments are made in a new library named
`FIROpenACCSupport`. The reason for this is to avoid circular
dependencies since the implementation of this library is reusing code
from lowering of OpenACC. More specifically, the types are defined in
`FIRDialect` and `FortranLower` depends on it. Thus we cannot attach
these interfaces in `FIRDialect`.
Commit: 63d3bd6d0caf8185aba49540fe2f67512fdf3a98
https://github.com/llvm/llvm-project/commit/63d3bd6d0caf8185aba49540fe2f67512fdf3a98
Author: Min Hsu <min.hsu at sifive.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
A llvm/test/tools/llvm-exegesis/X86/dry-run-measurement.test
R llvm/test/tools/llvm-exegesis/dry-run-measurement.test
Log Message:
-----------
[Exegesis] Fix test failures from #122775 on MacOSX and Fuchsia
I'm making this test to run only when exegesis-can-execute-x86_64.
Commit: d1a6eaa47884a44a122bdd1e8a22af1dff3dbcfe
https://github.com/llvm/llvm-project/commit/d1a6eaa47884a44a122bdd1e8a22af1dff3dbcfe
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Attributor][NFC] Performance improvements (#122923)
` forallInterferingAccesses` is a hotspot and for large modules these
changes make a measurable improvement in compilation time.
For LTO kernel compilation of 519.clvleaf (SPEChpc 2021) I measured the
following:
```
| Measured times (s) | Average | speedup
--------------------+------------------------+---------+---------
Baseline | 33.268 33.332 33.275 | 33.292 | 0%
Cache "kernel" | 30.543 30.339 30.607 | 30.496 | 9.2%
templatize callback | 30.981 30.97 30.964 | 30.972 | 7.5%
Both changes | 29.284 29.201 29.053 | 29.179 | 14.1%
```
Commit: 1dbc98294adc06e409b1e0d44252826857ac2ec6
https://github.com/llvm/llvm-project/commit/1dbc98294adc06e409b1e0d44252826857ac2ec6
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libc/test/include/assert_test.cpp
M libc/test/include/complex_test.cpp
M libc/test/include/fpclassify_test.c
M libc/test/include/fpclassify_test.cpp
M libc/test/include/fpclassifyf_test.cpp
M libc/test/include/fpclassifyl_test.cpp
M libc/test/include/header-test-template.c
M libc/test/include/iscanonical_test.c
M libc/test/include/isfinite_test.c
M libc/test/include/isfinite_test.cpp
M libc/test/include/isfinitef_test.cpp
M libc/test/include/isfinitel_test.cpp
M libc/test/include/isinf_test.c
M libc/test/include/isinf_test.cpp
M libc/test/include/isinff_test.cpp
M libc/test/include/isinfl_test.cpp
M libc/test/include/isnan_test.c
M libc/test/include/isnan_test.cpp
M libc/test/include/isnanf_test.cpp
M libc/test/include/isnanl_test.cpp
M libc/test/include/isnormal_test.c
M libc/test/include/isnormal_test.cpp
M libc/test/include/isnormalf_test.cpp
M libc/test/include/isnormall_test.cpp
M libc/test/include/issignaling_test.c
M libc/test/include/issubnormal_test.c
M libc/test/include/issubnormal_test.cpp
M libc/test/include/issubnormalf_test.cpp
M libc/test/include/issubnormall_test.cpp
M libc/test/include/iszero_test.c
M libc/test/include/iszero_test.cpp
M libc/test/include/iszerof_test.cpp
M libc/test/include/iszerol_test.cpp
M libc/test/include/signbit_test.c
M libc/test/include/signbit_test.cpp
M libc/test/include/signbitf_test.cpp
M libc/test/include/signbitl_test.cpp
M libc/test/include/stdbit_stub.h
M libc/test/include/stdbit_test.c
M libc/test/include/stdbit_test.cpp
M libc/test/include/stdckdint_test.cpp
M libc/test/include/sys/queue_test.cpp
Log Message:
-----------
[libc] Fix SPDX-License-Identifier file header comment typos (#122776)
Commit: 0d150817c354bc61a48676754288aabbb03570c3
https://github.com/llvm/llvm-project/commit/0d150817c354bc61a48676754288aabbb03570c3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Lower/OpenMP/OpenMP.cpp:599:15: error: unused variable
'ompEval' [-Werror,-Wunused-variable]
Commit: e511b3e24a67b2040d38288427a12c7e8f1c5828
https://github.com/llvm/llvm-project/commit/e511b3e24a67b2040d38288427a12c7e8f1c5828
Author: Steven Perron <stevenperron at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveReadLaneAt.ll
Log Message:
-----------
[SPIRV] Fix graphic test to use correct triple. (#122738)
Commit: 5dcf5cc0e0b462be99d1ae3d993ec11b039097b8
https://github.com/llvm/llvm-project/commit/5dcf5cc0e0b462be99d1ae3d993ec11b039097b8
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
M lldb/test/API/functionalities/plugins/python_os_plugin/main.c
Log Message:
-----------
[lldb] Remove unfiltered stop reason propagation from StopInfoMachException (#122817)
In the presence of OS plugins, StopInfoMachException currently
propagates breakpoint stop reasons even if those breakpoints were not
intended for a specific thread, effectively removing our ability to set
thread-specific breakpoints.
This was originally added in [1], but the motivation provided in the
comment does not seem strong enough to remove the ability to set
thread-specific breakpoints. The only way to break thread specific
breakpoints would be if a user set such a breakpoint and _then_ loaded
an OS plugin, a scenario which we would likely not want to support.
[1]:
https://github.com/swiftlang/llvm-project/commit/ab745c2ad865c07f3905482fd071ef36c024713a#diff-8ec6e41b1dffa7ac4b5841aae24d66442ef7ebc62c8618f89354d84594f91050R501
Commit: dac06e76e0c12a89b750440b4c9a04c68f6baa48
https://github.com/llvm/llvm-project/commit/dac06e76e0c12a89b750440b4c9a04c68f6baa48
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/test/lib/OpenACC/CMakeLists.txt
Log Message:
-----------
[flang][acc] Fix FIRTestOpenACCInterfaces dependency (#122953)
According to one of the LLVM builds:
https://github.com/llvm/llvm-project/pull/122495#issuecomment-2590897971
The linking to various "mlir::Pass::" methods is failing. Ensure
dependency is properly setup.
Commit: 5deabab06087e5bb7292e75347baacd63f3d4bde
https://github.com/llvm/llvm-project/commit/5deabab06087e5bb7292e75347baacd63f3d4bde
Author: higher-performance <higher.performance.github at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/test/Sema/uninit-variables.c
M clang/test/SemaCXX/uninitialized.cpp
Log Message:
-----------
Rename [[clang::requires_explicit_initialization]] to [[clang::require_explicit_initialization]] (#122947)
This makes it consistent with
`[[clang::require_constant_initialization]]`.
(The attribute was just added to Clang a few minutes ago, so there are
no users yet.)
Commit: 31e9d390c015bc628dce947d532d10f5d4436190
https://github.com/llvm/llvm-project/commit/31e9d390c015bc628dce947d532d10f5d4436190
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] remove unneeded copts (#122958)
Commit: 44d9beef7d28f4a4d73acb12ea030bb642eff1d2
https://github.com/llvm/llvm-project/commit/44d9beef7d28f4a4d73acb12ea030bb642eff1d2
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
Log Message:
-----------
[rtsan][test] Prevent test check from being optimized out in LTO builds (#122524)
In LTO builds, some test checks can be optimized away, since the
compiler can
see through the memory accesses after inlining across TUs. This causes
the existing death tests to fail, since the functions are completely
optimized out and things like copying a lambda will no longer occur and
trigger the sanitizer.
To prevent that, we can use an empty inline assembly block to tell the
compiler that memory is modified, and prevent it from doing that.
Commit: 0e7b754ecc2ccb1d88fd929c6a198ba0f693d098
https://github.com/llvm/llvm-project/commit/0e7b754ecc2ccb1d88fd929c6a198ba0f693d098
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/IR/Instructions.cpp
Log Message:
-----------
[ValueTracking] Squash compile-time regression from 66badf2 (#122700)
66badf2 (VT: teach a special-case optz about samesign) introduced a
compile-time regression due to the use of CmpPredicate::getMatching,
which is unnecessarily inefficient. Introduce
CmpPredicate::getPreferredSignedPredicate, which alleviates the
inefficiency problem and squashes the compile-time regression.
Commit: 48757e02ba2c1651c268351d062f80923baceda4
https://github.com/llvm/llvm-project/commit/48757e02ba2c1651c268351d062f80923baceda4
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-cmp.ll
Log Message:
-----------
[InstCombine] Teach foldSelectOpOp about samesign (#122723)
Follow up on 4a0d53a (PatternMatch: migrate to CmpPredicate) to get rid
of one of the FIXMEs it introduced by replacing a predicate comparison
with CmpPredicate::getMatching.
Commit: 60dc450078eb362579f1184cb22c25d0b64cfc95
https://github.com/llvm/llvm-project/commit/60dc450078eb362579f1184cb22c25d0b64cfc95
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
SCEV: migrate to CmpPredicate (NFC) (#122907)
In preparation to teach implied-cond functions about samesign, migrate
integer-compare predicates that flow through to the functions from
CmpInst::Predicate to CmpPredicate.
Commit: 11758f9cebf4a81242c731bd441e76c72fc7d558
https://github.com/llvm/llvm-project/commit/11758f9cebf4a81242c731bd441e76c72fc7d558
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/tools/bbc/CMakeLists.txt
Log Message:
-----------
[flang][acc] Add missing dependency to bbc tool (#122960)
The LLVM build here:
https://lab.llvm.org/buildbot/#/builders/89/builds/14359/steps/5/logs/stdio
is failing with error:
/usr/bin/ld: tools/flang/tools/bbc/CMakeFiles/bbc.dir/bbc.cpp.o:
undefined reference to symbol
'_ZN3fir3acc25registerOpenACCExtensionsERN4mlir15DialectRegistryE
Add missing dependency.
Commit: 68c9826534a763f783156813675783c97afa9226
https://github.com/llvm/llvm-project/commit/68c9826534a763f783156813675783c97afa9226
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] add missing dep to //clang:static_analyzer_core_options
Commit: 43491f0e9594b55a79ba775daed598cd37fc3cad
https://github.com/llvm/llvm-project/commit/43491f0e9594b55a79ba775daed598cd37fc3cad
Author: Eliud de León <tgmm.1000 at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/EmitC.h
M mlir/lib/CAPI/Dialect/EmitC.cpp
Log Message:
-----------
[mlir][emitc] Expose emitc dialect types (#119645)
Added C API functions for the EmitC dialect types.
Commit: 8d1d67ec4dc957ce15a06f782c6746281e66e559
https://github.com/llvm/llvm-project/commit/8d1d67ec4dc957ce15a06f782c6746281e66e559
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
M offload/test/offloading/pgo1.c
Log Message:
-----------
[Offload][PGO] Fix dump of array in ProfData (#122039)
Exposed by -Warray-bounds:
In file included from
../../../../../../../llvm/offload/plugins-nextgen/common/src/GlobalHandler.cpp:252:
../../../../../../../llvm/llvm/include/llvm/ProfileData/InstrProfData.inc:109:1:
error: array index 4 is past the end of the array (that has type 'const
std::remove_const<const uint16_t>::type[4]' (aka 'const unsigned
short[4]')) [-Werror,-Warray-bounds]
109 | INSTR_PROF_DATA(const uint16_t, Int16ArrayTy,
NumValueSites[IPVK_Last+1], \
| ^ ~~~~~~~~~~~
../../../../../../../llvm/offload/plugins-nextgen/common/src/GlobalHandler.cpp:250:15:
note: expanded from macro 'INSTR_PROF_DATA'
250 | outs() << ProfData.Name << " "; \
| ^ ~~~~
../../../../../../../llvm/llvm/include/llvm/ProfileData/InstrProfData.inc:109:1:
note: array 'NumValueSites' declared here
109 | INSTR_PROF_DATA(const uint16_t, Int16ArrayTy,
NumValueSites[IPVK_Last+1], \
| ^
../../../../../../../llvm/offload/plugins-nextgen/common/include/GlobalHandler.h:62:3:
note: expanded from macro 'INSTR_PROF_DATA'
62 | std::remove_const<Type>::type Name;
Avoid accessing out-of-bound data, but skip printing array data for now.
As there is no simple way to do this without hardcoding the
NumValueSites field.
---------
Co-authored-by: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Commit: b720b6cbe95eda383121a4579de556202b1ffc02
https://github.com/llvm/llvm-project/commit/b720b6cbe95eda383121a4579de556202b1ffc02
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/include/flang/Evaluate/shape.h
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/shape.cpp
A flang/test/Semantics/bug122002a.f90
A flang/test/Semantics/bug122002b.f90
Log Message:
-----------
[flang] Fix crash from fuzzy test. (#122364)
Fixes https://github.com/llvm/llvm-project/issues/122002.
Commit: ebec4d6369cbf9bbd64236b02d90e8f3597ad103
https://github.com/llvm/llvm-project/commit/ebec4d6369cbf9bbd64236b02d90e8f3597ad103
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Evaluate/variable.h
Log Message:
-----------
[flang] Fix use-after-free cases found by valgrind (#122394)
The expression traversal library needs to use interfaces into triplets
(and substrings) that return pointers to nested expressions, rather than
optional copies of them, since at least one semantic analysis collects a
set of references to some subexpression representation class instances,
and those references obviously can't point to local copies of objects.
Fixes https://github.com/llvm/llvm-project/issues/121999.
Commit: 89bbaf3cf2e5706acf46e30ac19e23a58db2e9f9
https://github.com/llvm/llvm-project/commit/89bbaf3cf2e5706acf46e30ac19e23a58db2e9f9
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
A flang/test/Semantics/bug122045.f90
Log Message:
-----------
[flang] Fix another crash from another fuzzer test. (#122562)
Fixes https://github.com/llvm/llvm-project/issues/122045.
Commit: 9696355484152eda5684e0ec6249f4c423f08e42
https://github.com/llvm/llvm-project/commit/9696355484152eda5684e0ec6249f4c423f08e42
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/include/flang/Evaluate/shape.h
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-designator.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/bug122060.f90
M flang/test/Semantics/reshape.f90
Log Message:
-----------
[flang] Better messages and error recovery for a bad RESHAPE (#122604)
Add tests for negative array extents where necessary, motivated by a
compiler crash exposed by yet another fuzzer test, and improve overall
error message quality for RESHAPE().
Fixes https://github.com/llvm/llvm-project/issues/122060.
Commit: bf95854e9ab1209901603d8f9edba4328eed6689
https://github.com/llvm/llvm-project/commit/bf95854e9ab1209901603d8f9edba4328eed6689
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
Log Message:
-----------
[flang] EOF goes to ERR= in READ(..., REC=) (#122608)
A direct access READ that tries to read past the end of the file must
recover the error via an ERR= label, not an END= label (which is not
allowed to be present).
Fixes https://github.com/llvm/llvm-project/issues/122150.
Commit: 874a3ba868e3738d6ee21bfe032c89c6c8be3969
https://github.com/llvm/llvm-project/commit/874a3ba868e3738d6ee21bfe032c89c6c8be3969
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/runtime/file.cpp
Log Message:
-----------
[flang][runtime] Don't buffer unit 0 (#122614)
Always assume that predefined unit 0 is a terminal, so that output to it
is never buffered.
Commit: 9f0f54a6290ead2e1581d75582759822a19fd885
https://github.com/llvm/llvm-project/commit/9f0f54a6290ead2e1581d75582759822a19fd885
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/self-use.f90
Log Message:
-----------
[flang] Improve error messages for module self-USE (#122747)
A module can't USE itself, either directly within the top-level module
or from one of its submodules. Add a test for this case (which we
already caught), and improve the diagnostic for the more confusing case
involving a submodule.
Commit: 4a3e4b99b9ab3016afe8b02c4f83f24635964f4e
https://github.com/llvm/llvm-project/commit/4a3e4b99b9ab3016afe8b02c4f83f24635964f4e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Preprocessing/bug129131.F
Log Message:
-----------
[flang] Adjust prescanner fix for preprocessing (#122779)
Commas being optional in FORMAT statements, the tokenization of things
like 3I9HHOLLERITH is tricky. After tokenizing the initial '3', we don't
want to then take apparent identifier "I9HHOLLERITH" as the next token.
So the prescanner just consumes the letter ("I") as its own token in
this context.
A recent bug report complained that this can lead to incorrect results
when (in this case) the letter is a defined preprocessing macro. I
updated the prescanner to check that the letter is actually followed by
an instance of a problematic Hollerith literal.
And this broke two tests in the Fujitsu Fortran test suite that Linaro
runs, as it couldn't detect a following Hollerith literal that wasn't on
the same source line. We can't do look-ahead line continuation
processing in NextToken(), either.
So here's a second attempt at fixing the original problem: namely, the
letter that follows a decimal integer token is checked to see whether
it's the name of a defined macro.
Commit: 9629f2c4ca6a514abe27f537c1cb4af35ef0aa10
https://github.com/llvm/llvm-project/commit/9629f2c4ca6a514abe27f537c1cb4af35ef0aa10
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/test/Driver/intrinsic-module-path.f90
M flang/test/Driver/use-module.f90
M flang/test/Semantics/modfile43.f90
M flang/test/Semantics/modfile63.f90
M flang/test/Semantics/modfile70.f90
M flang/test/Semantics/resolve12.f90
M flang/test/Semantics/resolve26.f90
Log Message:
-----------
[flang] Improve module file error message wording (#122787)
Instead of "Cannot read ...", distinguish true errors in finding and
parsing module files from problems with unexpected hash codes by using
"Cannot parse" or "Cannot use" wording as appropriate.
Commit: ecf264d3b4eebcfcc3bd89ceac090b82fd5e75c7
https://github.com/llvm/llvm-project/commit/ecf264d3b4eebcfcc3bd89ceac090b82fd5e75c7
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/tools.cpp
A flang/test/Semantics/generic12.f90
Log Message:
-----------
[flang] Fix spurious error message due to inaccessible generic binding (#122810)
Generic operator/assignment checks for distinguishable specific
procedures must ignore inaccessible generic bindings.
Fixes https://github.com/llvm/llvm-project/issues/122764.
Commit: 93fd72cbb1a3c340add27fc380c4450406313d68
https://github.com/llvm/llvm-project/commit/93fd72cbb1a3c340add27fc380c4450406313d68
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
Log Message:
-----------
[llvm-gsymutil] Ensure gSYM creation determinism with merged functions (#122921)
We were seeing occasional test failures with expensive checks enabled.
The issue was tracked down to a `sort` which should instead be a
`stable_sort` to ensure determinism. Checked locally and the
non-determinism went away.
Commit: 3d24c77f14d42721226b31d7e5d08f853cfc92f1
https://github.com/llvm/llvm-project/commit/3d24c77f14d42721226b31d7e5d08f853cfc92f1
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGenCXX/debug-info-object-pointer.cpp
Log Message:
-----------
[clang][DebugInfo] Emit DW_AT_object_pointer on function definitions with explicit `this` (#122897)
We currently don't emit `DW_AT_object_pointer` on function declarations
or definitions. GCC suffers from the same issue:
https://godbolt.org/z/h4jeT54G5
Fixing this will help LLDB in identifying static vs. non-static member
functions (see https://github.com/llvm/llvm-project/issues/120856).
If I interpreted the DWARFv5 spec correctly, it doesn't mandate this
attribute be present *only* for implicit object parameters:
```
If the member function entry describes a non-static member function,
then that entry has a DW_AT_object_pointer attribute whose value is a reference to
the formal parameter entry that corresponds to the object for which the
function is called.
That parameter also has a DW_AT_artificial attribute whose value is true.
```
This patch attaches the `DW_AT_object_pointer` for function
*defintions*. The declarations will be handled in a separate patch.
The part about `DW_AT_artificial` seems overly restrictive, and not true
for explicit object parameters. We probably should relax this part of
the DWARF spec.
Partially fixes https://github.com/llvm/llvm-project/issues/120974
Commit: ef804d8f9b4ef4ff39e873d5910e94887519bdb6
https://github.com/llvm/llvm-project/commit/ef804d8f9b4ef4ff39e873d5910e94887519bdb6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M libcxx/include/__new/global_new_delete.h
M libcxxabi/src/CMakeLists.txt
Log Message:
-----------
[libc++] Simplify when the sized global deallocations overloads are available (#114667)
There doesn't seem to be much benefit in always providing declarations
for the sized deallocations from C++14 onwards if the user explicitly
passed `-fno-sized-deallocation` to disable them. This patch simplifies
the declarations to be available exactly when the compiler expects sized
deallocation functions to be available.
Commit: 6e14f9b40e15600ae7832826b47a7f0c0503a1d7
https://github.com/llvm/llvm-project/commit/6e14f9b40e15600ae7832826b47a7f0c0503a1d7
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] minor formatting fixes (#122964)
Added `# keep sorted` to a couple of long-ish lists of files that
buildifier didn't automatically sort by default.
Changed a couple of one-element `toolchains` attributes to the
single-line format.
Commit: 31249e27f0f8be16e80b2b574c1f2ce70853ed31
https://github.com/llvm/llvm-project/commit/31249e27f0f8be16e80b2b574c1f2ce70853ed31
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
Log Message:
-----------
[DirectX] Avoid deprecated PointerUnion methods (#122972)
PointerUnion's `is`, `get`, and `dyn_cast` have been deprecated in
favour of using `isa`, `cast`, and `dyn_cast` directly. Migrate these
uses over.
Commit: f09db6a3af971ab7d9bbc7ba574a8dc0c10b2940
https://github.com/llvm/llvm-project/commit/f09db6a3af971ab7d9bbc7ba574a8dc0c10b2940
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
A mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[TOSA] Add Tosa_Shape type and ConstShapeOp (#122547)
Adds:
1. tosa shape type to Tosa dialect e.g., !tosa.shape<4> is a type for
rank-4 shape values (size-4 array of index values)
2. const_shape operator
3. trait TosaShapeOperator, added to tosa shape operators, and a
verifier that all operands and results of operator are tosa shapes
4. trait TosaResolvableShapeOperands, added to all tosa operators, and a
verifier that every tosa shape operand is produced by a tosa shape
operator (indicated by trait TosaShapeOperator)
5. trait TosaShapeOperatorWithSameRanks, added to
Tosa_ElementwiseShapeOp and a verifier that all operands and result
shapes have same ranks
5. changed TileOp's multiples from attribute to input, of !tosa.shape
type.
6. add folder for tosa ConstShape operator
This patch was originally authored by Tai Ly <tai.ly at arm.com>
Signed-off-by: Jerry Ge <Jerry.Ge at arm.com>
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 6a214ec1eeef6b404bf111edeca13c6e0d958103
https://github.com/llvm/llvm-project/commit/6a214ec1eeef6b404bf111edeca13c6e0d958103
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/test/ThinLTO/X86/memprof_direct_recursion.ll
Log Message:
-----------
[MemProf] Fix an assertion when writing distributed index for aliasee (#122946)
The ThinLTO index bitcode writer uses a helper forEachSummary to manage
preparation and writing of summaries needed for each distributed index
file. For alias summaries, it invokes the provided callback for the
aliasee as well, as we at least need to produce a value id for the
alias's summary. However, all summary generation for the aliasee itself
should be skipped on calls when IsAliasee is true. We invoke the
callback again if that value's summary is to be written as well.
We were asserting in debug mode when invoking collectMemProfCallStacks,
because a given stack id index was not in the StackIdIndicesToIndex
map. It was not added because the forEachSummary invocation that records
these ids in the map (invoked from the IndexBitcodeWriter constructor)
was correctly skipping this handling when invoked for aliasees. We need
the same guard in the invocation that calls collectMemProfCallStacks.
Note that this doesn't cause any real problems in a non-asserts build
as the missing map lookup will return the default 0 value from the map,
which isn't used since we don't actually write the corresponding
summary.
Commit: 1682deed0fd02c6aca98154e8e9cf6c573ff6d45
https://github.com/llvm/llvm-project/commit/1682deed0fd02c6aca98154e8e9cf6c573ff6d45
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-01-14 (Tue, 14 Jan 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/CIndexCXX.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/libclang.map
Log Message:
-----------
[libclang] Add API to query more information about base classes. (#120300)
The first API is clang_visitCXXBaseClasses: this allows visiting the
base classes without going through the generic child visitor (which is
awkward, and doesn't work for template instantiations).
The second API is clang_getOffsetOfBase; this allows computing the
offset of a base in the class layout, the same way
clang_Cursor_getOffsetOfField computes the offset of a field.
Also, add a Python binding for the existing function
clang_isVirtualBase.
Commit: 25f28ddd69ed2453726c0934ba6feea8ae6f10f8
https://github.com/llvm/llvm-project/commit/25f28ddd69ed2453726c0934ba6feea8ae6f10f8
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
Log Message:
-----------
[flang][cuda][NFC] Fix file header
Commit: 1de3dc7d23dd6b856efad3a3a04f2396328726d7
https://github.com/llvm/llvm-project/commit/1de3dc7d23dd6b856efad3a3a04f2396328726d7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/loopvectorize_pr33804_double.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
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/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/Hexagon/maximum-vf-crash.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
A llvm/test/Transforms/LoopVectorize/epilog-vectorization-vector-trip-count-zero.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
Log Message:
-----------
[LV] Bail out early if BTC+1 wraps.
Currently we fail to detect the case where BTC + 1 wraps, i.e. the
vector trip count is 0, In those cases, the minimum iteration count
check will fail, and the vector code will never be executed.
Explicitly check for this condition in computeMaxVF and avoid trying to
vectorize alltogether.
Note that a number of tests needed to be updated, because the vector
loop would never be executed given the input IR.
Fixes https://github.com/llvm/llvm-project/issues/122558.
Commit: 43f203da8986bfeb071b5dc381491abbc1126e52
https://github.com/llvm/llvm-project/commit/43f203da8986bfeb071b5dc381491abbc1126e52
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] add missing dep
Commit: a829ebadd4211bec24e99f4395ef855eff456eb1
https://github.com/llvm/llvm-project/commit/a829ebadd4211bec24e99f4395ef855eff456eb1
Author: Martin Storsjö <martin at martin.st>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[Triple] Ignore the vendor field for MinGW, wrt LTO/IR compatibility (#122801)
For MinGW environments, the regular C/C++ toolchains usually use "w64"
for the vendor field in triples, while Rust toolchains usually use "pc"
in the vendor field.
The differences in the vendor field have no bearing on whether the IR is
compatible on this platform. (This probably goes for most other OSes as
well, but limiting the scope of the change to the specific case.)
Add a unit test for the isCompatibleWith, including some existing test
cases found in existing tests.
Commit: 72225ca27f561b74da292433400f250592d73b13
https://github.com/llvm/llvm-project/commit/72225ca27f561b74da292433400f250592d73b13
Author: Min Hsu <min.hsu at sifive.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
R llvm/test/tools/llvm-exegesis/X86/dry-run-measurement.test
M llvm/test/tools/llvm-exegesis/lit.local.cfg
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
Revert "Reland: "[Exegesis] Add the ability to dry-run the measurement phase (#121991)" (#122775)"
This reverts commit a39aaf35d3858a5542f532e399482c2bb0259dac and
63d3bd6d0caf8185aba49540fe2f67512fdf3a98.
Due to test failures on MacOSX.
Commit: 0b3912622ed4f3cdd311b02798f8689d52ed4602
https://github.com/llvm/llvm-project/commit/0b3912622ed4f3cdd311b02798f8689d52ed4602
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/test/CodeGen/ARM/loopvectorize_pr33804.ll
Log Message:
-----------
[ARM] Update LV test in test/Codegen/ARM after 1de3dc7d23.
Commit: 7aec7caca30f800811b76ba94291645494788a4f
https://github.com/llvm/llvm-project/commit/7aec7caca30f800811b76ba94291645494788a4f
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/bindings/python/tests/cindex/test_type.py
Log Message:
-----------
Add explicit triple to test_type.py.
Fixes on 32-bit hosts.
Commit: 2b961b06438d1d07c1d3d3a89bfcdbf877df0d70
https://github.com/llvm/llvm-project/commit/2b961b06438d1d07c1d3d3a89bfcdbf877df0d70
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Disasm.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#122854)
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 expect Source to be nonnull.
Commit: e673f9d00de8a860d98ca7f0ea580ca0fa6a5ac8
https://github.com/llvm/llvm-project/commit/e673f9d00de8a860d98ca7f0ea580ca0fa6a5ac8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaCodeComplete.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#122855)
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 expect DeclOrVector to be nonnull.
Commit: a1f8ce683a14c847f49f29a450bf838d6ca522a9
https://github.com/llvm/llvm-project/commit/a1f8ce683a14c847f49f29a450bf838d6ca522a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
Log Message:
-----------
[StaticAnalyzer] Migrate away from PointerUnion::dyn_cast (NFC) (#122856)
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 expect Storage to be nonnull.
Commit: 466753b1097d64bc2f162bafc1d3c8743ccfd4d3
https://github.com/llvm/llvm-project/commit/466753b1097d64bc2f162bafc1d3c8743ccfd4d3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/AST/ExternalASTMerger.cpp
Log Message:
-----------
[AST] Avoid repeated map lookups (NFC) (#122858)
Commit: 99ab848a65facc2e1837c459d4ec855cba82d157
https://github.com/llvm/llvm-project/commit/99ab848a65facc2e1837c459d4ec855cba82d157
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ModuloSchedule.h
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#122861)
Commit: bc74625f50e216edd16f436c4fc81ff585b6c4c7
https://github.com/llvm/llvm-project/commit/bc74625f50e216edd16f436c4fc81ff585b6c4c7
Author: zotnhucucbot <thaiphd at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy] Add an option to exclude files not present in the compile database (#120348)
A change list may include files that are not part of the compile
database, which can cause clang-tidy to fail (e.g., due to missing
included headers). To prevent false negatives, we should allow to skip
processing these files.
Commit: b665dddd7070837b11714e28d841c9962a15601a
https://github.com/llvm/llvm-project/commit/b665dddd7070837b11714e28d841c9962a15601a
Author: Shoreshen <372660931 at qq.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
Log Message:
-----------
[AMDGPU] Add tests for v_sat_pk_u8_i16 codegen (#122438)
Preparation for #121124
This PR provides tests added into
[PR](https://github.com/llvm/llvm-project/pull/121124) that add
selection patterns for instruction `v_sat_pk`, in order to specify the
change of the tests before and after the commit.
Pre-commit tests PR for #121124 : Add selection patterns for instruction
`v_sat_pk`
Commit: ebef44067bd0a2cd776b8baea39cffa7f602ce7b
https://github.com/llvm/llvm-project/commit/ebef44067bd0a2cd776b8baea39cffa7f602ce7b
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
[LLVM][Triple] Add an argument to specify canonical form to `Triple::normalize` (#122935)
Currently, the output of `Triple::normalize` can vary depending on how the
`Triple` object is constructed, producing a 3-field, 4-field, or even 5-field
string. However, there is no way to control the format of the output, as all
forms are considered canonical according to the LangRef.
This lack of control can be inconvenient when a specific format is required. To
address this, this PR introduces an argument to specify the desired format (3,
4, or 5 identifiers), with the default set to none to maintain the current
behavior. If the requested format requires more components than are available in
the actual `Data`, `"unknown"` is appended as needed.
Commit: a19919f4cd82166023e81d9ed8df981642c9d4ac
https://github.com/llvm/llvm-project/commit/a19919f4cd82166023e81d9ed8df981642c9d4ac
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/CUDA/cuda-global-addr.mlir
M flang/test/Fir/CUDA/cuda-launch.fir
Log Message:
-----------
[flang][cuda] Add cuf.device_address operation (#122975)
Introduce a new op to get the device address from a host symbol. This
simplify the current conversion and this is also in preparation for some
legalization work that need to be done in cuf kernel and cuf kernel
launch similar to
https://github.com/llvm/llvm-project/pull/122802
Commit: 565f3bd641dfdfefd9cf932cf94cc3fbd0b30d33
https://github.com/llvm/llvm-project/commit/565f3bd641dfdfefd9cf932cf94cc3fbd0b30d33
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Log Message:
-----------
[mlir][linalg] Remove redundant checks for variable(NFC) (#122731)
This PR removes the redundant checks for the `supported` variable, as
it's guaranteed to be true.
Commit: ef4800c9168ee45ced8295d13ac68f58b4358759
https://github.com/llvm/llvm-project/commit/ef4800c9168ee45ced8295d13ac68f58b4358759
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Interfaces/ViewLikeInterface.cpp
Log Message:
-----------
[mlir][Interfaces][NFC] Update doc of ViewLikeOpInterface parser/printer handlers (#122555)
This PR addresses part of the feedback provided in #115808.
Commit: 0294dab79e24cc4fc41e2d9fc77ad02730e412bc
https://github.com/llvm/llvm-project/commit/0294dab79e24cc4fc41e2d9fc77ad02730e412bc
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
A llvm/test/Transforms/LoopVectorize/select-with-fastflags.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[LV][VPlan] Add fast flags for selectRecipe (#121023)
Change the inheritance of class VPWidenSelectRecipe to class
VPRecipeWithIRFlags, which allows recipe of the select to pass the
fastmath flags.The patch of #119847 will add the fastmath flag to for
recipe
Commit: 2a5281d0e0000c04606ef86a2cf9c458d9adafef
https://github.com/llvm/llvm-project/commit/2a5281d0e0000c04606ef86a2cf9c458d9adafef
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
Log Message:
-----------
[ORC-RT] Fix missing '\' line continuations in objc-imageinfo.S test.
These missing continuations were causing commands in this testcase to fail.
Commit: e7f756d4684af4531a6a9564017bcae1226b719f
https://github.com/llvm/llvm-project/commit/e7f756d4684af4531a6a9564017bcae1226b719f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[NFC][BoundsChecking] Address #122576 review comments (#122773)
Commit: 21ade5ae2978b7b809b59b70d63099c87b36dc61
https://github.com/llvm/llvm-project/commit/21ade5ae2978b7b809b59b70d63099c87b36dc61
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
Log Message:
-----------
[JITLink] Fix indentation in debugging output.
Commit: 9c5001e45491ae8b1b2967d2fa48f445799c88ae
https://github.com/llvm/llvm-project/commit/9c5001e45491ae8b1b2967d2fa48f445799c88ae
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
Log Message:
-----------
[JITLink] Add convenience methods to LinkGraph to find symbols by name.
Adds new convenience methods findDefinedSymbolByName, findExternalSymbolByName
and findAbsoluteSymbolByName to the LinkGraph class. These should be used to
find symbols of the given types by name.
COFFLinkGraphBuilder and MachOPlatform are updated to take advantage of the
new methods.
Commit: 9f48bb637eeb40e40bb9e2927ea97b58684ece3a
https://github.com/llvm/llvm-project/commit/9f48bb637eeb40e40bb9e2927ea97b58684ece3a
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h
Log Message:
-----------
[JITLink] Document EHFrameEdgeFixer's handling of implicit relocations. NFC.
On platfarms where some relocations for eh-frame sections are implicit (e.g.
MachO/x86-64) EHFrameEdgeFixer is responsible for adding edges for the
implicit relocations.
Commit: da4ac13acac166738f769a9dfa2be40563d6ff64
https://github.com/llvm/llvm-project/commit/da4ac13acac166738f769a9dfa2be40563d6ff64
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
Log Message:
-----------
[RISCV][llvm-exegesis] Simplify copying a SmallVector to a std::vector. NFC (#122988)
Commit: 9ac6a55ec54fe4cd4a99c69ef1a4ddaea49e6688
https://github.com/llvm/llvm-project/commit/9ac6a55ec54fe4cd4a99c69ef1a4ddaea49e6688
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M clang/include/clang/AST/Type.h
Log Message:
-----------
[clang][AST] Assert that DependentNameType's Name and NNS are not null (#122418)
Also clarify the comment above DependentNameType::getIdentifier()
Commit: c4fb7180cbbe977f1ab1ce945a691550f8fdd1fb
https://github.com/llvm/llvm-project/commit/c4fb7180cbbe977f1ab1ce945a691550f8fdd1fb
Author: Greg Clayton <gclayton at fb.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M lldb/include/lldb/Target/SectionLoadHistory.h
M lldb/include/lldb/Target/Target.h
M lldb/source/API/SBBreakpoint.cpp
M lldb/source/Breakpoint/BreakpointLocationList.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/DumpDataExtractor.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Section.cpp
M lldb/source/Core/Value.cpp
M lldb/source/DataFormatters/CXXFunctionPointer.cpp
M lldb/source/Expression/ObjectFileJIT.cpp
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/Placeholder/ObjectFilePlaceholder.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/SectionLoadHistory.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanTracer.cpp
Log Message:
-----------
[lldb][NFC] Make the target's SectionLoadList private. (#113278)
Lots of code around LLDB was directly accessing the target's section
load list. This NFC patch makes the section load list private so the
Target class can access it, but everyone else now uses accessor
functions. This allows us to control the resolving of addresses and will
allow for functionality in LLDB which can lazily resolve addresses in
JIT plug-ins with a future patch.
Commit: 273a94b3d5a78cd9122c7b3bbb5d5a87147735d2
https://github.com/llvm/llvm-project/commit/273a94b3d5a78cd9122c7b3bbb5d5a87147735d2
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-01-14 (Tue, 14 Jan 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/arithmetic-int.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/shift-parts.ll
Log Message:
-----------
[NVPTX] Add some more immediate instruction variants (#122746)
While this likely won't impact the final SASS, it makes for more compact
PTX.
Commit: 02403f4e450b86d93197dd34045ff40a34b21494
https://github.com/llvm/llvm-project/commit/02403f4e450b86d93197dd34045ff40a34b21494
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[RISCV] Split strided-load-store.ll tests into EVL and VP. NFC
None of the changes in #122232 or the upcoming #122244 are specific to
the EVL, so split out the EVL tail-folded loops into separate
"integration tests" that reflect the output of the loop vectorizer.
Commit: 030d48b7db9845f42bf3ef365193bfdbb23f5440
https://github.com/llvm/llvm-project/commit/030d48b7db9845f42bf3ef365193bfdbb23f5440
Author: Bevin Hansson <bevin.hansson at ericsson.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Log Message:
-----------
[clangd] Augment code completion results with documentation from the index. (#120099)
When looking up code completions from Sema, there is no associated
documentation. This is due to crash issues with stale preambles.
However, this also means that code completion results from other
than the main file do not have documentation in certain cases,
which is a bad user experience.
This patch performs a lookup into the index using the code
completion result declarations to find documentation, and
attaches it to the results.
Fixes clangd/clangd#2252
Fixes clangd/clangd#564
Commit: 2504693d75c6ed1047955dd6e65ce9d4c1a164c8
https://github.com/llvm/llvm-project/commit/2504693d75c6ed1047955dd6e65ce9d4c1a164c8
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Log Message:
-----------
[ARM][NFC] Remove redundant sub-expressions (#122911)
This PR removes redundant sub-expressions `Mnemonic != "vqmovnt"`, which
is mentioned in https://pvs-studio.com/en/blog/posts/cpp/1188/.
Commit: 135f39c780ac106ac93ef0838a62d7ebf947c2a0
https://github.com/llvm/llvm-project/commit/135f39c780ac106ac93ef0838a62d7ebf947c2a0
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/tools/spirv-tools/CMakeLists.txt
Log Message:
-----------
[SPIR-V] Fix a typo in cmake. NFC
- It should be '${SPIRV_AS}' that is linked or copied to 'spirv-as',
instead of '${SPIRV_VAL}'
Commit: edc02351dd11cc4a39b7c541b26b71c6f36c8e55
https://github.com/llvm/llvm-project/commit/edc02351dd11cc4a39b7c541b26b71c6f36c8e55
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[NFC][LoopVectorize] Add more loop early exit asserts (#122732)
This patch is split off #120567, adding asserts in
addScalarResumePhis and addExitUsersForFirstOrderRecurrences
that the loop does not contain an uncountable early exit,
since the code cannot yet handle them correctly.
Commit: 7201cae106260aeb3e9bbbb7d5291ff30f05076a
https://github.com/llvm/llvm-project/commit/7201cae106260aeb3e9bbbb7d5291ff30f05076a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/ExternalASTMerger.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
M clang/test/CXX/module/basic/basic.link/p2.cppm
M clang/test/CXX/module/module.import/p2.cpp
M clang/test/CXX/module/module.interface/p7.cpp
M clang/test/CXX/module/module.reach/p5.cpp
M clang/test/Modules/Reachability-template-default-arg.cpp
M clang/test/Modules/cxx20-10-1-ex2.cpp
M clang/test/Modules/deduction-guide3.cppm
A clang/test/Modules/module-local-with-templates.cppm
A clang/test/Modules/pr90154.cppm
M clang/unittests/AST/ExternalASTSourceTest.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
Log Message:
-----------
[C++20] [Modules] Support module level lookup (#122887)
Close https://github.com/llvm/llvm-project/issues/90154
This patch is also an optimization to the lookup process to utilize the
information provided by `export` keyword.
Previously, in the lookup process, the `export` keyword only takes part
in the check part, it doesn't get involved in the lookup process. That
said, previously, in a name lookup for 'name', we would load all of
declarations with the name 'name' and check if these declarations are
valid or not. It works well. But it is inefficient since it may load
declarations that may not be wanted.
Note that this patch actually did a trick in the lookup process instead
of bring module information to DeclarationName or considering module
information when deciding if two declarations are the same. So it may
not be a surprise to me if there are missing cases. But it is not a
regression. It should be already the case. Issue reports are welcomed.
In this patch, I tried to split the big lookup table into a lookup table
as before and a module local lookup table, which takes a combination of
the ID of the DeclContext and hash value of the primary module name as
the key. And refactored `DeclContext::lookup()` method to take the
module information. So that a lookup in a DeclContext won't load
declarations that are local to **other** modules.
And also I think it is already beneficial to split the big lookup table
since it may reduce the conflicts during lookups in the hash table.
BTW, this patch introduced a **regression** for a reachability rule in
C++20 but it was false-negative. See
'clang/test/CXX/module/module.interface/p7.cpp' for details.
This patch is not expected to introduce any other
regressions for non-c++20-modules users since the module local lookup
table should be empty for them.
---
On the API side, this patch unfortunately add a maybe-confusing argument
`Module *NamedModule` to
`ExternalASTSource::FindExternalVisibleDeclsByName()`. People may think
we can get the information from the first argument `const DeclContext
*DC`. But sadly there are declarations (e.g., namespace) can appear in
multiple different modules as a single declaration. So we have to add
additional information to indicate this.
Commit: d1d25641f4cb87ab2c07a4136ba1cec4fb6cf578
https://github.com/llvm/llvm-project/commit/d1d25641f4cb87ab2c07a4136ba1cec4fb6cf578
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/SemaCXX/ptrauth-type-discriminator.cpp
Log Message:
-----------
[clang][bytecode] Handle UETT_PtrAuthTypeDiscriminator (#122941)
Commit: 929eb500d4c9b3fff0693c49fd55c8093dc1ad62
https://github.com/llvm/llvm-project/commit/929eb500d4c9b3fff0693c49fd55c8093dc1ad62
Author: ziereis <44057120+ziereis at users.noreply.github.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-rewrite-narrow-types.mlir
Log Message:
-----------
[mlir] Rewrites for I2 to I8 signed and unsigned extension (#121298)
Adds rewrites for i2 to i8 signed and unsigned extension, similar to the
ones that already exist for i4 to i8 conversion.
I use this for i6 quantized models, and this gives me roughly a 2x
speedup for an i6 4096x4096 dequantization-matmul on an AMD 5950x.
I didn't add the rewrite for i8 to i2 truncation because I currently
don't use it, but if this is needed, I can add it as well.
---------
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: 8ac00ca4867835cacaf013f5c442658b9b1bce38
https://github.com/llvm/llvm-project/commit/8ac00ca4867835cacaf013f5c442658b9b1bce38
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/trunc-vector-width.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-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-7.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] lowerShuffleWithUndefHalf - don't split vXi8 unary shuffles if the 128-bit source lanes are already in place (#122919)
Allows us to use PSHUFB to shuffle the lanes, and then perform a sub-lane permutation down to the lower half
Fixes #116815
Commit: 4c2e4ea18fd0031636994cf81fd03d82f59b7d27
https://github.com/llvm/llvm-project/commit/4c2e4ea18fd0031636994cf81fd03d82f59b7d27
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
Log Message:
-----------
[RISCV][llvm-exegesis] Disable pseudo instructions in allowAsBackToBack. (#122986)
Prevents crashes trying to encode pseudo instuctions. Tested on HiFive
Premier P550.
Fixes #122974
Commit: c24ce324d56328e4b91c8797ea4935545084303e
https://github.com/llvm/llvm-project/commit/c24ce324d56328e4b91c8797ea4935545084303e
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/unittests/IR/InterfaceAttachmentTest.cpp
Log Message:
-----------
[mlir][IR] Turn `FloatType` into a type interface (#118891)
This makes it possible to add new MLIR floating point types in
downstream projects. (Adding new APFloat semantics in downstream
projects is not possible yet, so parsing/printing/converting float
literals of newly added types is not supported.)
Also removes two functions where we had to hard-code all existing
floating point types (`FloatType::classof`). See discussion here:
https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361
No measurable compilation time changes for these lit tests:
```
Benchmark 1: mlir-opt ./mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir -split-input-file -convert-vector-to-llvm -o /dev/null
BEFORE
Time (mean ± σ): 248.4 ms ± 3.2 ms [User: 237.0 ms, System: 20.1 ms]
Range (min … max): 243.3 ms … 255.9 ms 30 runs
AFTER
Time (mean ± σ): 246.8 ms ± 3.2 ms [User: 233.2 ms, System: 21.8 ms]
Range (min … max): 240.2 ms … 252.1 ms 30 runs
Benchmark 2: mlir-opt- ./mlir/test/Dialect/Arith/canonicalize.mlir -split-input-file -canonicalize -o /dev/null
BEFORE
Time (mean ± σ): 37.3 ms ± 1.8 ms [User: 31.6 ms, System: 30.4 ms]
Range (min … max): 34.6 ms … 42.0 ms 200 runs
AFTER
Time (mean ± σ): 37.5 ms ± 2.0 ms [User: 31.5 ms, System: 29.2 ms]
Range (min … max): 34.5 ms … 43.0 ms 200 runs
Benchmark 3: mlir-opt ./mlir/test/Dialect/Tensor/canonicalize.mlir -split-input-file -canonicalize -allow-unregistered-dialect -o /dev/null
BEFORE
Time (mean ± σ): 152.2 ms ± 2.5 ms [User: 140.1 ms, System: 12.2 ms]
Range (min … max): 147.6 ms … 161.8 ms 200 runs
AFTER
Time (mean ± σ): 151.9 ms ± 2.7 ms [User: 140.5 ms, System: 11.5 ms]
Range (min … max): 147.2 ms … 159.1 ms 200 runs
```
A micro benchmark that parses + prints 32768 floats with random
floating-point type shows a slowdown from 55.1 ms -> 48.3 ms.
Commit: af656a8d4245069f70f5b5e1f654ec9291d3b0a3
https://github.com/llvm/llvm-project/commit/af656a8d4245069f70f5b5e1f654ec9291d3b0a3
Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
A llvm/test/Transforms/CorrelatedValuePropagation/ctpop-range.ll
Log Message:
-----------
[LVI] Learn value ranges from ctpop results (#121945)
Fixes #115751.
Commit: 2c34632a9977a82ce6262d95f07addb772ba7014
https://github.com/llvm/llvm-project/commit/2c34632a9977a82ce6262d95f07addb772ba7014
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/modules-print-library-module-manifest-path.cpp
Log Message:
-----------
[C++20] [Modules] [Driver] Support -print-library-module-manifest-path for libstdc++
Given libstdc++ has landed std module, the build systems may need clang
to find the configuration file to understand how to build the std
module. This patch did this. Tested with locally installed GCC-trunk.
Commit: 4cec0ba92955c353c52efe728b2cfef3fbdf60f8
https://github.com/llvm/llvm-project/commit/4cec0ba92955c353c52efe728b2cfef3fbdf60f8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Simplify VisitCXXDefaultArgExpr (#123024)
We have `discard()` these days.
Commit: 04b002bbb838bc502bd6d5f602af95efd6cc96b3
https://github.com/llvm/llvm-project/commit/04b002bbb838bc502bd6d5f602af95efd6cc96b3
Author: Sergey Kachkov <109674256+skachkov-sc at users.noreply.github.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[IRBuilder] Add Align argument for CreateMaskedExpandLoad and CreateMaskedCompressStore (#122878)
This patch adds possibility to specify alignment for
llvm.masked.expandload/llvm.masked.compressstore intrinsics in IRBuilder
(this is mostly NFC for now since it's only used in MemorySanitizer, but
there is an intention to generate these intrinsics in the compiler
passes, e.g. in LoopVectorizer)
Commit: b3924cb9ecc95aa428d48e58ef5f2629f5166e02
https://github.com/llvm/llvm-project/commit/b3924cb9ecc95aa428d48e58ef5f2629f5166e02
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/test/CodeGen/AMDGPU/sink-image-sample.ll
Log Message:
-----------
[AMDGPU] Set Convergent property for image.(getlod/sample*) intrinsics which uses WQM (#122908)
This change adds IntrConvergent property to image.getlod intrinsic and
to several image.sample intrinsics. All image.sample intrinsics apart
from LOD(_L), Level 0(_LZ), Derivative(_D) will be marked as Convergent.
Commit: eb96c8c105226956c8ed5ab30699206f53de74f7
https://github.com/llvm/llvm-project/commit/eb96c8c105226956c8ed5ab30699206f53de74f7
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lldb/include/lldb/Core/Disassembler.h
M lldb/source/API/SBFunction.cpp
M lldb/source/API/SBInstructionList.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Symbol/Function.cpp
M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
Log Message:
-----------
[lldb] Implement (SB)Function::GetInstructions for discontinuous functions (#122933)
The main change is to permit the disassembler class to process/store
multiple (discontinuous) ranges of addresses. The result is not
ambiguous because each instruction knows its size (in addition to its
address), so we can check for discontinuity by looking at whether the
next instruction begins where the previous ends.
This patch doesn't handle the "disassemble" CLI command, which uses a
more elaborate mechanism for disassembling and printing instructions.
Commit: e4708260c7e9eeb817cafa6db9eee2569f00b5d2
https://github.com/llvm/llvm-project/commit/e4708260c7e9eeb817cafa6db9eee2569f00b5d2
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/utils/vim/ftplugin/mlir.vim
Log Message:
-----------
[vim] Improve `iskeyword` for MLIR (#121750)
Define keywords for the MLIR syntax. This allows better recognition of
semantic constructs such as SSA value identification e.g. `%foo` which
gives improved motion handling when using 'word based' such as `w, e`.
This is based on the work done for the LLVM IR in
8c46413f343d0a5b8db48d958890b9038f03b70d.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: bd768246da23ad141d3e9303cf43fd4363a6d4f4
https://github.com/llvm/llvm-project/commit/bd768246da23ad141d3e9303cf43fd4363a6d4f4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] replaceShuffleOfInsert - convert INSERT_VECTOR_ELT matching to use SDPatternMatch helpers. NFC.
Commit: 85fdf501461e8ee00401f06ee6c7d21ac6622484
https://github.com/llvm/llvm-project/commit/85fdf501461e8ee00401f06ee6c7d21ac6622484
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Multilib.h
M clang/lib/Driver/Multilib.cpp
A clang/test/Driver/baremetal-multilib-custom-flags-parsing.yaml
Log Message:
-----------
[Multilib] Custom flags YAML parsing (#122903)
This patch is the first step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.
Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058
The multilib mechanism supports libraries that target code generation or
language options such as `--target`, `-mcpu`, `-mfpu`,
`-mbranch-protection`. However, some library variants are particular to
features that do not correspond to any command-line options. Examples
include variants for multithreading and semihosting.
This work introduces a way to instruct the multilib system to consider
these features in library selection. This particular patch comprises a
new section in `multilib.yaml` to declare flags for which no option
exists. Henceforth this sort of flag will be called `custom flag` for
clarity.
The `multilib.yaml` file will have a new section called Flags which
contains the declarations of the target’s custom flags:
```yaml
Flags:
- Name: multithreaded
Values:
- Name: no-multithreaded
MacroDefines: [__SINGLE_THREAD__]
- Name: multithreaded
Default: no-multithreaded
- Name: io
Values:
- Name: io-none
- Name: io-semihosting
MacroDefines: [SEMIHOSTING]
- Name: io-linux-syscalls
MacroDefines: [LINUX_SYSCALLS, HOSTED=1]
Default: io-none
```
- Name: the name to categorize a flag.
- Values: a list of possible values.
- Default: it specifies which value this flag should take if not
specified in the command-line invocation. It must be one value from the
Values field.
Each flag Value follows this description:
- Name (required): the name of the custom flag value (string). This is
the string to be used in `-fmultilib-flag=<string>`.
- MacroDefines (optional): a list of strings to be used as macro
definitions. Each string
is fed into the driver as ``-D<string>``.
A Default value is useful to save users from specifying custom flags
that have a most commonly used value.
The namespace of flag values is common across all flags. This means that
flag values must be unique.
Commit: a5b88cb815d8f38698a3064a727b59143e0dae42
https://github.com/llvm/llvm-project/commit/a5b88cb815d8f38698a3064a727b59143e0dae42
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
A libclc/clc/include/clc/geometric/floatn.inc
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/include/clc/relational/clc_all.h
M libclc/clc/include/clc/relational/clc_any.h
M libclc/clc/include/clc/relational/clc_isequal.h
M libclc/clc/include/clc/relational/clc_isinf.h
M libclc/clc/include/clc/relational/clc_isnan.h
M libclc/clc/include/clc/relational/floatn.inc
M libclc/clc/include/clc/shared/clc_clamp.h
R libclc/generic/include/clc/geometric/floatn.inc
Log Message:
-----------
[libclc] Add missing includes to CLC headers (#118654)
There's no automatic way of checking these headers are self-contained.
Instead of including these common files many times across the whole
codebase, we can include them in the generic `gentype.inc` and
`floatn.inc` files which are included by most CLC headers.
Commit: 9bc88280931e3b08adfab6951047191dfe12392b
https://github.com/llvm/llvm-project/commit/9bc88280931e3b08adfab6951047191dfe12392b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-if.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[OMPIRBuilder][MLIR] Add support for target 'if' clause (#122478)
This patch implements support for handling the 'if' clause of OpenMP
'target' constructs in the OMPIRBuilder and updates MLIR to LLVM IR
translation of the `omp.target` MLIR operation to make use of this new
feature.
Commit: 2a044f8a092efb27fa1837f953bce8237d41e59b
https://github.com/llvm/llvm-project/commit/2a044f8a092efb27fa1837f953bce8237d41e59b
Author: Will Froom <will.froom at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
[MLIR] Add [[maybe_unused]] to variables on used in assert (#123037)
Add [[maybe_unused]] to suppresses warnings when `-NDEBUG` is enabled
Commit: defd0d966d5ebae37787e76b86f2f2ff2a5cfd59
https://github.com/llvm/llvm-project/commit/defd0d966d5ebae37787e76b86f2f2ff2a5cfd59
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/config/windows/headers.txt
M libc/include/sys/random.yaml
M libc/include/unistd.yaml
M libc/src/CMakeLists.txt
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/getentropy.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/getentropy.cpp
A libc/src/unistd/windows/CMakeLists.txt
A libc/src/unistd/windows/getentropy.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/getentropy_test.cpp
Log Message:
-----------
[libc] implement unistd/getentropy (#122692)
Implement GNU extension getentropy. This function is used by many
programs to acquire entropy without handling the loop of getrandom.
Commit: 9025c269aa0b394ea755978348f882f85013ed12
https://github.com/llvm/llvm-project/commit/9025c269aa0b394ea755978348f882f85013ed12
Author: David Green <david.green at arm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/adds_cmn.ll
Log Message:
-----------
[AArch64] Add an extra test case for adds and subs combines. NFC
Commit: e33f456ae591559883e89a1f18b2dec21225e90f
https://github.com/llvm/llvm-project/commit/e33f456ae591559883e89a1f18b2dec21225e90f
Author: LoS <kaffedesk at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
R clang/test/SemaCXX/warn-inconsistent-missing-destructor-override
A clang/test/SemaCXX/warn-inconsistent-missing-destructor-override.cpp
R clang/test/SemaCXX/warn-suggest-destructor-override
A clang/test/SemaCXX/warn-suggest-destructor-override.cpp
R clang/test/SemaCXX/warn-suggest-override
A clang/test/SemaCXX/warn-suggest-override.cpp
Log Message:
-----------
Fixed some warn-override tests in SemaCXX (#122680)
The `.cpp` extension have been added to test files, so that they can be
runned. Besides, the `warn-suggest-override.cpp` tests have been fixed.
---------
Co-authored-by: LoS <aurumpuro at gmail.com>
Commit: c8bbbaa5c70a32f31a072740c87708be8f15f831
https://github.com/llvm/llvm-project/commit/c8bbbaa5c70a32f31a072740c87708be8f15f831
Author: jofrn <jofernau at amd.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
Log Message:
-----------
[SelectionDAG][AMDGPU] Negative offset when selecting scratch sv offsets (#122251)
APInt will fail when given a negative offset. SelectScratchSVAddr
utilizes this function and can be given a negative offset as well, so
this change modifies it to use APSInt instead.
Commit: 6affc1837537a802531a5394535f1f0b7ca865cb
https://github.com/llvm/llvm-project/commit/6affc1837537a802531a5394535f1f0b7ca865cb
Author: Clement Courbet <courbet at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
A clang-tools-extra/test/clang-reorder-fields/Comments.cpp
Log Message:
-----------
[clang-reorder-fields] Move trailing comments. (#122918)
Currently, trailing comments get mixed up:
```
struct Foo {
int a; // This one is the cool field
// within the struct.
int b;
};
```
becomes:
```
struct Foo {
int b; // This one is the cool field
// within the struct.
int a;
};
```
This should be:
```
struct Foo {
int b;
int a; // This one is the cool field
// within the struct.
};
```
Commit: f9350c9325bccb95e94583685bbb9322a15da610
https://github.com/llvm/llvm-project/commit/f9350c9325bccb95e94583685bbb9322a15da610
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[clang][NFC] Update CODEOWNERS
Commit: bfedf6460c2cad6e6f966b457d8d27084579dcd8
https://github.com/llvm/llvm-project/commit/bfedf6460c2cad6e6f966b457d8d27084579dcd8
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
Log Message:
-----------
[LoopVectorize] Add support for reverse loops in isDereferenceableAndAlignedInLoop (#96752)
Currently when we encounter a negative step in the induction
variable isDereferenceableAndAlignedInLoop bails out because
the element size is signed greater than the step. This patch
adds support for negative steps in cases where we detect the
start address for the load is of the form base + offset. In
this case the address decrements in each iteration so we need
to calculate the access size differently. I have done this by
caling getStartAndEndForAccess from LoopAccessAnalysis.cpp.
The motivation for this patch comes from PR #88385 where a
reviewer requested reusing isDereferenceableAndAlignedInLoop,
but that PR itself does support reverse loops.
The changed test in LoopVectorize/X86/load-deref-pred.ll now
passes because previously we were calculating the total access
size incorrectly, whereas now it is 412 bytes and fits
perfectly into the alloca.
Commit: b92e97bdd598f1d4676945c3e87d40404a367327
https://github.com/llvm/llvm-project/commit/b92e97bdd598f1d4676945c3e87d40404a367327
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
A llvm/test/Analysis/BasicAA/memset-pattern.ll
M llvm/test/Transforms/DeadStoreElimination/memory-intrinsics-sizes.ll
Log Message:
-----------
[test] Pre-commit llvm.experimental.memset.pattern tests prior to MemoryLocation improvements
Reviewed as part of <https://github.com/llvm/llvm-project/pull/120421>.
Commit: da4551aad0c2f263dca5b1bbc9a2fe52527047f5
https://github.com/llvm/llvm-project/commit/da4551aad0c2f263dca5b1bbc9a2fe52527047f5
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.h
Log Message:
-----------
[compiler-rt][sanitizer_common] Fix for solaris and *BSD platforms proposal. (#122956)
To fix llvm#122795 build failures for these.
Commit: e00d1dd6eaf46cf17080cdf506348ab8f037f6f2
https://github.com/llvm/llvm-project/commit/e00d1dd6eaf46cf17080cdf506348ab8f037f6f2
Author: Un1q32 <joey.t.reinhart at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/Basic/Targets/ARM.cpp
M clang/test/Preprocessor/arm-acle-6.4.c
Log Message:
-----------
[ARM] Fix armv6kz LDREX definition (#122965)
Fixes #37901
This behavior is consistent with GCC
Commit: d1314d0152f242c618caafce264fccbc47273d84
https://github.com/llvm/llvm-project/commit/d1314d0152f242c618caafce264fccbc47273d84
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/test/Analysis/BasicAA/memset-pattern.ll
M llvm/test/Transforms/DeadStoreElimination/memory-intrinsics-sizes.ll
Log Message:
-----------
[MemoryLocation] Teach MemoryLocation about llvm.experimental.memset.pattern (#120421)
Relates to (but isn't dependent on) #120420.
This allows alias analysis o the intrinsic of the same quality as for
the libcall, which we want in order to move LoopIdiomRecognize over to
selecting the intrinsic.
Commit: a32c45631b69eeb605f71de3b21ea9f2fba88e34
https://github.com/llvm/llvm-project/commit/a32c45631b69eeb605f71de3b21ea9f2fba88e34
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-target-simd-on_device.mlir
Log Message:
-----------
[flang][OpenMP] Generalize fixing `alloca` IP pre-condition for `private` ops (#122866)
This PR generalizes a fix that we implemented previously for
`omp.wsloop`s. The fix makes sure the pre-condtion that the `alloca`
block has a single successor whenever we inline delayed privatizers is
respected. I simply moved the fix to `allocatePrivateVars` so that it
kicks in for any op not just `omp.wsloop`.
This handles a bug uncovered by [a
test](https://github.com/OpenMP-Validation-and-Verification/OpenMP_VV/blob/master/tests/4.5/target_simd/test_target_simd_safelen.F90)
in the OpenMP_VV test suite.
Commit: 6ca560a9092e29c9f9817db6d6da09edd5f0ded7
https://github.com/llvm/llvm-project/commit/6ca560a9092e29c9f9817db6d6da09edd5f0ded7
Author: Boaz Brickner <brickner at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/include/clang/Tooling/Tooling.h
M clang/lib/Tooling/Tooling.cpp
M clang/unittests/Tooling/ToolingTest.cpp
Log Message:
-----------
[clang] Add support for passing FileSystem to buildASTFromCodeWithArgs() (#123042)
This would allow tools that don't use the real file system to use this
function.
Commit: a00938eedd4246c4252ce3e69a05c4b6760983a3
https://github.com/llvm/llvm-project/commit/a00938eedd4246c4252ce3e69a05c4b6760983a3
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
Log Message:
-----------
Revert "[LoopVectorize] Add support for reverse loops in isDereferenceableAndAlignedInLoop (#96752)" (#123057)
This reverts commit bfedf6460c2cad6e6f966b457d8d27084579dcd8.
Commit: cf2e828925dc8c9656e800387820b49be03109d6
https://github.com/llvm/llvm-project/commit/cf2e828925dc8c9656e800387820b49be03109d6
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/2007-08-06-Unsigned.ll
R llvm/test/Analysis/ScalarEvolution/implied-via-addition.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll
A llvm/test/Transforms/IndVarSimplify/implied-via-addition.ll
Log Message:
-----------
SCEV: regen some tests with UTC (#123050)
While at it, move a test that calls the IndVarSimplify pass into the
IndVarSimplify directory.
Commit: f22af59336d45d2a000f1033be0203340bf8ad36
https://github.com/llvm/llvm-project/commit/f22af59336d45d2a000f1033be0203340bf8ad36
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
Log Message:
-----------
[LLD][COFF] Move symbol mangling and lookup helpers to SymbolTable class (NFC) (#122836)
This refactor prepares for further ARM64X hybrid support, where these
helpers will need to work with either the native or EC symbol table
based on context.
Commit: c82a6a025179e3b155c70f5ad8f84fa8ec2a9452
https://github.com/llvm/llvm-project/commit/c82a6a025179e3b155c70f5ad8f84fa8ec2a9452
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
Log Message:
-----------
[AMDGPU] Use correct vector elt type when shrinking mfma scale (#123043)
This might be a copy/paste error. I don't think this an issue in
practice as the builtins/intrinsics are only legal with identical vector
element types.
Commit: e9504c52edd796a22a879b381f17bd8ed235bfd4
https://github.com/llvm/llvm-project/commit/e9504c52edd796a22a879b381f17bd8ed235bfd4
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-sink.mlir
Log Message:
-----------
[mlir][vector] Add tests for populateSinkVectorOpsPatterns (2/N) (#122338)
Adds tests for scalable vectors in:
* "vector-sink.mlir".
This test file exercises patterns included in
`populateSinkVectorOpsPatterns`:
* `ReorderElementwiseOpsOnBroadcast`,
* `ReorderCastOpsOnBroadcast`,
* `ReorderElementwiseOpsOnTranspose`.
This PR focuses on adding tests for the latter two patterns
(`ReorderCastOpsOnBroadcast` and `ReorderElementwiseOpsOnTranspose`).
Tests for `ReorderElementwiseOpsOnBroadcast` were added in #102286. Please
note that in PR #102856, I renamed:
* `populateSinkVectorBroadcastPatterns`, to
* `populateSinkVectorOpsPatterns`.
Commit: c593e3d0f77509ce65a6f5bd744f2d1ea9935c47
https://github.com/llvm/llvm-project/commit/c593e3d0f77509ce65a6f5bd744f2d1ea9935c47
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Driver/fno-zero-init.f90
A flang/test/Lower/zero_init.f90
A flang/test/Lower/zero_init_default_init.f90
Log Message:
-----------
[Flang][Driver] Add a flag to control zero initialization of global v… (#122144)
…ariables
Patch adds a flag to control zero initialization of global variables
without default initialization. The default is to zero initialize.
Commit: 44ba43aa2b740878d83a9d6f1d52a333c0d48c22
https://github.com/llvm/llvm-project/commit/44ba43aa2b740878d83a9d6f1d52a333c0d48c22
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
R flang/test/Driver/fno-zero-init.f90
R flang/test/Lower/zero_init.f90
R flang/test/Lower/zero_init_default_init.f90
Log Message:
-----------
Revert "[Flang][Driver] Add a flag to control zero initialization of global v…" (#123067)
Reverts llvm/llvm-project#122144
Reverting due to CI failure
https://lab.llvm.org/buildbot/#/builders/89/builds/14422
Commit: ff862d6de92f478253a332ec48cfc2c2add76bb3
https://github.com/llvm/llvm-project/commit/ff862d6de92f478253a332ec48cfc2c2add76bb3
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Runtime/magic-numbers.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/target.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/module/__fortran_ieee_exceptions.f90
M flang/runtime/exceptions.cpp
R flang/test/Lower/Intrinsics/ieee_femodes.f90
R flang/test/Lower/Intrinsics/ieee_festatus.f90
Log Message:
-----------
[flang] Modifications to ieee floating point environment procedures (#121949)
Intrinsic module procedures ieee_get_modes, ieee_set_modes,
ieee_get_status, and ieee_set_status store and retrieve opaque data
values whose size varies by machine and OS environment. These data
values are usually, but not always small. Their sizes are not directly
known in a cross compilation environment. Address this issue by
implementing two mechanisms for processing these data values.
Environments that use typical small data sizes can access storage
defined at compile time. When this is not valid, data storage of any
size can be allocated at runtime.
Commit: 3fd296ece69c0bab77ce0df9a128202746ffce94
https://github.com/llvm/llvm-project/commit/3fd296ece69c0bab77ce0df9a128202746ffce94
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#123012)
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 expect P to be nonnull.
Commit: 3a3a1e4627a37bdf5915b60fe375443bb280f23b
https://github.com/llvm/llvm-project/commit/3a3a1e4627a37bdf5915b60fe375443bb280f23b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
Log Message:
-----------
[CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#123013)
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 expect Data to be nonnull.
Commit: acdcdbcad9b6008687570270cbdf2d6fe86318db
https://github.com/llvm/llvm-project/commit/acdcdbcad9b6008687570270cbdf2d6fe86318db
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#123014)
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 expect EnumUnderlying to be nonnull.
Commit: 94e9813a20ed5885ae2908f8519f93d8082fd1f3
https://github.com/llvm/llvm-project/commit/94e9813a20ed5885ae2908f8519f93d8082fd1f3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[AsmParser] Avoid repeated map lookups (NFC) (#123015)
Commit: ebb58567e79046afb28a4e657d1b1fd481a595a0
https://github.com/llvm/llvm-project/commit/ebb58567e79046afb28a4e657d1b1fd481a595a0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#123016)
Commit: 618ac908db72c312e1fbdfe974b4a084b4fc4c45
https://github.com/llvm/llvm-project/commit/618ac908db72c312e1fbdfe974b4a084b4fc4c45
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#123018)
Commit: 8ac35bda18229e28e1638756a5187aa2608a4b50
https://github.com/llvm/llvm-project/commit/8ac35bda18229e28e1638756a5187aa2608a4b50
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-cuid.hip
Log Message:
-----------
[CUDA][HIP] Support CUID in new driver (#122859)
CUID is needed by CUDA/HIP for supporting accessing static device
variables in host function.
Currently CUID is only supported by the old driver for CUDA/HIP. The new
driver does not support it, which causes CUDA/HIP programs using static
device variables in host functions to fail with the new driver for
CUDA/HIP.
This patch refactors the CUID support in the old driver so that CUID is
supported by both the old and the new drivers for CUDA/HIP.
Commit: 3986cffe81128061b774c06d0ba42ff7340f2d76
https://github.com/llvm/llvm-project/commit/3986cffe81128061b774c06d0ba42ff7340f2d76
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
A lldb/source/Plugins/Process/Utility/OpenBSDSignals.cpp
A lldb/source/Plugins/Process/Utility/OpenBSDSignals.h
M lldb/source/Target/UnixSignals.cpp
Log Message:
-----------
[lldb] Add OpenBSD signals (#123005)
Signals 1-32 are matching the default UNIX platform.
There are platform specific ones above 32.
Commit: 740252164ed830502ff966628bc07be07e10159b
https://github.com/llvm/llvm-project/commit/740252164ed830502ff966628bc07be07e10159b
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/tools/mlir-cpu-runner/CMakeLists.txt
Log Message:
-----------
[mlir-cpu-runner] Pass --exclude-libs to linker when building runner (#122920)
This fixes a conflict between the version of LLVM linked against by the
runner and the unrelated version of LLVM that may be dynamically loaded
by a graphics driver. (Relevant to #73457: fixes loading certain Vulkan
drivers.)
Recommit of f879da799b4e112d79243dde6d299259d8359eeb, which had been
reverted by d8d30a96031bfdad3e2c424e14a4247c14980cb5 due to it causing
UBSan/ASan/HWASan/MSan build failures.
Commit: d0a36423c188fcf19744e79bda5680977a1c4f9f
https://github.com/llvm/llvm-project/commit/d0a36423c188fcf19744e79bda5680977a1c4f9f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
Log Message:
-----------
[gn build] Port 3986cffe8112
Commit: 34d50721dbc62fc08e39ee68d12e41ccf9c88b44
https://github.com/llvm/llvm-project/commit/34d50721dbc62fc08e39ee68d12e41ccf9c88b44
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/test/python/execution_engine.py
Log Message:
-----------
[MLIR][test] Check for ml_dtypes before running tests (#123061)
We noticed that `mlir/python/requirements.txt` lists `ml_dtypes` as a requirement but when looking at the code in `mlir/python`, the only `import` is guarded:
```python
try:
import ml_dtypes
except ModuleNotFoundError:
# The third-party ml_dtypes provides some optional low precision data-types for NumPy.
ml_dtypes = None
```
This makes `ml_dtypes` an optional dependency.
Some python tests however partially depend on `ml_dtypes` and should not run if that module is unavailable. That is what this change does.
This is a replacement for #123051 which was excluding tests too broadly.
Commit: 2570e354f15724fd2c731ef92d01f60e1444c8a9
https://github.com/llvm/llvm-project/commit/2570e354f15724fd2c731ef92d01f60e1444c8a9
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[InstCombine] Handle trunc to i1 in align assume. (#122949)
proof: https://alive2.llvm.org/ce/z/EyAUA4
Commit: 07a184768cb8df4b43fcf0a9c45b1aa996888160
https://github.com/llvm/llvm-project/commit/07a184768cb8df4b43fcf0a9c45b1aa996888160
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/Basic/TargetInfo.cpp
A clang/test/CodeGenHLSL/Bool.hlsl
M clang/test/SemaHLSL/BuiltIns/asfloat-errors.hlsl
Log Message:
-----------
[HLSL] Make bool in hlsl i32 (#122977)
make a bool's memory representation i32 in hlsl
add new test
fix broken test
Closes #122932
Commit: 2bfa7bc570d530d2f8aec02ada6f11d1a2459805
https://github.com/llvm/llvm-project/commit/2bfa7bc570d530d2f8aec02ada6f11d1a2459805
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/test/HLFIR/mul_transpose.f90
Log Message:
-----------
[flang] Propagate fastmath flags to matmul_transpose. (#122842)
Commit: 3bb969f3ebb25037e8eb69c30a5a0dfb5d9d0f51
https://github.com/llvm/llvm-project/commit/3bb969f3ebb25037e8eb69c30a5a0dfb5d9d0f51
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
A flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir
Log Message:
-----------
[flang] Inline hlfir.matmul[_transpose]. (#122821)
Inlining `hlfir.matmul` as `hlfir.eval_in_mem` does not allow
to get rid of a temporary array in many cases, but it may still be
much better allowing to:
* Get rid of any overhead related to calling runtime MATMUL
(such as descriptors creation).
* Use CPU-specific vectorization cost model for matmul loops,
which Fortran runtime cannot currently do.
* Optimize matmul of known-size arrays by complete unrolling.
One of the drawbacks of `hlfir.eval_in_mem` inlining is that
the ops inside it with store memory effects block the current
MLIR CSE, so I decided to run this inlining late in the pipeline.
There is a source commen explaining the CSE issue in more detail.
Straightforward inlining of `hlfir.matmul` as an `hlfir.elemental`
is not good for performance, and I got performance regressions
with it comparing to Fortran runtime implementation. I put it
under an enigneering option for experiments.
At the same time, inlining `hlfir.matmul_transpose` as `hlfir.elemental`
seems to be a good approach, e.g. it allows getting rid of a temporay
array in cases like: `A(:)=B(:)+MATMUL(TRANSPOSE(C(:,:)),D(:))`.
This patch improves performance of galgel and tonto a little bit.
Commit: 80084e9cb6d215db88ef890ea5cb8a88fb5aa0b5
https://github.com/llvm/llvm-project/commit/80084e9cb6d215db88ef890ea5cb8a88fb5aa0b5
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/arm64x-loadconfig.s
Log Message:
-----------
[LLD][COFF] Pull _load_config_used symbol from both symbol tables on ARM64X (#122837)
Commit: 0360f8170afffc0f273203f820ae4d5be7faf3a2
https://github.com/llvm/llvm-project/commit/0360f8170afffc0f273203f820ae4d5be7faf3a2
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lld/COFF/Driver.cpp
A lld/test/COFF/subsystem-arm64x.test
Log Message:
-----------
[LLD][COFF] Infer subsystem from EC symbol table for ARM64X (#122838)
Commit: 1c5f87486aabd0eed2b41d32fc499700e4471f11
https://github.com/llvm/llvm-project/commit/1c5f87486aabd0eed2b41d32fc499700e4471f11
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Driver.h
Log Message:
-----------
[Driver] Fix a warning
This patch fixes:
clang/include/clang/Driver/Driver.h:82:3: error: definition of
implicit copy assignment operator for 'CUIDOptions' is deprecated
because it has a user-declared copy constructor
[-Werror,-Wdeprecated-copy]
Commit: 06499f3672afc371b653bf54422c2e80e1e27c90
https://github.com/llvm/llvm-project/commit/06499f3672afc371b653bf54422c2e80e1e27c90
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/CmpInstAnalysis.h
M llvm/lib/Analysis/CmpInstAnalysis.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Log Message:
-----------
[InstCombine] Prepare foldLogOpOfMaskedICmps to handle trunc to i1. (NFC) (#122179)
Commit: 943b212d56795064248a13adb13253d64ac51a8c
https://github.com/llvm/llvm-project/commit/943b212d56795064248a13adb13253d64ac51a8c
Author: abhishek-kaushik22 <abhishek.kaushik at intel.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Use `std::move` to avoid copy (#123088)
Commit: ac2165fe7bb4626c85a9c8938dbe2448220217a5
https://github.com/llvm/llvm-project/commit/ac2165fe7bb4626c85a9c8938dbe2448220217a5
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
[coff] Don't try to write the obj if the assembler has errors (#123007)
The ASAN and MSAN tests have been failing after #122777 because some
fields are now set in `executePostLayoutBinding` which is skipped by the
assembler if it had errors but read in `writeObject`
Since the compilation has failed anyway, skip `writeObject` if the
assembler had errors.
Commit: 1e53f9523d3d5fcb2993b4b6540f1ed8d743380b
https://github.com/llvm/llvm-project/commit/1e53f9523d3d5fcb2993b4b6540f1ed8d743380b
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/Support/FileSystem.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
M llvm/lib/Support/Errno.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Support/Unix/Program.inc
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Support/Unix/Unix.h
M llvm/lib/Support/raw_ostream.cpp
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[CMake] Remove some always-true HAVE_XXX_H
These are unneeded even on AIX, PURE_WINDOWS, and ZOS (per #104706)
* HAVE_ERRNO_H: introduced by 1a93330ffa2ae2aa0b49461f05e6f0d51e8443f8 (2009) but unneeded.
The guarded ABI is unconditionally used by lldb.
* HAVE_FCNTL_H
* HAVE_FENV_H
* HAVE_SYS_STAT_H
Pull Request: https://github.com/llvm/llvm-project/pull/123087
Commit: ab6e63a0df9b67fb6ead026ce4ecdfd666991591
https://github.com/llvm/llvm-project/commit/ab6e63a0df9b67fb6ead026ce4ecdfd666991591
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/ValueRange.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/IR/TypeRange.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
[mlir] Make single value `ValueRange`s memory safer (#121996)
A very common mistake users (and yours truly) make when using
`ValueRange`s is assigning a temporary `Value` to it. Example:
```cpp
ValueRange values = op.getOperand();
apiThatUsesValueRange(values);
```
The issue is caused by the implicit `const Value&` constructor: As per
C++ rules a const reference can be constructed from a temporary and the
address of it taken. After the statement, the temporary goes out of
scope and `stack-use-after-free` error occurs.
This PR fixes that issue by making `ValueRange` capable of owning a
single `Value` instance for that case specifically. While technically a
departure from the other owner types that are non-owning, I'd argue that
this behavior is more intuitive for the majority of users that usually
don't need to care about the lifetime of `Value` instances.
`TypeRange` has similarly been adopted to accept a single `Type`
instance to implement `getTypes`.
Commit: 18650480cb2ea46c9e8236c83593216af80fa25c
https://github.com/llvm/llvm-project/commit/18650480cb2ea46c9e8236c83593216af80fa25c
Author: Steven Wu <stevenwu at apple.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[clang][Serialization] Add the missing block info (#122976)
HEADER_SEARCH_ENTRY_USAGE and VFS_USAGE were missing from the block info
block. Add the missing info so `llvm-bcanalyzer` can read them
correctly.
Commit: e19bc76812037abab7b6b14b7befbba366f541ce
https://github.com/llvm/llvm-project/commit/e19bc76812037abab7b6b14b7befbba366f541ce
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/splat-vectors.ll
Log Message:
-----------
[RISCV] Precommit test coverage for pr118873
Commit: 1a56360cc61a3576ab0ad621f72d4299bd5dd0fb
https://github.com/llvm/llvm-project/commit/1a56360cc61a3576ab0ad621f72d4299bd5dd0fb
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/InstrTypes.h
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Analysis/BasicAA/call-attrs.ll
M llvm/test/Analysis/BasicAA/tail-byval.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
Log Message:
-----------
[IR] Treat calls with byval ptrs as read-only (#122961)
Commit: 2bc422dfa7bb01e7b679ec9f78189ac466dfa55d
https://github.com/llvm/llvm-project/commit/2bc422dfa7bb01e7b679ec9f78189ac466dfa55d
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Remove internal headers from `hdrs` in //clang:format (#122987)
They are already included in `srcs`, as they should be.
Commit: c4443a1be4e4e68fff894ba659bc157bf30c8d26
https://github.com/llvm/llvm-project/commit/c4443a1be4e4e68fff894ba659bc157bf30c8d26
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] fseek api interception. (#122163)
Commit: feb787244e54fe5abe5a96fefc4c74019f21a0ff
https://github.com/llvm/llvm-project/commit/feb787244e54fe5abe5a96fefc4c74019f21a0ff
Author: Egor Zhdan <e_zhdan at apple.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/APINotes/Inputs/Headers/Templates.h
M clang/test/APINotes/templates.cpp
Log Message:
-----------
[APINotes] Avoid duplicated attributes for class template instantiations
If a C++ class template is annotated via API Notes, the instantiations
had the attributes repeated twice. This is because Clang was adding the
attribute twice while processing the same class template. This change
makes sure we don't try to add attributes from API Notes twice.
There is currently no way to annotate specific instantiations using API
Notes.
rdar://142539959
Commit: f325e4b2d836d6e65a4d0cf3efc6b0996ccf3765
https://github.com/llvm/llvm-project/commit/f325e4b2d836d6e65a4d0cf3efc6b0996ccf3765
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/cmake/caches/hexagon-unknown-linux-musl-clang-cross.cmake
Log Message:
-----------
[Hexagon] Add default clang symlinks to CLANG_LINKS_TO_CREATE (#123011)
Since this cache value overrides the defaults, we end up with `clang`
linked to `clang-20`, and some `${triple}-clang*` links, but we're
missing `clang++`. This makes for a toolchain with inconsistent behavior
when used in someone's `$PATH`.
We'll add the default symlinks to our list so that C and C++ programs
are both built as expected when `clang` and `clang++` are invoked.
Commit: 6ffc4451037bbae26cce51fb80418f8e9ed2ac84
https://github.com/llvm/llvm-project/commit/6ffc4451037bbae26cce51fb80418f8e9ed2ac84
Author: Wael Yehia <wyehia at ca.ibm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
Log Message:
-----------
[PGO][AIX] Disable multi-process continuous mode test in 32-bit
In PGO continuous mode, we mmap the profile file into shared memory, which
allows multiple processes to be updating the same memory.
The -fprofile-update=atomic option forces the counter increments to be atomic,
but the counter size is always 64-bit (in -m32 and -m64), so in 32-bit mode the
atomic operations are function calls to libatomic.a and these function calls use
locks.
The lock based libatomic.a functions are per-process, so two processes will race
on the same shared memory because each will acquire their own lock.
Commit: 6655c53ff02f0ffca0fcaa3261e14c2a6417d3da
https://github.com/llvm/llvm-project/commit/6655c53ff02f0ffca0fcaa3261e14c2a6417d3da
Author: arthurqiu <arthurq at nvidia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/cmake/modules/CrossCompile.cmake
A llvm/cmake/modules/FileLock.cmake
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
Log Message:
-----------
[cmake] Serialize native builds for Make generator (#121021)
The build system is fragile by allowing multiple invocation of
subprocess builds in the native folder for Make generator.
For example, during sub-invocation of the native llvm-config,
llvm-min-tblgen is also built. If there is another sub-invocation of the
native llvm-min-tblgen build running in parallel, they may overwrite
each other's build results, and may lead to errors like "Text file
busy".
This patch adds a cmake script that uses file lock to serialize all
native builds for Make generator.
Commit: 5a90168fa34e15b544d7749ca4d247a16d360119
https://github.com/llvm/llvm-project/commit/5a90168fa34e15b544d7749ca4d247a16d360119
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Transforms/FunctionAttrs/phi_cycle.ll
Log Message:
-----------
[ValueTracking] Provide getUnderlyingObjectAggressive fallback (#123019)
This callsite assumes `getUnderlyingObjectAggressive` returns a non-null
pointer:
https://github.com/llvm/llvm-project/blob/273a94b3d5a78cd9122c7b3bbb5d5a87147735d2/llvm/lib/Transforms/IPO/FunctionAttrs.cpp#L124
But it can return null when there are cycles in the value chain so there
is no more `Worklist` item anymore to explore, in which case it just
returns `Object` at the end of the function without ever setting it:
https://github.com/llvm/llvm-project/blob/9b5857a68381652dbea2a0c9efa734b6c4cf38c9/llvm/lib/Analysis/ValueTracking.cpp#L6866-L6867
https://github.com/llvm/llvm-project/blob/9b5857a68381652dbea2a0c9efa734b6c4cf38c9/llvm/lib/Analysis/ValueTracking.cpp#L6889
`getUnderlyingObject` does not seem to return null either judging by
looking at its code and its callsites, so I think it is not likely to be
the author's intention that `getUnderlyingObjectAggressive` returns
null.
So this checks whether `Object` is null at the end, and if so, falls
back to the original first value.
---
The test case here was reduced by bugpoint and further reduced manually,
but I find it hard to reduce it further.
To trigger this bug, the memory operation should not be reachable from
the entry BB, because the `phi`s should form a cycle without introducing
another value from the entry. I tried a minimal `phi` cycle with three
BBs (entry BB + two BBs in a cycle), but it was skipped here:
https://github.com/llvm/llvm-project/blob/273a94b3d5a78cd9122c7b3bbb5d5a87147735d2/llvm/lib/Transforms/IPO/FunctionAttrs.cpp#L121-L122
To get the result that's not `ModRefInfo::NoModRef`, the length of `phi`
chain needed to be greater than the `MaxLookup` value set in this
function:
https://github.com/llvm/llvm-project/blob/02403f4e450b86d93197dd34045ff40a34b21494/llvm/lib/Analysis/BasicAliasAnalysis.cpp#L744
But just lengthening the `phi` chain to 8 didn't trigger the same error
in `getUnderlyingObjectAggressive` because `getUnderlyingObject` here
passes through a single-chain `phi`s so not all `phi`s end up in
`Visited`:
https://github.com/llvm/llvm-project/blob/9b5857a68381652dbea2a0c9efa734b6c4cf38c9/llvm/lib/Analysis/ValueTracking.cpp#L6863
So I just submit here the smallest test case I managed to create.
---
Fixes #117308 and fixes #122166.
Commit: 0068078dca60b41ad1c7bdd4448e7de718b82a5d
https://github.com/llvm/llvm-project/commit/0068078dca60b41ad1c7bdd4448e7de718b82a5d
Author: peterbell10 <peterbell10 at openai.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/combine-mad.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/i128.ll
Log Message:
-----------
[NVPTX] Remove `NVPTX::IMAD` opcode, and rely on intruction selection only (#121724)
I noticed that NVPTX will sometimes emit `mad.lo` to multiply by 1, e.g.
in https://gcc.godbolt.org/z/4j47Y9W4c.
This happens when DAGCombiner operates on the add before the mul, so the
imad contraction happens regardless of whether the mul could have been
simplified.
To fix this, I remove `NVPTXISD::IMAD` and only combine to mad during
selection. This allows the default DAGCombiner patterns to simplify
the graph without any NVPTX-specific intervention.
Commit: d8a68fe68093366a0218474b476fa4e795bef2f8
https://github.com/llvm/llvm-project/commit/d8a68fe68093366a0218474b476fa4e795bef2f8
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/i128-fpconv-strict.ll
Log Message:
-----------
[Hexagon] Omit calls to specialized {float,fix} routines (#117423)
These were introduced in 1213a7a57fdc (Hexagon backend support,
2011-12-12) but they aren't present in libclangrt.builtins-hexagon. The
generic versions of these functions are present in the builtins, though.
So it should suffice to call those instead.
Commit: d15d410a353f5e0f95daef4a0b22416d313d460d
https://github.com/llvm/llvm-project/commit/d15d410a353f5e0f95daef4a0b22416d313d460d
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] Fix fseek test build (unused variable warning). (#123116)
Commit: bf17016a92bc8a23d2cdd2b51355dd4eb5019c68
https://github.com/llvm/llvm-project/commit/bf17016a92bc8a23d2cdd2b51355dd4eb5019c68
Author: Erich Keane <ekeane at nvidia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/docs/InternalsManual.rst
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/DiagnosticAST.h
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/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
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/lib/Sema/SemaDeclCXX.cpp
A clang/test/TableGen/select-enum-errors.td
A clang/test/TableGen/select-enum.td
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Add 'enum_select' diagnostic selection to clang. (#122505)
This causes us to generate an enum to go along with the select
diagnostic, which allows for clearer diagnostic error emit lines.
The syntax for this is:
%enum_select<EnumerationName>{%OptionalEnumeratorName{Text}|{Text2}}0
Where the curley brackets around the select-text are only required if an
Enumerator name is provided.
The TableGen here emits this as a normal 'select' to the frontend, which
permits us to reuse all of the existing 'select' infrastructure.
Documentation is the same as well.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: d594d4cef7d0ba15370435aac362fe44224c1bab
https://github.com/llvm/llvm-project/commit/d594d4cef7d0ba15370435aac362fe44224c1bab
Author: Robert O'Callahan <rocallahan at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lldb/include/lldb/Target/Thread.h
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
Log Message:
-----------
Refactor `ThreadList::WillResume()` to prepare to support reverse execution (#120817)
These changes are designed to not change any behavior, but to make it
easy to add code to choose the direction of execution after we've
identified which thread(s) to run but before we add any
`ThreadPlanStepOverBreakpoint`s. And honestly I think they make the
existing code a bit clearer.
Commit: e9255dda236e6e418abe81a10b3f7c0d16c0d083
https://github.com/llvm/llvm-project/commit/e9255dda236e6e418abe81a10b3f7c0d16c0d083
Author: Sharjeel Khan <sharjeelkhan at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/test/Driver/arm-mfpu.c
Log Message:
-----------
[Driver][ARM] Change Android's NEON FPU hardcoding to "== 7" as it pessimizes future ArmV8 code (#122969)
Android hardcoded NEON FPU for ARM version ">=" 7. This hardcoding was
pessimizing ARMv8 code as it was locking it to NEON FPU instead of
something more powerful.
Commit: ef1260acc0cf83270ce90e5f897c1f2620ba09a6
https://github.com/llvm/llvm-project/commit/ef1260acc0cf83270ce90e5f897c1f2620ba09a6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Make VPBlock constructors private (NFC).
16d19aaed moved to manage block creation via VPlan directly, with VPlan
owning the created blocks. Follow up to make the VPBlock constructors
private, to require creation via VPlan helpers and thus preventing
issues due to manually constructing blocks.
Commit: 1c3df5308a86aaed4c91869982d365cc20f2b511
https://github.com/llvm/llvm-project/commit/1c3df5308a86aaed4c91869982d365cc20f2b511
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/unittests/AST/ExternalASTSourceTest.cpp
Log Message:
-----------
[NFC] Explicitly use `clang::Module` in test file
https://github.com/llvm/llvm-project/pull/122887 uses `Module` to refer
to `clang::Module` in a test that has `using namespace llvm;`.
This causes lookup ambiguity with `llvm::Module` if the headers involved
expose that name (e.g., for downstream codebases).
Commit: 2c75bda42605b620f8450e44a7b6f2db3adc21cb
https://github.com/llvm/llvm-project/commit/2c75bda42605b620f8450e44a7b6f2db3adc21cb
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/SemaOpenACC.cpp
A clang/lib/Sema/SemaOpenACCClause.cpp
Log Message:
-----------
[OpenACC] Split up SemaOpenACC.cpp
This file is getting quite large, so this patch splits the 'clause'
specific parts off into its own file to keep them better organized.
Commit: 8de51c859af85d7edfc334ad28ebe23b35200a84
https://github.com/llvm/llvm-project/commit/8de51c859af85d7edfc334ad28ebe23b35200a84
Author: Martin Storsjö <martin at martin.st>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
A libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
Log Message:
-----------
[libcxx] [test] Add a test for the range of file offsets (#122798)
This adds a test for an issue reported downstream at
https://github.com/mstorsjo/llvm-mingw/issues/462; this is known to fail
on Windows right now, where the fseek/ftell calls end up truncated to 32
bits.
The test for this, unfortunately, requires temporarily creating a 4 GB
file.
Commit: 2bb5ca537b4dfae9048cc1712147f13db7aa87f6
https://github.com/llvm/llvm-project/commit/2bb5ca537b4dfae9048cc1712147f13db7aa87f6
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M flang/module/cudadevice.f90
Log Message:
-----------
Preparing cudadevice.mod to be the same upstream and downstream. (#123099)
Commit: ce30ee53a860fc86062a3d98c9c966da0d12652e
https://github.com/llvm/llvm-project/commit/ce30ee53a860fc86062a3d98c9c966da0d12652e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-global-addr.mlir
Log Message:
-----------
[flang][cuda] Add gpu.launch to device context (#123105)
`gpu.launch` should also be considered device context.
Commit: cea41e9f4c0280093815f941a0ff51e47bc7f249
https://github.com/llvm/llvm-project/commit/cea41e9f4c0280093815f941a0ff51e47bc7f249
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Port bf17016a92bc8a23d2cdd2b51355dd4eb5019c68
Commit: 4a4a8a1476b1386b523dc5b292ba9a5a6748a9cf
https://github.com/llvm/llvm-project/commit/4a4a8a1476b1386b523dc5b292ba9a5a6748a9cf
Author: Martin Storsjö <martin at martin.st>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lld/COFF/InputFiles.cpp
A lld/test/COFF/empty-section-decl.yaml
A lld/test/COFF/wholearchive-implib.s
M llvm/include/llvm/Object/COFF.h
Log Message:
-----------
[LLD] [COFF] Fix linking import libraries with -wholearchive: (#122806)
When LLD links against an import library (for the regular, short import
libraries), it doesn't actually link in the header/trailer object files
at all, but synthesizes new corresponding data structures into the right
sections.
If the whole of such an import library is forced to be linked, e.g. with
the -wholearchive: option, we actually end up linking in those
header/trailer objects. The header objects contain a construct which LLD
fails to handle; previously we'd error out with the error ".idata$4
should not refer to special section 0".
Within the import library header object, in the import directory we have
relocations towards the IAT (.idata$4 and .idata$5), but the header
object itself doesn't contain any data for those sections.
In the case of GNU generated import libraries, the header objects
contain zero length sections .idata$4 and .idata$5, with relocations
against them. However in the case of LLVM generated import libraries,
the sections .idata$4 and .idata$5 are not included in the list of
sections. The symbol table does contain section symbols for these
sections, but without any actual associated section. This can probably
be seen as a declaration of an empty section.
If the header/trailer objects of a short import library are linked
forcibly and we also reference other functions in the library, we end up
with two import directory entries for this DLL, one that gets
synthesized by LLD, and one from the actual header object file. This is
inelegant, but should be acceptable.
While it would seem unusual to link import libraries with the
-wholearchive: option, this can happen in certain scenarios.
Rust builds libraries that contain relevant import libraries bundled
along with compiled Rust code as regular object files, all within one
single archive. Such an archive can then end up linked with the
-wholarchive: option, if build systems decide to use such an option for
including static libraries.
This should fix https://github.com/msys2/MINGW-packages/issues/21017.
This works for the header/trailer object files in import libraries
generated by LLVM; import libraries generated by MSVC are vaguely
different. ecb5ea6a266d5cc4e05252f6db4c73613b73cc3b did an attempt at
fixing the issue for MSVC generated libraries, but it's not entirely
correct, and isn't enough for making things work for that case.
Commit: 4f48abff0fb90ea0a05470755b799cdb1ff79d89
https://github.com/llvm/llvm-project/commit/4f48abff0fb90ea0a05470755b799cdb1ff79d89
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
M clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/firstbitlow-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/DirectX/firstbitlow.ll
A llvm/test/CodeGen/DirectX/firstbitlow_error.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/firstbithigh.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/firstbitlow.ll
Log Message:
-----------
[HLSL] Implement elementwise firstbitlow builtin (#116858)
Closes https://github.com/llvm/llvm-project/issues/99116
Implements `firstbitlow` by extracting common functionality from
`firstbithigh` into a shared function while also fixing a bug for an edge
case where `u64x3` and larger vectors will attempt to create vectors
larger than the SPRIV max of 4.
---------
Co-authored-by: Steven Perron <stevenperron at google.com>
Commit: bbac3493419be7e3c4383edf013b15a880ff9ee0
https://github.com/llvm/llvm-project/commit/bbac3493419be7e3c4383edf013b15a880ff9ee0
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
Log Message:
-----------
[compiler-rt] Install libc++ and libc++abi in build_symbolizer.sh (#123104)
This ensures that the directory layout of the libc++/libc++abi matches
exactly what we would get on a real installation. Currently the build
directory happens to match the install directory layout, but this will
no longer be true in the future.
Commit: 3241d915b1b8257fd6234461b04e4775fc7ed9fb
https://github.com/llvm/llvm-project/commit/3241d915b1b8257fd6234461b04e4775fc7ed9fb
Author: Augusto Noronha <anoronha at apple.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lldb/source/Core/Mangled.cpp
Log Message:
-----------
[lldb] Recognize embedded Swift mangling in Mangled::GetManglingScheme
rdar://142329765
Commit: 504dd577675e8c85cdc8525990a7c8b517a38a89
https://github.com/llvm/llvm-project/commit/504dd577675e8c85cdc8525990a7c8b517a38a89
Author: David Blaikie <dblaikie at gmail.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
A clang/test/CodeGenCXX/debug-info-codeview-nodebug.cpp
Log Message:
-----------
DebugInfo: Avoid emitting null members for nodebug nested typedefs
Only comes up for CodeView, since it forcibly emits even unused nested
typedefs.
Part of issue #122350
Commit: 24c603505f91b2979d13e0b963fbd3c0174a005f
https://github.com/llvm/llvm-project/commit/24c603505f91b2979d13e0b963fbd3c0174a005f
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Interval.cpp
Log Message:
-----------
[SandboxVec][Interval][NFC] Move a few definitions from header to .cpp
Commit: 069fbeb82f56f0ce7c0382dfd5d4fa4dc1983a13
https://github.com/llvm/llvm-project/commit/069fbeb82f56f0ce7c0382dfd5d4fa4dc1983a13
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Interval.cpp
Log Message:
-----------
Revert "[SandboxVec][Interval][NFC] Move a few definitions from header to .cpp"
This reverts commit 24c603505f91b2979d13e0b963fbd3c0174a005f.
Commit: fadb0e9b52511635c2b9202f5cf2fe9a8f49bfbc
https://github.com/llvm/llvm-project/commit/fadb0e9b52511635c2b9202f5cf2fe9a8f49bfbc
Author: Prashanth <TheStarOne01 at proton.me>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/sys/wait.yaml
Log Message:
-----------
[libc][docs] add sys/wait to documentation and include related functi… (#122598)
These changes ensure that the `sys/wait` header is documented properly
with respect to the issue (#122006 ).
**Changes:**
1. **wait.yaml**: Created a new YAML file for `sys/wait` with functions
(`wait`, `waitid`, `waitpid`) and related macros.
2. **CMakeLists.txt**: Added `sys/wait` to the documentation
directories.
3. **index.rst**: Included `sys/wait` in the documentation index.
Commit: 42662c290a547a8f31a08ac82deac5b0679dd3fd
https://github.com/llvm/llvm-project/commit/42662c290a547a8f31a08ac82deac5b0679dd3fd
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lld/Common/Strings.cpp
Log Message:
-----------
[lld] Initialize SingleStringMatcher::ExactMatch (#123138)
It was not set false in all branches.
Commit: 319c1190939960d009c88baf0d5fb97a549b7a57
https://github.com/llvm/llvm-project/commit/319c1190939960d009c88baf0d5fb97a549b7a57
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/ObjectYAML/ELFYAML.cpp
Log Message:
-----------
[YAML] Init local var not set by some branches (#123137)
It will not be set if:
1. `(TypeStr.starts_with("SHT_") || isInteger(TypeStr)) == false`: here
we want go to switch default.
2. `IO.mapRequired("Type", Type);` fail parsing. It sets error
internally, so probably not important what happen next, so it's go to
the switch
Commit: b7722fbcab4d769be54ae3001f311b2955ef6134
https://github.com/llvm/llvm-project/commit/b7722fbcab4d769be54ae3001f311b2955ef6134
Author: Greg Clayton <gclayton at fb.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/main.cpp
Log Message:
-----------
[lldb] Fix std::unordered_* synthetic children when typedefs are used. (#123125)
There was a bug in both the GNU and libc++ library synthetic child
providers when a typedef was used in the type of the variable. Previous
code was looking at the top level typename to try and determine if
std::unordered_ was a map or set and this failed when typedefs were
being used. This patch fixes both C++ library synthetic child providers
with updated tests.
Commit: acf6072fae00123e78e362f74f0dc2d830837d10
https://github.com/llvm/llvm-project/commit/acf6072fae00123e78e362f74f0dc2d830837d10
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Interval.cpp
Log Message:
-----------
Reapply "[SandboxVec][Interval][NFC] Move a few definitions from header to .cpp"
This reverts commit 069fbeb82f56f0ce7c0382dfd5d4fa4dc1983a13.
Commit: b15845c0059b06f406e33f278127d7eb41ff5ab6
https://github.com/llvm/llvm-project/commit/b15845c0059b06f406e33f278127d7eb41ff5ab6
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/ProfileData/PGOCtxProfReader.cpp
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
M llvm/test/Analysis/CtxProfAnalysis/inline.ll
R llvm/test/Analysis/CtxProfAnalysis/json_equals.py
M llvm/test/Analysis/CtxProfAnalysis/load.ll
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
Log Message:
-----------
[ctxprof] dump profiles using yaml (for testing) (#123108)
This is a follow-up from PR #122545, which enabled converting yaml to contextual profiles.
This change uses the lower level yaml APIs because:
- the mapping APIs `llvm::yaml` offers don't work with `const` values, because they (the APIs) want to enable both serialization and deserialization
- building a helper data structure would be an alternative, but it'd be either memory-consuming or overly-complex design, given the recursive nature of the contextual profiles.
Commit: c70f246251fb62b8ecf94f2365688cd361adec97
https://github.com/llvm/llvm-project/commit/c70f246251fb62b8ecf94f2365688cd361adec97
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/test/tools/llvm-ctxprof-util/Inputs/valid.yaml
M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
M llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp
Log Message:
-----------
[ctxprof] add `toYAML` conversion to llvm-ctxprof-utils (#123131)
Also modified test file to match "toYaml" formatting.
Commit: c805df69994a1f1e8f095b690c9af9e9c463906b
https://github.com/llvm/llvm-project/commit/c805df69994a1f1e8f095b690c9af9e9c463906b
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/HIPAMD.cpp
Log Message:
-----------
[NFC][clang][HIP] Remove flag from SPIR-V Translator invocation (#122995)
Remove spurious `--spirv-allow-extra-diexpressions` flag from the
translator invocation, as it's already implied by using
`nonsemantic-shader-200`.
Commit: d2484127cd27184b373b6be71da87579b8659143
https://github.com/llvm/llvm-project/commit/d2484127cd27184b373b6be71da87579b8659143
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/test/CodeGen/X86/expand-vp-int-intrinsics.ll
Log Message:
-----------
[VP] IR expansion to Int Func Call (#122867)
Add basic handling for VP ops that can expand to Int intrinsics, which
includes: ctpop/cttz/ctlz/sadd.sat/uadd.sat/ssub.sat/usub.sat/fshl/fshr
Commit: 29e63328a79af9501bf8d6b7e5a07303427ded73
https://github.com/llvm/llvm-project/commit/29e63328a79af9501bf8d6b7e5a07303427ded73
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
Log Message:
-----------
[JITLink] Add Block::edges_at(Edge::OffsetT): iterate over edges at offset.
Block::edges_at is a convenience method for iterating over edges at a given
offset within a jitlink::Block.
This method will be used in an upcoming patch for compact unwind info support.
Commit: 731db2a03e096fe42196f0ae6531179b998b0bf8
https://github.com/llvm/llvm-project/commit/731db2a03e096fe42196f0ae6531179b998b0bf8
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/ExternalASTMerger.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
M clang/test/CXX/module/basic/basic.link/p2.cppm
M clang/test/CXX/module/module.import/p2.cpp
M clang/test/CXX/module/module.interface/p7.cpp
M clang/test/CXX/module/module.reach/p5.cpp
M clang/test/Modules/Reachability-template-default-arg.cpp
M clang/test/Modules/cxx20-10-1-ex2.cpp
M clang/test/Modules/deduction-guide3.cppm
R clang/test/Modules/module-local-with-templates.cppm
R clang/test/Modules/pr90154.cppm
M clang/unittests/AST/ExternalASTSourceTest.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
Log Message:
-----------
Revert "[C++20] [Modules] Support module level lookup (#122887)"
This reverts commit 7201cae106260aeb3e9bbbb7d5291ff30f05076a.
Commit: f79bacb485bfb2d12bc0a223cc35d2e5fb75fbf7
https://github.com/llvm/llvm-project/commit/f79bacb485bfb2d12bc0a223cc35d2e5fb75fbf7
Author: Luohao Wang <luohaothu at live.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir] [Python] Fix misused `lldb_build_directory` in MLIR's test script (#122596)
Related to #121288
This PR fixes the miscopied `config.lldb_build_directory` variable in
`lit.cfg.py` inside MLIR's test suit. `config.mlir_obj_root` is used as
a replacement for the copied python executable's directory.
**PS**: Since this is a common work-around on macOS, should we promote
it as a utility across projects?
Co-authored-by: Luohao Wang <Luohaothu at users.noreply.github.com>
Co-authored-by: Kai Sasaki <lewuathe at gmail.com>
Commit: ef77188fa85728b07059b5f42b92236998d25b19
https://github.com/llvm/llvm-project/commit/ef77188fa85728b07059b5f42b92236998d25b19
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
Log Message:
-----------
[VP] Remove createStepVector implementation and use IRBuilderBase::CreateStepVector instead. NFC (#122868)
Commit: 98dbce3cac38ccac3f4b1cad0865aaa7ca0aee5d
https://github.com/llvm/llvm-project/commit/98dbce3cac38ccac3f4b1cad0865aaa7ca0aee5d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
Log Message:
-----------
[MC] Unhide the target-abi option. (#123135)
This option is very important for RISC-V as it controls calling
convention and a field in the ELF header. It is used in a large number
of RISC-V lit tests.
Expose the option to -help.
Fixes one issue raised in #123077
Commit: ec5d17b58779e2fb08a7c9c706b2842586f71f78
https://github.com/llvm/llvm-project/commit/ec5d17b58779e2fb08a7c9c706b2842586f71f78
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Explicitly check for passthru in doPeepholeMaskedRVV. NFC
We were previously checking a combination of the vector policy op and
the opcode to determine if we needed to skip copying the passthru from
a masked pseudo to an unmasked pseudo.
However we can just do this by checking
RISCVII::isFirstDefTiedToFirstUse, which is a proxy for whether or not
a pseudo has a passthru operand.
This should hopefully remove the need for the changes in #123106
Commit: 1d890b06eedf0cc6746873a5c69b761a0a43cc35
https://github.com/llvm/llvm-project/commit/1d890b06eedf0cc6746873a5c69b761a0a43cc35
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang, OpenMP] Add LLVM lowering support for PRIORITY in TASK (#120710)
Implementation details:
The PRIORITY clause is recognized by setting the flags = 32 to the
`__kmpc_omp_task_alloc` runtime call. Also, store the priority-value
to the `kmp_task_t` struct member
Commit: 3e3a4d8caa0eb8fa40f09390ebc622c374fc96aa
https://github.com/llvm/llvm-project/commit/3e3a4d8caa0eb8fa40f09390ebc622c374fc96aa
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
Log Message:
-----------
[AMDGPU] Use LV wrapperPass in getAnalysisUsage. (#123044)
Commit: 1797fb6b233c548817008b9c39c6af06d12cae99
https://github.com/llvm/llvm-project/commit/1797fb6b233c548817008b9c39c6af06d12cae99
Author: Christudasan Devadasan <christudasan.devadasan at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
A llvm/lib/Target/AMDGPU/SILowerControlFlow.h
M llvm/test/CodeGen/AMDGPU/collapse-endcf.mir
M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-intervals.mir
M llvm/test/CodeGen/AMDGPU/lower-control-flow-other-terminators.mir
Log Message:
-----------
[AMDGPU][NewPM] Port SILowerControlFlow pass into NPM. (#123045)
Commit: 0195ec452e16a0ff4b4f4ff2e2ea5a1dd5a20563
https://github.com/llvm/llvm-project/commit/0195ec452e16a0ff4b4f4ff2e2ea5a1dd5a20563
Author: David Truby <david.truby at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/test/Driver/funroll-loops.f90
A flang/test/HLFIR/unroll-loops.fir
A flang/test/Integration/unroll-loops.f90
Log Message:
-----------
[flang] Add -f[no-]unroll-loops flag (#122906)
Commit: f9a80062470daf94e07f65f9dd23df6a4f2946a2
https://github.com/llvm/llvm-project/commit/f9a80062470daf94e07f65f9dd23df6a4f2946a2
Author: Jianjian Guan <jacquesguan at me.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
Log Message:
-----------
[mlir][emitc] Support convert arith.extf and arith.truncf to emitc (#121184)
Commit: 95d21f6015241f1fbf36e495f101080bdcee8cd4
https://github.com/llvm/llvm-project/commit/95d21f6015241f1fbf36e495f101080bdcee8cd4
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M lld/MachO/MapFile.cpp
M lld/test/MachO/arm64-thunks.s
Log Message:
-----------
[lld-macho] Reduce memory usage of printing thunks in map file (#122785)
This commit improves the memory efficiency of the lld-macho linker by
optimizing how thunks are printed in the map file. Previously, merging
vectors of input sections required creating a temporary vector, which
increased memory usage and in some cases caused the linker to run out of
memory as reported in comments on
https://github.com/llvm/llvm-project/pull/120496. The new approach
interleaves the printing of two arrays of ConcatInputSection in sorted
order without allocating additional memory for a merged array.
Commit: f30ff0b1a978a49cb0f9bf069b7e949c985515b0
https://github.com/llvm/llvm-project/commit/f30ff0b1a978a49cb0f9bf069b7e949c985515b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-15 (Wed, 15 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#123161)
Commit: 990774ab8e1facda0c55214d1510b42135b18deb
https://github.com/llvm/llvm-project/commit/990774ab8e1facda0c55214d1510b42135b18deb
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/cray-pointer-usage.f90
Log Message:
-----------
[Flang] Add semantic checks for cray pointer usage in DSA list (#121028)
Problems:
- Cray pointee cannot be used in the DSA list (If used results in
segmentation fault)
- Cray pointer has to be in the DSA list when Cray pointee is used in
the default (none) region
Fix: Added required semantic checks along the tests
Reference from the documentation (OpenMP 5.0: 2.19.1):
- Cray pointees have the same data-sharing attribute as the storage with
which their Cray pointers are associated.
Commit: f711aa9e5ddb885143e2abe614b5cfb3b0d396bf
https://github.com/llvm/llvm-project/commit/f711aa9e5ddb885143e2abe614b5cfb3b0d396bf
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][Docs] Add release note about LLDB core file improvements (#123062)
Commit: f023da12d12635f5fba436e825cbfc999e28e623
https://github.com/llvm/llvm-project/commit/f023da12d12635f5fba436e825cbfc999e28e623
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/unittests/Optimizer/Builder/ComplexTest.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/FIRTypesTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
M flang/unittests/Optimizer/RTBuilder.cpp
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/lib/Dialect/Affine/TestVectorizationUtils.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Transforms/TestDialectConversion.cpp
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
M mlir/unittests/IR/AttributeTest.cpp
M mlir/unittests/IR/ShapedTypeTest.cpp
Log Message:
-----------
[mlir][IR] Remove factory methods from `FloatType` (#123026)
This commit removes convenience methods from `FloatType` to make it
independent of concrete interface implementations.
See discussion here:
https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361
Note for LLVM integration: Replace `FloatType::getF32(` with
`Float32Type::get(` etc.
Commit: c23f2417dc5f6dc371afb07af5627ec2a9d373a0
https://github.com/llvm/llvm-project/commit/c23f2417dc5f6dc371afb07af5627ec2a9d373a0
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/CodeGen/ARM/vector-promotion.ll
Log Message:
-----------
[CodeGenPrepare] Replace `undef` use with `poison` [NFC] (#123111)
When generating a constant vector, if `UseSplat` is false, the indices
different from the index of the extract can be filled with `poison`
instead of `undef`.
Commit: fd4f94ddbf0c0f0c9d0185e6036fe51de5ab2ef3
https://github.com/llvm/llvm-project/commit/fd4f94ddbf0c0f0c9d0185e6036fe51de5ab2ef3
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[Clang] Correct the order of substituted arguments in CTAD alias guides (#123022)
We missed a case of type constraints referencing deduced template
parameters when constructing a deduction guide for the type alias. This
patch fixes the issue by swapping the order of constructing 'template
arguments not appearing in the type alias parameters' and 'template
arguments that are not yet deduced'.
Fixes https://github.com/llvm/llvm-project/issues/122134
Commit: 8fb29ba287d72392bd7900c33d2a8d2149126dbe
https://github.com/llvm/llvm-project/commit/8fb29ba287d72392bd7900c33d2a8d2149126dbe
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
A llvm/unittests/ExecutionEngine/JITLink/X86_64Tests.cpp
Log Message:
-----------
[JITLink] Teach x86_64 GOT & PLT table managers to discover existing entries.
x86_64::GOTTableManager and x86_64::PLTTableManager will now look for existing
GOT and PLT sections and re-use existing entries if they're present.
This will be used for an upcoming MachO patch to enable compact unwind support.
This patch is the x86-64 counterpart 42595bdaefb, which added the same
functionality to the GOT and PLT managers for aarch64.
Commit: d89751240206dafcbc138829d9d7aad137aa2e04
https://github.com/llvm/llvm-project/commit/d89751240206dafcbc138829d9d7aad137aa2e04
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/MemCpyOpt/store-to-memset-is-nonzero-type.ll
M llvm/unittests/Analysis/ValueTrackingTest.cpp
Log Message:
-----------
[ValueTracking] Return `poison` for zero-sized types (#122647)
Return `poison` for zero-sized types in `isBitwiseValue`.
Commit: ec9aa4ac2f5a1b8e91938b47081eadc1a9d3bf85
https://github.com/llvm/llvm-project/commit/ec9aa4ac2f5a1b8e91938b47081eadc1a9d3bf85
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[cmake] Hardcode some `check_include_file` checks (#104706)
This patch removes 11 `check_include_file` invocations from
configuration phase of LLVM subproject on most of the platforms,
hardcoding the results. Fallback is left for platforms that we don't
document as supported or that are not detectable via
`CMAKE_SYSTEM_NAME`, e.g. z/OS.
This patch reduces configuration time on Linux by 10%, going from 44.7
seconds down to 40.6 seconds on my Debian machine (ramdisk, `cmake
-DLLVM_ENABLE_PROJECTS="clang;lldb;clang-tools-extra"
-DLLVM_ENABLE_RUNTIMES="libunwind;libcxx;libcxxabi"
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_OPTIMIZED_TABLEGEN=ON
-DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_DOXYGEN=ON
-DLLVM_ENABLE_LIBCXX=ON -DBUILD_SHARED_LIBS=ON -DLLDB_ENABLE_PYTHON=ON
~/endill/llvm-project/llvm`).
In order to determine the values to hardcode, I prepared the following
header:
```cpp
#include <dlfcn.h>
#include <errno.h>
#include <fcntl.h>
#include <fenv.h>
#include <mach/mach.h>
#include <malloc/malloc.h>
#include <pthread.h>
#include <signal.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/param.h>
#include <sys/resource.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
#include <sysexits.h>
#include <termios.h>
#include <unistd.h>
int main() {}
```
and tried to compile it on the oldest versions of platforms that are
still supported (which was problematic to determine sometimes): macOS
12, Cygwin, DragonFly BSD 6.4.0, FreeBSD 13.3, Haiku R1 beta 4, RHEL
8.10 as a glibc-based Linux, Alpine 3.17 as musl-based Linux, NetBSD 9,
OpenBSD 7.4, Solaris 11.4, Windows SDK 10.0.17763.0, which corresponds
to Windows 10 1809 and is the oldest Windows 10 SDK in Visual Studio
Installer.
For platforms I don't have access to, which are AIX 7.2 TL5 and z/OS
2.4.0, I had to rely on the official documentation. I suspect that AIX
offers a better set of headers than what this PR claims, so I'm open to
input from people who have access to a live system to test it.
Similarly to AIX, I have values for z/OS compiled from the official
documentation that are not included in this patch, because apparently
upstream CMake doesn't even support z/OS, so I don't even know how to
make a place to hold those values. I see `if (ZOS)` in several places
across our CMake files, but it's a mystery to me where this variable
comes from. Input from people who have access to live z/OS instance is
welcome.
Commit: aa990069cf4ddd8546dbb36a7d2f157b7984c3b5
https://github.com/llvm/llvm-project/commit/aa990069cf4ddd8546dbb36a7d2f157b7984c3b5
Author: Daniel Kiss <daniel.kiss at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/cmake/modules/GetHostTriple.cmake
Log Message:
-----------
Simplify MSVC compatible compiler detection. (#122914)
CMAKE_CXX_SIMULATE_ID indicates the MSVC abi is usable.
Commit: b0c4aed4f1982427d869a45fdb4910129f6d9315
https://github.com/llvm/llvm-project/commit/b0c4aed4f1982427d869a45fdb4910129f6d9315
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
Log Message:
-----------
[LoopVectorize] Regenerate test checks (NFC)
Add a prefix to avoid conflicts, otherwise the test becomes
invalid on regeneration.
Commit: ccd8d0b548fdbf18deda3163780c966a287db7e8
https://github.com/llvm/llvm-project/commit/ccd8d0b548fdbf18deda3163780c966a287db7e8
Author: David Green <david.green at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/double_reduct.ll
Log Message:
-----------
[AArch64][GlobalISel] Add gisel coverage for double-reductions. NFC
The extra tests are simpler for GISel to detect.
Commit: 3a9380f21d05eb8ced03349c8c503dc911f22621
https://github.com/llvm/llvm-project/commit/3a9380f21d05eb8ced03349c8c503dc911f22621
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Multilib.h
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
A clang/test/Driver/baremetal-multilib-custom-flags.yaml
Log Message:
-----------
[Multilib] Custom flags processing for library selection (#110659)
This patch is the third step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.
Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058
The multilib mechanism supports libraries that target code generation or
language options such as --target, -mcpu, -mfpu, -mbranch-protection.
However, some library variants are particular to features that do not
correspond to any command-line options. Examples include variants for
multithreading and semihosting.
This work introduces a way to instruct the multilib system to consider
these features in library selection. This particular patch is comprised
of the core processing of these flags.
- Custom flags in the command-line are read and forwarded to the
multilib system. If multiple flag values are present for the same flag
declaration, the last one wins. Default flag values are inserted for
flag declarations for which no value was given.
- Feed `MacroDefines` back into the driver. Each item `<string>` in the
`MacroDefines` list is formatted as `-D<string>`.
Library variants should list their requirement on one or more custom
flags like they do for any other flag. The new command-line option is
passed as-is to the multilib system, therefore it should be listed in
the format `-fmultilib-flag=<str>`.
Moreover, a variant that does not specify a requirement on any
particular flag can be matched against any value of that flag.
If the user specifies `-fmultilib-flag=<name>` with a name that is
invalid, but close enough to any valid flag value name in terms of edit
distance, a suggesting error is shown:
```
error: unsupported option '-fmultilib-flag=invalidname'; did you mean '-fmultilib-flag=validname'?
```
The candidate with the smallest edit distance is chosen for the
suggestion, up to a certain maximum value (implementation detail), after
which a non-suggesting error is shown instead:
```
error: unsupported option '-fmultilib-flag=invalidname'
```
Commit: 9e436c2daa446da05e9219f0e6a22f932ba8e3cb
https://github.com/llvm/llvm-project/commit/9e436c2daa446da05e9219f0e6a22f932ba8e3cb
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir
Log Message:
-----------
[MachineCP] Correctly handle register masks and sub-registers (#122734)
When passing an instruction with a register mask, the machine copy
propagation pass was dropping the information about some copy
instructions which define a register which is preserved by the mask,
because that register overlaps a register which is partially clobbered
by it. This resulted in a miscompilation for AArch64, because this
caused a live copy to be considered dead.
The fix is to clobber register masks by finding the set of reg units
which is preserved by the mask, and clobbering all units not in that
set.
This is based on #122472, and fixes the compile time performance
regressions which were caused by that.
Commit: 0d6b4cb94f2c3610e0ed5da80f5afa84581f3ea6
https://github.com/llvm/llvm-project/commit/0d6b4cb94f2c3610e0ed5da80f5afa84581f3ea6
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/Support/MathExtras.h
Log Message:
-----------
[MathExtras] Fix typos in hex fp constant values. NFC. (#123047)
Commit: 7e00e3ae6dd4ba215dad27d1729df533cbb37795
https://github.com/llvm/llvm-project/commit/7e00e3ae6dd4ba215dad27d1729df533cbb37795
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/test/API/lang/cpp/nested-template/TestNestedTemplate.py
M lldb/test/API/lang/cpp/nested-template/main.cpp
Log Message:
-----------
[lldb] Fix lookup of types in anonymous namespaces with -gsimple-template-names (#123054)
Anonymous namespaces are supposed to be optional when looking up types.
This was not working in combination with -gsimple-template-names,
because the way it was constructing the complete (with template args)
name scope (i.e., by generating thescope as a string and then reparsing
it) did not preserve the information about the scope kinds.
Essentially what the code wants here is to call `GetTypeLookupContext`
(that's the function used to get the context in the "regular" code
path), but to embelish each name with the template arguments (if they
don't have them already). This PR implements exactly that by adding an
argument to control which kind of names are we interested in. This
should also make the lookup faster as it avoids parsing of the long
string, but I haven't attempted to benchmark that.
I believe this function can also be used in some other places where
we're manually appending template names, but I'm leaving that for
another patch.
Commit: 226a9d73eee1d36526428806c1204f82b2c1f6cd
https://github.com/llvm/llvm-project/commit/226a9d73eee1d36526428806c1204f82b2c1f6cd
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/docs/Multilib.rst
Log Message:
-----------
Add documentation for Multilib custom flags (#114998)
This patch is the fourth step to extend the current multilib system to
support the selection of library variants which do not correspond to
existing command-line options.
Proposal can be found in
https://discourse.llvm.org/t/rfc-multilib-custom-flags/81058
The multilib mechanism supports libraries that target code generation or
language options such as --target, -mcpu, -mfpu, -mbranch-protection.
However, some library variants are particular to features that do not
correspond to any command-line options. Examples include variants for
multithreading and semihosting.
This work introduces a way to instruct the multilib system to consider
these features in library selection. This particular patch updates the
documentation.
Commit: 24df8f5da4424f74e15ce9f4b290e50603cf7fb5
https://github.com/llvm/llvm-project/commit/24df8f5da4424f74e15ce9f4b290e50603cf7fb5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[X86] vector-compress.ll - add nounwind attoribute to remove cfi noise
Commit: 13b44283e90f357ea31c553445527953facccdbf
https://github.com/llvm/llvm-project/commit/13b44283e90f357ea31c553445527953facccdbf
Author: Nathan Gauër <brioche at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Add queue size, running count metrics (#122714)
This commits allows the container to report 3 additional metrics at
every sampling event:
- a heartbeat
- the size of the workflow queue (filtered)
- the number of running workflows (filtered)
The heartbeat is a simple metric allowing us to monitor the metrics
health. Before this commit, a new metrics was pushed only when a
workflow was completed. This meant we had to wait a few hours
before noticing if the metrics container was unable to push metrics.
In addition to this, this commits adds a sampling of the workflow
queue size and running count. This should allow us to better understand
the load, and improve the autoscale values we pick for the cluster.
---------
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 5c15caa83fec6aaae7827b9406adf8ab9fac7eac
https://github.com/llvm/llvm-project/commit/5c15caa83fec6aaae7827b9406adf8ab9fac7eac
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Verify scalar types in VPlanVerifier. NFCI (#122679)
VTypeAnalysis contains some assertions which can be useful for reasoning
that the types of various operands match.
This patch teaches VPlanVerifier to invoke VTypeAnalysis to check them,
and catches some issues with VPInstruction types that are also fixed
here:
* Handles the missing cases for CalculateTripCountMinusVF,
CanonicalIVIncrementForPart and AnyOf
* Fixes ICmp and ActiveLaneMask to return i1 (to align with `icmp` and
`@llvm.get.active.lane.mask` in the LangRef)
The VPlanVerifier unit tests also need to be fleshed out a bit more to
satisfy the stricter assertions
Commit: 7881ac95d7f1edf3e49f39a5e5e0386401138489
https://github.com/llvm/llvm-project/commit/7881ac95d7f1edf3e49f39a5e5e0386401138489
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
Log Message:
-----------
[InstCombine] Add extra metadata kinds to test.
Also clarify the FIXME, only none-UB metadata should be preserved.
Extra tests for https://github.com/llvm/llvm-project/pull/115605.
Commit: c25bd6e35134f591ee7dfeb4494df02987106f7e
https://github.com/llvm/llvm-project/commit/c25bd6e35134f591ee7dfeb4494df02987106f7e
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/runtime/tools.h
M flang/unittests/Runtime/Support.cpp
Log Message:
-----------
[flang][runtime] Teach ApplyType to handle TypeCategory::Unsigned (#123058)
Commit: 628976c8345e235d4f71a0715f1990ad8b5bbcf7
https://github.com/llvm/llvm-project/commit/628976c8345e235d4f71a0715f1990ad8b5bbcf7
Author: Emilio Cota <ecg at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/ValueRange.h
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/IR/TypeRange.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
Log Message:
-----------
Revert "[mlir] Make single value `ValueRange`s memory safer" (#123187)
Reverts llvm/llvm-project#121996 because it broke an emscripten build
with `--target=wasm32-unknown-emscripten`:
```
llvm/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:172:17: error: static assertion failed due to requirement '3U <= PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>::NumLowBitsAvailable': PointerIntPair with integer size too large for pointer
172 | static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
llvm/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:111:13: note: in instantiation of template class 'llvm::PointerIntPairInfo<void *, 3, llvm::pointer_union_detail::PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>>' requested here
111 | Value = Info::updateInt(Info::updatePointer(0, PtrVal),
| ^
llvm/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:89:5: note: in instantiation of member function 'llvm::PointerIntPair<void *, 3, int, llvm::pointer_union_detail::PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>>::setPointerAndInt' requested here
89 | setPointerAndInt(PtrVal, IntVal);
| ^
llvm/llvm-project/llvm/include/llvm/ADT/PointerUnion.h:77:16: note: in instantiation of member function 'llvm::PointerIntPair<void *, 3, int, llvm::pointer_union_detail::PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>>::PointerIntPair' requested here
77 | : Base(ValTy(const_cast<void *>(
| ^
llvm/llvm-project/mlir/include/mlir/IR/TypeRange.h:49:36: note: in instantiation of member function 'llvm::pointer_union_detail::PointerUnionMembers<llvm::PointerUnion<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>, llvm::PointerIntPair<void *, 3, int, llvm::pointer_union_detail::PointerUnionUIntTraits<const mlir::Value *, const mlir::Type *, mlir::OpOperand *, mlir::detail::OpResultImpl *, mlir::Type>>, 4, mlir::Type>::PointerUnionMembers' requested here
49 | TypeRange(Type type) : TypeRange(type, /*count=*/1) {}
| ^
llvm/llvm-project/llvm/include/llvm/ADT/PointerIntPair.h:172:25: note: expression evaluates to '3 <= 2'
172 | static_assert(IntBits <= PtrTraits::NumLowBitsAvailable,
| ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```
Commit: b7e20147ad7c29f9624d2a071bd348a7acd63461
https://github.com/llvm/llvm-project/commit/b7e20147ad7c29f9624d2a071bd348a7acd63461
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libclc/clc/include/clc/clcmacro.h
A libclc/clc/include/clc/common/clc_smoothstep.h
A libclc/clc/include/clc/common/clc_smoothstep.inc
M libclc/clc/include/clc/shared/clc_clamp.h
M libclc/clc/lib/clspv/SOURCES
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/common/clc_smoothstep.cl
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
M libclc/generic/lib/common/smoothstep.cl
Log Message:
-----------
[libclc] Move smoothstep to CLC and optimize its codegen (#123183)
This commit moves the implementation of the smoothstep function to the
CLC library, whilst optimizing the codegen.
This commit also adds support for 'half' versions of smoothstep, which
were previously missing.
The CLC smoothstep implementation now keeps everything in vectors,
rather than recursively splitting vectors by half down to the scalar
base form. This should result in more optimal codegen across the board.
This commit also removes some non-standard overloads of smoothstep with
mixed types, such as 'double smoothstep(float, float, float)'. There
aren't any mixed-(element )type versions of smoothstep as far as I can
see:
gentype smoothstep(gentype edge0, gentype edge1, gentype x)
gentypef smoothstep(float edge0, float edge1, gentypef x)
gentyped smoothstep(double edge0, double edge1, gentyped x)
gentypeh smoothstep(half edge0, half edge1, gentypeh x)
The CLC library only defines the first type, for simplicity; the OpenCL
layer is responsible for handling the scalar/scalar/vector forms. Note
that the scalar/scalar/vector forms now splat the scalars to the vector
type, rather than recursively split vectors as before. The macro that
used to 'vectorize' smoothstep in this way has been moved out of the
shared clcmacro.h header as it was only used for the smoothstep builtin.
Note that the CLC clamp function is now built for both SPIR-V targets.
This is to help build the CLC smoothstep function for the Mesa SPIR-V
target.
Commit: d004947ac5cbb183a4a7e51d37852a85353e3968
https://github.com/llvm/llvm-project/commit/d004947ac5cbb183a4a7e51d37852a85353e3968
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/MapFile.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-entry.test
Log Message:
-----------
[LLD][COFF] Add support for hybrid ARM64X entry points (#123096)
Store the entry symbol in SymbolTable instead of Configuration, as it
differs between symbol tables.
Commit: 1bd5f34d76b788de48e95d2f9c1179cf2685fbe5
https://github.com/llvm/llvm-project/commit/1bd5f34d76b788de48e95d2f9c1179cf2685fbe5
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/ICF.cpp
M lld/COFF/MarkLive.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
Log Message:
-----------
[LLD][COFF] Move getChunk to LinkerDriver (NFC) (#123103)
The `getChunk` function returns all chunks, not just those specific to a
symbol table. Move it out of the `SymbolTable` class to clarify its
scope.
Commit: 4481030a0388a98d1d426d86bed0ac012dfe3b6b
https://github.com/llvm/llvm-project/commit/4481030a0388a98d1d426d86bed0ac012dfe3b6b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
Log Message:
-----------
[Loads] Use use-dereferenceable-at-point-semantics=1 in test.
Update the test to use use-dereferenceable-at-point-semantics=1.
Existing tests are updated with the nofree attribute and a new one has
been added showing that the dereferenceable assumption is used after the
pointer may be freed.
Commit: 4e8c9d28132039a98feb97cec2759cddeb37d934
https://github.com/llvm/llvm-project/commit/4e8c9d28132039a98feb97cec2759cddeb37d934
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
M llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
Log Message:
-----------
[TableGen] Use std::pair instead of std::make_pair. NFC. (#123174)
Also use brace initialization and emplace to avoid explicitly
constructing std::pair, and the same for std::tuple.
Commit: 9ed075595e14cd1f71fc5e75512ab476547b5362
https://github.com/llvm/llvm-project/commit/9ed075595e14cd1f71fc5e75512ab476547b5362
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/test/Preprocessing/bug129131.F
Log Message:
-----------
[flang] Fix Preprocessing/bug129131.F test on Darwin (#123094)
On Darwin, the --isysroot flag must also be specified. This
happens when either %flang or %flang_fc1 is expanded. As -fc1 must
be the first argument, %flang_fc1 must be used in tests, instead of
%flang -fc1.
Commit: 6ada0022ce5703c0c4abbdb25d4cef038b6eef37
https://github.com/llvm/llvm-project/commit/6ada0022ce5703c0c4abbdb25d4cef038b6eef37
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll
Log Message:
-----------
[SPIR-V] Fix --target-env version value in the test case (#123191)
This PR fixes `--target-env` version value in the test case
`llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll`: the
issue was introduced in https://github.com/llvm/llvm-project/pull/122755
Commit: 6a2cc122296b04a4f09768a714a74ffc82b7be87
https://github.com/llvm/llvm-project/commit/6a2cc122296b04a4f09768a714a74ffc82b7be87
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/cmake/modules/AddFlang.cmake
M flang/lib/Common/CMakeLists.txt
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/FrontendTool/CMakeLists.txt
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/Passes/CMakeLists.txt
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Support/CMakeLists.txt
M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
M flang/test/lib/OpenACC/CMakeLists.txt
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
M flang/unittests/Frontend/CMakeLists.txt
Log Message:
-----------
[flang] Support linking to MLIR dylib (#120966)
Introduce a new `MLIR_LIBS` argument to `add_flang_library`, that uses
`mlir_target_link_libraries` to link the MLIR dylib alterantively to the
component libraries. Use it, along with a few inline
`mlir_target_link_libraries` in tools, to support linking Flang to MLIR
dylib rather than the static libraries.
With these changes, the vast majority of Flang can be linked
dynamically. The only parts still using static libraries are these
requiring MLIR test libraries, that are not included in the dylib.
Commit: 532e639ec66876092d7930cc8b89eb54ebf9c6b7
https://github.com/llvm/llvm-project/commit/532e639ec66876092d7930cc8b89eb54ebf9c6b7
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/cmake/modules/AddFlang.cmake
Log Message:
-----------
[flang] [cmake] Call mlir_target_link_libraries() only with MLIR_LIBS
Do not call `mlir_target_link_libraries()` when there are no `MLIR_LIBS`
specified. This fixes a failure when `flang/runtime` is being built
standalone, as it does not use MLIR and therefore the function
is not defined:
https://lab.llvm.org/buildbot/#/builders/152/builds/932
Fixes 6a2cc122296b04a4f09768a714a74ffc82b7be87
Commit: b769758056793472f8638152f30d840856e75b56
https://github.com/llvm/llvm-project/commit/b769758056793472f8638152f30d840856e75b56
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/IR/Value.cpp
M llvm/test/Analysis/BasicAA/dereferenceable.ll
M llvm/test/Analysis/ValueTracking/deref-abstract-gc.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/Transforms/LICM/hoist-alloc.ll
Log Message:
-----------
[Options] Use UseDerefAtPointSemantics cl::opt<bool>. (#123192)
It is used as boolean option, use cl::opt<bool> instead of
vl::opt<unsigned>.
PR: https://github.com/llvm/llvm-project/pull/123192
Commit: 95ff3b51672e970e1b69ca438a97d733cdd82566
https://github.com/llvm/llvm-project/commit/95ff3b51672e970e1b69ca438a97d733cdd82566
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-compress.ll
Log Message:
-----------
[X86] vector-compress.ll - regenerate with missing AVX2 test coverage
Shows some really poor codegen for the maskbit extraction that we should address.
Commit: b1cef93917ba1b4825bac99c58057f92e7df0c4a
https://github.com/llvm/llvm-project/commit/b1cef93917ba1b4825bac99c58057f92e7df0c4a
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
Log Message:
-----------
[gn] port bf17016a92bc (-gen-clang-diags-enums)
Commit: 7dd34baf5505d689161c3a8678322a394d7a2929
https://github.com/llvm/llvm-project/commit/7dd34baf5505d689161c3a8678322a394d7a2929
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
Log Message:
-----------
Revert "[Wunsafe-buffer-usage] Fix false positive when const sized array is indexed by const evaluatable expressions (#119340)"
This reverts commit 64c2156d8802b0d7724f65ce854844670e4ec457.
Causes asserts, see
https://github.com/llvm/llvm-project/pull/119340#issuecomment-2595858729
Commit: cea92446ac289dc013e6253cb84445981010d08a
https://github.com/llvm/llvm-project/commit/cea92446ac289dc013e6253cb84445981010d08a
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/const-fold-nvvm-fmin-fmax.ll
Log Message:
-----------
[NVPTX] Constant fold NVVM fmin and fmax (#121966)
Add constant-folding for nvvm float/double fmin + fmax intrinsics,
including all combinations of xorsign.abs, nan-propagation, and ftz.
Commit: 6f82408bb53f57a859953d8f1114f1634a5d3ee9
https://github.com/llvm/llvm-project/commit/6f82408bb53f57a859953d8f1114f1634a5d3ee9
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
M flang/test/Lower/OpenMP/associate.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/location.f90
M flang/test/Lower/OpenMP/order-clause.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-ordered.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-unstructured.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-wsloop-private-late-alloca-workaround.mlir
Log Message:
-----------
[flang][OpenMP] Enable delayed privatization by default `omp.wsloop` (#122471)
This enable delayed privatization by default for `omp.wsloop` ops, with
one caveat! I had to workaround the "impure" alloc region issue that
being resolved at the moment. The workaround detects whether the alloc
region's argument is used in the region and at the same time defined in
block that does not dominate the chosen alloca insertion point. If so,
we move the alloca insertion point below the defining instruction of the
alloc region argument. This basically reverts to the
non-delayed-privatizaiton behavior.
Commit: 9033e0c2d22c9f247eccea50ae8c975eb3468ac1
https://github.com/llvm/llvm-project/commit/9033e0c2d22c9f247eccea50ae8c975eb3468ac1
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/Preprocessor/init-aarch64.c
Log Message:
-----------
[FMV][AArch64][clang] Advance __FUNCTION_MULTI_VERSIONING_SUPPORT_LEVEL to ACLE Q3 (#123056)
Commit: 5e5fd0e6fc50cc1198750308c11433a5b3acfd0f
https://github.com/llvm/llvm-project/commit/5e5fd0e6fc50cc1198750308c11433a5b3acfd0f
Author: peterbell10 <peterbell10 at openai.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/bf16-instructions.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
Log Message:
-----------
[NVPTX] Select bfloat16 add/mul/sub as fma on SM80 (#121065)
SM80 has fma for bfloat16 but not add/mul/sub. Currently these ops incur
a promotion to f32, but we can avoid this by writing them in terms of
the fma:
```
FADD(a, b) -> FMA(a, 1.0, b)
FMUL(a, b) -> FMA(a, b, -0.0)
FSUB(a, b) -> FMA(b, -1.0, a)
```
Unfortunately there is no `fma.ftz` so when ftz is enabled, we still
fall back to promotion.
Commit: 437e1a70ca0ccc35ed2e1c62de760af8c1c82d27
https://github.com/llvm/llvm-project/commit/437e1a70ca0ccc35ed2e1c62de760af8c1c82d27
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Handle tied pseudos in getOperandInfo (#123170)
For .wv widening instructions when checking if the opperand is vs1 or
vs2, we take into account whether or not it has a passthru. For tied
pseudos though their passthru is the vs2, and we weren't taking this
into account.
Commit: 383eb0ba1ead7397dc633cbfa328eab254780784
https://github.com/llvm/llvm-project/commit/383eb0ba1ead7397dc633cbfa328eab254780784
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
Log Message:
-----------
[AArch64][GISel] Use Register instead of MCRegister for markPhysRegUsed in CallLowering. (#122853)
For "returned" attribute arguments, the physical register is really a
virtual register which shouldn't be stored in an MCRegister. This
patch moves the conversion from Register to MCRegister into the derived
classes of IncomingArgHandler. The derived class
ReturnedArgCallReturnHandler
does not use the register so no MCRegister is created in that case.
The function and argument have been renamed to remove "Phys".
Commit: 25e5eb17b1254a97fd3fd1812ff2900bfd783c34
https://github.com/llvm/llvm-project/commit/25e5eb17b1254a97fd3fd1812ff2900bfd783c34
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 2c75bda42605
Commit: da5ec78f2ad7a3d9acc25b100a7cf151be0e5a40
https://github.com/llvm/llvm-project/commit/da5ec78f2ad7a3d9acc25b100a7cf151be0e5a40
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/JITLink/BUILD.gn
Log Message:
-----------
[gn build] Port 8fb29ba287d7
Commit: 77803e461ce653793d4c13daea9bb43e99cd26f7
https://github.com/llvm/llvm-project/commit/77803e461ce653793d4c13daea9bb43e99cd26f7
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopInterchange/gh54176-scalar-deps.ll
M llvm/test/Transforms/LoopInterchange/innermost-latch-uses-values-in-middle-header.ll
M llvm/test/Transforms/LoopInterchange/interchange-flow-dep-outer.ll
M llvm/test/Transforms/LoopInterchange/outer-header-jump-to-inner-latch.ll
M llvm/test/Transforms/LoopInterchange/pr43797-lcssa-for-multiple-outer-loop-blocks.ll
M llvm/test/Transforms/LoopInterchange/vector-gep-operand.ll
Log Message:
-----------
[loop-interchange] Move tests over to use remarks (#123053)
Checking the remark message if interchange did or didn't happen is more
straight forward than the full IR for these cases. This comment was also
made when I moved some tests away from relying on debug builds in change
#116780, and this is a prep step for #119345 that is going to change
these test cases.
Commit: 9e863cd44945345f22a28cdd3ea12aaa7963345e
https://github.com/llvm/llvm-project/commit/9e863cd44945345f22a28cdd3ea12aaa7963345e
Author: erwei-xilinx <erwei.wang at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M mlir/CMakeLists.txt
M mlir/cmake/modules/AddMLIRPython.cmake
Log Message:
-----------
[mlir][python][cmake] Allows for specifying `NB_DOMAIN` in `add_mlir_python_extension` (#122865)
This PR allows the users to specify the `NB_DOMAIN` for
`add_mlir_python_extension`. This allows users to avoid nanobind domain
conflicts, when python bindings from multiple `mlir` projects were
imported.
(https://nanobind.readthedocs.io/en/latest/faq.html#how-can-i-avoid-conflicts-with-other-projects-using-nanobind)
Commit: df3ba91d83f1363e80df30b5cc6b51fdb54996a4
https://github.com/llvm/llvm-project/commit/df3ba91d83f1363e80df30b5cc6b51fdb54996a4
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
Log Message:
-----------
[libc++] Clarify the release note for uncaught_exception removal and deprecation (#123118)
The release note did not clearly mention that std::uncaught_exception
had been removed in C++20.
Commit: c281b127ab5656eec289cf0b39bf1f473cf71757
https://github.com/llvm/llvm-project/commit/c281b127ab5656eec289cf0b39bf1f473cf71757
Author: Ryan Prichard <rprichard at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
M libcxx/test/std/depr/depr.c.headers/wctype_h.compile.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
M libcxx/test/std/strings/c.strings/cwctype.pass.cpp
Log Message:
-----------
[libc++][Android] XFAIL some tests for mblen/towctrans/wctrans (#116147)
These functions weren't added until API 26 (Android 8.0), but libc++ is
supported for API 21 and up.
These APIs are undeclared as of r.android.com/3216959.
Commit: eac23a5b971362cda3c646e018b9f26d0bc1ff3a
https://github.com/llvm/llvm-project/commit/eac23a5b971362cda3c646e018b9f26d0bc1ff3a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libcxx/include/__flat_map/key_value_iterator.h
M libcxx/include/__vector/vector.h
Log Message:
-----------
[libc++] Add assumption for align of begin and end pointers of vector. (#108961)
Missing information about begin and end pointers of std::vector can lead
to missed optimizations in LLVM.
This patch adds alignment assumptions at the point where the begin and
end pointers are loaded. If the pointers would not have the same
alignment, end might never get hit when incrementing begin.
See https://github.com/llvm/llvm-project/issues/101372 for a discussion
of missed range check optimizations in hardened mode.
Once https://github.com/llvm/llvm-project/pull/108958 lands, the created
`llvm.assume` calls for the alignment should be folded into the `load`
instructions, resulting in no extra instructions after InstCombine.
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: f6b0555a433cea1d32a6904c120516cd94b8f3db
https://github.com/llvm/llvm-project/commit/f6b0555a433cea1d32a6904c120516cd94b8f3db
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.h
M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
M llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp
Log Message:
-----------
[AsmPrinter] Reintroduce full AsmPrinterHandler API (#122297)
This restores the functionality of AsmPrinterHandlers to what it was
prior to https://github.com/llvm/llvm-project/pull/96785. The attempted
hack there of adding a duplicate DebugHandlerBase handling added a lot
of hidden state and assumptions, which just segfaulted when we tried to
continuing using this API. Instead, this just goes back to the old
design, but adds a separate array for the basic EH handles. The
duplicate array is identical to the other array of handler, but which
doesn't get their begin/endInstruction callbacks called. This still
saves the negligible but measurable amount of virtual function calls as
was the goal of #96785, while restoring the API to the pre-LLVM-19
status quo.
Commit: 18196466238ff25d5c76906645ba1d92f08bd0f7
https://github.com/llvm/llvm-project/commit/18196466238ff25d5c76906645ba1d92f08bd0f7
Author: Clement Courbet <courbet at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang/include/clang/Lex/Lexer.h
M clang/lib/Lex/Lexer.cpp
M clang/unittests/Lex/LexerTest.cpp
Log Message:
-----------
[clang][refactor] Refactor `findNextTokenIncludingComments` (#123060)
We have two copies of the same code in clang-tidy and
clang-reorder-fields, and those are extremenly similar to
`Lexer::findNextToken`, so just add an extra agument to the latter.
---------
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: a242880371936a8a424b9d80d47eff1be051429c
https://github.com/llvm/llvm-project/commit/a242880371936a8a424b9d80d47eff1be051429c
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
M llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
A llvm/test/TableGen/GlobalISelEmitter/predicated-pattern-order.td
M llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GlobalISel] Reorder atomic predicate to preserve the order (#121806)
Since there are no opcodes for atomic loads and stores comparing to
SelectionDAG, we add `CheckMMOIsNonAtomic` predicate immediately after
the opcode predicate to make a logical combination of them. Otherwise
when `IPM_AtomicOrderingMMO` is inserted after `IPM_GenericPredicate`,
the patterns without predicates get a higher priority as
`IPM_AtomicOrderingMMO` has higher priority than `IPM_GenericPredicate`.
This is important to preserve an order of aligned/unaligned patterns on
X86 because aligned memory operations have an additional alignment
predicate and should be checked first according to their placement in td
file.
Closes #121446
Commit: 66d347b46fe7643c2721738d61cbdadb7edbcb8b
https://github.com/llvm/llvm-project/commit/66d347b46fe7643c2721738d61cbdadb7edbcb8b
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_luti.c
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp
Log Message:
-----------
[Clang][AArch64]Make Tuple Size Optional for svluti4_lane Intrinsics (#123197)
The svluti4_lane intrinsic currently requires the tuple size to be
specified in the intrinsic name when using a tuple type input.
According to the ACLE specification, the svluti4_lane intrinsic with a
tuple type input, such as:
svint16_t svluti4_lane[_s16_x2(svint16x2_t table, svuint8_t indices,
uint64_t imm_idx);
should allow the tuple size of the input type to be optional.
Commit: a082cc145f98a2075e53d7cbc1058288781154ac
https://github.com/llvm/llvm-project/commit/a082cc145f98a2075e53d7cbc1058288781154ac
Author: Mads Marquart <mads at marquart.dk>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
Add Apple M4 host detection (#117530)
Add Apple M4 host detection, which fixes
https://github.com/rust-lang/rust/issues/133414.
Also add support for older ARM families (this is likely never going to
get used, since only macOS is officially supported as host OS, but nice
to have for completeness sake). Error handling (checking
`CPUFAMILY_UNKNOWN`) is also included here.
Finally, add links to extra documentation to make it easier for others
to update this in the future.
NOTE: These values are taken from `mach/machine.h` the Xcode 16.2 SDK,
and has been confirmed on an M4 Max in
https://github.com/rust-lang/rust/issues/133414#issuecomment-2499123337.
Commit: fc7a1ed0ba5f437bc7f262f562e83488225f0152
https://github.com/llvm/llvm-project/commit/fc7a1ed0ba5f437bc7f262f562e83488225f0152
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
Log Message:
-----------
[RISCV] Fold vp.reverse(vp.load(ADDR, MASK)) -> vp.strided.load(ADDR, -1, MASK). (#123115)
Co-authored-by: Brandon Wu <brandon.wu at sifive.com>
Commit: ff1b01bb7897bf2401540096af775d35b12eb247
https://github.com/llvm/llvm-project/commit/ff1b01bb7897bf2401540096af775d35b12eb247
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.h
M llvm/tools/llvm-exegesis/lib/BenchmarkCode.h
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/CodeTemplate.h
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
M llvm/tools/llvm-exegesis/lib/Mips/Target.cpp
M llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.h
M llvm/tools/llvm-exegesis/lib/PowerPC/Target.cpp
M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/RegisterAliasing.cpp
M llvm/tools/llvm-exegesis/lib/RegisterAliasing.h
M llvm/tools/llvm-exegesis/lib/RegisterValue.h
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.h
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
Log Message:
-----------
[llvm-exegesis] Begin replacing unsigned with MCRegister. NFC (#123109)
Some of this was needed to fix implicit conversions from MCRegister to
unsigned when calling getReg() on MCOperand for example.
The majority was done by reviewing parts of the code that dealt with
registers, converting them to MCRegister and then seeing what new
implicit conversions were created and fixing those.
There were a few places where I used MCPhysReg instead of MCRegiser for
static arrays since its uint16_t instead of unsigned.
Commit: c969964e7b1e9ce231fdf032be6c14cc8cd0be88
https://github.com/llvm/llvm-project/commit/c969964e7b1e9ce231fdf032be6c14cc8cd0be88
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#123156)
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 expect IntegerType to be nonnull.
Commit: dea4e613a05cd7d7438a365beb81998b36185ed9
https://github.com/llvm/llvm-project/commit/dea4e613a05cd7d7438a365beb81998b36185ed9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/lib/CodeGen/ConstantInitBuilder.cpp
Log Message:
-----------
[CodeGen] Migrate away from PointerUnion::dyn_cast (NFC) (#123157)
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 expect Data to be nonnull.
Commit: 286f8423c5e26df0743e47931d840b6226ae6a8c
https://github.com/llvm/llvm-project/commit/286f8423c5e26df0743e47931d840b6226ae6a8c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaFunctionEffects.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#123158)
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 expect AP to be nonnull.
Commit: 5fa989b034236ebf5a808dd47af50ab29d991a7d
https://github.com/llvm/llvm-project/commit/5fa989b034236ebf5a808dd47af50ab29d991a7d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Analysis/InstructionPrecedenceTracking.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#123159)
Commit: 09bf5b0d3560992553b593b774c2d3dfff1cd683
https://github.com/llvm/llvm-project/commit/09bf5b0d3560992553b593b774c2d3dfff1cd683
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineCSE.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#123160)
Commit: b311ab0f89980105a11f7bff5c6e7dd95d5c86fa
https://github.com/llvm/llvm-project/commit/b311ab0f89980105a11f7bff5c6e7dd95d5c86fa
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Fix canonicalization of pack indexing types (#123209)
A canonicalized pack indexing should refer to a canonicalized pattern
Fixes #123033
Commit: ebc7efbab5c58b46f7215d63be6d0208cb588192
https://github.com/llvm/llvm-project/commit/ebc7efbab5c58b46f7215d63be6d0208cb588192
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
R flang/test/Semantics/OpenMP/cray-pointer-usage.f90
Log Message:
-----------
Revert "[Flang OpenMP] Add semantics checks for cray pointer usage in DSA list" (#123220)
Reverts llvm/llvm-project#121028
Reverting due to CI failure
(https://lab.llvm.org/buildbot/#/builders/89/builds/14474)
Commit: c10e8261bffd4cf8ec4bb48262c601dd54ecf2ce
https://github.com/llvm/llvm-project/commit/c10e8261bffd4cf8ec4bb48262c601dd54ecf2ce
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/FileCheck/FileCheck.h
M llvm/lib/FileCheck/FileCheck.cpp
Log Message:
-----------
[FileCheck] Remove unneeded unique_ptr. NFC. (#123216)
Commit: 94fee13d425094e11d0b3799e827dec2451f017b
https://github.com/llvm/llvm-project/commit/94fee13d425094e11d0b3799e827dec2451f017b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Log Message:
-----------
[InstCombine] Simplify FMF propagation. NFC. (#121899)
This patch uses new FMF interfaces introduced by
https://github.com/llvm/llvm-project/pull/121657 to simplify existing
code with `andIRFlags` and `copyFastMathFlags`.
Commit: 60e4d24963ebc256dd68f2f9d969ca8e52cd9649
https://github.com/llvm/llvm-project/commit/60e4d24963ebc256dd68f2f9d969ca8e52cd9649
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lld/MachO/BPSectionOrderer.h
M lld/include/lld/Common/BPSectionOrdererBase.h
Log Message:
-----------
[lld-macho,BalancedPartition] Simplify relocation hash and avoid xxHash
xxHash, inferior to xxh3, is discouraged. We try not to use xxhash in
lld.
Switch to read32le for content hash and xxh3/stable_hash_combine for
relocation hash. Remove the intermediate std::string for relocation
hash.
Change the tail hashing scheme to consider individual bytes instead.
This helps group 0102 and 0201 together. The benefit is negligible,
though.
Pull Request: https://github.com/llvm/llvm-project/pull/121729
Commit: 8965dd40c63cf00610fcf550017b46dae736d94b
https://github.com/llvm/llvm-project/commit/8965dd40c63cf00610fcf550017b46dae736d94b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lldb/source/Symbol/CompilerType.cpp
Log Message:
-----------
[lldb] Handle a byte size of zero in CompilerType::GetValueAsScalar (#123107)
A bit or byte size of 0 is not a bug. It can legitimately (and
frequently) happen in Swift and C, just not in C++. However, it doesn't
make sense to read a scalar of zero bytes.
Currently, when this happens, we trigger an `lldb_assert` in the data
extractor and return 0, which isn't accurate. I have a bunch of reports
of the assert triggering, but nobody has been able to provide me with a
reproducer that I can turn into a test and I wasn't able to concoct a
test case by reverse-engineering the code.
rdar://141630334
Commit: 6b3ba6677d64e394b9c929ea0d1f7c54e3146fda
https://github.com/llvm/llvm-project/commit/6b3ba6677d64e394b9c929ea0d1f7c54e3146fda
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-parallel-reduction-multiblock.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-array-sections.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-init-arg.mlir
M mlir/test/Target/LLVMIR/openmp-reduction-sections.mlir
M mlir/test/Target/LLVMIR/openmp-simd-private.mlir
M mlir/test/Target/LLVMIR/openmp-target-use-device-nested.mlir
A mlir/test/Target/LLVMIR/openmp-wsloop-test-block-structure.mlir
Log Message:
-----------
[flang][OpenMP] Unconditionally create `after_alloca` block in `allocatePrivateVars` (#123168)
While https://github.com/llvm/llvm-project/pull/122866 fixed some
issues, it introduced a regression in worksharing loops. The new bug
comes from the fact that we now conditionally created the `after_alloca`
block based on the number of sucessors of the alloca insertion point.
This is unneccessary, we can just alway create the block. If we do this,
we respect the post condtions expected after calling
`allocatePrivateVars` (i.e. that the `afterAlloca` block has a single
predecessor.
Commit: a0406ce823e8f1c1993b565d08b045c0104c3a5a
https://github.com/llvm/llvm-project/commit/a0406ce823e8f1c1993b565d08b045c0104c3a5a
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
Log Message:
-----------
[flang][OpenMP] Add `hostIsSource` paramemter to `copyHostAssociateVar` (#123162)
This fixes a bug when the same variable is used in `firstprivate` and
`lastprivate` clauses on the same construct. The issue boils down to the
fact that `copyHostAssociateVar` was deciding the direction of the copy
assignment (i.e. the `lhs` and `rhs`) based on whether the
`copyAssignIP`
parameter is set. This is not the best way to do it since it is not
related to whether we doing a copy from host to localized copy or the
other way around. When we set the insertion for `firstprivate` in
delayed privatization, this resulted in switching the direction of the
copy assignment. Instead, this PR adds a new paramter to explicitely
tell
the function the direction of the assignment.
This is a follow up PR for
https://github.com/llvm/llvm-project/pull/122471, only the latest commit
is relevant.
Commit: d2d531e0974e845df6cdff4b50da1e9d2ff61431
https://github.com/llvm/llvm-project/commit/d2d531e0974e845df6cdff4b50da1e9d2ff61431
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/lib/Serialization/GeneratePCH.cpp
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][Serialization] Stop including Frontend headers from Serialization (NFC) (#123140)
The Frontend library depends on Serialization. This is an explicit
dependency encoded in the CMake target. However, Serialization currently
has an implicit dependency on Frontend, as it includes one of its
headers. This is not reflected in the CMake build rules, but Bazel is
stricter so, in order to avoid a dependency cycle, it hackily declares
the Frontend headers as source files for Serialization.
Fortunately, the only Frontend header used by Serialization is
clang/Frontend/FrontendDiagnostic.h, which is a legacy header that just
includes clang/Basic/DiagnosticFrontend since
d076608d58d1ec55016eb747a995511e3a3f72aa, back in 2018.
This commit changes Serialization to use the underlying header from
Basic instead. Both Serialization and Frontend depend on Basic, so this
breaks the dependency cycle.
Commit: 0e417a700f3604fcff163e95c31202541868e08b
https://github.com/llvm/llvm-project/commit/0e417a700f3604fcff163e95c31202541868e08b
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M utils/bazel/WORKSPACE
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add rules for clang-fuzzer protobuf-related libraries (#123126)
Also bumped up bazel_skylib to the latest version because the proto
rules were complaining about a missing feature.
Commit: a32e36faf84bd7da3df0c7d50bb9020568128417
https://github.com/llvm/llvm-project/commit/a32e36faf84bd7da3df0c7d50bb9020568128417
Author: Brian Favela <brianfavela at microsoft.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/tools/dxil-dis/CMakeLists.txt
Log Message:
-----------
Update cloning of the DirectXShaderCompiler repo to not include DXC tests (#122178)
This prevents any unnecessary dependency on TAEF when building as it's
not used for dxil-dis testing
Commit: 4446a9849aaa7e33e0d544fa6501d3d851b25fd6
https://github.com/llvm/llvm-project/commit/4446a9849aaa7e33e0d544fa6501d3d851b25fd6
Author: Adam Yang <hanbyang at microsoft.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/WaveActiveSum.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveSum-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/DirectX/WaveActiveSum.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveSum.ll
Log Message:
-----------
[HLSL][SPIRV][DXIL] Implement `WaveActiveSum` intrinsic (#118580)
``` - add clang builtin to Builtins.td
- link builtin in hlsl_intrinsics
- add codegen for spirv intrinsic and two directx intrinsics to retain
signedness information of the operands in CGBuiltin.cpp
- add semantic analysis in SemaHLSL.cpp
- add lowering of spirv intrinsic to spirv backend in
SPIRVInstructionSelector.cpp
- add lowering of directx intrinsics to WaveActiveOp dxil op in
DXIL.td
- add test cases to illustrate passespendent pr merges.
```
Resolves #70106
---------
Co-authored-by: Finn Plummer <canadienfinn at gmail.com>
Commit: 4b06b01e62ab0cfd059f47dceeb6cd0fb96304c9
https://github.com/llvm/llvm-project/commit/4b06b01e62ab0cfd059f47dceeb6cd0fb96304c9
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add missing file to textual_hdrs in //clang:basic (NFC)
Commit: d951becf8867437fb4b1e1bfb59a7507a228d866
https://github.com/llvm/llvm-project/commit/d951becf8867437fb4b1e1bfb59a7507a228d866
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[NFC][AArch64] Adjust predicate names to be more consistent (#123172)
Some of the predicate names use `_or_`, some use plain `or`,
some used `HasXXorHasXX`, some used `HasXX_or_XX`. Make these
as consistent as possible.
Commit: 842ce4efddf7bf6155a5da99270748d9b23ddef0
https://github.com/llvm/llvm-project/commit/842ce4efddf7bf6155a5da99270748d9b23ddef0
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Remove useless exclusion from glob (NFC)
The excluded file doesn't match the glob pattern to begin with, so it's
unnecessary.
Commit: 06edefac10f4481bdd458c0362d9a305f6a1ce6a
https://github.com/llvm/llvm-project/commit/06edefac10f4481bdd458c0362d9a305f6a1ce6a
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/API/SBThreadCollection.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
M lldb/test/API/python_api/sbsavecoreoptions/basic_minidump.yaml
Log Message:
-----------
[LLDB] Make the thread list for SBSaveCoreOptions iterable (#122541)
This patch adds the ability to get a thread at a give index, based on
insertion order, for SBSaveCore Options. This is primarily to benefit
scripts using SBSaveCore, and remove the need to have both options and a
second collection if your script is tracking what threads need to be
saved. Such as if you want to collect the source of all the threads to
be saved after the Core is generated.
Commit: acba822a45a71ad5b2dc02927e6ac904675f9bd6
https://github.com/llvm/llvm-project/commit/acba822a45a71ad5b2dc02927e6ac904675f9bd6
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/module/__cuda_device.f90
M flang/module/cudadevice.f90
Log Message:
-----------
[CUF] Moving __fadd_rd and __fadd_ru to cudadevice.f90 as they are symbol already known upstream. (#123127)
They are defined under `__clang_cuda_device_functions.h`
---------
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Commit: 60de7dc886b9d83b0e2b6c9d7b73173d5d870388
https://github.com/llvm/llvm-project/commit/60de7dc886b9d83b0e2b6c9d7b73173d5d870388
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/block.h
M libc/src/__support/freelist_heap.h
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
Log Message:
-----------
[libc] Fix malloc Block alignment issue on riscv32 (#117815)
Aligning blocks to max_align_t is neither necessary nor sufficient to
ensure that the usable_space() is so aligned. Instead, we make this an
invariant of Block and maintain it in init() and split().
This allows targets like riscv32 with small pointers and large
max_align_t to maintain the property that all available blocks are
aligned for malloc(). This change adjusts the tests to match and also
updates them closer to llvm-libc style.
Commit: 01d7f434d21a70158094a9c7da971ce9e0d0915c
https://github.com/llvm/llvm-project/commit/01d7f434d21a70158094a9c7da971ce9e0d0915c
Author: Raphael Moreira Zinsly <rzinsly at ventanamicro.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
A llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
M llvm/test/CodeGen/RISCV/stack-clash-prologue.ll
Log Message:
-----------
[RISCV] Stack clash protection for dynamic alloca (#122508)
Create a probe loop for dynamic allocation and add the corresponding
SelectionDAG support in order to use it.
Commit: 3173a4fc3aca3b8b21e9064cc38383be3539b3a4
https://github.com/llvm/llvm-project/commit/3173a4fc3aca3b8b21e9064cc38383be3539b3a4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
Log Message:
-----------
[llvm-exegesis] Remove implicit conversions of MCRegister to unsigned. NFC (#123223)
-Use MCRegister::id() for BitVector index.
-Replace std::unordered_set<unsigned> with std::set<MCRegister.
There are other std::sets for Register. None for MCRegister before this.
I'm assuming we can have operator<(MCRegister, MCRegister). This avoids
needing to add std::hash<MCRegister>.
-Use MCRegister::isValid() to avoid comparing to 0.
Commit: 99d40fe8f028efa32d31754be774a0d3a0d20fc7
https://github.com/llvm/llvm-project/commit/99d40fe8f028efa32d31754be774a0d3a0d20fc7
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libc/test/src/__support/freelist_heap_test.cpp
Log Message:
-----------
[libc] Fix freelist_heap_test.cpp warnings
Commit: 3ba339b5e70231985b2e3f966dd80aa65cfeee1b
https://github.com/llvm/llvm-project/commit/3ba339b5e70231985b2e3f966dd80aa65cfeee1b
Author: Princeton Ferro <pferro at nvidia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/f16-ex2.ll
A llvm/test/CodeGen/NVPTX/f32-ex2.ll
A llvm/test/CodeGen/NVPTX/f32-lg2.ll
A llvm/test/CodeGen/NVPTX/fexp2.ll
A llvm/test/CodeGen/NVPTX/flog2.ll
Log Message:
-----------
[NVPTX] Improve support for {ex2,lg2}.approx (#120519)
- Add support for `@llvm.exp2()`:
- LLVM: `float` -> PTX: `ex2.approx{.ftz}.f32`
- LLVM: `half` -> PTX: `ex2.approx.f16`
- LLVM: `<2 x half>` -> PTX: `ex2.approx.f16x2`
- LLVM: `bfloat` -> PTX: `ex2.approx.ftz.bf16`
- LLVM: `<2 x bfloat>` -> PTX: `ex2.approx.ftz.bf16x2`
- Any operations with non-native vector widths are expanded. On
targets not supporting f16/bf16, values are promoted to f32.
- Add *CONDITIONAL* support for `@llvm.log2()` [^1]:
- LLVM: `float` -> PTX: `lg2.approx{.ftz}.f32`
- Support for f16/bf16 is emulated by promoting values to f32.
[1]: CUDA implements `exp2()` with `ex2.approx` but `log2()` is
implemented differently, so this is off by default. To enable, use the
flag `-nvptx-approx-log2f32`.
Commit: 51f64380c9392b4cd01b2353b4ebbbf6f6e0f13b
https://github.com/llvm/llvm-project/commit/51f64380c9392b4cd01b2353b4ebbbf6f6e0f13b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/ObjectYAML/ELFYAML.cpp
Log Message:
-----------
Revert "[YAML] Init local var not set by some branches" (#123238)
Reverts llvm/llvm-project#123137
It's a bug according to
https://github.com/llvm/llvm-project/pull/123137#pullrequestreview-2555328813
Commit: cc61929dc8e1010191451fca74a8e6b13b2b77eb
https://github.com/llvm/llvm-project/commit/cc61929dc8e1010191451fca74a8e6b13b2b77eb
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
Log Message:
-----------
[SandboxVec][Scheduler][NFC] Add comments
Commit: 12ba74e181bd6641b532e271f3bfabf53066b1c0
https://github.com/llvm/llvm-project/commit/12ba74e181bd6641b532e271f3bfabf53066b1c0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/docs/OpenACC-descriptor-management.md
M flang/docs/ParameterizedDerivedTypes.md
M flang/docs/PolymorphicEntities.md
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Lower/Runtime.cpp
M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/test/Analysis/AliasAnalysis/ptr-component.fir
M flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-code-gen.mlir
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/CUDA/cuda-global-addr.mlir
M flang/test/Fir/abstract-result-2.fir
M flang/test/Fir/array-value-copy-3.fir
M flang/test/Fir/array-value-copy-4.fir
M flang/test/Fir/boxproc-openmp.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox_assumed_rank_codegen.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/HLFIR/all-lowering.fir
M flang/test/HLFIR/any-elemental.fir
M flang/test/HLFIR/any-lowering.fir
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/bufferize-destroy-for-derived.fir
M flang/test/HLFIR/bufferize-end-associate-for-derived.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
M flang/test/HLFIR/bufferize01.fir
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/count-lowering-default-int-kinds.fir
M flang/test/HLFIR/count-lowering.fir
M flang/test/HLFIR/cshift-lowering.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/matmul-lowering.fir
M flang/test/HLFIR/maxloc-lowering.fir
M flang/test/HLFIR/maxval-lowering.fir
M flang/test/HLFIR/minloc-lowering.fir
M flang/test/HLFIR/minval-lowering.fir
M flang/test/HLFIR/optional_dummy.f90
M flang/test/HLFIR/order_assignments/lhs-conflicts-codegen.fir
M flang/test/HLFIR/order_assignments/runtime-stack-temp.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
M flang/test/HLFIR/product-lowering.fir
M flang/test/HLFIR/sum-lowering.fir
M flang/test/HLFIR/transpose-lowering.fir
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries-3.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/local-end-of-scope-component-dealloc.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/Intrinsics/abort.f90
M flang/test/Lower/Intrinsics/adjustl.f90
M flang/test/Lower/Intrinsics/adjustr.f90
M flang/test/Lower/Intrinsics/all.f90
M flang/test/Lower/Intrinsics/any.f90
M flang/test/Lower/Intrinsics/bessel_jn.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/count.f90
M flang/test/Lower/Intrinsics/date_and_time.f90
M flang/test/Lower/Intrinsics/dot_product.f90
M flang/test/Lower/Intrinsics/eoshift.f90
M flang/test/Lower/Intrinsics/etime-function.f90
M flang/test/Lower/Intrinsics/etime.f90
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/Intrinsics/exit-2.f90
M flang/test/Lower/Intrinsics/exit.f90
M flang/test/Lower/Intrinsics/findloc.f90
M flang/test/Lower/Intrinsics/free.f90
M flang/test/Lower/Intrinsics/iall.f90
M flang/test/Lower/Intrinsics/iand.f90
M flang/test/Lower/Intrinsics/iany.f90
M flang/test/Lower/Intrinsics/index.f90
M flang/test/Lower/Intrinsics/iparity.f90
M flang/test/Lower/Intrinsics/matmul.f90
M flang/test/Lower/Intrinsics/maxloc.f90
M flang/test/Lower/Intrinsics/maxval.f90
M flang/test/Lower/Intrinsics/minloc.f90
M flang/test/Lower/Intrinsics/minval.f90
M flang/test/Lower/Intrinsics/norm2.f90
M flang/test/Lower/Intrinsics/pack.f90
M flang/test/Lower/Intrinsics/parity.f90
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/random.f90
M flang/test/Lower/Intrinsics/random_number_real16.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/repeat.f90
M flang/test/Lower/Intrinsics/reshape.f90
M flang/test/Lower/Intrinsics/scan.f90
M flang/test/Lower/Intrinsics/sleep.f90
M flang/test/Lower/Intrinsics/spread.f90
M flang/test/Lower/Intrinsics/storage_size.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/Intrinsics/transfer.f90
M flang/test/Lower/Intrinsics/transpose.f90
M flang/test/Lower/Intrinsics/trim.f90
M flang/test/Lower/Intrinsics/ubound01.f90
M flang/test/Lower/Intrinsics/verify.f90
M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/allocatable-assignment.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/allocate-source-allocatables-2.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/basic-function.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-assignments.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/fail_image.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-where.f90
M flang/test/Lower/goto-statement.f90
M flang/test/Lower/io-statement-big-unit-checks.f90
M flang/test/Lower/nested-where.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/parent-component.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-disassociate.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type-2.fir
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Lower/structure-constructors.f90
M flang/test/Lower/transformational-intrinsics.f90
M flang/test/Lower/vector-subscript-io.f90
M flang/test/Transforms/omp-reduction-cfg-conversion.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/Transforms/stack-arrays.fir
Log Message:
-----------
[flang] Do not produce result for void runtime call (#123155)
Runtime function call to a void function are producing a ssa value
because the FunctionType result is set to NoneType with is later
translated to a empty struct. This is not an issue when going to LLVM IR
but it breaks when lowering a gpu module to PTX. This patch update the
RTModel to correctly set the FunctionType result type to nothing.
This is one runtime call before this patch at the LLVM IR dialect step.
```
%45 = llvm.call @_FortranAAssign(%arg0, %1, %44, %4) : (!llvm.ptr, !llvm.ptr, !llvm.ptr, i32) -> !llvm.struct<()>
```
After the patch the call would be correctly formed
```
llvm.call @_FortranAAssign(%arg0, %1, %44, %4) : (!llvm.ptr, !llvm.ptr, !llvm.ptr, i32) -> ()
```
Without the patch it would lead to error like:
```
ptxas /tmp/mlir-cuda_device_mod-nvptx64-nvidia-cuda-sm_60-e804b6.ptx, line 10; error : Output parameter cannot be an incomplete array.
ptxas /tmp/mlir-cuda_device_mod-nvptx64-nvidia-cuda-sm_60-e804b6.ptx, line 125; error : Call has wrong number of parameters
```
The change is pretty much mechanical.
Commit: 8c75ecb373059f2eed020ad0218313bba9f90b3d
https://github.com/llvm/llvm-project/commit/8c75ecb373059f2eed020ad0218313bba9f90b3d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
Log Message:
-----------
[IR] Provide array with poison-generating metadata IDs. (#123188)
Add Metadata::PoisonGeneratingIDs containing IDs of poison-generating
metadata to allow easier re-use.
PR: https://github.com/llvm/llvm-project/pull/123188
Commit: 99a562b3cb17e89273ba0fe77129f2fb17a19381
https://github.com/llvm/llvm-project/commit/99a562b3cb17e89273ba0fe77129f2fb17a19381
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
M mlir/test/mlir-vulkan-runner/addf.mlir
M mlir/test/mlir-vulkan-runner/addf_if.mlir
M mlir/test/mlir-vulkan-runner/addui_extended.mlir
M mlir/test/mlir-vulkan-runner/smul_extended.mlir
M mlir/test/mlir-vulkan-runner/time.mlir
M mlir/test/mlir-vulkan-runner/umul_extended.mlir
M mlir/test/mlir-vulkan-runner/vector-deinterleave.mlir
M mlir/test/mlir-vulkan-runner/vector-interleave.mlir
M mlir/test/mlir-vulkan-runner/vector-shuffle.mlir
M mlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
Log Message:
-----------
[mlir][spirv] Add mgpu* wrappers for Vulkan runtime, migrate some tests (#123114)
This commit adds new wrappers around the MLIR Vulkan runtime which
implement the mgpu* APIs (as generated by GPUToLLVMConversionPass), adds
an optional LLVM lowering to the Vulkan runner mlir-opt pipeline based
on GPUToLLVMConversionPass, and migrates several of the
mlir-vulkan-runner tests to use mlir-cpu-runner instead, together with
the new pipeline and wrappers.
This is a further incremental step towards eliminating
mlir-vulkan-runner and its associated pipeline, passes and wrappers
(#73457). This commit does not migrate all of the tests to the new
system, because changes to the mgpuLaunchKernel ABI will be necessary to
support the tests that use multi-dimensional memref arguments.
Commit: 94609aee73d7123bc9afe002a4987d06eba9f452
https://github.com/llvm/llvm-project/commit/94609aee73d7123bc9afe002a4987d06eba9f452
Author: Martin Storsjö <martin at martin.st>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/Support/FileSystem.h
M llvm/lib/Support/ErrorHandling.cpp
Log Message:
-----------
[Support] Remove an unnecessary include (#123182)
In 1e53f9523d3d5fcb2993b4b6540f1ed8d743380b, the FileSystem.h header was
changed to always include <sys/stat.h>, while it previously only was
included if HAVE_SYS_STAT_H was defined.
HAVE_SYS_STAT_H was defined in llvm/Config/config.h, while FileSystem.h
only included llvm/Config/llvm-config.h. Thus, <sys/stat.h> was only
being included in some but not all cases.
The change to always include <sys/stat.h> broke compiling LLDB for MinGW
targets, because the MinGW <sys/stat.h> header adds an "#define fstat
_fstat64" define, which breaks LLDBs use of a struct with a member named
"fstat".
Remove the include of <sys/stat.h> in FileSystem.h, as it seems to not
be necessary in practice, fixing compilation of LLDB for MinGW targets.
Change one instance of defined(_MSC_VER) into defined(_WIN32) in
ErrorHandling.cpp to get <io.h> included; this source file did include
config.h before transitively including FileSystem.h. The include of
<sys/stat.h> in FileSystem.h would bring in <io.h> (needed for
::write()), explaining why this ifdef didn't need to cover MinGW before.
Commit: 8fa0f0efce5fb81eb422e6d7eec74c66dafef4a3
https://github.com/llvm/llvm-project/commit/8fa0f0efce5fb81eb422e6d7eec74c66dafef4a3
Author: Martin Storsjö <martin at martin.st>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/test/Driver/arm-mfpu.c
M clang/test/Preprocessor/arm-target-features.c
Log Message:
-----------
[clang] [ARM] Explicitly enable NEON for Windows/Darwin targets (#122095)
Upstream LLVM implicitly enables NEON for any ARMv7 target.
Many platform ABIs with an ARMv7 baseline also include NEON in that,
this is the case on e.g. Windows and iOS. On Linux, however, things are
not quite as clearly defined. Some distributions target an ARMv7
baseline without NEON available (this is the case for e.g. Debian/Ubuntu
for the "armhf" architecture).
To achieve this, Debian/Ubuntu patch LLVM downstream to make ARMv7 only
implicitly enable VPFv3-D16, not NEON - see [1].
That patch has the (unintended) effect that NEON no longer is available
by default for Windows/ARMv7 and iOS/ARMv7.
In practice, when compiling C for Windows/ARMv7 with Debian patched
Clang, NEON actually still is available, but not when compiling assembly
files. This is due to ARM::getARMCPUForArch (in
llvm/lib/TargetParser/ARMTargetParser.cpp) returning "cortex-a9" for
Windows. This difference, between C and assembly, is due to how
getARMTargetCPU is called in getARMTargetFeatures (in
clang/lib/Driver/ToolChains/Arch/ARM.cpp) to get defaults, only when
ForAS is not set - see [2].
There is an existing case in getARMTargetFeatures, for Android, which
explicitly enables NEON when targeting ARM >= v7. As Windows and iOS
have NEON as part of their ABI baseline just like Android does these
days (see [3] for where this default was added for Android), add the
implicit default in a similar way.
However, first do the general lookup of getARMTargetCPU (unless ForAS);
this makes sure that we get the same default CPU as before ("cortex-a9"
for Windows and "swift" for the "armv7s" architecture on Darwin).
[1] https://salsa.debian.org/pkg-llvm-team/llvm-toolchain/-/blob/19/debian/patches/clang-arm-default-vfp3-on-armv7a.patch?ref_type=heads
[2] https://github.com/llvm/llvm-project/commit/b8baa2a9132498ea286dbb0d03f005760ecc6fdb
[3] https://github.com/llvm/llvm-project/commit/d0fbef9c753a78aa20d5a462b682bfaf83cc6e6e
Commit: 9a6433f0ff1b8e294ac785ea3b992304574e0d8f
https://github.com/llvm/llvm-project/commit/9a6433f0ff1b8e294ac785ea3b992304574e0d8f
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
A flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir
Log Message:
-----------
[flang] Inline hlfir.dot_product. (#123143)
Some good results for induct2, where dot_product is applied
to a vector of unknow size and a known 3-element vector:
the inlining ends up generating a 3-iteration loop, which
is then fully unrolled. With late FIR simplification
it is not happening even when the simplified intrinsics
implementation is inlined by LLVM (because the loop bounds
are not known).
This change just follows the current approach to expose
the loops for later worksharing application.
Commit: d49a2d2bc9c65c787bfa04ac8ece614da48a8cd5
https://github.com/llvm/llvm-project/commit/d49a2d2bc9c65c787bfa04ac8ece614da48a8cd5
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/constructor.cpp
M clang/test/SemaCXX/conversion-function.cpp
M clang/test/SemaCXX/destructor.cpp
Log Message:
-----------
[Clang] disallow the use of asterisks preceding constructor and destructor names (#122621)
Fixes #121706
Commit: 1c00d0d7768f959d80393012e93a53c3bad3c138
https://github.com/llvm/llvm-project/commit/1c00d0d7768f959d80393012e93a53c3bad3c138
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M offload/DeviceRTL/include/Synchronization.h
Log Message:
-----------
[OpenMP] Remove hack around missing atomic load (#122781)
Summary:
We used to do a fetch add of zero to approximate a load. This is because
the NVPTX backend didn't handle this properly. It's not an issue anymore
so simply use the proper atomic builtin.
Commit: 7ea5f195039ba357285076043ad381ed22e3842e
https://github.com/llvm/llvm-project/commit/7ea5f195039ba357285076043ad381ed22e3842e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lldb/include/lldb/Utility/LLDBAssert.h
M lldb/source/Utility/LLDBAssert.cpp
Log Message:
-----------
[lldb] Rename lldb_assert -> _lldb_assert (NFC) (#123225)
Rename `lldb_assert` to `_lldb_assert` to make it more obvious that you
shouldn't be using this function directly. Instead, you should use the
`lldbassert` macro which becomes a regular assert in a debug/asserts
build.
Commit: 92f1f99d2ee9ff0f928741fef4fcb58e994302df
https://github.com/llvm/llvm-project/commit/92f1f99d2ee9ff0f928741fef4fcb58e994302df
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libunwind/src/CMakeLists.txt
Log Message:
-----------
[libunwind][cmake] Compile _Unwind* routines with -fexceptions (#121819)
When building libunwind with LTO, we found that routines, like
_Unwind_RaiseException were marked `nounwind`. This causes problems when
libunwind is then used with exception throwing code, since many of the
routines are marked `nounwind` and the compiler infers that something
like a try/catch block cannot throw resulting in a miscompile
(see #120657). Similarly, in #56825, it was pointed out that marking
_Unwind_Resume as `nounwind` causes bad exception table generation.
This patch adds the `-fexceptions` flag to the build of the C files that
define these routines, as proposed in #56825.
Fixes #56825 #120657
---------
Co-authored-by: Petr Hosek <phosek at google.com>
Commit: 96ef428953ed0f2a6c973709005fd17fd18318a1
https://github.com/llvm/llvm-project/commit/96ef428953ed0f2a6c973709005fd17fd18318a1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lldb/source/Utility/LLDBAssert.cpp
Log Message:
-----------
[lldb] Avoid calling raw_string_ostream::str() in LLDBAssert.cpp (NFC)
Revert to the state after d7796855b879 and use the underlying buffer
directly. I was still under the impression that was unsafe, so I did a
drive-by fix, which this commit reverts.
Commit: a87215bc88f857b380e3b1b1182da4b46fba9540
https://github.com/llvm/llvm-project/commit/a87215bc88f857b380e3b1b1182da4b46fba9540
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][test][bazel] add missing deps for TestPass
Commit: 840b94dda39375ee6b3eb898d8db4ea10a5150d1
https://github.com/llvm/llvm-project/commit/840b94dda39375ee6b3eb898d8db4ea10a5150d1
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libcxx/test/configs/stdlib-libstdc++.cfg.in
Log Message:
-----------
[libc++] Rename libstdc++ test parameters to allow setting them in LIBCXX_TEST_PARAMS
Commit: 9be358f82e90317a28754248038f0abd5aef38fd
https://github.com/llvm/llvm-project/commit/9be358f82e90317a28754248038f0abd5aef38fd
Author: Ashley Hauck <953151+khyperia at users.noreply.github.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/fuse-lipo.c
Log Message:
-----------
[clang][Driver] Add -fuse-lipo option (#121231)
Partially fixes https://github.com/llvm/llvm-project/issues/59552 by
adding a new option `-fuse-lipo` that can specify the tool name to be
used by clang-driver for the lipo action. For example, pass
`-fuse-lipo=llvm-lipo` to use `llvm-lipo` instead of the default `lipo`.
Commit: a98df676140c9b3e44f6e094df40d49f53e9a89c
https://github.com/llvm/llvm-project/commit/a98df676140c9b3e44f6e094df40d49f53e9a89c
Author: Florian Mayer <fmayer at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[NFC] [BoundsSan] use structured bindings (#123228)
This slightly simplifies the code.
Commit: 8a0c2e75678a4d1d479676217db622d1981c18d3
https://github.com/llvm/llvm-project/commit/8a0c2e75678a4d1d479676217db622d1981c18d3
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC][CodeGen] true16 for v_cndmask_b16 (#119736)
Support true16 format for v_cndmask_b16 in MC and CodeGen in true16 and
fake16 flow.
Since we are replacing `v_cndmask_b16` to `v_cndmask_b16_t16/fake16`, we
have to at least update the fake16 codeGen to get codeGen test passing.
For this case, we have to update the true16 and with fake16 together,
otherwise some of the true16 tests will fail
Commit: cd92aedf1bb67f643fb9656ab8d28fc5eab05083
https://github.com/llvm/llvm-project/commit/cd92aedf1bb67f643fb9656ab8d28fc5eab05083
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libc/src/__support/block.h
M libc/src/__support/freestore.h
M libc/test/src/__support/block_test.cpp
Log Message:
-----------
[NFC][libc] Remove Block::ALIGNMENT and Block::BLOCK_OVERHEAD
Commit: edd1360208b2c4dc60d81b525d6e59d9fb491c05
https://github.com/llvm/llvm-project/commit/edd1360208b2c4dc60d81b525d6e59d9fb491c05
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
Log Message:
-----------
[InstCombine] Preserve metadata from orig load in select fold. (#115605)
When replacing load with a select on the address with a select and 2
loads of the values, copy poison-generating metadata from the original
load to the newly created loads, which are placed at the same place as
the original loads. We cannot copy metadata that may trigger UB.
PR: https://github.com/llvm/llvm-project/pull/115605
Commit: 65dc0d44473481d67d34dcffd1037d2f9f0e574b
https://github.com/llvm/llvm-project/commit/65dc0d44473481d67d34dcffd1037d2f9f0e574b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libcxx/test/benchmarks/containers/string.bench.cpp
Log Message:
-----------
[libc++] Remove string benchmark for internal function
We strive to keep our benchmarks portable, so we should only
benchmark standard APIs.
Commit: bb6e94a05d15d289e3685c5599f0eb905dc46925
https://github.com/llvm/llvm-project/commit/bb6e94a05d15d289e3685c5599f0eb905dc46925
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV] Custom legalize <N x i128>, <4 x i256>, etc.. shuffles (#122352)
I have a particular user downstream who likes to write shuffles in terms
of unions involving _BitInt(128) types. This isn't completely crazy
because there's a bunch of code in the wild which was written with SSE
in mind, so 128 bits is a common data fragment size.
The problem is that generic lowering scalarizes this to ELEN, and we end
up with really terrible extract/insert sequences if the i128 shuffle is
between other (non-i128) operations.
I explored trying to do this via generic lowering infrastructure, and
frankly got lost. Doing this a target specific DAG is a bit ugly -
really, there's nothing hugely target specific here - but oh well. If
reviewers prefer, I could probably phrase this as a generic DAG combine,
but I'm not sure that's hugely better. If reviewers have a strong
preference on how to handle this, let me know, but I may need a bit of
help.
A couple notes:
* The argument passing weirdness is due to a missing combine to turn a
build_vector of adjacent i64 loads back into a vector load. I'm a bit
surprised we don't get that, but the isel output clearly has the
build_vector at i64.
* The splat case I plan to revisit in another patch. That's a relatively
common pattern, and the fact I have to scalarize that to avoid an
infinite loop is non-ideal.
Commit: cb82771c96d7055d89ca67f383e6fb3c9aced178
https://github.com/llvm/llvm-project/commit/cb82771c96d7055d89ca67f383e6fb3c9aced178
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lldb/include/lldb/Interpreter/Interfaces/OperatingSystemInterface.h
M lldb/include/lldb/Target/OperatingSystem.h
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/TargetProperties.td
M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/operating_system.py
Log Message:
-----------
[lldb] Add OS plugin property for reporting all threads (#123145)
Currently, an LLDB target option controls whether plugins report all
threads. However, it seems natural for this knowledge could come from
the plugin itself. To support this, this commits adds a virtual method
to the plugin base class, making the Python OS query the target option
to preserve existing behavior.
Commit: 63f5b80fcd94ca30a29677ad9431c4f743b61d74
https://github.com/llvm/llvm-project/commit/63f5b80fcd94ca30a29677ad9431c4f743b61d74
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Split.cpp
Log Message:
-----------
[mlir][linalg][NFC] fix typo in split tiling (#123202)
Commit: 859b4f193861d837f382a7e27d37dc167d4cc07d
https://github.com/llvm/llvm-project/commit/859b4f193861d837f382a7e27d37dc167d4cc07d
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libc/src/__support/block.h
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freestore_test.cpp
Log Message:
-----------
[NFC][libc] Add Block::PREV_FIELD_SIZE for use in tests
Commit: 305639526af3041accebf9da1d9fb916b2e3ff87
https://github.com/llvm/llvm-project/commit/305639526af3041accebf9da1d9fb916b2e3ff87
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libc/src/__support/block.h
Log Message:
-----------
[NFC][libc] Delete dead BlockStatus enum type
Commit: 4e9f04c5fa399afd8baa20213c344a0b55caf1cd
https://github.com/llvm/llvm-project/commit/4e9f04c5fa399afd8baa20213c344a0b55caf1cd
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Remove a couple of unused dependencies
Commit: e902c6960cff4372d4b3ef9ae424b24ec6b0ea38
https://github.com/llvm/llvm-project/commit/e902c6960cff4372d4b3ef9ae424b24ec6b0ea38
Author: vporpo <vporpodas at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/InstrMaps.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][BottomUpVec] Implement InstrMaps (#122848)
InstrMaps is a helper data structure that maps scalars to vectors and
the reverse. This is used by the vectorizer to figure out which vectors
it can extract scalar values from.
Commit: 8942d5ee6f73f00b9ccb1a1e4c27d4ff43fc41fe
https://github.com/llvm/llvm-project/commit/8942d5ee6f73f00b9ccb1a1e4c27d4ff43fc41fe
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
Log Message:
-----------
[gn build] Port e902c6960cff
Commit: 13c761789753862a7cc31a2a26f23010afa668b9
https://github.com/llvm/llvm-project/commit/13c761789753862a7cc31a2a26f23010afa668b9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
Log Message:
-----------
[Vectorize] Fix warnings
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const unsigned
int' and 'const int' [-Werror,-Wsign-compare]
llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h:57:12:
error: unused variable 'Pair' [-Werror,-Wunused-variable]
Commit: 8ac0aaaebbbb38d3dc863c5c5b331c8ec3238e27
https://github.com/llvm/llvm-project/commit/8ac0aaaebbbb38d3dc863c5c5b331c8ec3238e27
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/test/API/commands/expression/call-function/TestCallStopAndContinue.py
M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
Log Message:
-----------
[lldb] Improve user expression diagnostics (#123242)
This patch rewords some of the user expression diagnostics.
- Differentiate between being interrupted and hitting a breakpoint.
- Use "expression execution" to make it more obvious that the diagnostic
is associated with the user expression.
- Consistently use a colon instead of semicolons and commas.
rdar://143059974
Commit: a5bd01e889d0839596c06059e8d312d04095cc21
https://github.com/llvm/llvm-project/commit/a5bd01e889d0839596c06059e8d312d04095cc21
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Exclude lib/Interpreter/Wasm.h from //clang:interpreter
We're currently excluding Wasm.cpp, because it requires emscripten. When
using header modules, Wasm.h gets compiled on its own and it also
requires emscripten, so we need to exclude both.
Commit: a761e26b2364ea457b79b9a4bea6d792e4913d24
https://github.com/llvm/llvm-project/commit/a761e26b2364ea457b79b9a4bea6d792e4913d24
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
Log Message:
-----------
[RISCV] Allow non-loop invariant steps in RISCVGatherScatterLowering (#122244)
The motivation for this is to allow us to match strided accesses that
are emitted from the loop vectorizer with EVL tail folding (see #122232)
In these loops the step isn't loop invariant and is based off of
@llvm.experimental.get.vector.length.
We can relax this as long as we make sure to construct the updates after
the definition inside the loop, instead of the preheader.
I presume the restriction was previously added so that the step would
dominate the insertion point in the preheader. I can't think of why it
wouldn't be safe to calculate it in the loop otherwise.
Commit: 44311066303726dab2597b5860f8173b6c54b37a
https://github.com/llvm/llvm-project/commit/44311066303726dab2597b5860f8173b6c54b37a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
Log Message:
-----------
DAG: Fix vector bin op scalarize defining a partially undef vector (#122459)
This avoids some of the pending regressions after AMDGPU implements
isExtractVecEltCheap.
In a case like shl <value, undef>, splat k, because the second operand
was fully defined, we would fall through and use the splat value for the
first operand, losing the undef high bits. This would result in an additional
instruction to handle the high bits. Add some reduced testcases for different
opcodes for one of the regressions.
Commit: ca955197047ce044dec1e85fd401b1788550602d
https://github.com/llvm/llvm-project/commit/ca955197047ce044dec1e85fd401b1788550602d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
Log Message:
-----------
AMDGPU: Implement isExtractVecEltCheap (#122460)
Once again we have excessive TLI hooks with bad defaults. Permit this
for 32-bit element vectors, which are just use-different-register.
We should permit 16-bit vectors as cheap with legal packed instructions,
but I see some mixed improvements and regressions that need investigation.
Commit: afc43a7b626ae07f56e6534320e0b46d26070750
https://github.com/llvm/llvm-project/commit/afc43a7b626ae07f56e6534320e0b46d26070750
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
R flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir
Log Message:
-----------
Revert "[flang] Inline hlfir.dot_product. (#123143)"
This reverts commit 9a6433f0ff1b8e294ac785ea3b992304574e0d8f. ninja check-flang on x86 host fails to compile.
Commit: 7475f0a3454ce2b09c211779a33c41b6d34c8758
https://github.com/llvm/llvm-project/commit/7475f0a3454ce2b09c211779a33c41b6d34c8758
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
Log Message:
-----------
DAG: Avoid forming shufflevector from a single extract_vector_elt (#122672)
This avoids regressions in a future AMDGPU commit. Previously we
would have a build_vector (extract_vector_elt x), undef with free
access to the elements bloated into a shuffle of one element + undef,
which has much worse combine support than the extract.
Alternatively could check aggressivelyPreferBuildVectorSources, but
I'm not sure it's really different than isExtractVecEltCheap.
Commit: e83e0c300d6f2cc41c9c74ed4fce90272acef16a
https://github.com/llvm/llvm-project/commit/e83e0c300d6f2cc41c9c74ed4fce90272acef16a
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
Log Message:
-----------
[LV] Add test case for #119173. NFC
This showcases a miscompile involving a widened reduction-phi.
Commit: 1fa02b968431ed0830eb57a229fb864659a1f43f
https://github.com/llvm/llvm-project/commit/1fa02b968431ed0830eb57a229fb864659a1f43f
Author: Nicholas <45984215+liusy58 at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Speedup `computeInstructionSize` (#121106)
AArch64 instructions have a fixed size 4 bytes, no need to compute.
Commit: 906cbbbd3cbb404b61bac762116af606b4d5ae1d
https://github.com/llvm/llvm-project/commit/906cbbbd3cbb404b61bac762116af606b4d5ae1d
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/tests/expected_output/test_header.h
Log Message:
-----------
[libc] Fix hdrgen output for no-argument functions (#123245)
The hdrgen output is C, not C++.
Commit: 421fc0474867411c1da0f5ba086dc0c7305b04e2
https://github.com/llvm/llvm-project/commit/421fc0474867411c1da0f5ba086dc0c7305b04e2
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libc/test/src/unistd/getopt_test.cpp
Log Message:
-----------
[libc] Fix deprecated operator"" syntax (#123259)
Commit: a4e87da963a67aed33b672582406d576553b2399
https://github.com/llvm/llvm-project/commit/a4e87da963a67aed33b672582406d576553b2399
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libc/include/__llvm-libc-common.h
Log Message:
-----------
[libc] Make headers compatible with C++ < 11 (#123260)
C++11 introduced `noexcept`, but `throw()` can be used in older
versions of the language.
Commit: 263fed7ce9d2c155af44829018673caa67fa4f47
https://github.com/llvm/llvm-project/commit/263fed7ce9d2c155af44829018673caa67fa4f47
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/ExternalASTMerger.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/unittests/AST/ExternalASTSourceTest.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
Log Message:
-----------
[AST] Add OriginalDC argument to ExternalASTSource::FindExternalVisibleDeclsByName (#123152)
Part for relanding https://github.com/llvm/llvm-project/pull/122887.
I split this to test where the performance regession comes from if
modules are not used.
Commit: 7253c6fde498c4c9470b681df47d46e6930d6a02
https://github.com/llvm/llvm-project/commit/7253c6fde498c4c9470b681df47d46e6930d6a02
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
A llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll
Log Message:
-----------
[InstCombine] Transform high latency, dependent FSQRT/FDIV into FMUL (#87474)
The proposed patch, in general, tries to transform the below code
sequence:
x = 1.0 / sqrt (a);
r1 = x * x; // same as 1.0 / a
r2 = a / sqrt(a); // same as sqrt (a)
TO
(If x, r1 and r2 are all used further in the code)
r1 = 1.0 / a
r2 = sqrt (a)
x = r1 * r2
The transform tries to make high latency sqrt and div operations
independent and also saves on one multiplication.
The patch was tested with SPEC17 suite with cpu=neoverse-v2. The
performance uplift achieved was:
544.nab_r ~4%
No other regressions were observed. Also, no compile time differences
were observed with the patch.
Closes #54652
Commit: f999b11e68c6377f718d0f05988af9852ca386ba
https://github.com/llvm/llvm-project/commit/f999b11e68c6377f718d0f05988af9852ca386ba
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Support/Unix/Program.inc
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Support/Unix/Unix.h
M llvm/unittests/Support/CrashRecoveryTest.cpp
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[CMake] Remove some unneeded HAVE_*_H
Pull Request: https://github.com/llvm/llvm-project/pull/123282
Commit: 225fc4f3562002cc77e68340c7077442ca6d4d20
https://github.com/llvm/llvm-project/commit/225fc4f3562002cc77e68340c7077442ca6d4d20
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
Log Message:
-----------
[AMDGPU][SDAG] Try folding "lshr i64 + mad" to "mad_u64_u32" (#119218)
The intention is to use a "copy" instead of a "sub" to handle the high
parts of 64-bit multiply for this specific case.
This unlocks copy prop use cases where the copy can be reused by later
multiply+add sequences if possible.
Fixes: SWDEV-487672, SWDEV-487669
Commit: c5e4afe6733c58e24023ede04275bbed3bde8240
https://github.com/llvm/llvm-project/commit/c5e4afe6733c58e24023ede04275bbed3bde8240
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
M clang/test/CXX/module/basic/basic.link/p2.cppm
M clang/test/CXX/module/module.import/p2.cpp
M clang/test/CXX/module/module.interface/p7.cpp
M clang/test/CXX/module/module.reach/p5.cpp
M clang/test/Modules/Reachability-template-default-arg.cpp
M clang/test/Modules/cxx20-10-1-ex2.cpp
M clang/test/Modules/deduction-guide3.cppm
A clang/test/Modules/module-local-with-templates.cppm
A clang/test/Modules/pr90154.cppm
Log Message:
-----------
[C++20] [Modules] Support module level lookup (#122887) (#123281)
Close https://github.com/llvm/llvm-project/issues/90154
This patch is also an optimization to the lookup process to utilize the
information provided by `export` keyword.
Previously, in the lookup process, the `export` keyword only takes part
in the check part, it doesn't get involved in the lookup process. That
said, previously, in a name lookup for 'name', we would load all of
declarations with the name 'name' and check if these declarations are
valid or not. It works well. But it is inefficient since it may load
declarations that may not be wanted.
Note that this patch actually did a trick in the lookup process instead
of bring module information to DeclarationName or considering module
information when deciding if two declarations are the same. So it may
not be a surprise to me if there are missing cases. But it is not a
regression. It should be already the case. Issue reports are welcomed.
In this patch, I tried to split the big lookup table into a lookup table
as before and a module local lookup table, which takes a combination of
the ID of the DeclContext and hash value of the primary module name as
the key. And refactored `DeclContext::lookup()` method to take the
module information. So that a lookup in a DeclContext won't load
declarations that are local to **other** modules.
And also I think it is already beneficial to split the big lookup table
since it may reduce the conflicts during lookups in the hash table.
BTW, this patch introduced a **regression** for a reachability rule in
C++20 but it was false-negative. See
'clang/test/CXX/module/module.interface/p7.cpp' for details.
This patch is not expected to introduce any other
regressions for non-c++20-modules users since the module local lookup
table should be empty for them.
Commit: 86a81d424c3a73cbee7539acd31926d3af8c68c3
https://github.com/llvm/llvm-project/commit/86a81d424c3a73cbee7539acd31926d3af8c68c3
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/lib/Support/Unix/Process.inc
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[CMake] Remove HAVE_TERMIOS_H
The code path has been dead since 2019.
See a3eb3d3d92d037fe3c9deaad87f6fc42fe9ea766
Commit: 219beb7aca6ee9888072fdb28522e1fb64fdbaa8
https://github.com/llvm/llvm-project/commit/219beb7aca6ee9888072fdb28522e1fb64fdbaa8
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/lib/Support/Unix/Process.inc
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[CMake] Remove HAVE_SYS_IOCTL_H
Commit: 771045377b2c4aa29e128a467dfc7a91c6a2fee6
https://github.com/llvm/llvm-project/commit/771045377b2c4aa29e128a467dfc7a91c6a2fee6
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/struct_sigaction.h
Log Message:
-----------
[libc] Fix sigset_t type definition (#123277)
The libc headers are C, not C++.
Commit: bfb6bb69fde1071aa60f7c5a6d8cda1604809bee
https://github.com/llvm/llvm-project/commit/bfb6bb69fde1071aa60f7c5a6d8cda1604809bee
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Fix a warning
This patch fixes:
llvm/lib/Target/AMDGPU/SIISelLowering.cpp:13908:46: error:
comparison of integers of different signs: 'uint32_t' (aka 'unsigned
int') and 'int' [-Werror,-Wsign-compare]
Commit: 414980d061284c465d78ec8d7c0b81ade5a7537b
https://github.com/llvm/llvm-project/commit/414980d061284c465d78ec8d7c0b81ade5a7537b
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Support/Unix/Program.inc
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[CMake] Remove HAVE_SYS_RESOURCE_H/HAVE_SETRLIMIT/HAVE_GETRLIMIT
Only used by Unix/Program.inc and seem always available.
Pull Request: https://github.com/llvm/llvm-project/pull/123288
Commit: 606d0a7cdc0c551df754eb4494a2c16861b6a9b9
https://github.com/llvm/llvm-project/commit/606d0a7cdc0c551df754eb4494a2c16861b6a9b9
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-01-16 (Thu, 16 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
R llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll
Log Message:
-----------
Revert "[InstCombine] Transform high latency, dependent FSQRT/FDIV into FMUL" (#123289)
Reverts llvm/llvm-project#87474
Commit: e8999309f16a248cb14ac09bc1f256cbf202f475
https://github.com/llvm/llvm-project/commit/e8999309f16a248cb14ac09bc1f256cbf202f475
Author: Mike Hommey <mh at glandium.org>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
[Coverage] Speed up function record iteration (#122050)
When iterating over function records, filtered by file name, currently,
the iteration goes over all the function records, repeatedly for each
source file, essentially giving quadratic behavior.
413647d730972eac9675f695c2ea63fb393a5531 sped up some cases by keeping
track of the indices of the function records corresponding to each file
name. This change expands the use of that map to FunctionRecordIterator.
On a test case with Firefox's libxul.so and a 2.5MB profile, this brings
down the runtime of `llvm-cov export $lib --instr-profile $prof -t lcov`
from 12 minutes with 90% spent in skipOtherFiles to 19 seconds with no
samples in skipOtherFiles at all under a sampling profiler (with a
sampling interval of 1ms).
Fixes #62079
Commit: 118192148273bfe1faf02403a301baeebda59d19
https://github.com/llvm/llvm-project/commit/118192148273bfe1faf02403a301baeebda59d19
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/source/Symbol/SymbolContext.cpp
Log Message:
-----------
[lldb] Remove (unused) SymbolContext::Dump (#123211)
We still have GetDescription and DumpStopContext which serve a similar
purpose.
(The main reason this is bothering me is because I'm working through the
uses of (deprecated) Function::GetAddressRange.)
Commit: 0bd07652524ebacdee166eb609fef48c50769b09
https://github.com/llvm/llvm-project/commit/0bd07652524ebacdee166eb609fef48c50769b09
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M mlir/docs/Dialects/emitc.md
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_types.mlir
M mlir/test/Dialect/EmitC/types.mlir
Log Message:
-----------
EmitC: Allow arrays of size zero (#123292)
This is allowed as a GCC extension, see
https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html.
Commit: 1274bca2ad5befe56d82ef76100e2c294ca57ce2
https://github.com/llvm/llvm-project/commit/1274bca2ad5befe56d82ef76100e2c294ca57ce2
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/test/CodeGen/X86/movrs-builtins.ll
M llvm/test/MC/Disassembler/X86/movrs.txt
M llvm/test/MC/X86/movrs-att-64.s
M llvm/test/MC/X86/movrs-intel-64.s
M llvm/test/TableGen/x86-instr-mapping.inc
Log Message:
-----------
[X86][APX] Support APX + MOVRS (#123264)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/784266
Commit: c3ba6f378ef80d750e2278560c6f95a300114412
https://github.com/llvm/llvm-project/commit/c3ba6f378ef80d750e2278560c6f95a300114412
Author: Viktoriia Bakalova <115406782+VitaNuo at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/Modules/preferred_name.cppm
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[Modules] Delay deserialization of preferred_name attribute at r… (#122726)
…ecord level.
This fixes the incorrect diagnostic emitted when compiling the following
snippet
```
// string_view.h
template<class _CharT>
class basic_string_view;
typedef basic_string_view<char> string_view;
template<class _CharT>
class
__attribute__((__preferred_name__(string_view)))
basic_string_view {
public:
basic_string_view()
{
}
};
inline basic_string_view<char> foo()
{
return basic_string_view<char>();
}
// A.cppm
module;
#include "string_view.h"
export module A;
// Use.cppm
module;
#include "string_view.h"
export module Use;
import A;
```
The diagnostic is
```
string_view.h:11:5: error: 'basic_string_view<char>::basic_string_view' from module 'A.<global>' is not present in definition of 'string_view' provided earlier
```
The underlying issue is that deserialization of the `preferred_name`
attribute triggers deserialization of `basic_string_view<char>`, which
triggers the deserialization of the `preferred_name` attribute again
(since it's attached to the `basic_string_view` template).
The deserialization logic is implemented in a way that prevents it from
going on a loop in a literal sense (it detects early on that it has
already seen the `string_view` typedef when trying to start its
deserialization for the second time), but leaves the typedef
deserialization in an unfinished state. Subsequently, the `string_view`
typedef from the deserialized module cannot be merged with the same
typedef from `string_view.h`, resulting in the above diagnostic.
This PR resolves the problem by delaying the deserialization of the
`preferred_name` attribute until the deserialization of the
`basic_string_view` template is completed. As a result of deferring, the
deserialization of the `preferred_name` attribute doesn't need to go on
a loop since the type of the `string_view` typedef is already known when
it's deserialized.
Commit: 90a05f32166c4a45224a5eedbec9c5c7e21d2dbf
https://github.com/llvm/llvm-project/commit/90a05f32166c4a45224a5eedbec9c5c7e21d2dbf
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[openmp] Support CET in z_Linux_asm.S (#123213)
When libomp is built with -cf-protection, add endbr instructions to the
start of functions for Intel CET support.
Commit: 3c42a774569ee06fb02ce00e2d2d2ce517c894f3
https://github.com/llvm/llvm-project/commit/3c42a774569ee06fb02ce00e2d2d2ce517c894f3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M bolt/CMakeLists.txt
M bolt/runtime/CMakeLists.txt
Log Message:
-----------
[BOLT] Fix handling of LLVM_LIBDIR_SUFFIX (#122874)
This fixes a number of issues introduced in #97130 when
LLVM_LIBDIR_SUFFIX is a non-empty string. Make sure that the libdir is
always referenced as `lib${LLVM_LIBDIR_SUFFIX}`, not as just `lib` or
`${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}`.
This is the standard libdir convention for all LLVM subprojects. Using
`${CMAKE_INSTALL_LIBDIR}${LLVM_LIBDIR_SUFFIX}` would result in a
duplicate suffix.
Commit: c8ba551da17c48e00c0eeb572e7667ffa5109f6f
https://github.com/llvm/llvm-project/commit/c8ba551da17c48e00c0eeb572e7667ffa5109f6f
Author: Will Froom <willfroom at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/half-precision-signof-no-assert.ll
Log Message:
-----------
[AArch64] Return early rather than asserting when Size of value passed to targetShrinkDemandedConstant is not 32 or 64 (#123084)
See https://github.com/llvm/llvm-project/issues/123029 for details.
Commit: 9720be95d63ce797437015d0f0edd10b02e80b7a
https://github.com/llvm/llvm-project/commit/9720be95d63ce797437015d0f0edd10b02e80b7a
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
Log Message:
-----------
[LV][EVL] Disable fixed-order recurrence idiom with EVL tail folding. (#122458)
The currently llvm.splice may occurs unexpected behavior if the evl of
the second-to-last iteration is not VF*UF.
Issue #122461
Commit: 0e13ce770bfbee7cfbc8086a038a950fe12c03d5
https://github.com/llvm/llvm-project/commit/0e13ce770bfbee7cfbc8086a038a950fe12c03d5
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/nsw.ll
Log Message:
-----------
[InstCombine] Handle mul in `maintainNoSignedWrap` (#123299)
Alive2: https://alive2.llvm.org/ce/z/Kgamks
Closes https://github.com/llvm/llvm-project/issues/123175.
For `@foo1`, the nsw flag is propagated because we first convert it into
`mul nsw nuw (shl nsw nuw X, 1), 3`.
Commit: 320c2ee6c253f1bc0afe9c3d96cefb39195608f7
https://github.com/llvm/llvm-project/commit/320c2ee6c253f1bc0afe9c3d96cefb39195608f7
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M bolt/test/lit.local.cfg
Log Message:
-----------
[BOLT] Pass -Wl,--build-id=none to linker in tests (#122886)
This fixes the following tests:
BOLT :: AArch64/check-init-not-moved.s
BOLT :: X86/dwarf5-dwarf4-types-backward-forward-cross-reference.test
BOLT :: X86/dwarf5-locexpr-referrence.test
When clang is compiled with `-DENABLE_LINKER_BUILD_ID=ON`.
Commit: 58903c9b71ccb167ed1be4be9d9eddf1b2f07845
https://github.com/llvm/llvm-project/commit/58903c9b71ccb167ed1be4be9d9eddf1b2f07845
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update AArch64 maintainers (#120440)
This merges the maintainer lists for the ARM and AArch64 backends,
as many people work on both to some degree. The list includes
focus areas where possible.
Commit: 73478708839fad8b02b3cfc84959d64a15ba93ca
https://github.com/llvm/llvm-project/commit/73478708839fad8b02b3cfc84959d64a15ba93ca
Author: Karl-Johan Karlsson <karl-johan.karlsson at ericsson.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
A clang/include/clang/Basic/AllDiagnosticKinds.inc
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/tools/diagtool/DiagnosticNames.cpp
Log Message:
-----------
[diagtool] Make the BuiltinDiagnosticsByID table sorted (#120321)
When building with -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON with a recent
libstdc++ (e.g. from gcc 13.3.0) the testcase
clang/test/Misc/warning-flags-tree.c fail with the message:
```
+ diagtool tree --internal
.../include/c++/13.3.0/bits/stl_algo.h:2013:
In function:
_ForwardIterator std::lower_bound(_ForwardIterator, _ForwardIterator,
const _Tp &, _Compare) [_ForwardIterator = const
diagtool::DiagnosticRecord *, _Tp = diagtool::DiagnosticRecord, _Compare
= bool (*)(const diagtool::DiagnosticRecord &, const
diagtool::DiagnosticRecord &)]
Error: elements in iterator range [first, last) are not partitioned by the predicate __comp and value __val.
Objects involved in the operation:
iterator "first" @ 0x7ffea8ef2fd8 {
}
iterator "last" @ 0x7ffea8ef2fd0 {
}
```
The reason for this error is that std::lower_bound is called on
BuiltinDiagnosticsByID without it being entirely sorted. Calling
std::lower_bound If the range is not sorted, the behavior of this
function is undefined. This is detected when building with expensive
checks.
To make BuiltinDiagnosticsByID sorted we need to slightly change the
order the inc-files are included. The include of
DiagnosticCrossTUKinds.inc in DiagnosticNames.cpp is included too early
and should be moved down directly after DiagnosticCommentKinds.inc.
As a part of pull request the includes that build up
BuiltinDiagnosticsByID table are extracted into a common wrapper header
file AllDiagnosticKinds.inc that is used by both clang and diagtool.
Commit: 89e3a649f207021c0884ed5f8e56321c51854ac3
https://github.com/llvm/llvm-project/commit/89e3a649f207021c0884ed5f8e56321c51854ac3
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/test/MC/LoongArch/Macros/aliases-la.s
M llvm/test/MC/LoongArch/Macros/macros-call.s
M llvm/test/MC/LoongArch/Macros/macros-la.s
Log Message:
-----------
[LoongArch] Emit R_LARCH_RELAX when expanding some macros (#120067)
Emit `R_LARCH_RELAX` relocations when expanding some macros, including:
- `la.tls.ie`, `la.tls.ld`, `la.tls.gd`, `la.tls.desc`,
- `call36`, `tail36`.
Other macros that need to emit `R_LARCH_RELAX` relocations was
implemented in https://github.com/llvm/llvm-project/pull/72961, including:
- `la.local`, `la.pcrel`, `la.pcrel` expanded as `la.abs`, `la`,
`la.global`, `la/la.global` expanded as `la.pcrel`, `la.got`.
Note: `la.tls.le` macro can be relaxed when expanded with
`R_LARCH_TLS_LE_{HI20/ADD/LO12}_R` relocations. But if we do so,
previously handwritten assembly code will occur error due to the
redundant `add.{w/d}` followed by `la.tls.le`. So `la.tls.le` keeps to
expands with `R_LARCH_TLS_LE_{HI20/LO12}`.
Commit: 31b62e2d3df86487e7443608b5a84df754b571fd
https://github.com/llvm/llvm-project/commit/31b62e2d3df86487e7443608b5a84df754b571fd
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
A llvm/test/MC/LoongArch/Relocations/relax-tls-le.s
Log Message:
-----------
[LoongArch] Add relax relocations for tls_le code sequence (#121329)
This commit add relax relocations for `tls_le` code sequence.
Handwritten assembly and generating source code by clang are both
affected.
Scheduled `tls_le` code sequence can be relaxed normally and we can add
relax relocs when code emitting according to their relocs. Other
relaxable macros' code sequence cannot simply add relax relocs according
to their relocs, such as `PCALA_{HI20/LO12}`, we do not want to add
relax relocs when code model is large. This will be implemented in later
commit.
Commit: 30e276d06d3176f145151cea96ab01af0c3e842a
https://github.com/llvm/llvm-project/commit/30e276d06d3176f145151cea96ab01af0c3e842a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
A clang/test/Modules/gmodules-nodebug.cpp
Log Message:
-----------
[clang][PCH] Don't try to create standalone debug-info for types marked nodebug (#123253)
Fixes one of the crashes uncovered by
https://github.com/llvm/llvm-project/pull/118710
`getOrCreateStandaloneType` asserts that a `DIType` was created for the
requested type. If the `Decl` was marked `nodebug`, however, we can't
generate debug-info for it, so we would previously trigger the assert.
For now keep the assertion around and check the `nodebug` at the
callsite.
Commit: d7e48fbf205a01fcbc109b2555b12aa0d37845a4
https://github.com/llvm/llvm-project/commit/d7e48fbf205a01fcbc109b2555b12aa0d37845a4
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[llvm][OpenMP] Add implicit cast to omp.atomic.read (#114659)
Should the operands of `omp.atomic.read` differ, emit an implicit cast.
In case of `struct` arguments, extract the 0-th index, emit an implicit
cast if required, and store at the destination.
Fixes https://github.com/llvm/llvm-project/issues/112908
Commit: fbb9d49506baa05a613ab88f983d31e0f838dbae
https://github.com/llvm/llvm-project/commit/fbb9d49506baa05a613ab88f983d31e0f838dbae
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/test/CodeGen/X86/amx_movrs_intrinsics.ll
M llvm/test/CodeGen/X86/amx_movrs_transpose_intrinsics.ll
M llvm/test/CodeGen/X86/amx_transpose_intrinsics.ll
M llvm/test/MC/Disassembler/X86/AMX/x86-64-amx-movrs.txt
M llvm/test/MC/Disassembler/X86/amx-transpose-att.txt
M llvm/test/MC/X86/AMX/x86-64-amx-movrs-att.s
M llvm/test/MC/X86/AMX/x86-64-amx-movrs-intel.s
M llvm/test/MC/X86/amx-transpose-att.s
M llvm/test/MC/X86/amx-transpose-intel.s
M llvm/test/TableGen/x86-instr-mapping.inc
Log Message:
-----------
[X86][APX] Support APX + AMX-MOVRS/AMX-TRANSPOSE (#123267)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/784266
Commit: ee4282259d5993dfa0b7b8937541dd6ccaadf3d5
https://github.com/llvm/llvm-project/commit/ee4282259d5993dfa0b7b8937541dd6ccaadf3d5
Author: Nicholas <45984215+liusy58 at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
A bolt/test/AArch64/inline-small-function-1.s
A bolt/test/AArch64/inline-small-function-2.s
Log Message:
-----------
[BOLT][AArch64]support `inline-small-functions` for AArch64 (#120187)
Add some functions in `AArch64MCPlusBuilder.cpp` to support inline for
AArch64.
Commit: 3b3590aa59f6ba35c746c01c0692621494b62cab
https://github.com/llvm/llvm-project/commit/3b3590aa59f6ba35c746c01c0692621494b62cab
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
A llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll
Log Message:
-----------
Revert "Revert "[InstCombine] Transform high latency, dependent FSQRT/FDIV into FMUL"" (#123313)
Reverts llvm/llvm-project#123289
Commit: 2c9dc089fd6aeb7570206b0a8b36cfb9298c2893
https://github.com/llvm/llvm-project/commit/2c9dc089fd6aeb7570206b0a8b36cfb9298c2893
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Use spill size when calculating callee saves size (NFC) (#123086)
This is an NFC right now, as currently, all register and spill sizes are
the same, but the spill size is the correct size to use here.
Commit: 32a4650f3c76efee3bd515e25d70ae39d980b071
https://github.com/llvm/llvm-project/commit/32a4650f3c76efee3bd515e25d70ae39d980b071
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Avoid hardcoding spill size/align in FrameLowering (NFC) (#123080)
This is already defined for each register class in AArch64RegisterInfo,
not hardcoding it here makes these values easier to change (perhaps
based on hardware mode).
Commit: e79bb8731ae9089f0635e5634883267a091e318d
https://github.com/llvm/llvm-project/commit/e79bb8731ae9089f0635e5634883267a091e318d
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Log Message:
-----------
[InstCombine] Fixup commit 7253c6f (#123315)
This should fix the assert failure we were getting for the darwin OS.
Commit: 9491f75e1d912b277247450d1c7b6d56f7faf885
https://github.com/llvm/llvm-project/commit/9491f75e1d912b277247450d1c7b6d56f7faf885
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
Reland: [LV]: Teach LV to recursively (de)interleave. (#122989)
This commit relands the changes from "[LV]: Teach LV to recursively
(de)interleave. #89018"
Reason for revert:
- The patch exposed a bug in the IA pass, the bug is now fixed and landed by commit: #122643
Commit: b068f2fd0fefca1ee357483333f034d18e6d8214
https://github.com/llvm/llvm-project/commit/b068f2fd0fefca1ee357483333f034d18e6d8214
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
A lld/test/COFF/lto-arm64x.ll
Log Message:
-----------
[LLD][COFF] Process bitcode files separately for each symbol table on ARM64X (#123194)
Commit: 101109fc5460d5bb9bb597c6ec77f998093a6687
https://github.com/llvm/llvm-project/commit/101109fc5460d5bb9bb597c6ec77f998093a6687
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M mlir/include/mlir/Target/SPIRV/Deserialization.h
Log Message:
-----------
[MLIR] Add missing include (NFC)
Needed for libstdc++ 15 compatibility.
Commit: 831527a5ef63d24d056afc92509caf5ceb1d3682
https://github.com/llvm/llvm-project/commit/831527a5ef63d24d056afc92509caf5ceb1d3682
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
A llvm/test/Transforms/GlobalOpt/resolve-fmv-ifunc.ll
Log Message:
-----------
[FMV][GlobalOpt] Statically resolve calls to versioned functions. (#87939)
To deduce whether the optimization is legal we need to compare the target
features between caller and callee versions. The criteria for bypassing
the resolver are the following:
* If the callee's feature set is a subset of the caller's feature set,
then the callee is a candidate for direct call.
* Among such candidates the one of highest priority is the best match
and it shall be picked, unless there is a version of the callee with
higher priority than the best match which cannot be picked from a
higher priority caller (directly or through the resolver).
* For every higher priority callee version than the best match, there
is a higher priority caller version whose feature set availability
is implied by the callee's feature set.
Example:
Callers and Callees are ordered in decreasing priority.
The arrows indicate successful call redirections.
Caller Callee Explanation
=========================================================================
mops+sve2 --+--> mops all the callee versions are subsets of the
| caller but mops has the highest priority
|
mops --+ sve2 between mops and default callees, mops wins
sve sve between sve and default callees, sve wins
but sve2 does not have a high priority caller
default -----> default sve (callee) implies sve (caller),
sve2(callee) implies sve (caller),
mops(callee) implies mops(caller)
Commit: ad282f4c1fdcb6e03914d9dab4f85fad5b16e864
https://github.com/llvm/llvm-project/commit/ad282f4c1fdcb6e03914d9dab4f85fad5b16e864
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Rename combineScalarToVector to combineSCALAR_TO_VECTOR. NFC.
Match the file style of using the ISD NodeType name for the combine/lower method name.
Commit: 0ab368c5735328298d99dcfb80da12e7be028583
https://github.com/llvm/llvm-project/commit/0ab368c5735328298d99dcfb80da12e7be028583
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
A llvm/test/Analysis/ScalarEvolution/implied-via-addition.ll
Log Message:
-----------
SCEV/test: cover implied-via-addition (#123082)
Since cf2e828 (SCEV: regen some tests with UTC) had the side-effect of
moving an implied-via-addition test into IndVarSimplify, implication via
addition is no longer covered in the SCEV tests. Fix this by writing
fresh tests and checking backedge-taken output from SCEV.
Commit: 437834e16be6d04e7b198dad8a42d507770251a1
https://github.com/llvm/llvm-project/commit/437834e16be6d04e7b198dad8a42d507770251a1
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M flang/test/Lower/module_use.f90
Log Message:
-----------
[Flang] Use a module directory to avoid race condition (#123215)
Use a module directory in a test that uses another fortran test to avoid
race conditions in module creation.
Commit: 21704a685de5f241acddf462e5f9b38d132cfcaa
https://github.com/llvm/llvm-project/commit/21704a685de5f241acddf462e5f9b38d132cfcaa
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
A llvm/test/CodeGen/MIR/AMDGPU/init-whole.wave.ll
Log Message:
-----------
[AMDGPU] Fix printing hasInitWholeWave in mir (#123232)
Commit: 0d7c8c0e294d23fcfc9a396dafebe1465c471035
https://github.com/llvm/llvm-project/commit/0d7c8c0e294d23fcfc9a396dafebe1465c471035
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add new file added in 437834e16be6d04e7b198dad8a42d507770251a1
Commit: f66a5e220cbc2650a5843db854d0734d2aaa030f
https://github.com/llvm/llvm-project/commit/f66a5e220cbc2650a5843db854d0734d2aaa030f
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/API/SBThread.cpp
A lldb/test/API/functionalities/thread/step_until/TestStepUntilAPI.py
A lldb/test/API/functionalities/thread/step_until/function.list
M lldb/test/API/functionalities/thread/step_until/main.c
A lldb/test/API/functionalities/thread/step_until/symbol.order
Log Message:
-----------
[lldb] Fix SBThread::StepOverUntil for discontinuous functions (#123046)
I think the only issue here was that we would erroneously consider
functions which are "in the middle" of the function were stepping to as
a part of the function, and would try to step into them (likely stepping
out of the function instead) instead of giving up early.
Commit: a8649067723a84d1b9320523aa63f639f7bf5dfa
https://github.com/llvm/llvm-project/commit/a8649067723a84d1b9320523aa63f639f7bf5dfa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Fix logical operator warnings. NFC.
Commit: 7075eee6bd0d445aa3f58ace314f7d12756c3e38
https://github.com/llvm/llvm-project/commit/7075eee6bd0d445aa3f58ace314f7d12756c3e38
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Add InitLinkScope for toplevel Expr temporary (#123319)
Commit: 61f94ebc9ef39a47f393a0dca58335e39d961b07
https://github.com/llvm/llvm-project/commit/61f94ebc9ef39a47f393a0dca58335e39d961b07
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M offload/cmake/caches/AMDGPUBot.cmake
Log Message:
-----------
[NFC][Offload] Structure/Readability of CMake cache (#123328)
Preparing to add more config options and want to group them all from
most-common to project / component specific.
Commit: 58fc8029e91bf56811444d4a37a8f517a43bdc11
https://github.com/llvm/llvm-project/commit/58fc8029e91bf56811444d4a37a8f517a43bdc11
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lldb/test/API/functionalities/thread/step_until/TestStepUntilAPI.py
Log Message:
-----------
[lldb] Skip TestStepUntilAPI on !x86_64, !aarch64
The compiler does not support this feature on other architectures.
Commit: a90b5b1885cc9587d7d65edbe3e0d94c4e2f4459
https://github.com/llvm/llvm-project/commit/a90b5b1885cc9587d7d65edbe3e0d94c4e2f4459
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
A libclc/clc/include/clc/common/clc_degrees.h
A libclc/clc/include/clc/common/clc_radians.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/common/clc_degrees.cl
A libclc/clc/lib/generic/common/clc_radians.cl
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
M libclc/generic/lib/common/degrees.cl
M libclc/generic/lib/common/radians.cl
Log Message:
-----------
[libclc] Move degrees/radians to CLC library & optimize (#123222)
Missing half variants were also added.
The builtins are now consistently emitted in vector form (i.e., with a
splat of the literal to the appropriate vector size).
Commit: 8c63648117f1e1705943903b149f36ab8a4df1e5
https://github.com/llvm/llvm-project/commit/8c63648117f1e1705943903b149f36ab8a4df1e5
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Driver/fno-zero-init.f90
A flang/test/Lower/zero_init.f90
A flang/test/Lower/zero_init_default_init.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
Revert "Revert "[Flang][Driver] Add a flag to control zero initializa… (#123097)
…tion of global v…" (#123067)"
This reverts commit 44ba43aa2b740878d83a9d6f1d52a333c0d48c22.
Adds the flag to bbc as well.
Commit: bacfdcd7e0989117a3c76b040fe9efe093fa8708
https://github.com/llvm/llvm-project/commit/bacfdcd7e0989117a3c76b040fe9efe093fa8708
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Add SDPatternMatch::m_BitCast matcher (#123327)
Simplifies a future patch
Commit: ce3280a64467b5211ced77169f3203c07934e06b
https://github.com/llvm/llvm-project/commit/ce3280a64467b5211ced77169f3203c07934e06b
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/test/Transforms/GlobalOpt/resolve-fmv-ifunc.ll
Log Message:
-----------
Fix for buildbot errors on non-aarch64 targets. (#123322)
Add missing REQUIRES: aarch64-registered-target
Commit: 8a229f595a5c0ff354cdfa05cda974a9d56674df
https://github.com/llvm/llvm-project/commit/8a229f595a5c0ff354cdfa05cda974a9d56674df
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
R flang/test/Driver/fno-zero-init.f90
R flang/test/Lower/zero_init.f90
R flang/test/Lower/zero_init_default_init.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
Revert "Revert "Revert "[Flang][Driver] Add a flag to control zero initializa…" (#123330)
Reverts llvm/llvm-project#123097
Reverting due to buildbot failure
https://lab.llvm.org/buildbot/#/builders/89/builds/14577.
Commit: 22637a877ae7fbfd5cf030400979fd4527eaebcf
https://github.com/llvm/llvm-project/commit/22637a877ae7fbfd5cf030400979fd4527eaebcf
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/IR/Value.cpp
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
Log Message:
-----------
[Loads] Respect UseDerefAtPointSemantics in isDerefAndAlignedPointer. (#123196)
If a pointer gets freed, it may not be dereferenceable any longer, even
though there is a dominating dereferenceable assumption. As first step,
only consider assumptions if the pointer value cannot be freed if
UseDerefAtPointSemantics is used.
PR: https://github.com/llvm/llvm-project/pull/123196
Commit: fb2c9d940ad87e6ae09e06c6915e0c925a4f87ec
https://github.com/llvm/llvm-project/commit/fb2c9d940ad87e6ae09e06c6915e0c925a4f87ec
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p5-ex2.cpp
M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
M clang/test/CXX/module/basic/basic.def.odr/p4.cppm
M clang/test/CXX/module/basic/basic.link/p2.cppm
Log Message:
-----------
[C++20] [Modules] Makes sure internal declaration won't be found by other TU (#123059)
Close https://github.com/llvm/llvm-project/issues/61427
And this is also helpful to implement
https://github.com/llvm/llvm-project/issues/112294 partially.
The implementation strategy mimics
https://github.com/llvm/llvm-project/pull/122887. This patch split the
internal declarations from the general lookup table so that other TU
can't find the internal declarations.
Commit: 41f430a48db992477534b65b288b47d487c4797d
https://github.com/llvm/llvm-project/commit/41f430a48db992477534b65b288b47d487c4797d
Author: Wesley Wiser <wwiser at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
A llvm/test/CodeGen/X86/dag-large-offset.ll
M llvm/test/CodeGen/X86/xor-lea.ll
Log Message:
-----------
[X86] Don't fold very large offsets into addr displacements during ISel (#121678)
Doing so can cause the resulting displacement after frame layout to
become inexpressible (or cause over/underflow currently during frame
layout).
Fixes the error reported in
https://github.com/llvm/llvm-project/pull/101840#issuecomment-2306975944.
Commit: 5153a90453e692b834e38eec247a0c88a0678bfa
https://github.com/llvm/llvm-project/commit/5153a90453e692b834e38eec247a0c88a0678bfa
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
Log Message:
-----------
[lldb][DWARF] Change GetAttributes to always visit current DIE before recursing (#123261)
`GetAttributes` returns all attributes on a given DIE, including any
attributes that the DIE references via `DW_AT_abstract_origin` and
`DW_AT_specification`. However, if an attribute exists on both the
referring DIE and the referenced DIE, the first one encountered will be
the one that takes precendence when querying the returned
`DWARFAttributes`. But there was no guarantee in which order those
attributes get visited. That means there's no convenient way of ensuring
that an attribute of a definition doesn't get shadowed by one found on
the declaration. One use-case where we don't want this to happen is for
`DW_AT_object_pointer` (which can exist on both definitions and
declarations, see https://github.com/llvm/llvm-project/pull/123089).
This patch makes sure we visit the current DIE's attributes before
following DIE references. I tried keeping as much of the original
`GetAttributes` unchanged and just add an outer `GetAttributes` that
keeps track of the DIEs we need to visit next.
There's precendent for this iteration order in
`llvm::DWARFDie::findRecursively` and also
`lldb_private::ElaboratingDIEIterator`. We could use the latter to
implement `GetAttributes`, though it also follows `DW_AT_signature` so I
decided to leave it for follow-up.
Commit: eff6b642583ace53aaed7947b92a43bcba283866
https://github.com/llvm/llvm-project/commit/eff6b642583ace53aaed7947b92a43bcba283866
Author: David Green <david.green at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-add.mir
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[AArch64][GlobalISel] Update and regenerate some vecreduce and other tests. NFC
Commit: d28a4f1fc02dc34a87fa22af0a053e8f1e7f6cea
https://github.com/llvm/llvm-project/commit/d28a4f1fc02dc34a87fa22af0a053e8f1e7f6cea
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M mlir/docs/Dialects/Affine.md
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_reduction.mlir
M mlir/test/Dialect/Affine/invalid.mlir
M mlir/test/Dialect/Affine/ops.mlir
M mlir/test/Dialect/GPU/transform-gpu.mlir
M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
M mlir/test/Dialect/Linalg/tile-indexed.mlir
M mlir/test/Dialect/Linalg/transform-op-split.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-interface.mlir
M mlir/test/Interfaces/TilingInterface/tile-using-scfforall.mlir
Log Message:
-----------
[mlir][affine]introducing new symbol rules that the result of a `Pure` operation that whose operands are valid symbolic identifiers (#118478)
introducing new symbol rules that the result of a Pure operation that whose operands are valid symbolic identifiers.
Commit: f597d346ab6e42cbfe421b153abf7ece6b592f1d
https://github.com/llvm/llvm-project/commit/f597d346ab6e42cbfe421b153abf7ece6b592f1d
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[clang][Sema] Move computing best enum types to a separate function (#120965)
Move the code that computes BestType and BestPromotionType for an enum
to a separate function which can be called from outside of Sema.
Commit: 6dcb2a09028b25f8a8cfbda486d9b87a42fd3b30
https://github.com/llvm/llvm-project/commit/6dcb2a09028b25f8a8cfbda486d9b87a42fd3b30
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Target/LLVMIR/nvvm/cvt_tf32.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Add Float to TF32 conversion Op (#123199)
PR #121507 added 'cvt' intrinsics to convert
float to tf32, with the valid set of rounding and
saturation modes. This PR adds an NVVM Dialect Op
for the same.
* lit tests are added to verify the lowering to intrinsics.
* Negative tests are also added to check the error-handling of invalid
combinations.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 361f363c11265c6ce599a49dd081bab606b14de8
https://github.com/llvm/llvm-project/commit/361f363c11265c6ce599a49dd081bab606b14de8
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.cpp
Log Message:
-----------
[clang-tidy]fix incorrect fix-it for the string contains a user-defined suffix (#122901)
Fixed: #97243
Commit: 48d0ef1a07993139e1acf65910704255443103a5
https://github.com/llvm/llvm-project/commit/48d0ef1a07993139e1acf65910704255443103a5
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.h
Log Message:
-----------
[clang-tidy][NFC] refactor modernize-raw-string-literal fix hint (#122909)
Commit: 7629e01479bb1ec8b7279ec7515b3bba7e6c9e31
https://github.com/llvm/llvm-project/commit/7629e01479bb1ec8b7279ec7515b3bba7e6c9e31
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/assume-align.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
Log Message:
-----------
[InstCombine,PhaseOrder] Add additional tests with align assumptions.
Commit: dc1ef2cc1aa2de7ef6830419de37ad93eb74d34a
https://github.com/llvm/llvm-project/commit/dc1ef2cc1aa2de7ef6830419de37ad93eb74d34a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb][DWARFASTParserClang] Don't overwrite DW_AT_object_pointer of definition with that of a declaration (#123089)
In https://github.com/llvm/llvm-project/pull/122742 we will start
attaching DW_AT_object_pointer to method declarations (in addition to
definitions).
Currently when LLDB parses a `DW_TAG_subprogram` definition, it will
parse all the attributes of the declaration as well. If we have
`DW_AT_object_pointer` on both, then we would overwrite the more
specific attribute that we got from the defintion with the one from the
specification. This is problematic because LLDB relies on getting the
`DW_AT_name` from the `DW_AT_object_pointer`, which doesn't exist on the
specification.
Note GCC does attach `DW_AT_object_pointer` on declarations *and*
definitions already (see https://godbolt.org/z/G1GvddY48), so there's
definitely some expressions that will fail for GCC compiled binaries.
This patch will fix those cases (e.g., I would expect `TestConstThis.py`
to fail with GCC).
Commit: eb7dea8bb15a00930b676f78f3b850079e2b964c
https://github.com/llvm/llvm-project/commit/eb7dea8bb15a00930b676f78f3b850079e2b964c
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
Log Message:
-----------
[mutation analyzer] enhance stability for `hasAnyInit` matcher (#122915)
I cannot minimal produce it, but when I run clangd with
`misc-const-correctness` check in a big project
clangd crashed due to deref nullptr here.
clang may pass a nullptr to `InitExprs` when meets some error cases.
Commit: 0171e56ed0b2bb0c87c48e0895f5052986fa3cda
https://github.com/llvm/llvm-project/commit/0171e56ed0b2bb0c87c48e0895f5052986fa3cda
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/literals.cpp
Log Message:
-----------
[clang][bytecode] Fix rejecting invalid sizeof expressions (#123332)
Emit the invalid note instead of nothing.
Commit: baa5b769f2f76baa0ce1ebfe28236dee2c761f0d
https://github.com/llvm/llvm-project/commit/baa5b769f2f76baa0ce1ebfe28236dee2c761f0d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaLookup.cpp
A clang/test/Modules/module-local-visibility-in-language-linkage.cppm
Log Message:
-----------
[C++20] [Modules] Make module local decls visible to language linkage in the same module
Close https://github.com/llvm/llvm-project/issues/123343
See the issue and the comments in the patch for details.
Commit: 48803bc8c7be25745a0e623e6753261c07281b06
https://github.com/llvm/llvm-project/commit/48803bc8c7be25745a0e623e6753261c07281b06
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Sema/SemaX86.cpp
M clang/test/CodeGen/X86/amx_avx512_api.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86PreTileConfig.cpp
M llvm/test/CodeGen/X86/amx-avx512-intrinsics.ll
M llvm/test/CodeGen/X86/amx-tile-avx512-internals.ll
M llvm/test/MC/Disassembler/X86/amx-avx512.txt
M llvm/test/MC/X86/amx-avx512-att.s
M llvm/test/MC/X86/amx-avx512-intel.s
Log Message:
-----------
[X86][AMX-AVX512][NFC] Remove P from intrinsic and instruction name (#123270)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965
Commit: 8688a31729cfd2f069fc53a5081273d61803a32f
https://github.com/llvm/llvm-project/commit/8688a31729cfd2f069fc53a5081273d61803a32f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libcxx/utils/libcxx-compare-benchmarks
Log Message:
-----------
[libc++] Allow passing arguments to GoogleBenchmark's compare.py tool
Commit: 703e9e97d937f3bb25d4318d86e357a665e72731
https://github.com/llvm/llvm-project/commit/703e9e97d937f3bb25d4318d86e357a665e72731
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bswap.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen for bswap (#122849)
true16 codegen pattern for bswap
Commit: a18f4bdb18d59858e384540a62c9145c888cc9b2
https://github.com/llvm/llvm-project/commit/a18f4bdb18d59858e384540a62c9145c888cc9b2
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopcx.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_vop3cx.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.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
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cmpx_lt_f16 (#122936)
True16 format for v_cmpx_lt_f16. Update VOPCX t16 and fake16 pseudo.
Commit: 8ae1cb2bcb55293cce31bb75c38d6b4e8a13cc23
https://github.com/llvm/llvm-project/commit/8ae1cb2bcb55293cce31bb75c38d6b4e8a13cc23
Author: Iman Hosseini <imanhosseini at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/ADT/APInt.h
M llvm/lib/Support/APInt.cpp
M llvm/unittests/ADT/APIntTest.cpp
Log Message:
-----------
add power function to APInt (#122788)
I am trying to calculate power function for APFloat, APInt to constant
fold vector reductions: https://github.com/llvm/llvm-project/pull/122450
I need this utility to fold N `mul`s into power.
---------
Co-authored-by: ImanHosseini <imanhosseini.17 at gmail.com>
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 76569025dd8b026b3309dedbcaf877d16eace805
https://github.com/llvm/llvm-project/commit/76569025dd8b026b3309dedbcaf877d16eace805
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
M llvm/test/CodeGen/X86/cvt16.ll
M llvm/test/CodeGen/X86/fp-roundeven.ll
M llvm/test/CodeGen/X86/fp16-libcalls.ll
M llvm/test/CodeGen/X86/half-darwin.ll
M llvm/test/CodeGen/X86/half-fp80-darwin.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr114520.ll
M llvm/test/CodeGen/X86/pr31088.ll
M llvm/test/CodeGen/X86/pr86305.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] Fold (v4i32 (scalar_to_vector (i32 (anyext (bitcast (f16)))))) -> (v4i32 bitcast (v8f16 scalar_to_vector)) (#123338)
This pattern tends to appear during f16 -> f32 promotion
Partially addresses the unnecessary XMM->GPR->XMM moves when working with f16 types (#107086)
Commit: a4d45fe8462bf7042bac2edfb87e3e41e4156ba4
https://github.com/llvm/llvm-project/commit/a4d45fe8462bf7042bac2edfb87e3e41e4156ba4
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
Log Message:
-----------
[lldb][DWARF] Change GetAttributes parameter from SmallVector to SmallVectorImpl
Fixes the lldb-arm-ubuntu buildbot failure:
```
../llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp:374:26:
error: non-const lvalue reference to type 'SmallVector<[...], (default)
CalculateSmallVectorDefaultInlinedElements<T>::value aka 6>' cannot bind
to a value of unrelated type 'SmallVector<[...], 3>'
374 | if (!::GetAttributes(worklist, seen, attributes)) {
| ^~~~~~~~
../llvm-project/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp:288:56:
note: passing argument to parameter 'worklist' here
288 | static bool GetAttributes(llvm::SmallVector<DWARFDIE> &worklist,
| ^
1 error generated.
```
Commit: edf3a55bcecc8b0441a7a5fe6bda2023f86667a3
https://github.com/llvm/llvm-project/commit/edf3a55bcecc8b0441a7a5fe6bda2023f86667a3
Author: John Brawn <john.brawn at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LoopVectorize][NFC] Centralize the setting of CostKind (#121937)
In each class which calculates instruction costs (VPCostContext,
LoopVectorizationCostModel, GeneratedRTChecks) set the CostKind once in
the constructor instead of in each function that calculates a cost. This
is in preparation for potentially changing the CostKind when compiling
for optsize.
Commit: 2f853d851bb0eb4ba3d827909300839037d4b8fe
https://github.com/llvm/llvm-project/commit/2f853d851bb0eb4ba3d827909300839037d4b8fe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512fp16-arith.ll
M llvm/test/CodeGen/X86/avx512fp16-cvt.ll
M llvm/test/CodeGen/X86/avx512fp16-unsafe-fp-math.ll
M llvm/test/CodeGen/X86/cvt16-2.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
M llvm/test/CodeGen/X86/half-darwin.ll
Log Message:
-----------
[X86] Regenerate VMOVSH assembly comments. NFC.
Commit: 123b24ff97402cc94dc74610330193244910a81f
https://github.com/llvm/llvm-project/commit/123b24ff97402cc94dc74610330193244910a81f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512fp16-arith.ll
Log Message:
-----------
[X86] avx512fp16-arith.ll - regenerate VPTERNLOG comments
Commit: 8abbd76cfb14ae4a4cb020dd3eb761ddd1db14d1
https://github.com/llvm/llvm-project/commit/8abbd76cfb14ae4a4cb020dd3eb761ddd1db14d1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/avx512fp16-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16vl-intrinsics.ll
Log Message:
-----------
[X86] Regenerate VFPCLASS assembly comments. NFC.
Commit: 0417cd1b3e66c06966a3685f143df9228e2444b1
https://github.com/llvm/llvm-project/commit/0417cd1b3e66c06966a3685f143df9228e2444b1
Author: Doug Wyatt <doug at sonosphere.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/test/Sema/attr-nonblocking-constraints.cpp
Log Message:
-----------
[Clang] FunctionEffects: Correctly navigate through array types in FunctionEffectsRef::get(). (#121525)
`FunctionEffectsRef::get()` is supposed to strip off layers of
indirection (pointers/references, type sugar) to get to a
`FunctionProtoType` (if any) and return its effects (if any).
It wasn't correctly dealing with situations where the compiler
implicitly converts an array to a pointer.
---------
Co-authored-by: Doug Wyatt <dwyatt at apple.com>
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: 63b0ab84253f29f1f9b9136a02d589552b29c645
https://github.com/llvm/llvm-project/commit/63b0ab84253f29f1f9b9136a02d589552b29c645
Author: Iman Hosseini <imanhosseini at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Support/APInt.cpp
Log Message:
-----------
remove extra ; (#123352)
Remove erroneous extra semicolon in:
https://github.com/llvm/llvm-project/pull/122788
Co-authored-by: ImanHosseini <imanhosseini.17 at gmail.com>
Commit: ba44d7ba1fb3e27f51d65ea1af280e00382e09e0
https://github.com/llvm/llvm-project/commit/ba44d7ba1fb3e27f51d65ea1af280e00382e09e0
Author: Konrad Kleine <kkleine at redhat.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M mlir/test/python/execution_engine.py
Log Message:
-----------
[MLIR][test] Fixup for checking for ml_dtypes (#123240)
In order to optionally run some checks that depend on the `ml_dtypes`
python module we have to remove the `CHECK` lines for those tests or
they will be required and missed in the test output.
I've changed to use asserts as recommended in [1].
[1]:
https://github.com/llvm/llvm-project/pull/123061#issuecomment-2596116023
Commit: 7c729418d721147bf1f2b257afd30f84721888ad
https://github.com/llvm/llvm-project/commit/7c729418d721147bf1f2b257afd30f84721888ad
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/test/DebugInfo/NVPTX/debug-info.ll
M llvm/test/DebugInfo/X86/DW_AT_object_pointer.ll
M llvm/test/DebugInfo/X86/dwarf-public-names.ll
M llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
Log Message:
-----------
[llvm][DebugInfo] Attach object-pointer to DISubprogram declarations (#122742)
Currently Clang only attaches `DW_AT_object_pointer` to
`DW_TAG_subprogram` definitions. LLDB constructs C++ method types from
their `DW_TAG_subprogram` declaration, which is also the point at which
it needs to determine whether a method is static or not. LLDB's
heuristic for this could be very simple if we emitted
`DW_AT_object_pointer` on declarations. But since we don't, LLDB has to
guess whether an argument is an implicit object parameter based on the
DW_AT_name and DW_AT_type.
To simplify LLDB's job (and to eventually support C++23's explicit
object parameters), this patch adds the `DIFlagObjectPointer` to
`DISubprogram` declarations.
For reference, GCC attaches the object-pointer DIE to both the
definition and declaration: https://godbolt.org/z/3TWjTfWon
Fixes https://github.com/llvm/llvm-project/issues/120973
Commit: c9f72b2873d2b3ea777c3ee512696f2259252bce
https://github.com/llvm/llvm-project/commit/c9f72b2873d2b3ea777c3ee512696f2259252bce
Author: Keyi Zhang <Kuree at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
Log Message:
-----------
[MLIR][LLVM] Fix #llvm.constant_range parsing (#123009)
When `APInt` parses negative numbers, it may extend the bit width. This
patch ensures the bit width matches with the attribute.
Fixes https://github.com/llvm/llvm-project/issues/122996.
Commit: 71ad9a958ac192599a46d86724a8084c8c4aff1c
https://github.com/llvm/llvm-project/commit/71ad9a958ac192599a46d86724a8084c8c4aff1c
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[fuchsia][cmake] Add runtimes for cortex-m4 for the Fuchsia toolchain (#123258)
Commit: 89305c371552adba2bd10394d2c645c9792840b2
https://github.com/llvm/llvm-project/commit/89305c371552adba2bd10394d2c645c9792840b2
Author: Sean Perry <perry at ca.ibm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/AST/TypeLoc.h
Log Message:
-----------
[z/OS] add tail padding to TypeLoc if needed (#122761)
The code in getLocalDataSize() returns the sum of the size of the
LocalData plus the size of the extra data. The start of the extra data
is padded so it starts on a multiple of it's alignment. We also need to
be adding tail padding so the final size is a multiple of the alignment
of the LocalData. On most systems the alignment of the extra data is the
same or greater than the alignment of the LocalData so you don't need
the tail padding. However, on z/OS, the alignment of the extra data is
less than the alignment of the LocalData and thus you do need the tail
padding to make the final size a multiple of the LocalData alignment.
The extra data is the WrittenBuiltinSpecs struct. This struct is just a
struct of bitfields. On most systems the alignment of the struct is
determined by the type of the bitfields (eg. unsigned int -> align of
4). On z/OS, all bitfields are 1 byte aligned. Thus on z/OS
WrittenBuiltinSpecs is only size 2 with alignment of 1 (verses 4 & 4).
Commit: 9f627cf540e9f0da1be17581af8d162a78820e6f
https://github.com/llvm/llvm-project/commit/9f627cf540e9f0da1be17581af8d162a78820e6f
Author: Prashanth <TheStarOne01 at proton.me>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/sys/time.yaml
Log Message:
-----------
[libc][docs] Add sys/time page to the status of implementations docs (#123000)
These changes ensure that the sys/time header is documented properly
with respect to the issue ( #122006 ) .
Commit: 3f07af93dc013621176f5931ebc8dd07d299b277
https://github.com/llvm/llvm-project/commit/3f07af93dc013621176f5931ebc8dd07d299b277
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/EvaluationResult.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#123283)
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 expect Source to be nonnull.
Commit: f5736aee112177b8b4620ab55bb65152a652dd34
https://github.com/llvm/llvm-project/commit/f5736aee112177b8b4620ab55bb65152a652dd34
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateInstantiate.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::dyn_cast (NFC) (#123284)
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 expect Stored to be nonnull.
Commit: d5ef2c054d26d0ad2ea8022060d5140f4b663801
https://github.com/llvm/llvm-project/commit/d5ef2c054d26d0ad2ea8022060d5140f4b663801
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/AST/VTableBuilder.cpp
Log Message:
-----------
[AST] Avoid repeated hash lookups (NFC) (#123285)
Commit: d5aa6dfe8caeaadb7a8b4c89614e6b980a49ff7d
https://github.com/llvm/llvm-project/commit/d5aa6dfe8caeaadb7a8b4c89614e6b980a49ff7d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#123286)
Commit: c5312553cb7a49b53ba2bac40fbc3c1745855844
https://github.com/llvm/llvm-project/commit/c5312553cb7a49b53ba2bac40fbc3c1745855844
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#123287)
Commit: f719771f251d7c30eca448133fe85730f19a6bd1
https://github.com/llvm/llvm-project/commit/f719771f251d7c30eca448133fe85730f19a6bd1
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
M llvm/test/CodeGen/AArch64/extract-bits.ll
M llvm/test/CodeGen/AArch64/fpenv.ll
M llvm/test/CodeGen/AArch64/xbfiz.ll
Log Message:
-----------
Revert "[AArch64] Combine and and lsl into ubfiz" (#123356)
Reverts llvm/llvm-project#118974
Commit: d54d8d7e5a47d576d46dbc9fe60a0c927d05a648
https://github.com/llvm/llvm-project/commit/d54d8d7e5a47d576d46dbc9fe60a0c927d05a648
Author: Prashanth <TheStarOne01 at proton.me>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/termios.yaml
Log Message:
-----------
[libc][docs] Add termios page to the status of implementations docs (#123004)
These changes ensure that the termios header is documented properly with
respect to the issue ( https://github.com/llvm/llvm-project/issues/122006 ) .
Commit: c83e5e85a382083d13933805b994c45d412c568f
https://github.com/llvm/llvm-project/commit/c83e5e85a382083d13933805b994c45d412c568f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libcxx/include/__config
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
Log Message:
-----------
[libc++] Enable _LIBCPP_NODEBUG again (#123318)
`_LIBCPP_NODEBUG` has been disabled temporarily, since there were a few
problems when adding a bunch of annotations throughout the code base.
They have been resolved now, so we can enable all the annotations again.
Reverts llvm/llvm-project#122393
Commit: 4b692a95d103f3ad30d6be1ce6d5dda0bd90bc1f
https://github.com/llvm/llvm-project/commit/4b692a95d103f3ad30d6be1ce6d5dda0bd90bc1f
Author: Steven Perron <stevenperron at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
A llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoadStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
Log Message:
-----------
[SPIRV] Expand RWBuffer load and store from HLSL (#122355)
The code pattern that clang will generate for HLSL has changed from the
original plan. This allows the SPIR-V backend to generate code for the
current code generation.
It looks for patterns of the form:
```
%1 = @llvm.spv.resource.handlefrombinding
%2 = @llvm.spv.resource.getpointer(%1, index)
load/store %2
```
These three llvm-ir instruction are treated as a single unit that will
1. Generate or find the global variable identified by the call to
`resource.handlefrombinding`.
2. Generate an OpLoad of the variable to get the handle to the image.
3. Generate an OpImageRead or OpImageWrite using that handle with the
given index.
This will generate the OpLoad in the same BB as the read/write.
Note: Now that `resource.handlefrombinding` is not processed on its own,
many existing tests had to be removed. We do not have intrinsics that
are able to use handles to sampled images, input attachments, etc., so
we cannot generate the load of the handle. These tests are removed for
now, and will be added when those resource types are fully implemented.
Commit: ee1c85225235c4353555a17b73ba16a2f177265b
https://github.com/llvm/llvm-project/commit/ee1c85225235c4353555a17b73ba16a2f177265b
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
A llvm/test/CodeGen/AArch64/instr-ref-ldv.ll
Log Message:
-----------
[DebugInfo][InstrRef] Treat ORRWrr as a copy instr (#123102)
The insturction selector uses the `MachineFunction::copySalvageSSA`
function to insert `DBG_PHIs` or identify a defining instruction for a
copy-like instruction when finalizing Instruction References.
AArch64 has the ORR instruction which is a logical OR with the variants
ORRWrr which refers to a register to register variant, and ORRWrs which
is a register to a shifted register variant.
An ORRWrs where the shift amount is 0, and the zero register ($wzr) is
used is considered a copy, for example:
`$w0 = ORRWrs $wzr, killed $w3, 0`
However an ORRWrr with a zero register is not considered a copy
`$w0 = ORRWrr $wzr, killed $w3`
This causes an issue in the livedebugvalues pass because in aarch64-isel
the instruction is the ORRWrr variant, but is then changed to the ORRWrs
variant before the livedebugvalues pass.
This causes a mismatch between the two passes which leads to a crash in
the livedebugvalues pass.
This patch fixes the issue.
Commit: 3065cf238ca3fddd74cba0bd660afe5fd4e7da03
https://github.com/llvm/llvm-project/commit/3065cf238ca3fddd74cba0bd660afe5fd4e7da03
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Remove //clang:basic_internal_headers target (NFC) (#123230)
This target exists to allow `#include "Header.h"` for headers in
lib/Basic rather than using file-relative inclusion. This is rather
hacky and results in having two targets that claim the same headers.
Instead, we can pass a `-I` flag in the `copts` for //clang:basic, to
adjust the include path to keep those `#include "Header.h"` directives
working. There are other targets in this file already doing a similar
thing for generated files.
Commit: ebfdd38228d4e21597642301fb75f5b02ff3ee06
https://github.com/llvm/llvm-project/commit/ebfdd38228d4e21597642301fb75f5b02ff3ee06
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
M llvm/test/Transforms/SLPVectorizer/X86/value-bug.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
R llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const-undef.ll
A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const.ll
M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
Log Message:
-----------
[SLP][NFC]Replace undef with constant zero in tests, NFC
Commit: c7ea4c18afa84875ac22b2c98930c793eefd24b2
https://github.com/llvm/llvm-project/commit/c7ea4c18afa84875ac22b2c98930c793eefd24b2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx98.cpp
Log Message:
-----------
[clang][bytecode] Revisit global variables separately (#123358)
Call `EvaluateAsInitializer()` explicitly here, so we don't abort the
evaluation of the `DeflRefExpr` just because the initializer of that
global variable failed.
Commit: 8815c505be90edf0168e931d77f2b68e393031d3
https://github.com/llvm/llvm-project/commit/8815c505be90edf0168e931d77f2b68e393031d3
Author: JoelWee <32009741+JoelWee at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/Diagnostics.h
M mlir/lib/IR/Diagnostics.cpp
Log Message:
-----------
[MLIR] Allow setting call stack limit for SourceMgrDiagnosticHandler (#123373)
Otherwise for deeply nested code, the callstack will always be truncated
Commit: fbea21aa52f96fc12e19fa4b1063209bc4d19f99
https://github.com/llvm/llvm-project/commit/fbea21aa52f96fc12e19fa4b1063209bc4d19f99
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/licm-wwm.mir
Log Message:
-----------
[AMDGPU] Add test for VALU hoisiting from WWM region. NFC. (#123234)
The test demonstraits a suboptimal VALU hoisting from a WWM
region. As a result we have 2 WWM regions instead of one.
Commit: f12e0c9c3a45065543bea89c5545e26690ac3e59
https://github.com/llvm/llvm-project/commit/f12e0c9c3a45065543bea89c5545e26690ac3e59
Author: Prashanth <TheStarOne01 at proton.me>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/sys/stat.yaml
Log Message:
-----------
[libc][docs] Add sys/stat page to the status of implementations docs (#122997)
These changes ensure that the sys/stat header is documented properly
with respect to the issue ( #122006 ) .
Commit: 1c3c65590d1635ab1b50c89dc8379c42a5d535bd
https://github.com/llvm/llvm-project/commit/1c3c65590d1635ab1b50c89dc8379c42a5d535bd
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lld/MachO/Options.td
Log Message:
-----------
[lld-macho] Document '-icf' flag options (#123372)
Adding the `safe_thunks` option in `Options.td` as it was missing there
- mentioned by @Colibrow in
https://github.com/llvm/llvm-project/pull/106573
Also documenting what the various options mean.
Help now looks like this:
```
..........
--error-limit=<value> Maximum number of errors to print before exiting (default: 20)
--help-hidden Display help for hidden options
--icf=[none,safe,safe_thunks,all]
Set level for identical code folding (default: none). Possible values:
none - Disable ICF
safe - Only folds non-address significant functions (as described by `__addrsig` section)
safe_thunks - Like safe, but replaces address-significant functions with thunks
all - Fold all identical functions
--ignore-auto-link-option=<value>
Ignore a single auto-linked library or framework. Useful to ignore invalid options that ld64 ignores
--irpgo-profile-sort=<profile>
Deprecated. Please use --irpgo-profile and --bp-startup-sort=function
..........
```
Commit: 2dc5682dacab2dbb52a771746fdede0e938fc6e9
https://github.com/llvm/llvm-project/commit/2dc5682dacab2dbb52a771746fdede0e938fc6e9
Author: David Blaikie <dblaikie at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/dicompositetype-elements-null.ll
Log Message:
-----------
Verifier: Add check for DICompositeType elements being null
Came up recently with some nodebug case on codeview, that caused a null
entry in elements and crashed LLVM.
Original clang fix to avoid generating IR like this: 504dd577675e8c85cdc8525990a7c8b517a38a89
Commit: bbd871e2baad2e74dbde202823b3439d2a96d3f8
https://github.com/llvm/llvm-project/commit/bbd871e2baad2e74dbde202823b3439d2a96d3f8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libcxx/include/atomic
M libcxx/include/stdatomic.h
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
A libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.cxx23.compile.pass.cpp
Log Message:
-----------
[libc++] Don't implement <stdatomic.h> before C++23 (#123130)
https://github.com/llvm/llvm-project/pull/95498 implemented a libc++
extension where <stdatomic.h> would forward to <atomic> even before
C++23. Unfortunately, this was found to be a breaking change (with
fairly widespread impact) since that changes whether _Atomic(T) is a C
style atomic or std::atomic<T>. In principle, this can even be an ABI
break.
We generally don't implement extensions in libc++ because they cause so
many problems, and that extension had been accepted because it was
deemed pretty small and only a quality of life improvement. Since it has
widespread impact on valid C++20 (and before) code, this patch removes
the extension before we ship it in any public release.
Commit: 58a70dffcc096b54537aa99a045346ee28ad2592
https://github.com/llvm/llvm-project/commit/58a70dffcc096b54537aa99a045346ee28ad2592
Author: Thurston Dang <thurston at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Log Message:
-----------
[msan] Add debugging for handleUnknownIntrinsic (#123381)
This adds an experimental flag, msan-dump-strict-intrinsics (modeled
after msan-dump-strict-instructions), which prints out any intrinsics
that are heuristically handled. Additionally, MSan will print out
heuristically handled intrinsics when -debug is passed as a flag in
debug builds.
MSan's intrinsic handling can be broken down into:
1) special cases (usually highly accurate)
2) heuristic handling (sometimes erroneous)
3) not handled
This patch's -msan-dump-strict-intrinsics is intended to help debug Case
2. Case 3) (which includes all the heuristics that are not handled by
special cases nor heuristics) can be debugged using the existing
-msan-dump-strict-instructions.
Commit: 6716ce8b641f0e42e2343e1694ee578b027be0c4
https://github.com/llvm/llvm-project/commit/6716ce8b641f0e42e2343e1694ee578b027be0c4
Author: David Blaikie <dblaikie at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
R llvm/test/Verifier/dicompositetype-elements-null.ll
Log Message:
-----------
Revert "Verifier: Add check for DICompositeType elements being null"
Asserts on various tests/buildbots, at least one example is
DebugInfo/X86/set.ll
This reverts commit 2dc5682dacab2dbb52a771746fdede0e938fc6e9.
Commit: eddeb36cf1ced0e14e17ac90f60922366e382100
https://github.com/llvm/llvm-project/commit/eddeb36cf1ced0e14e17ac90f60922366e382100
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_detail.h
M clang/lib/Sema/SemaSPIRV.cpp
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
A clang/test/CodeGenSPIRV/Builtins/length.c
A clang/test/SemaSPIRV/BuiltIns/length-errors.c
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRV.td
A llvm/lib/Target/SPIRV/SPIRVCombine.td
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
A llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
A llvm/test/CodeGen/SPIRV/GlobalISel/InstCombine/prelegalizercombiner-length-to-distance.mir
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/distance.ll
M llvm/test/CodeGen/SPIRV/opencl/distance.ll
Log Message:
-----------
[SPIRV] add pre legalization instruction combine (#122839)
- Add the boilerplate to support instcombine in SPIRV
- instcombine length(X-Y) to distance(X,Y)
- switch HLSL's distance intrinsic to not special case for SPIRV.
- fixes #122766
- This RFC we were requested to add in the infra for pattern matching:
https://discourse.llvm.org/t/rfc-add-targetbuiltins-for-spirv-to-support-hlsl/83329/13
Commit: fec503d1a3f48e600d0a8e108757dedba909f40c
https://github.com/llvm/llvm-project/commit/fec503d1a3f48e600d0a8e108757dedba909f40c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Add safe createExtractVector and use instead Builder.CreateExtractVector
Commit: 10fdd09c3bda8bfc532cecf4f11babaf356554f3
https://github.com/llvm/llvm-project/commit/10fdd09c3bda8bfc532cecf4f11babaf356554f3
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/debug-info-object-pointer.cpp
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
Log Message:
-----------
[clang][DebugInfo] Emit DW_AT_object_pointer on function declarations with explicit `this` (#122928)
In https://github.com/llvm/llvm-project/pull/122897 we started attaching
`DW_AT_object_pointer` to function definitions. This patch does the same
but for function declarations (which we do for implicit object pointers
already).
Fixes https://github.com/llvm/llvm-project/issues/120974
Commit: 128e2e446e90c3b1827cfc7d4d19e3c0976beff3
https://github.com/llvm/llvm-project/commit/128e2e446e90c3b1827cfc7d4d19e3c0976beff3
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.cpp
Log Message:
-----------
[SandboxVec][VecUtils][NFC] Move functions to VecUtils.cpp and add a VecUtils::dump()
Commit: 6b048aeaf837e0e16fece94610f0871d17cefe4c
https://github.com/llvm/llvm-project/commit/6b048aeaf837e0e16fece94610f0871d17cefe4c
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lldb/bindings/headers.swig
A lldb/bindings/interface/SBProgressDocstrings.i
M lldb/bindings/interfaces.swig
M lldb/include/lldb/API/SBDebugger.h
A lldb/include/lldb/API/SBProgress.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/API/CMakeLists.txt
A lldb/source/API/SBProgress.cpp
M lldb/source/Core/Debugger.cpp
A lldb/test/API/python_api/sbprogress/TestSBProgress.py
Log Message:
-----------
[LLDB] Add SBProgress so Python scripts can also report progress (#119052)
Recently I've been working on a lot of internal Python tooling, and in
certain cases I want to report async to the script over DAP. Progress.h
already handles this, so I've exposed Progress via the SB API so Python
scripts can also update progress objects.
I actually have no idea how to test this, so I just wrote a [toy command
to test
it](https://gist.github.com/Jlalond/48d85e75a91f7a137e3142e6a13d0947)

I also copied the first section of the extensive Progress.h class
documentation to the docstrings.
Commit: a807b2feb8bd2bcb4c611599d52d287c443c7e0b
https://github.com/llvm/llvm-project/commit/a807b2feb8bd2bcb4c611599d52d287c443c7e0b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 128e2e446e90
Commit: 580ba2eed29a18c75727e1cad910b8cfb4cfca59
https://github.com/llvm/llvm-project/commit/580ba2eed29a18c75727e1cad910b8cfb4cfca59
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
Log Message:
-----------
[gn build] Port 6b048aeaf837
Commit: 71ff486bee1b089c78f5b8175fef16f99fcebe19
https://github.com/llvm/llvm-project/commit/71ff486bee1b089c78f5b8175fef16f99fcebe19
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
A flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir
Log Message:
-----------
Reland "[flang] Inline hlfir.dot_product. (#123143)" (#123385)
This reverts commit afc43a7b626ae07f56e6534320e0b46d26070750.
+Fixed declaration of hlfir::genExtentsVector().
Some good results for induct2, where dot_product is applied
to a vector of unknow size and a known 3-element vector:
the inlining ends up generating a 3-iteration loop, which
is then fully unrolled. With late FIR simplification
it is not happening even when the simplified intrinsics
implementation is inlined by LLVM (because the loop bounds
are not known).
This change just follows the current approach to expose
the loops for later worksharing application.
Commit: ce6e66ddecbd1ddfa3be9be2ac881931d5ae71a4
https://github.com/llvm/llvm-project/commit/ce6e66ddecbd1ddfa3be9be2ac881931d5ae71a4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll
Log Message:
-----------
[RISCV] Add coverage for an upcoming select lowering change
A select between an add and a sub can be either a vrsub followed by
add (reducing register pressure), or a vmacc. The former will be
implemented in an upcoming review.
Commit: 5a735a28c8bf916a4a6d9068f01d80fdf1affa8a
https://github.com/llvm/llvm-project/commit/5a735a28c8bf916a4a6d9068f01d80fdf1affa8a
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
Log Message:
-----------
[HLSL][Sema] Fixed Diagnostics that assumed only two arguments (#122772)
In the below code B varies over the arg list via a loop. However, the
diagnostics do not vary with the loop.
Fix so that diagnostics can vary with B.
Commit: e237e37c62804b5caa7ca5501d7372d7b01167ad
https://github.com/llvm/llvm-project/commit/e237e37c62804b5caa7ca5501d7372d7b01167ad
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libc/src/__support/block.h
Log Message:
-----------
[libc] Fix riscv32 Block assertion failure on #117815
Commit: dce5d1fcb956e0218268dc1bf3e128bd2586df77
https://github.com/llvm/llvm-project/commit/dce5d1fcb956e0218268dc1bf3e128bd2586df77
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/test/Transforms/GlobalOpt/resolve-fmv-ifunc.ll
Log Message:
-----------
[FMV][GlobalOpt] Do not statically resolve non-FMV callers. (#123383)
This fixes a runtime regression in the llvm testsuite:
https://lab.llvm.org/buildbot/#/builders/198/builds/1237
On clang-aarch64-sve2-vla:
predres
FAIL
A 'predres' version is unexpectedly trapping on GravitonG4. My
explanation is that when the caller in not a versioned function, the
compiler exclusively relies on the command line option, or target
attribute to deduce whether a feature is available. However, there is no
guarantee that in reality the host supports those implied features.
This is a quickfix. We may rather change the mcpu option in the llvm
testsuite build instead.
Commit: 7b3a3530163f576708530dc6bcd6a0196a5423ae
https://github.com/llvm/llvm-project/commit/7b3a3530163f576708530dc6bcd6a0196a5423ae
Author: mishaobu <46725114+mishaobu at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add common SPIRV Extended Ops for Vectors (#122322)
Support for the following SPIR-V Extended Ops:
* 67: Distance
* 68: Cross
* 69: Normalize
* 71: Reflect
(Found here:
https://registry.khronos.org/SPIR-V/specs/1.0/GLSL.std.450.html)
Commit: e5a28a3b4d09a3ab128439a0f4eb2659e0b1978b
https://github.com/llvm/llvm-project/commit/e5a28a3b4d09a3ab128439a0f4eb2659e0b1978b
Author: mishaobu <46725114+mishaobu at users.noreply.github.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMatrixOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/matrix-ops.mlir
M mlir/test/Target/SPIRV/matrix.mlir
Log Message:
-----------
[mlir][spirv] Add MatrixTimesVector Op (#122302)
(From SPIRV reference here :
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpMatrixTimesVector)
Commit: b1bf95c081297305b2c9810ff04a9dac7216b434
https://github.com/llvm/llvm-project/commit/b1bf95c081297305b2c9810ff04a9dac7216b434
Author: George Chaltas <george.chaltas at intel.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
ReduxWidth check for 0 (#123257)
Added assert to check for underflow of ReduxWidth
modified: llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Source code analysis flagged the operation (ReduxWwidth - 1) as
potential underflow, since ReduxWidth is unsigned.
Realize that this should never happen if everything is working right,
but added an assert to check for it just in case.
Commit: 078dfd825309480b6a9df3ea44f6adf04913b339
https://github.com/llvm/llvm-project/commit/078dfd825309480b6a9df3ea44f6adf04913b339
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll
Log Message:
-----------
[RISCV] Fix variable naming in recently pre-committed test
I'd swapped the %add/%sub names, and then copied that repeatedly.
Oops. While updating, remove the nsw as those should be irrelevant
and is another copy-paste mistake on my part.
Commit: 8b0c774f8afa323637a89dc455d9dd054cd5bffa
https://github.com/llvm/llvm-project/commit/8b0c774f8afa323637a89dc455d9dd054cd5bffa
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lld/MachO/Options.td
Log Message:
-----------
[lld][InstrProf][NFC] Fix typo in help message (#123390)
Commit: 5db28679da38bee65feb55b803a23aceee568f44
https://github.com/llvm/llvm-project/commit/5db28679da38bee65feb55b803a23aceee568f44
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freestore_test.cpp
Log Message:
-----------
[libc] Fix malloc riscv32 test failures from #117815
Commit: a440c3ea89ea25a88ec265fe6130a6eb04840423
https://github.com/llvm/llvm-project/commit/a440c3ea89ea25a88ec265fe6130a6eb04840423
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libc/test/src/__support/freestore_test.cpp
Log Message:
-----------
[libc] Correct previous malloc fix
Commit: 98067a322596a5fd1d850b2645250a082e8b18f2
https://github.com/llvm/llvm-project/commit/98067a322596a5fd1d850b2645250a082e8b18f2
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M libc/test/src/__support/freestore_test.cpp
Log Message:
-----------
[libc] Outer size, not inner size
Commit: 8f18f36b4906872ee0838ade2c0367c77b6f5bc0
https://github.com/llvm/llvm-project/commit/8f18f36b4906872ee0838ade2c0367c77b6f5bc0
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
Log Message:
-----------
[lldb] Skip unreliable test under ASAN
Commit: 04383d63130a72c1280d80ec3f5a09dfdf607462
https://github.com/llvm/llvm-project/commit/04383d63130a72c1280d80ec3f5a09dfdf607462
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/tools/scan-build/bin/scan-build
Log Message:
-----------
[Static analysis] Encodes a filename before inserting it into a URL. (#120810)
This fixes a bug where report links generated from files such as
StylePrimitiveNumericTypes+Conversions.h in WebKit result in an error.
---------
Co-authored-by: Brianna Fan <bfan2 at apple.com>
Commit: d6315afff078cb4309b5614562b32520f6e3a2eb
https://github.com/llvm/llvm-project/commit/d6315afff078cb4309b5614562b32520f6e3a2eb
Author: vporpo <vporpodas at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][InstrMaps] EraseInstr callback (#123256)
This patch hooks up InstrMaps to the Sandbox IR callbacks such that it
gets updated when instructions get erased.
Commit: ae932becb2c952876edbb3591bfa997bf4629a4d
https://github.com/llvm/llvm-project/commit/ae932becb2c952876edbb3591bfa997bf4629a4d
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/FindTarget.h
R clang-tools-extra/clangd/HeuristicResolver.cpp
R clang-tools-extra/clangd/HeuristicResolver.h
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/ParsedAST.h
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
R clang-tools-extra/clangd/unittests/HeuristicResolverTests.cpp
A clang/include/clang/Sema/HeuristicResolver.h
M clang/lib/Sema/CMakeLists.txt
A clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/CMakeLists.txt
A clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][Sema] Upstream HeuristicResolver from clangd (#121314)
Fixes https://github.com/llvm/llvm-project/issues/121310
Commit: 358d65463b215a18e731b3a5494d51e1bcbd1356
https://github.com/llvm/llvm-project/commit/358d65463b215a18e731b3a5494d51e1bcbd1356
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
Log Message:
-----------
[SandboxVectorizer] Fix a warning
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const unsigned
int' and 'const int' [-Werror,-Wsign-compare]
Commit: 18eec97f092311373163216419a2e4606fe51ba2
https://github.com/llvm/llvm-project/commit/18eec97f092311373163216419a2e4606fe51ba2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port ae932becb2c9
Commit: 65cd9e4c2f85bd119eb039df1c90e8c97cbffb0c
https://github.com/llvm/llvm-project/commit/65cd9e4c2f85bd119eb039df1c90e8c97cbffb0c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Make VPValue constructors protected. (NFC)
Tighten access to constructors similar to ef1260acc0. VPValues should
either be constructed by constructors of recipes defining them or should
be live-ins created by VPlan (via getOrAddLiveIn).
Commit: 0c6e03eea04b93984d5fe562f64f1ce31f5cca09
https://github.com/llvm/llvm-project/commit/0c6e03eea04b93984d5fe562f64f1ce31f5cca09
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
Log Message:
-----------
[RISCV] Fold vp.store(vp.reverse(VAL), ADDR, MASK) -> vp.strided.store(VAL, NEW_ADDR, -1, MASK) (#123123)
Co-authored-by: Brandon Wu <brandon.wu at sifive.com>
Commit: 2523d3b1024bac7aa2efb6740a136bbf2263994e
https://github.com/llvm/llvm-project/commit/2523d3b1024bac7aa2efb6740a136bbf2263994e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/test/Lower/CUDA/cuda-devptr.cuf
Log Message:
-----------
[flang][cuda] Perform scalar assignment of c_devptr inlined (#123407)
Because `c_devptr` has a `c_ptr` field, any assignment were done via the
Assign runtime function. This leads to stack overflow on the device and
taking too much memory. As we know the c_devptr can be directly copied
on assignment, make it a special case.
Commit: 22d4ff155aadf0f098dd5dc48d9038da15108937
https://github.com/llvm/llvm-project/commit/22d4ff155aadf0f098dd5dc48d9038da15108937
Author: vporpo <vporpodas at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Fix CmpInst::create() when it gets folded (#123408)
If the operands of a CmpInst are constants then it gets folded into a
constant. Therefore CmpInst::create() should return a Value*, not a
Constant* and should handle the creation of the constant correctly.
Commit: 87e4b68195adc81fae40a4fa27e33458a9586fe5
https://github.com/llvm/llvm-project/commit/87e4b68195adc81fae40a4fa27e33458a9586fe5
Author: vporpo <vporpodas at google.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][Legality] Implement ShuffleMask (#123404)
This patch implements a helper ShuffleMask data structure that helps
describe shuffles of elements across lanes.
Commit: 9fdc38c81c7d1b61cb0750e5f5b273d6d1877513
https://github.com/llvm/llvm-project/commit/9fdc38c81c7d1b61cb0750e5f5b273d6d1877513
Author: Derek Schuff <dschuff at chromium.org>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lld/wasm/SyntheticSections.cpp
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/test/Object/Inputs/WASM/multi-table.wasm
Log Message:
-----------
[WebAssembly][Object] Support more elem segment flags (#123427)
Some tools (e.g. Rust tooling) produce element segment descriptors with
neither
elemkind or element type descriptors, but with init exprs instead of
func indices
(this is with the flags value of 4 in
https://webassembly.github.io/spec/core/binary/modules.html#element-section).
LLVM doesn't fully model reference types or the various ways to
initialize element
segments, but we do want to correctly parse and skip over all type
sections, so
this change updates the object parser to handle that case, and refactors
for more
clarity.
The test file is updated to include one additional elem segment with a
flags value
of 4, an initializer value of (32.const 0) and an empty vector.
Also support parsing files that export imported (undefined) functions.
Commit: 5b6a26ccdd98da7c5246d4c23ef7cc596189b52c
https://github.com/llvm/llvm-project/commit/5b6a26ccdd98da7c5246d4c23ef7cc596189b52c
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/PrintPasses.h
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/IR/PrintPasses.cpp
A llvm/test/Other/print-loop-func-scope.ll
Log Message:
-----------
Add option to print entire function instead of just the loops for loo… (#123229)
print-after-all is useful for diffing IR between two passes. When one of
the two is a function pass, and the other is a loop pass, the diff
becomes useless. Add an option which prints the entire function for loop
passes.
Commit: 07d496538f5543a8eed5e207148e28e358b7cca4
https://github.com/llvm/llvm-project/commit/07d496538f5543a8eed5e207148e28e358b7cca4
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
A llvm/test/Transforms/SLPVectorizer/InstructionsState-is-invalid-2.ll
A llvm/test/Transforms/SLPVectorizer/X86/InstructionsState-is-invalid-1.ll
Log Message:
-----------
[SLP] Replace MainOp and AltOp in TreeEntry with InstructionsState. (#122443)
Add TreeEntry::hasState.
Add assert for getTreeEntry.
Remove the OpValue parameter from the canReuseExtract function.
Remove the Opcode parameter from the ComputeMaxBitWidth lambda function.
Commit: 143c33c6dfd68f4e61d8e75c512bfdff02a7c687
https://github.com/llvm/llvm-project/commit/143c33c6dfd68f4e61d8e75c512bfdff02a7c687
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Consider only legally typed splats to be legal shuffles (#123415)
Given the comment, I'd expected test coverage. There was none so let's
do the simple thing which benefits the one thing we have tests for.
Commit: a7bca1861bfcd1490319115c1027166e27f4ae27
https://github.com/llvm/llvm-project/commit/a7bca1861bfcd1490319115c1027166e27f4ae27
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate braces in macro definitions (#123279)
Fixes #123179.
Commit: b62e55803c52ca04093a0eea361407e849dc23e1
https://github.com/llvm/llvm-project/commit/b62e55803c52ca04093a0eea361407e849dc23e1
Author: Wanyi <wanyi at meta.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
Log Message:
-----------
[lldb][test] Remove compiler version check and use regex (#123393)
The test checks specific compiler version to determine the output.
However, the compiler version string is always set to 15.0.0 for our
local build. Remove this check and use regex match instead.
## Test Plan
```
./bin/llvm-lit -sva /home/wanyi/llvm-sand/external/llvm-project/lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
...
Skipping the following test categories: ['dsym', 'gmodules', 'debugserver', 'objc']
--
Command Output (stderr):
--
UNSUPPORTED: LLDB (/home/wanyi/llvm-sand/build/Release+Distribution/fbcode-x86_64/toolchain/bin/clang-x86_64) :: test_dsym (TestVectorOfVectorsFromStdModule.TestVectorOfVectors) (test case does not fall in any category of interest for this run)
PASS: LLDB (/home/wanyi/llvm-sand/build/Release+Distribution/fbcode-x86_64/toolchain/bin/clang-x86_64) :: test_dwarf (TestVectorOfVectorsFromStdModule.TestVectorOfVectors)
PASS: LLDB (/home/wanyi/llvm-sand/build/Release+Distribution/fbcode-x86_64/toolchain/bin/clang-x86_64) :: test_dwo (TestVectorOfVectorsFromStdModule.TestVectorOfVectors)
----------------------------------------------------------------------
Ran 3 tests in 4.636s
OK (skipped=1)
--
********************
Testing Time: 4.97s
Total Discovered Tests: 1
Passed: 1 (100.00%)
```
Commit: e2402615a5a76d46a433dfcc1de10b38a1263c9d
https://github.com/llvm/llvm-project/commit/e2402615a5a76d46a433dfcc1de10b38a1263c9d
Author: Ander <github32 at anderg.fastmail.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix option `BreakBinaryOperations` for operator `>>` (#122282)
Fixes #106228.
Commit: 90696d17f2d6fda87d1cb4f75cc35015ba2795c9
https://github.com/llvm/llvm-project/commit/90696d17f2d6fda87d1cb4f75cc35015ba2795c9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Simplify visitDeclRef (#123380)
Try to reduce indentation here.
Commit: 9cd12b5652ec0bcf8670aa7c8ddfddf9212aa94c
https://github.com/llvm/llvm-project/commit/9cd12b5652ec0bcf8670aa7c8ddfddf9212aa94c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
Log Message:
-----------
[TableGen] Inline a helper function that didn't seem necessary. NFC (#123440)
The function called find_if and converted the iterator to an index.
The caller then had to check the index being non-zero to know if the
find succeeded.
Seems better to just do the find and distance in the caller.
Commit: 23746c2f6d12a039a79625a40e6727bb67b87a3c
https://github.com/llvm/llvm-project/commit/23746c2f6d12a039a79625a40e6727bb67b87a3c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
Log Message:
-----------
[TableGen] Use vector constructor instead of calling append or emplace_back on an empty vector. NFC (#123442)
Commit: 6628b5934df8209396b5946e268301416ad7d9f6
https://github.com/llvm/llvm-project/commit/6628b5934df8209396b5946e268301416ad7d9f6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
Log Message:
-----------
[TableGen] Use a range-based for loop. NFC (#123443)
Commit: 909bf38c1fea56aab91b1eb43b8c00c515157a53
https://github.com/llvm/llvm-project/commit/909bf38c1fea56aab91b1eb43b8c00c515157a53
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
Log Message:
-----------
[clang-tidy][NFC] remove unused field in UnusedUsingDeclsCheck (#123451)
Commit: d79e3af8ad126e352338d4fe4e3b2a13c8d587dc
https://github.com/llvm/llvm-project/commit/d79e3af8ad126e352338d4fe4e3b2a13c8d587dc
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
Log Message:
-----------
[TableGen] Fix unused-variable warnings in CodeGenSchedule.cpp (NFC)
/llvm-project/llvm/utils/TableGen/Common/CodeGenSchedule.cpp:1704:32:
error: unused variable 'Seq' [-Werror,-Wunused-variable]
SmallVectorImpl<unsigned> &Seq =
^
/llvm-project/llvm/utils/TableGen/Common/CodeGenSchedule.cpp:1713:32:
error: unused variable 'Seq' [-Werror,-Wunused-variable]
SmallVectorImpl<unsigned> &Seq =
^
2 errors generated.
Commit: c3aa86c9de5dfcc40abad01eabb7f9a301b90a2e
https://github.com/llvm/llvm-project/commit/c3aa86c9de5dfcc40abad01eabb7f9a301b90a2e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-17 (Fri, 17 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
Log Message:
-----------
[TableGen] const-correct a couple CodeGenSchedule methods. NFC
Commit: 10cfd54e6aedc9c97bad84d6f8d32910f591cd26
https://github.com/llvm/llvm-project/commit/10cfd54e6aedc9c97bad84d6f8d32910f591cd26
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Correct defs and uses on {PAC,AUT}I{A,B}171615 (#123354)
I'm not adding tests for this, as I don't think we usually have tests to
verify correct description of defs and uses in instructions?
This fix will be tested when #122304 lands, as one of the regression
tests in that PR fails without this fix.
Commit: 4aedb970097b7ade93127021206199dbb17a4134
https://github.com/llvm/llvm-project/commit/4aedb970097b7ade93127021206199dbb17a4134
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] getsockname interception. (#123409)
Commit: c3a935e3f967f8f22f5db240d145459ee621c1e0
https://github.com/llvm/llvm-project/commit/c3a935e3f967f8f22f5db240d145459ee621c1e0
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/debug-info-object-pointer.cpp
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
Log Message:
-----------
Revert "[clang][DebugInfo] Emit DW_AT_object_pointer on function declarations with explicit `this`" (#123455)
Reverts llvm/llvm-project#122928
Commit: 67c3f2b4303972a6dc8ada54efe1d5d80d119a51
https://github.com/llvm/llvm-project/commit/67c3f2b4303972a6dc8ada54efe1d5d80d119a51
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
M llvm/test/CodeGen/X86/cvt16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
M llvm/test/CodeGen/X86/fp16-libcalls.ll
M llvm/test/CodeGen/X86/half-constrained.ll
M llvm/test/CodeGen/X86/half-darwin.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr91005.ll
M llvm/test/CodeGen/X86/pr95278.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
Log Message:
-----------
[X86] mayFoldIntoStore - peek through oneuse bitcase users to find a store node (#123366)
mayFoldIntoStore currently just checks the direct (oneuse) user of a
SDValue to check its stored, which prevents cases where we bitcast the
value prior to storing (usually the bitcast will be removed later).
This patch peeks up through oneuse BITCAST nodes chain to see if its
eventually stored.
The main use of mayFoldIntoStore is v8i16 EXTRACT_VECTOR_ELT lowering
which will only use PEXTRW/PEXTRB for index0 extractions (vs the faster
MOVD) if the extracted value will be folded into a store on SSE41+
targets.
Fixes #107086
Commit: f4943464d769e2eacd5c54dfaaf0468788abeb84
https://github.com/llvm/llvm-project/commit/f4943464d769e2eacd5c54dfaaf0468788abeb84
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/MLIRContext.cpp
Log Message:
-----------
[mlir][IR] Remove builder API + caching for low-precision FP types (#123321)
Remove builder API (e.g., `b.getFloat4E2M1FNType()`) and caching in
`MLIRContext` for low-precision FP types. Types are still cached in the
type uniquer.
For details, see:
https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361/28
Note for LLVM integration: Use `b.getType<Float4E2M1FNType>()` or
`Float4E2M1FNType::get(b.getContext())` instead of
`b.getFloat4E2M1FNType()`.
Commit: 26c9be2b8d2720700ecc88dcd5b30a77d3b67b18
https://github.com/llvm/llvm-project/commit/26c9be2b8d2720700ecc88dcd5b30a77d3b67b18
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr123333.ll
Log Message:
-----------
[X86] Only call combineBitcastToBoolVector after legalization (#123386)
Prevents infinite loop between combineBitcastToBoolVector and hoistLogicOpWithSameOpcodeHands, which only performs the "logicop(bitcast(A),bitcast(B)) -> bitcast(logicop(A,B))" upto type legalization.
combineBitcastToBoolVector doesn't care much as its mainly for AVX512 cleanup that X86DomainReassignment can't handle for us.
Fixes #123333
Commit: 82be3adcff953635a0719ccb38cd8ef5652908a2
https://github.com/llvm/llvm-project/commit/82be3adcff953635a0719ccb38cd8ef5652908a2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Consistently use getVectorIdxConstant for element/subvector extract/insertion nodes. NFC. (#123312)
Avoid the use of getIntPtrConstant for anything other than address pointer related code.
Noticed while trying to use getVectorIdxConstant as a breakpoint.
Commit: d6666168041e5c2b66205d307a371bab03fb72fb
https://github.com/llvm/llvm-project/commit/d6666168041e5c2b66205d307a371bab03fb72fb
Author: David Green <david.green at arm.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/test/CodeGen/AArch64/adds_cmn.ll
M llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
Log Message:
-----------
[AArch64] Fold swapped sub/SUBS conditions (#121412)
This fold already exists in a couple places (DAG and CGP), where an
icmps operands are swapped to allow CSE with a sub. They do not handle
constants though. This patch adds an AArch64 version that can be more
precise.
Commit: c2d15ac4d4432788557e77c15ce572ac655a8fec
https://github.com/llvm/llvm-project/commit/c2d15ac4d4432788557e77c15ce572ac655a8fec
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
Log Message:
-----------
[VPlan] Update final IV exit value via VPlan. (#112147)
Model updating IV users directly in VPlan, replace fixupIVUsers.
Now simple extracts are created for all phis in the exit block during
initial VPlan construction. A later VPlan transform
(optimizeInductionExitUsers) replaces extracts of inductions with
their pre-computed values if possible.
This completes the transition towards modeling all live-outs directly in
VPlan.
There are a few follow-ups:
* emit extracts initially also for resume phis, and optimize them
tougher with IV exit users
* support for VPlans with multiple exits in optimizeInductionExitUsers.
Depends on https://github.com/llvm/llvm-project/pull/110004,
https://github.com/llvm/llvm-project/pull/109975 and
https://github.com/llvm/llvm-project/pull/112145.
Commit: 58326f1d5b5b379590af92dd129b2f3b3e96af46
https://github.com/llvm/llvm-project/commit/58326f1d5b5b379590af92dd129b2f3b3e96af46
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
Log Message:
-----------
Revert "[VPlan] Update final IV exit value via VPlan. (#112147)"
This reverts commit c2d15ac4d4432788557e77c15ce572ac655a8fec.
Causes build failures on PPC stage2 & fuchsia bots
https://lab.llvm.org/buildbot/#/builders/168/builds/7650
https://lab.llvm.org/buildbot/#/builders/11/builds/11248
Commit: 33f9d839eff79707ae8879a497f7ae9fab6b83ac
https://github.com/llvm/llvm-project/commit/33f9d839eff79707ae8879a497f7ae9fab6b83ac
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
Log Message:
-----------
[X86] X86FixupVectorConstants - split ConvertToBroadcastAVX512 helper to handle single bitwidth at a time.
Attempt 32-bit broadcasts first, and then fallback to 64-bit broadcasts on failure.
We lose an explicit assertion for matching operand numbers but X86InstrFoldTables already does something similar.
Pulled out of WIP patch #73509
Commit: 699f19605579f25083152a9ad21e14c2751d5d66
https://github.com/llvm/llvm-project/commit/699f19605579f25083152a9ad21e14c2751d5d66
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M libcxx/include/__atomic/atomic_sync.h
R libcxx/test/benchmarks/atomic_wait.bench.cpp
A libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
A libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
A libcxx/test/benchmarks/atomic_wait_helper.h
A libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp
Log Message:
-----------
[libc++] remove yield from atomic::wait (#120012)
This is to address the issue where `yield` can cause the thread to be
assigned to the lowest priority.
I have done lots of experiments: see the comments here:
https://github.com/llvm/llvm-project/pull/84471#issuecomment-2522723549
And for this patch, the benchmark has been performed on a 16 core M4 MAX
CPU MacBook Pro.
dylib compiled with Release mode and the test compiled with
optimization=speed
```
Comparing ../../../build_atomic_yield2/ref_new2.json to ../../../build_atomic_yield2/no_yield_new2.json
Benchmark Time CPU Time Old Time New CPU Old CPU New
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<0>>/262144 +0.0460 +0.0392 14949926 15637503 13633314 14167327
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<0>>/524288 +0.0299 +0.0290 24369327 25099004 24367214 25073900
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<0>>/1048576 +0.0648 +0.0640 48149060 51268517 48144857 51226733
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<0>>/4096 +0.0000 -0.8765 204815500 204823427 204514333 25265071
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<0>>/8192 +0.0000 -0.8747 409637520 409640821 408997500 51228071
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<0>>/16384 +0.0001 -0.8737 819244417 819351256 817022000 103217000
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<0>>/4096 +0.0000 -0.9029 409607694 409624937 271866333 26410600
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<0>>/8192 +0.0001 -0.9017 819168417 819269339 542784000 53352429
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<0>>/16384 +0.0001 -0.9012 1638361750 1638522929 1089486000 107684571
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<4>>/262144 +0.3178 +0.3068 12777744 16838266 12764732 16681233
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<4>>/524288 +0.2231 +0.2225 26889415 32887842 26864138 32840550
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<4>>/1048576 +0.1809 +0.1799 56103004 66251660 56048000 66129583
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<4>>/4096 -0.0029 -0.8708 205509986 204906011 204277333 26399538
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<4>>/8192 +0.0001 -0.8711 410286709 410314199 408608000 52667692
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<4>>/16384 -0.0019 -0.8713 821042916 819476441 816274000 105077000
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<4>>/4096 -0.0005 -0.9015 409825792 409638429 273145333 26896400
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<4>>/8192 -0.0027 -0.9014 821528125 819285433 545661000 53775308
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<4>>/16384 -0.0041 -0.9014 1645204459 1638538077 1091726000 107647000
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<7>>/16 -0.4835 -0.4836 1609 831 1609 831
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<7>>/32 -0.4398 -0.4399 3167 1774 3166 1773
BM_1_atomic_1_waiter_1_notifier<KeepNotifying, NumHighPrioTasks<7>>/64 -0.4705 -0.4705 6323 3348 6323 3348
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<7>>/8 +0.0005 -0.8683 400109 400314 399256 52575
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<7>>/16 +0.0005 -0.8683 800055 800483 798797 105165
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<50>, NumHighPrioTasks<7>>/32 +0.0003 -0.8680 1600058 1600585 1597266 210903
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<7>>/8 +0.0004 -0.8976 800006 800365 531802 54441
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<7>>/16 +0.0005 -0.8982 1599965 1600765 1064885 108429
BM_1_atomic_1_waiter_1_notifier<NotifyEveryNus<100>, NumHighPrioTasks<7>>/32 +0.0005 -0.8993 3199905 3201437 2129243 214343
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<0>>/16384 -0.0226 -0.0261 972539 950519 971198 945828
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<0>>/32768 -0.0198 -0.0221 1933294 1895054 1930720 1888094
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<0>>/65536 -0.0031 -0.0039 3835138 3823094 3827785 3812836
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<0>>/4096 +0.4380 +0.4294 571762 822185 570245 815115
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<0>>/8192 +0.0735 +0.0680 1223881 1313880 1221350 1304439
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<0>>/16384 +0.1222 +0.1205 2442071 2740519 2433105 2726274
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<0>>/1024 +0.1527 +1.2188 196081 226031 62647 139001
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<0>>/2048 +0.0757 +0.4838 387858 417228 129250 191780
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<0>>/4096 -0.0355 -0.2443 812827 784003 378109 285722
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/1024 +0.0002 -0.0873 51202059 51211089 51135714 46670867
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/2048 +0.0001 -0.0864 102424970 102432359 102287571 93452000
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/4096 +0.0000 -0.0865 204828250 204834229 204528667 186845250
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/256 +0.0003 -0.1681 12801752 12805016 12786382 10636485
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/512 +0.0001 -0.1686 25601940 25604893 25565481 21254515
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/1024 +0.0000 -0.1569 51210789 51211539 51150143 43122500
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/64 +0.0064 -0.3503 3210430 3230869 2856780 1856063
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/128 +0.0034 -0.3534 6410529 6432308 5704792 3688942
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/256 +0.0011 -0.3600 12821419 12835646 11455934 7331250
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/256 +0.0003 +0.0034 25600089 25608062 24375034 24457172
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/512 +0.0002 -0.0000 51203798 51211795 48859857 48858500
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<0>>/1024 +0.0003 +0.0008 102411321 102437524 97694429 97777286
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/64 +0.0002 -0.0464 6399846 6401009 6070487 5789091
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/128 +0.0002 -0.0457 12799914 12802544 12069966 11518836
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<0>>/256 +0.0001 -0.0513 25599724 25602105 24202862 22962032
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/16 -0.0060 +0.2575 1611779 1602148 956236 1202492
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/32 -0.0064 +0.2964 3221485 3200918 1883540 2441728
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<0>>/64 -0.0046 +0.3087 6432692 6403368 3701725 4844611
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<4>>/256 -0.0536 -0.0592 27458 25988 27402 25780
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<4>>/512 -0.0469 -0.0527 54745 52175 54628 51750
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<4>>/1024 -0.0297 -0.0340 108312 105095 108047 104378
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<4>>/64 -0.2445 -0.2722 15109 11414 14711 10708
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<4>>/128 -0.3132 -0.3515 32494 22317 32063 20794
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<4>>/256 -0.1397 -0.1834 52801 45424 52170 42602
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<4>>/16 +0.1679 +1.0248 28973 33837 13243 26814
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<4>>/32 -0.0481 +0.7901 39155 37273 16072 28771
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<4>>/64 -0.2075 +0.7568 57547 45606 19582 34402
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/256 -0.0001 -0.0807 12802693 12800886 12775327 11744119
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/512 -0.0021 -0.0867 25655056 25601315 25590407 23371667
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/1024 -0.0007 -0.0832 51238801 51201975 51099071 46845733
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/64 +0.0016 -0.2411 3200714 3205846 3176841 2410756
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/128 +0.0008 -0.2373 6404239 6409102 6359649 4850544
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/256 +0.0000 -0.2286 12805839 12806032 12713018 9806653
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/16 +0.0272 +0.0563 811198 833264 482220 509345
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/32 +0.0097 +0.0454 1617205 1632962 957801 1001264
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/64 +0.0050 +0.0389 3217997 3234130 1927921 2002868
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/256 +0.0000 -0.0009 25599763 25601039 24520071 24497071
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/512 +0.0001 -0.0017 51200354 51203628 49086786 49005500
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<4>>/1024 +0.0001 +0.0013 102400369 102409744 97931143 98060857
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/64 -0.0017 +0.0128 6410821 6400104 5529150 5600008
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/128 -0.0011 +0.0215 12817263 12803569 11025889 11263032
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<4>>/256 -0.0005 +0.0193 25612704 25600332 22089065 22515677
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/16 -0.0164 +0.7969 1627422 1600798 665736 1196236
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/32 -0.0095 +0.8362 3231500 3200840 1290017 2368789
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<4>>/64 -0.0050 +0.7319 6433401 6401180 2747936 4759115
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<7>>/16 +0.0155 +0.0092 1177 1195 1171 1181
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<7>>/32 -0.0135 -0.0145 2103 2074 2095 2064
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<3>, NumHighPrioTasks<7>>/64 +0.0022 +0.0009 3832 3841 3820 3823
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<7>>/8 +13.9131 +9.5298 2074 30931 2041 21495
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<7>>/16 +5.9980 +3.9816 3168 22172 3124 15563
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<7>, NumHighPrioTasks<7>>/32 +3.8681 +2.3515 5412 26348 5321 17833
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<7>>/4 +0.1312 +0.4845 31938 36127 12666 18803
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<7>>/8 -0.0475 +0.0775 39196 37336 18078 19479
BM_1_atomic_multi_waiter_1_notifier<KeepNotifying, NumWaitingThreads<15>, NumHighPrioTasks<7>>/16 -0.3146 -0.3853 57548 39441 31743 19513
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/8 -0.0012 -0.0916 400610 400149 399248 362679
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/16 -0.0032 -0.0904 802940 800342 798964 726744
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/32 -0.0030 -0.0911 1604860 1600044 1598235 1452647
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/4 +0.0348 -0.3515 202073 209107 199452 129352
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/8 -0.0004 -0.3628 406727 406545 400942 255464
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/16 -0.0176 -0.3705 821725 807256 803722 505959
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/2 +0.0575 +0.0699 138530 146498 79463 85020
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/4 -0.2307 -0.4182 327417 251885 222502 129448
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<50>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/8 -0.4166 -0.5733 765495 446598 535265 228384
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/8 +0.0001 +0.0022 800108 800227 759501 761200
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/16 +0.0002 +0.0052 1599998 1600327 1515336 1523162
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<3>, NumHighPrioTasks<7>>/32 -0.0004 +0.0029 3201730 3200529 3037191 3045996
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/4 -0.0063 +0.3625 402752 400231 231304 315156
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/8 -0.0029 +0.5760 802313 799998 401474 632716
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<7>, NumHighPrioTasks<7>>/16 -0.0014 +0.4607 1602184 1600012 877859 1282310
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/2 -0.0492 +0.3586 212875 202398 100437 136457
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/4 -0.0927 +0.4432 444857 403606 181089 261350
BM_1_atomic_multi_waiter_1_notifier<NotifyEveryNus<100>, NumWaitingThreads<15>, NumHighPrioTasks<7>>/8 -0.0704 +0.8210 861808 801099 318774 580489
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<0>>/4096 -0.0730 -0.0762 333804 309427 333180 307803
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<0>>/8192 -0.0775 -0.0795 701228 646853 700065 644381
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<0>>/16384 +0.0245 +0.0229 1328777 1361291 1326360 1356745
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<0>>/1024 -0.0541 -0.0562 201559 190662 201259 189940
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<0>>/2048 -0.1959 -0.1986 416092 334584 415412 332927
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<0>>/4096 -0.1699 -0.1710 811966 674040 810157 671584
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<0>>/1024 +0.1383 +0.1301 379893 432426 377756 426885
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<0>>/2048 +0.0396 +0.0339 822384 854937 818110 845866
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<0>>/4096 +0.2499 +0.2451 1350161 1687588 1345121 1674845
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<0>>/256 +0.0042 +0.0101 213598 214487 199282 201303
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<0>>/512 -0.1034 -0.1065 428033 383755 409546 365945
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<0>>/1024 -0.0972 -0.1064 833189 752165 810146 723952
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/1024 +0.0001 -0.1103 51201684 51204581 51124714 45485867
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/2048 -0.0000 -0.1202 102409167 102405120 102243857 89953750
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/4096 +0.0000 -0.1166 204807125 204813833 204453333 180618500
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/256 +0.0002 -0.1623 12803624 12806161 12778727 10704806
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/512 -0.0002 -0.1414 25607327 25603223 25551852 21939152
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/1024 -0.0002 -0.1653 51212196 51202776 51126643 42673625
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/256 -0.0002 -0.0709 12805016 12802157 12784636 11878785
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/512 -0.0002 -0.1182 25611565 25606346 25560815 22540033
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/1024 -0.0002 -0.0813 51220762 51208122 51121071 46963571
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/64 +0.0012 -0.2125 3219858 3223858 3194027 2515373
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/128 -0.0370 -0.2643 6668396 6421601 6563402 4828970
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/256 -0.0288 -0.2220 13220067 12839487 13073964 10172062
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/256 -0.0000 -0.0105 25602159 25600917 24178138 23923759
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/512 +0.0000 -0.0175 51201819 51203125 48569867 47718143
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<0>>/1024 +0.0001 -0.0118 102404155 102414482 96908714 95760857
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/256 +0.0000 -0.0574 25599943 25600621 25326679 23871733
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/512 +0.0001 -0.0813 51200525 51206978 50459500 46355867
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<0>>/1024 +0.0001 -0.0774 102400405 102409875 101483571 93631000
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/128 -0.0002 +0.0456 12802792 12800864 11731131 12265881
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/256 -0.0000 +0.0649 25601667 25601070 22686065 24157862
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<0>>/512 -0.0005 +0.0513 51224453 51200650 45549867 47885533
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/64 -0.0014 +0.2205 6408711 6400039 4698868 5734934
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/128 +0.0155 +0.2459 12810413 13009276 9163080 11416117
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<0>>/256 +0.0081 +0.2304 25603646 25811111 18779784 23106867
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<4>>/128 -0.1103 -0.1108 24307 21625 24256 21568
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<4>>/256 +0.0637 +0.0574 45588 48491 45498 48112
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<2>, NumHighPrioTasks<4>>/512 -0.0519 -0.0539 90764 86054 90527 85648
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<4>>/128 +0.1161 +0.1083 28810 32155 28722 31832
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<4>>/256 +0.1152 +0.1094 64670 72123 64461 71512
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<3>, NumHighPrioTasks<4>>/512 -0.0804 -0.0993 125916 115796 125476 113010
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<4>>/64 +0.2682 -0.2446 53787 68210 51896 39203
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<4>>/128 +0.5732 -0.4832 103915 163474 100825 52105
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<5>, NumHighPrioTasks<4>>/256 +0.1283 -0.4606 211518 238645 203852 109957
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<4>>/16 -0.1526 +0.1523 59673 50567 23275 26819
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<4>>/32 -0.0492 +0.7075 82796 78719 24187 41298
BM_N_atomics_N_waiter_N_notifier<KeepNotifying, NumberOfAtomics<7>, NumHighPrioTasks<4>>/64 -0.0712 +0.0764 150268 139570 55304 59527
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/128 -0.0004 -0.0828 6402859 6400308 6380145 5851557
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/256 -0.0002 -0.0370 12802978 12801020 12769107 12296293
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/512 -0.0028 -0.0799 25674170 25601862 25612667 23566586
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/128 -0.0004 -0.0672 6402990 6400344 6382100 5953248
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/256 -0.0004 -0.0841 12806197 12801334 12765891 11691661
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/512 -0.0006 -0.0574 25615708 25601085 25533250 24067828
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/32 -0.0163 -0.2801 1645647 1618805 1614735 1162471
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/64 -0.0211 -0.2501 3285234 3216045 3217295 2412509
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/128 -0.0502 -0.2956 6755976 6416549 6653264 4686407
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/8 -0.0815 -0.2227 534476 490942 337482 262341
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/16 +0.0973 -0.0629 1071127 1175390 664897 623053
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<50>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/32 -0.2263 -0.3717 2297477 1777444 1488023 934861
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/64 -0.0000 +0.0183 6400348 6400261 6145171 6257342
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/128 +0.0000 +0.0194 12800545 12800759 12279474 12517804
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<2>, NumHighPrioTasks<4>>/256 +0.0001 +0.0111 25601568 25602976 24636179 24909821
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/64 -0.0000 +0.0545 6400600 6400444 5795288 6111077
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/128 +0.0001 +0.0474 12800507 12801355 11566729 12114860
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<3>, NumHighPrioTasks<4>>/256 +0.0000 +0.0423 25601503 25601760 23281967 24267276
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/32 +0.0005 +0.2842 3201968 3203421 2175379 2793615
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/64 -0.0003 +0.3807 6402555 6400496 4052465 5595309
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<5>, NumHighPrioTasks<4>>/128 -0.0003 +0.3827 12804155 12800925 8114370 11219400
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/8 +0.0262 +0.1272 821954 843475 503297 567320
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/16 +0.0298 +0.3134 1634476 1683172 901978 1184619
BM_N_atomics_N_waiter_N_notifier<NotifyEveryNus<100>, NumberOfAtomics<7>, NumHighPrioTasks<4>>/32 +0.0147 +0.2925 3244262 3291994 1721000 2224350
OVERALL_GEOMEAN +0.0185 -0.1876 0 0 0 0
```
---------
Co-authored-by: Hui Xie <huixie at Huis-MacBook-Pro.local>
Co-authored-by: Hui Xie <huixie at Mac.broadband>
Commit: fcedf98d7c2f5131e8f0be2c3809900323b130f0
https://github.com/llvm/llvm-project/commit/fcedf98d7c2f5131e8f0be2c3809900323b130f0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/combine-ptest.ll
Log Message:
-----------
[X86] Add test coverage for #123456
Commit: 55f7491ddec7e65f6dfc50dcb8f6529719d7a057
https://github.com/llvm/llvm-project/commit/55f7491ddec7e65f6dfc50dcb8f6529719d7a057
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll
Log Message:
-----------
[SLP][NFC]Add a test with incomplete insertion mask, NFC
Commit: 2a4c4b554b23f2a7180502c1a635d8aae4dca027
https://github.com/llvm/llvm-project/commit/2a4c4b554b23f2a7180502c1a635d8aae4dca027
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.h
Log Message:
-----------
[TableGen] Use const getter to implement non-const getter instead of the other way around. NFC (#123452)
It's better to cast away constness on the reference being returned than
to cast away constness on the this pointer.
Commit: 9f7c85f46aaa97fae381ac756a64788e0de9138d
https://github.com/llvm/llvm-project/commit/9f7c85f46aaa97fae381ac756a64788e0de9138d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/smul-with-overflow.ll
M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
Log Message:
-----------
[LegalizeIntegerTypes] Use forceExpandWideMUL in ExpandIntRes_XMULO. (#123432)
This generates basically the same code with the operands commuted, but
gets there with less legalization steps.
Commit: bc386a82686d5f40f9f7325cc41aadc43f09cc79
https://github.com/llvm/llvm-project/commit/bc386a82686d5f40f9f7325cc41aadc43f09cc79
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Replace some uses of make_range with methods that already return a range. NFC (#123453)
Commit: 0a33532500a90668f5cfe485134e9c9c388d3614
https://github.com/llvm/llvm-project/commit/0a33532500a90668f5cfe485134e9c9c388d3614
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/unittests/IR/PatternMatch.cpp
Log Message:
-----------
[PatternMatch] Add `m_c_XorLike` matcher; NFC (#122642)
`m_c_XorLike` matches either:
`(xor L, R)`, `(xor R, L)`, or `(sub nuw R, L)` iff `R.isMask()`.
This is in preperation for dropping the fold from:
`(sub C_Mask, X)` -> `(xor X, C_Mask)`
Commit: 02a56c4d01c1621846d7342982d62468e45cede0
https://github.com/llvm/llvm-project/commit/02a56c4d01c1621846d7342982d62468e45cede0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#123444)
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 expect ValueOrInherited to be nonnull. Note that isSet
checks to see if ValueOrInherited is nonnull.
Commit: 80e0cbafba56d428571f4e05e5dfe305b85b809a
https://github.com/llvm/llvm-project/commit/80e0cbafba56d428571f4e05e5dfe305b85b809a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[ByteCode] Migrate away from PointerUnion::dyn_cast (NFC) (#123445)
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 expect D to be nonnull.
Commit: fa9fb2ae94b58828ece7e78140ab8e1047adf0bb
https://github.com/llvm/llvm-project/commit/fa9fb2ae94b58828ece7e78140ab8e1047adf0bb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineSink.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#123447)
Commit: 3f1be86a1acd5286bac16cae833481ee3f80dcbb
https://github.com/llvm/llvm-project/commit/3f1be86a1acd5286bac16cae833481ee3f80dcbb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
[Object] Avoid repeated hash lookups (NFC) (#123448)
Commit: a5fb2bbb2ad8488482843e2298fbe6f6a1d45bbd
https://github.com/llvm/llvm-project/commit/a5fb2bbb2ad8488482843e2298fbe6f6a1d45bbd
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/test/CodeGenCXX/debug-info-object-pointer.cpp
M llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
Log Message:
-----------
Reapply "[clang][DebugInfo] Emit DW_AT_object_pointer on function declarations with explicit `this`" (#123455)
This reverts commit c3a935e3f967f8f22f5db240d145459ee621c1e0.
The only change to the reverted commit is that this also updates
the OCaml bindings according to the C debug-info API changes.
The build failure originally introduced was:
```
FAILED: bindings/ocaml/debuginfo/debuginfo_ocaml.o /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.o
cd /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo && /usr/bin/ocamlfind ocamlc -c /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.c -ccopt "-I/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/bindings/ocaml/debuginfo/../llvm -D_GNU_SOURCE -D_DEBUG -D_GLIBCXX_ASSERTIONS -DEXPENSIVE_CHECKS -D_GLIBCXX_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-clang-x86_64-expensive-checks-debian/build/include -I/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include -DNDEBUG "
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.c: In function ‘llvm_dibuild_create_object_pointer_type’:
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.c:620:30: error: too few arguments to function ‘LLVMDIBuilderCreateObjectPointerType’
620 | LLVMMetadataRef Metadata = LLVMDIBuilderCreateObjectPointerType(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bindings/ocaml/debuginfo/debuginfo_ocaml.c:23:
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include/llvm-c/DebugInfo.h:880:17: note: declared here
880 | LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(LLVMDIBuilderRef Builder,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
Commit: 12f78e740c5419f7d1fbcf8f2106e7a40cd1d6f7
https://github.com/llvm/llvm-project/commit/12f78e740c5419f7d1fbcf8f2106e7a40cd1d6f7
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M clang/test/ARCMT/autoreleases.m
M clang/test/ARCMT/autoreleases.m.result
M clang/test/ARCMT/retains.m
M clang/test/ARCMT/retains.m.result
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-special-member-functions.cpp
M clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist
M clang/test/Analysis/const-method-call.cpp
M clang/test/Analysis/inline-unique-reports.c
M clang/test/Analysis/malloc.c
M clang/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
M clang/test/Analysis/novoidtypecrash.c
M clang/test/Analysis/plist-output.m
M clang/test/Analysis/plist-stats-output.c
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/structured_bindings.cpp
M clang/test/CXX/drs/cwg605.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p5.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp
M clang/test/CodeGen/2003-06-26-CFECrash.c
M clang/test/CodeGen/2003-08-18-SigSetJmp.c
M clang/test/CodeGen/2003-08-23-LocalUnionTest.c
M clang/test/CodeGen/2003-10-29-AsmRename.c
M clang/test/CodeGen/2003-11-20-ComplexDivision.c
M clang/test/CodeGen/2004-06-18-VariableLengthArrayOfStructures.c
M clang/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
M clang/test/CodeGen/2005-01-02-VAArgError-ICE.c
M clang/test/CodeGen/2005-06-15-ExpandGotoInternalProblem.c
M clang/test/CodeGen/2007-01-06-KNR-Proto.c
M clang/test/CodeGen/2008-05-06-CFECrash.c
M clang/test/CodeGen/2008-07-30-redef-of-bitcasted-decl.c
M clang/test/CodeGen/2008-10-13-FrontendCrash.c
M clang/test/CodeGen/2009-01-21-InvalidIterator.c
M clang/test/CodeGen/2009-05-04-EnumInreg.c
M clang/test/CodeGen/2009-07-15-pad-wchar_t-array.c
M clang/test/CodeGen/SystemZ/vec-abi-gnuattr-05.c
M clang/test/CodeGen/X86/avx512fp16-abi.c
M clang/test/CodeGen/X86/x86_64-atomic-128.c
M clang/test/CodeGen/align-local.c
M clang/test/CodeGen/arm-cmse-nonsecure.c
M clang/test/CodeGen/arm-cmse-secure.c
M clang/test/CodeGen/attr-noinline.cpp
M clang/test/CodeGen/attr-noreturn.c
M clang/test/CodeGen/block-copy.c
M clang/test/CodeGen/builtin-memfns.c
M clang/test/CodeGen/catch-undef-behavior.c
M clang/test/CodeGen/cfi-unrelated-cast.cpp
M clang/test/CodeGen/const-label-addr.c
M clang/test/CodeGen/debug-info-crash.c
M clang/test/CodeGen/debug-info.c
M clang/test/CodeGen/empty-union-init.c
M clang/test/CodeGen/exceptions-seh.c
M clang/test/CodeGen/exprs.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/implicit-arg.c
M clang/test/CodeGen/msan-param-retval.c
M clang/test/CodeGen/msan-param-retval.cpp
M clang/test/CodeGen/object-size.c
M clang/test/CodeGen/sparcv8-abi.c
M clang/test/CodeGen/sret.c
M clang/test/CodeGen/static-order.c
M clang/test/CodeGen/staticinit.c
M clang/test/CodeGen/struct.c
M clang/test/CodeGen/ubsan-debuglog-return.c
M clang/test/CodeGen/union.c
M clang/test/CodeGen/ve-abi.c
M clang/test/CodeGenCXX/2007-01-06-PtrMethodInit.cpp
M clang/test/CodeGenCXX/2007-09-10-RecursiveTypeResolution.cpp
M clang/test/CodeGenCXX/2007-10-01-StructResize.cpp
M clang/test/CodeGenCXX/2009-08-11-VectorRetTy.cpp
M clang/test/CodeGenCXX/2010-07-23-DeclLoc.cpp
M clang/test/CodeGenCXX/address-space-cast-coerce.cpp
M clang/test/CodeGenCXX/array-value-initialize.cpp
M clang/test/CodeGenCXX/attr.cpp
M clang/test/CodeGenCXX/c-linkage.cpp
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
M clang/test/CodeGenCXX/conditional-gnu-ext.cpp
M clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp
M clang/test/CodeGenCXX/debug-info-cxx0x.cpp
M clang/test/CodeGenCXX/debug-info-scoped-class.cpp
M clang/test/CodeGenCXX/debug-lambda-this.cpp
M clang/test/CodeGenCXX/expr.cpp
M clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
M clang/test/CodeGenCXX/mangle-exprs.cpp
M clang/test/CodeGenCXX/mangle-variadic-templates.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/CodeGenCXX/matrix-type-operators.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
M clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp
M clang/test/CodeGenCXX/new-alias.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/reference-field.cpp
M clang/test/CodeGenCXX/return.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenCXX/trap-fnattr.cpp
M clang/test/CodeGenCXX/ubsan-check-debuglocs.cpp
M clang/test/CodeGenObjC/2007-10-18-ProDescriptor.m
M clang/test/CodeGenObjC/2008-11-25-Blocks.m
M clang/test/CodeGenObjC/debug-info-crash.m
M clang/test/CodeGenObjC/encode-test.m
M clang/test/CodeGenObjC/message-arrays.m
M clang/test/CodeGenObjC/metadata-symbols-32.m
M clang/test/CodeGenObjC/metadata-symbols-64.m
M clang/test/CodeGenObjC/objc2-weak-compare.m
M clang/test/CodeGenObjC/objc2-write-barrier-2.m
M clang/test/CodeGenObjC/protocols-lazy.m
M clang/test/CodeGenObjC/strong-in-c-struct.m
M clang/test/CodeGenObjCXX/debug-info-line.mm
M clang/test/CodeGenObjCXX/instantiate-return.mm
M clang/test/CodeGenObjCXX/pr14474-gline-tables-only.mm
M clang/test/CodeGenObjCXX/property-dot-reference.mm
M clang/test/CodeGenObjCXX/return.mm
M clang/test/CoverageMapping/switch.cpp
M clang/test/Driver/cc-log-diagnostics.c
M clang/test/FixIt/fixit-availability-maccatalyst.m
M clang/test/FixIt/fixit-c++11.cpp
M clang/test/Frontend/absolute-paths.c
M clang/test/Frontend/ast-codegen.c
M clang/test/Frontend/ast-main.cpp
M clang/test/Misc/serialized-diags-stable.c
M clang/test/Modules/pr61067.cppm
M clang/test/Modules/redecl-merge.m
M clang/test/PCH/irgen-rdar13114142.mm
M clang/test/PCH/late-parsed-instantiations.cpp
M clang/test/PCH/pr4489.c
M clang/test/PCH/va_arg.c
M clang/test/PCH/va_arg.h
M clang/test/Parser/promote_types_in_proto.c
M clang/test/Rewriter/rewrite-extern-c.mm
M clang/test/Sema/freemain.c
M clang/test/Sema/return-type-mismatch.c
M clang/test/SemaCXX/attr-noreturn.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
A clang/test/SemaCXX/err-missing-noreturn-1.cpp
A clang/test/SemaCXX/err-missing-noreturn-2.cpp
M clang/test/SemaCXX/return-noreturn.cpp
M clang/test/SemaCXX/warn-missing-noreturn.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-add-assign.cpp
M clang/test/SemaObjC/return-noreturn.m
M clang/test/SemaObjC/try-catch.m
M clang/test/SemaTemplate/late-parsing-eager-instantiation.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Tooling/ASTSelectionTest.cpp
M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
Log Message:
-----------
[Clang] [NFC] Fix unintended `-Wreturn-type` warnings everywhere in the test suite (#123464)
In preparation of making `-Wreturn-type` default to an error (as there
is virtually no situation where you’d *want* to fall off the end of a
function that is supposed to return a value), this patch fixes tests
that have relied on this being only a warning, of which there seem
to be 3 kinds:
1. Tests which for no apparent reason have a function that triggers the
warning.
I suspect that a lot of these were on accident (or from before the
warning was introduced), since a lot of people will open issues w/ their
problematic code in the `main` function (which is the one case where you
don’t need to return from a non-void function, after all...), which
someone will then copy, possibly into a namespace, possibly renaming it,
the end result of that being that you end up w/ something that
definitely is not `main` anymore, but which still is declared as
returning `int`, and which still has no return statement (another reason
why I think this might apply to a lot of these is because usually the
actual return type of such problematic functions is quite literally
`int`).
A lot of these are really old tests that don’t use `-verify`, which is
why no-one noticed or had to care about the extra warning that was
already being emitted by them until now.
2. Tests which test either `-Wreturn-type`, `[[noreturn]]`, or what
codegen and sanitisers do whenever you do fall off the end of a
function.
3. Tests where I struggle to figure out what is even being tested
(usually because they’re Objective-C tests, and I don’t know
Objective-C), whether falling off the end of a function matters in the
first place, and tests where actually spelling out an expression to
return would be rather cumbersome (e.g. matrix types currently don’t
support list initialisation, so I can’t write e.g. `return {}`).
For tests that fall into categories 2 and 3, I just added
`-Wno-error=return-type` to the `RUN` lines and called it a day. This
was especially necessary for the former since `-Wreturn-type` is an
analysis-based warning, meaning that it is currently impossible to test
for more than one occurrence of it in the same compilation if it
defaults to an error since the analysis pass is skipped for subsequent
functions as soon as an error is emitted.
I’ve also added `-Werror=return-type` to a few tests that I had already
updated as this patch was previously already making the warning an error
by default, but we’ve decided to split that into two patches instead.
Commit: 8e85b77f6a73477ab094acf0dccce61590a29222
https://github.com/llvm/llvm-project/commit/8e85b77f6a73477ab094acf0dccce61590a29222
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#123446)
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 92a6eff62badaf20095848e1777840bc3ffc2022
https://github.com/llvm/llvm-project/commit/92a6eff62badaf20095848e1777840bc3ffc2022
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll
Log Message:
-----------
[SLP][NFC]Fix the test to use poison and update to show the error
Commit: 2b1e037adb274c515b6ebe7808cc7da6a5b9c3b3
https://github.com/llvm/llvm-project/commit/2b1e037adb274c515b6ebe7808cc7da6a5b9c3b3
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll
Log Message:
-----------
[SLP]Fix createInsertVector mask emission
Commit: 4233a15c9f8e6f77a00a5770a35b70ab8a2705c6
https://github.com/llvm/llvm-project/commit/4233a15c9f8e6f77a00a5770a35b70ab8a2705c6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/initializes.ll
Log Message:
-----------
[FunctionAttrs] Handle zero writes in initializes inference.
ConstantRange's constructor asserts that the range not empty, except if
lower/upper are min or max values.
Check if the length is strictly positive instead of just non-negative so
std::nullopt is returned when the size is 0. If that's the case, the
access doesn't initialize anything.
This should fix a crash when building on macOS with ASan & UBsan after
https://github.com/llvm/llvm-project/pull/97373 /
https://github.com/llvm/llvm-project/pull/117104 landed:
https://green.lab.llvm.org/job/llvm.org/job/clang-stage2-cmake-RgSan/664/console
Commit: bb59eb8ed534da2bd03117cfde594321add4d60c
https://github.com/llvm/llvm-project/commit/bb59eb8ed534da2bd03117cfde594321add4d60c
Author: Jacob Young <jacobly.alt at gmail.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/add.ll
A llvm/test/Transforms/InstCombine/icmp-srem.ll
Log Message:
-----------
[InstCombine] fold unsigned predicates on srem result (#122520)
This allows optimization of more signed floor implementations when the
divisor is a known power of two to an arithmetic shift.
Proof for the implemented optimizations:
https://alive2.llvm.org/ce/z/j6C-Nz
Proof for the test cases:
https://alive2.llvm.org/ce/z/M_PBjw
---------
Co-authored-by: Jacob Young <jacobly0 at users.noreply.github.com>
Commit: eae5ca9b45bf1232f30d92ce50c19c1ea82c0f0b
https://github.com/llvm/llvm-project/commit/eae5ca9b45bf1232f30d92ce50c19c1ea82c0f0b
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][Vector] Support poison in `vector.shuffle` mask (#122188)
This PR extends the existing poison support in
https://mlir.llvm.org/docs/Dialects/UBOps/ by representing poison mask
values in `vector.shuffle`. Similar to LLVM (see
https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/IR/Instructions.h#L1884)
this requires defining an integer value (`-1`) to represent poison in
the `vector.shuffle` mask.
Commit: 106c483a102e1328f11e2b1d9398f4ad2826b59f
https://github.com/llvm/llvm-project/commit/106c483a102e1328f11e2b1d9398f4ad2826b59f
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Improve brace wrapping and add an option to control indentation of `export { ... }` (#110381)
`export { ... }` blocks can get a bit long, so I thought it would make
sense to have an option that makes it so their contents are not indented
(basically the same argument as for namespaces).
This is based on the `NamespaceIndentation` option, except that there is
no option to control the behaviour of `export` blocks when nested because
nesting them doesn’t really make sense.
Additionally, brace wrapping of short `export { ... }` blocks is now controlled by the
`AllowShortBlocksOnASingleLine` option. There is no separate option just for `export`
blocks because you can just write e.g. `export int x;` instead of `export { int x; }`.
This closes #121723.
Commit: 30e517c0c70be42686ec10c2960813302f2a9654
https://github.com/llvm/llvm-project/commit/30e517c0c70be42686ec10c2960813302f2a9654
Author: Vladimir Vereschaka <vvereschaka at accesssoftek.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
Log Message:
-----------
[libcxx][test] Fix a test for the range of file offsets on ARMv7 Linux targets. (#123449)
Mark the `offset_range` test as UNSUPPORTED for the
`armv7-unknown-linux-gnueabihf` target (32-bit).
Ref PR #122798
Commit: 6789442eb2e1ed92b2157e96e9e9eafed5c53f17
https://github.com/llvm/llvm-project/commit/6789442eb2e1ed92b2157e96e9e9eafed5c53f17
Author: ssijaric-nv <ssijaric at nvidia.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
A llvm/test/CodeGen/AArch64/aarch64-large-stack-spbump.mir
Log Message:
-----------
[AArch64] Fix a corner case with large stack allocation (#122038)
In the unlikely case where the stack size is greater than 4GB, we may run into
the situation where the local stack size and the callee saved registers stack
size get combined incorrectly when restoring the callee saved registers. This
happens because the stack size in shouldCombineCSRLocalStackBumpInEpilogue
is represented as an 'unsigned', but is passed in as an 'int64_t'. We end up with
something like
$fp, $lr = frame-destroy LDPXi $sp, 536870912
This change just makes 'shouldCombineCSRLocalStackBumpInEpilogue' match
'shouldCombineCSRLocalStackBump' where 'StackBumpBytes' is an 'uint64_t'
Commit: 24ab0125ba86ea49bb046eb434c1b3861b2d3dd2
https://github.com/llvm/llvm-project/commit/24ab0125ba86ea49bb046eb434c1b3861b2d3dd2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
Log Message:
-----------
[CodeGen] Rewrite assert in Register::asMCReg() using member functions. NFC
Commit: 0e4a10dff8eac9ac38d7dbed0c0d32d4a68a5a69
https://github.com/llvm/llvm-project/commit/0e4a10dff8eac9ac38d7dbed0c0d32d4a68a5a69
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[MC] Add MCRegister::isPhysical. NFC
Commit: f811482a744454c442456dd4275929b1eb1871b6
https://github.com/llvm/llvm-project/commit/f811482a744454c442456dd4275929b1eb1871b6
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
[AMDGPU] SIWholeQuadMode: Ensure earliest WQM entry point for PS (#123266)
Ensure shaders running WQM (PS) enter at the earliest point irrespective
of WQM marking.
Commit: f8b27949a8c4fa8d8e15f9858e2ed38d7267f7dd
https://github.com/llvm/llvm-project/commit/f8b27949a8c4fa8d8e15f9858e2ed38d7267f7dd
Author: Aviad Cohen <aviadcohen7 at gmail.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][scf]: Add value bound between scf for loop yield and result (#123200)
We can prove that:
%result == %init_arg + trip_count * (%yielded_value - %iter_arg). Where
trip_count is (ub - lb) / step.
Commit: 0a44d3a57f03e8263f1509eb397201c9e07b21aa
https://github.com/llvm/llvm-project/commit/0a44d3a57f03e8263f1509eb397201c9e07b21aa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/lib/CodeGen/VirtRegMap.cpp
Log Message:
-----------
[CodeGen] Use MCRegister instead of MCPhysReg in VirtRegMap. NFC
The callers of these methods already use MCRegister.
Commit: 81357627deba3411d4dfd2c819639195cdf80770
https://github.com/llvm/llvm-project/commit/81357627deba3411d4dfd2c819639195cdf80770
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
Volunteer for loop interchange transform (#120824)
After our talk on LoopVectorization, we are looking at various loop
transformations. I would like to volunteer myself for LoopInterchange
transform.
Commit: 4a486e773e0ef1add4515ee47b038c274ced2e76
https://github.com/llvm/llvm-project/commit/4a486e773e0ef1add4515ee47b038c274ced2e76
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-18 (Sat, 18 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
Log Message:
-----------
[CodeGen] Use Register/MCRegister::isPhysical. NFC
Commit: 7a7d12bba9557aca1e1c5251ac5815bb911bd5ca
https://github.com/llvm/llvm-project/commit/7a7d12bba9557aca1e1c5251ac5815bb911bd5ca
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github] Bump max ccache size for premerge
This patch bumps the max ccache size for premerge jobs to 2GB. Doing a manual
invocation against changes in LLVM produces about 1GB of cache. The default
is 500MB, which we feel might be contributing to the very poor cache
utilization.
Commit: 0cb2fe5183c9b25bb96140c27d12b1ad4a80aa92
https://github.com/llvm/llvm-project/commit/0cb2fe5183c9b25bb96140c27d12b1ad4a80aa92
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang] Deprecate __is_referenceable (#123185)
`__is_referenceable` is almost unused in the wild, and the few cases I
was able to find had checks around them. Since The places in the
standard library where `__is_referenceable` is used have bespoke
builtins, it doesn't make a ton of sense to keep this builtin around.
See #123078
Commit: b5df0e71082fc9b11a9ecf85599a453d21f1025a
https://github.com/llvm/llvm-project/commit/b5df0e71082fc9b11a9ecf85599a453d21f1025a
Author: klensy <klensy at users.noreply.github.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
Log Message:
-----------
[SelectionDAG] late init DeferredNodes (#123461)
No need to init `SmallVector` (even stack allocated) if we can exit
literally on next line.
Co-authored-by: klensy <nightouser at gmail.com>
Commit: 6adeda8f5505592d68676cce336c07a9dc651b26
https://github.com/llvm/llvm-project/commit/6adeda8f5505592d68676cce336c07a9dc651b26
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-ptest.ll
Log Message:
-----------
[X86] combinePTESTCC - fold PTESTC(PCMPEQ(X,0),-1) == PTESTZ(X,X) (#123466)
Simplifies the hidden "all_of(X == 0)" pattern
Fixes #123456
Commit: 0d39fe6f5bb3edf0bddec09a8c6417377390aeac
https://github.com/llvm/llvm-project/commit/0d39fe6f5bb3edf0bddec09a8c6417377390aeac
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Handle VPDerivedIV and more VPInsts in isUniformAfterVector.
In preparation for re-landing
https://github.com/llvm/llvm-project/pull/112147, also consider
VPDerivedIVRecipe and VPInstructions with binary opcodes and PtrAdd with
all uniform operands as uniform themselves.
Effectively NFC, but will be exercised once #112147 re-lands.
Commit: ddfd89ae442618e86d30a260a854f89512b58167
https://github.com/llvm/llvm-project/commit/ddfd89ae442618e86d30a260a854f89512b58167
Author: A. Jiang <de34 at live.cn>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M libcxx/docs/Status/Cxx20Papers.csv
Log Message:
-----------
[libc++][Docs] Mark P1353R0 as complete (#123020)
Library feature-test macros added by P1353R0 are already implemented.
- `__cpp_lib_destroying_delete` was added by
ae02e8944807c7b611ca3645a983c62d464f27a4
(https://reviews.llvm.org/D55840) in LLVM 9.
- `__cpp_lib_three_way_comparison` was added by #91515 in LLVM 19.
Commit: 0ab1f5772cbe6855d55bade566d885b7504c32ee
https://github.com/llvm/llvm-project/commit/0ab1f5772cbe6855d55bade566d885b7504c32ee
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx17.cpp
Log Message:
-----------
[clang][bytecode] Register decomposition holding vars (#123515)
Commit: 293dbea8b0169525d93a4ee4b7d6c53aa9d4bee0
https://github.com/llvm/llvm-project/commit/293dbea8b0169525d93a4ee4b7d6c53aa9d4bee0
Author: DeNiCoN <denicon1234 at gmail.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/Contributing.rst
M clang/docs/ClangTransformerTutorial.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GitHub.rst
M llvm/docs/MyFirstTypoFix.rst
Log Message:
-----------
Fix some typos (#123506)
Fixes some typos in the documentation
Commit: 471cec3b247645405ae430457f7a016ab57170a8
https://github.com/llvm/llvm-project/commit/471cec3b247645405ae430457f7a016ab57170a8
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
Log Message:
-----------
[Github] Bump Windows Actions Runner to v2.321.0 (#123508)
The current container is on an old version that can no longer recieve
messages from Github, which causes the runner to just be recreated every
couple seconds rather than performing any useful work.
Commit: f7ebb138c298fdf4a972083f3d794fab1e1d83ef
https://github.com/llvm/llvm-project/commit/f7ebb138c298fdf4a972083f3d794fab1e1d83ef
Author: David Green <david.green at arm.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/fsh.ll
Log Message:
-----------
[AArch64] Add more funnel shift test coverage. NFC
Commit: f13850a92c13d41ee377b8ebb2c226895fddbb57
https://github.com/llvm/llvm-project/commit/f13850a92c13d41ee377b8ebb2c226895fddbb57
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M clang/lib/AST/Decl.cpp
Log Message:
-----------
[AST] Migrate away from PointerUnion::dyn_cast (NFC) (#123499)
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 expect Init to be nonnull. Note that hasInit returns true
only if Init is nonnull among other conditions.
Commit: 3d15bfb40c14233a479439eb98f0318d1795b02a
https://github.com/llvm/llvm-project/commit/3d15bfb40c14233a479439eb98f0318d1795b02a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#123500)
Commit: 6a5a795c2b3623786129a2551627fcd5b44f9f9a
https://github.com/llvm/llvm-project/commit/6a5a795c2b3623786129a2551627fcd5b44f9f9a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
Log Message:
-----------
[Coroutines] Avoid repeated hash looksup (NFC) (#123501)
Commit: 24892b868199ce67bcab60d91a58e13beba6a258
https://github.com/llvm/llvm-project/commit/24892b868199ce67bcab60d91a58e13beba6a258
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
[MC] Avoid repeated hash lookups (NFC) (#123502)
Commit: 2a4c484739b313431b41e5094cfcd021284bbece
https://github.com/llvm/llvm-project/commit/2a4c484739b313431b41e5094cfcd021284bbece
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/lib/Support/VirtualFileSystem.cpp
Log Message:
-----------
[Support] Avoid repeated hash lookups (NFC) (#123503)
Commit: 8d90473c3e8f25d7bf1f27275c2354161e47cb0c
https://github.com/llvm/llvm-project/commit/8d90473c3e8f25d7bf1f27275c2354161e47cb0c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-outside-iv-users.ll
Log Message:
-----------
[LV] Add tests with outisde IV users where vector region can e removed.
Tests for crash caused by initial version of
https://github.com/llvm/llvm-project/pull/112147.
Commit: 2c87133c6212d4bd02b5e64adbb51f4e66bc2351
https://github.com/llvm/llvm-project/commit/2c87133c6212d4bd02b5e64adbb51f4e66bc2351
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
Log Message:
-----------
Reapply "[VPlan] Update final IV exit value via VPlan. (#112147)"
This reverts the revert commit 58326f1d5b5b379590af92dd129b2f3b3e96af46.
The build failure in sanitizer stage2 builds has been fixed with
0d39fe6f5bb3edf0bddec09a8c6417377390aeac.
Original commit message:
Model updating IV users directly in VPlan, replace fixupIVUsers.
Now simple extracts are created for all phis in the exit block during
initial VPlan construction. A later VPlan transform
(optimizeInductionExitUsers) replaces extracts of inductions with
their pre-computed values if possible.
This completes the transition towards modeling all live-outs directly in
VPlan.
There are a few follow-ups:
* emit extracts initially also for resume phis, and optimize them
tougher with IV exit users
* support for VPlans with multiple exits in optimizeInductionExitUsers.
Depends on https://github.com/llvm/llvm-project/pull/110004,
https://github.com/llvm/llvm-project/pull/109975 and
https://github.com/llvm/llvm-project/pull/112145.
Commit: 04034f0549d4313c556c857f1e60e70ce87d8076
https://github.com/llvm/llvm-project/commit/04034f0549d4313c556c857f1e60e70ce87d8076
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M flang/unittests/Optimizer/CMakeLists.txt
Log Message:
-----------
[flang] [unittests] Link to libMLIR in optimizer tests (#123476)
Handle the one unittest executable that I've missed in #120966.
Commit: 69d3ba3db922fca8cfc47b5f115b6bea6a737aab
https://github.com/llvm/llvm-project/commit/69d3ba3db922fca8cfc47b5f115b6bea6a737aab
Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/test/CAPI/irdl.c
M mlir/test/Dialect/IRDL/cmath.irdl.mlir
M mlir/test/Dialect/IRDL/cpred.irdl.mlir
M mlir/test/Dialect/IRDL/cyclic-types.irdl.mlir
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
M mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
M mlir/test/Dialect/IRDL/test-type.irdl.mlir
M mlir/test/Dialect/IRDL/testd.irdl.mlir
M mlir/test/Dialect/IRDL/variadics-error.irdl.mlir
M mlir/test/Dialect/IRDL/variadics.irdl.mlir
M mlir/test/Dialect/Transform/irdl.mlir
M mlir/test/tblgen-to-irdl/CMathDialect.td
M mlir/test/tblgen-to-irdl/TestDialect.td
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][irdl] Introduce names in IRDL value lists (#123525)
In order to meaningfully generate getters and setters from IRDL, it
makes sense to embed the names of operands, results, etc. in the IR
definition. This PR introduces this feature. Names are constrained
similarly to TableGen names.
Commit: b7eee2c3fe953df5f5aa1f543759d9a1e54d5ef7
https://github.com/llvm/llvm-project/commit/b7eee2c3fe953df5f5aa1f543759d9a1e54d5ef7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/CallingConvLower.cpp
M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
M llvm/lib/CodeGen/ExecutionDomainFix.cpp
M llvm/lib/CodeGen/InterferenceCache.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegUsageInfoCollector.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
Log Message:
-----------
[CodeGen] Remove some implict conversions of MCRegister to unsigned by using(). NFC
Many of these are indexing BitVectors or something where we can't
using MCRegister and need the register number.
Commit: c46df8538034d706d4e5927314950f2a1b79e771
https://github.com/llvm/llvm-project/commit/c46df8538034d706d4e5927314950f2a1b79e771
Author: Michal Paszkowski <michal at michalpaszkowski.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M .github/workflows/spirv-tests.yml
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[SPIR-V] Add SPIRV to LLVM_ALL_TARGETS (#119653)
This commit promotes the SPIR-V backend from experimental to official
status. As a result, SPIR-V will be built by default, simplifying
integration and increasing accessibility for downstream projects.
Discussion and RFC on Discourse:
https://discourse.llvm.org/t/rfc-promoting-spir-v-to-an-official-target/83614
Commit: de586937648d360d8c4741cd34f633ea92316874
https://github.com/llvm/llvm-project/commit/de586937648d360d8c4741cd34f633ea92316874
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][MachO] Add a TODO comment.
Commit: 630139460ea7fe8c4b6e6ea2973830117a8048ee
https://github.com/llvm/llvm-project/commit/630139460ea7fe8c4b6e6ea2973830117a8048ee
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
Log Message:
-----------
[ORC] Use BinaryFormat to convert Triple to MachO cputype / cpusubtype values.
Commit: 5af79053023b58e1f7bf173d6cc91a654554a267
https://github.com/llvm/llvm-project/commit/5af79053023b58e1f7bf173d6cc91a654554a267
Author: Michal Paszkowski <michal at michalpaszkowski.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M .github/workflows/spirv-tests.yml
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
Revert "[SPIR-V] Add SPIRV to LLVM_ALL_TARGETS" (#123532)
Reverts llvm/llvm-project#119653
Commit: dd42651295d0e1566b34104b007ad19865c57fcc
https://github.com/llvm/llvm-project/commit/dd42651295d0e1566b34104b007ad19865c57fcc
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt
Log Message:
-----------
[ORC] Add BinaryFormat dependence to the LLVMOrcDebugging library.
This is needed as of 630139460ea7 for MachO::getCPUType and
MachO::getCPUSubType.
Commit: 814b34f31e163e76b816194004689985f5b9fd7b
https://github.com/llvm/llvm-project/commit/814b34f31e163e76b816194004689985f5b9fd7b
Author: Patryk Wychowaniec <pwychowaniec at pm.me>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.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/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
M llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
Log Message:
-----------
[AVR] Force relocations for non-encodable jumps (#121498)
This commit changes the branch emission logic so that instead of
throwing the "branch target out of range" error, we emit a relocation
instead.
Commit: 0288d065eecb1208971dc4cdcc71731e34c6fca0
https://github.com/llvm/llvm-project/commit/0288d065eecb1208971dc4cdcc71731e34c6fca0
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
A llvm/test/CodeGen/LoongArch/linker-relaxation.ll
A llvm/test/CodeGen/LoongArch/mir-relax-flags.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
Log Message:
-----------
[LoongArch] Avoid scheduling relaxable code sequence and attach relax relocs (#121330)
If linker relaxation enabled, relaxable code sequence expanded from
pseudos should avoid being separated by instruction scheduling. This
commit tags scheduling boundary for them to avoid being scheduled.
(Except for `tls_le/tls_ie` and `call36/tail36`. Because `tls_le/tls_ie`
can be scheduled and have no influence to relax, `call36/tail36` are
expanded later in `LoongArchExpandPseudo` pass.)
A new mask target-flag is added to attach relax relocs to the relaxable
code sequence. (No need to add it for `tls_le` and `call36/tail36`
because we can simply add relax relocs for them according to their
relocs. But for other code sequence, such as `PCALA_{HI20/LO12}`, we
must use the mask flag, mainly because relax should not be added when
code model is large.)
Because of the new mask target-flag, get "direct" flags is necessary
when using their target-flags. In addition, code sequence after being
optimized by `MergeBaseOffset` pass may not relaxable any more, so the
relax "bitmask" flag should be removed.
Commit: b08b56381cb4c24f37afba793dc872b6d721d9f7
https://github.com/llvm/llvm-project/commit/b08b56381cb4c24f37afba793dc872b6d721d9f7
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
[NFC][AMDGPU] Clean-up feature parsing for AMDGCNSPIRV. (#123519)
When we did the initial AMDGCNSPIRV commits we left the initialisation
of the feature map in a relatively disorderly state. This change
corrects that oversight:
- We make sure that AMDGCNSPIRV actually advertises the union of all
AMDGCN features, as some were not included;
- We keep feature initialisation in sorted order to make it easy to pick
an insertion point when features are added in the future.
Commit: ad599c25d91c668391bfae71d813164c4b412d76
https://github.com/llvm/llvm-project/commit/ad599c25d91c668391bfae71d813164c4b412d76
Author: Alexey Moksyakov <yavtuk at yandex.ru>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Add isPush & isPop (#120713)
This functionality is needed for inliner pass and also for correct dyno
stats.
Needed for [PR](https://github.com/llvm/llvm-project/pull/120187)
Commit: 7bf8190a36e73456d1b79ee6621c0fe10a67baba
https://github.com/llvm/llvm-project/commit/7bf8190a36e73456d1b79ee6621c0fe10a67baba
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
Log Message:
-----------
Fix typo in comment
Commit: 6d12b954a7df11e32acf110950d88bac282079b8
https://github.com/llvm/llvm-project/commit/6d12b954a7df11e32acf110950d88bac282079b8
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
A llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/EHFrameRegistrationPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC] Move EHFrameRegistrationPlugin into its own header + source file. NFC.
Commit: a0345550974b21be862848cf9933868723b9c765
https://github.com/llvm/llvm-project/commit/a0345550974b21be862848cf9933868723b9c765
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 6d12b954a7df
Commit: 4294fe173e9696a4c090857fa0766cd44c1964dc
https://github.com/llvm/llvm-project/commit/4294fe173e9696a4c090857fa0766cd44c1964dc
Author: Brad Smith <brad at comstyle.com>
Date: 2025-01-19 (Sun, 19 Jan 2025)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/test/Driver/freebsd.c
Log Message:
-----------
[Driver][FreeBSD] Remove FreeBSD/loongarch32 support (#122515)
FreeBSD going forward will not have 32-bit arch support.
Also missed a spot with removing riscv32 support.
Commit: cd9ca423b7400000b4e0199450283439fcc1bbd9
https://github.com/llvm/llvm-project/commit/cd9ca423b7400000b4e0199450283439fcc1bbd9
Author: Hyunsung Lee <hlee at octo.ai>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/lib/Transforms/InlinerPass.cpp
Log Message:
-----------
Remove unnecessary return in InlinerPass.cpp (#123507)
`void InlinerPass::runOnOperation()` doesn't need to have `return;` at
the end of the procedure.
Commit: 295d1c361e7b6a0f4dc1294f23fbb4f4f490d091
https://github.com/llvm/llvm-project/commit/295d1c361e7b6a0f4dc1294f23fbb4f4f490d091
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
Log Message:
-----------
[AArch64] apple-m4 & apple-a15 have ADRP+ADD fusion (#123504)
Commit: 84c89d0aa4beff4a4d6c36eda125278c48e41128
https://github.com/llvm/llvm-project/commit/84c89d0aa4beff4a4d6c36eda125278c48e41128
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
Log Message:
-----------
[LV][EVL] Address post-commit comments for 9720be9. (NFC) (#123311)
Commit: 3b67383c6cb777e4f37dd1a5af0872843c9ab35a
https://github.com/llvm/llvm-project/commit/3b67383c6cb777e4f37dd1a5af0872843c9ab35a
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/test/MC/Mips/coff-relocs.ll
Log Message:
-----------
[MC][Mips] Generate required IMAGE_REL_MIPS_PAIR relocation (#120876)
Add the required IMAGE_REL_MIPS_PAIR relocation after
IMAGE_REL_MIPS_REFHI/IMAGE_REL_MIPS_SECRELHI
Microsoft PE/COFF specification says that the IMAGE_REL_MIPS_REFHI
relocation contains "the high 16 bits of the target's 32-bit virtual
address. [...] This relocation must be immediately followed by a PAIR
relocation whose SymbolTableIndex contains a 16-bit displacement which
is added to the upper 16 bits taken from the location being relocated."
Microsoft PE/COFF specification says that the IMAGE_REL_MIPS_SECRELHI
relocation contains "the high 16 bits of the 32-bit offset of the target
from the beginning of its section. A PAIR relocation must immediately
follow this on. The SymbolTableIndex of the PAIR relocation contains a
16-bit displacement, which is added to the upper 16 bits taken from the
location being relocated."
Behavior has been checked against Microsoft C compiler for MIPS.
Commit: be68f35bf55baf6150180170ec17371f0be90689
https://github.com/llvm/llvm-project/commit/be68f35bf55baf6150180170ec17371f0be90689
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/test/MC/Mips/coff-relocs.ll
Log Message:
-----------
[MC][CodeGen][Mips] Add CodeView mapping (#120877)
Also add support for new relocation types required by debug information.
Constants have been taken from CodeView Symbolic Debug Information
Specification.
Commit: 71d6287f5b1e65466de5fe5c093852fa7903cdbe
https://github.com/llvm/llvm-project/commit/71d6287f5b1e65466de5fe5c093852fa7903cdbe
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/test/CodeGen/pragma-comment.c
Log Message:
-----------
[Clang][MIPS] Create correct linker arguments for Windows toolchains (#121041)
Commit: 046b064df0ac9d4530e79f11077a768383b1ca16
https://github.com/llvm/llvm-project/commit/046b064df0ac9d4530e79f11077a768383b1ca16
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode][NFC] Use FixedPoint opaque int API (#123522)
Now that we have it, use it.
Commit: 5c6db8c9e0c488585e642e0c17582ba3aaab7518
https://github.com/llvm/llvm-project/commit/5c6db8c9e0c488585e642e0c17582ba3aaab7518
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[MLIR] TosaToLinalg: Prefer to emit identity maps (#123295)
When deciding whether to emit a map like
`#map = affine_map<(d0, d1, d2, d3) -> (0, d1, d2, d3)>` or `#map =
affine_map<(d0, d1, d2, d3) -> (d0, d1, d2, d3)>` for an operand of a
`linalg.generic` when lowering element-wise TOSA ops, prefer the latter
unless broadcasting of the operand is really needed.
This helps later transformations which often require the affine map to
be a projected permuatation.
Commit: 02909a4046fbfffbe4332f796ea2089854c12bab
https://github.com/llvm/llvm-project/commit/02909a4046fbfffbe4332f796ea2089854c12bab
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt] rtsan pipe2 interception for Linux. (#123517)
completing fpurge interception for mac too.
Commit: 6972788bf3d330b7a6136e2ddd840782882b8dd0
https://github.com/llvm/llvm-project/commit/6972788bf3d330b7a6136e2ddd840782882b8dd0
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Fix discarding DerivedToBase casts (#123523)
Commit: 84220eccb6ce5413f9782590b3877bd689c9b43c
https://github.com/llvm/llvm-project/commit/84220eccb6ce5413f9782590b3877bd689c9b43c
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
A llvm/test/CodeGen/LoongArch/preld.ll
Log Message:
-----------
[LoongArch] Add generation support for `preld` instruction (#118436)
Instruction `preld` is used to prefetch one cache-line of data from
memory in advance into the cache.
This commit allows it to be generated automatically.
Commit: 18d5d84d761d9f6c12dcfd3d23a965203cd5f886
https://github.com/llvm/llvm-project/commit/18d5d84d761d9f6c12dcfd3d23a965203cd5f886
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] intercept getpeername/recvmmsg/sendmmsg (#123484)
Commit: ca4886bf96f0b6dcc151c03bd8c7df414f3f659b
https://github.com/llvm/llvm-project/commit/ca4886bf96f0b6dcc151c03bd8c7df414f3f659b
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
M llvm/test/Transforms/LoopDataPrefetch/LoongArch/basic.ll
Log Message:
-----------
[LoongArch] Impl TTI hooks for LoongArch to support LoopDataPrefetch pass (#118437)
Inspired by https://reviews.llvm.org/D146600, this commit adds
some TTI hooks for LoongArch to make LoopDataPrefetch pass
really work. Including:
- `getCacheLineSize()`: 64 for loongarch64.
- `getPrefetchDistance()`: After testing SPEC CPU 2017, improvements
taken by prefetching are more obvious when set PrefetchDistance to
200(results shown blow), although different benchmarks fit for different
best choice.
- `enableWritePrefetching()`: store prefetch is supported by LoongArch,
so set WritePrefetching to true in default.
- `getMinPrefetchStride()` and `getMaxPrefetchIterationsAhead()` still
use default values: 1 and UINT_MAX, so not override them.
After this commit, the test added by https://reviews.llvm.org/D146600
can generate llvm.prefetch intrinsic IR correctly.
Results of spec2017rate benchmarks (testing date: ref, copies: 1):
- For all C/C++ benchmarks, compared to O3+novec/lsx/lasx, prefetch can
bring about -1.58%/0.31%/0.07% performance improvement for int
benchmarks and 3.26%/3.73%/3.78% improvement for floating point
benchmarks. (Only O3+novec+prefetch decreases when testing intrate.)
- But prefetch results in performance reduction almost for every Fortran
benchmark compiled by flang. While considering all C/C++/Fortran
benchmarks, prefetch performance will decrease about 1% ~ 5%.
FIXME: Keep `loongarch-enable-loop-data-prefetch` option default to
false for now due to the bad effect for Fortran.
Commit: a6bb8a707c4fb7c0953cfd8ae6c5aeb4f3a1feb8
https://github.com/llvm/llvm-project/commit/a6bb8a707c4fb7c0953cfd8ae6c5aeb4f3a1feb8
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/include/mlir/Target/SPIRV/Serialization.h
Log Message:
-----------
[MLIR] Add missing include (NFC)
Needed for libstdc++ 15 compatibility.
Commit: 7a77f14c0abfbecbfb800ea8d974e66d81ee516a
https://github.com/llvm/llvm-project/commit/7a77f14c0abfbecbfb800ea8d974e66d81ee516a
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/Types.h
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/IR/Types.cpp
Log Message:
-----------
[mlir][IR] Remove `isF...()` type API for low-precision FP types (#123326)
Remove `type.isFloat4E2M1FN()` etc. Use `isa<Float4E2M1FNType>(type)`
instead.
For details, see:
https://discourse.llvm.org/t/rethink-on-approach-to-low-precision-fp-types/82361/28
Commit: c0055ec434cbb132d7776f8b4c39e99b69fa97ea
https://github.com/llvm/llvm-project/commit/c0055ec434cbb132d7776f8b4c39e99b69fa97ea
Author: Tomer Solomon <tomsol2009 at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
A mlir/include/mlir/Conversion/MathToEmitC/MathToEmitC.h
A mlir/include/mlir/Conversion/MathToEmitC/MathToEmitCPass.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/MathToEmitC/CMakeLists.txt
A mlir/lib/Conversion/MathToEmitC/MathToEmitC.cpp
A mlir/lib/Conversion/MathToEmitC/MathToEmitCPass.cpp
A mlir/test/Conversion/MathToEmitC/math-to-emitc-failed.mlir
A mlir/test/Conversion/MathToEmitC/math-to-emitc.mlir
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][EmitC] Add MathToEmitC pass for math function lowering to EmitC (#113799)
This commit introduces a new MathToEmitC conversion pass that lowers
selected math operations from the Math dialect to the emitc.call_opaque
operation in the EmitC dialect.
**Supported Math Operations:**
The following operations are converted:
- math.floor -> emitc.call_opaque<"floor">
- math.round -> emitc.call_opaque<"round">
- math.exp -> emitc.call_opaque<"exp">
- math.cos -> emitc.call_opaque<"cos">
- math.sin -> emitc.call_opaque<"sin">
- math.acos -> emitc.call_opaque<"acos">
- math.asin -> emitc.call_opaque<"asin">
- math.atan2 -> emitc.call_opaque<"atan2">
- math.ceil -> emitc.call_opaque<"ceil">
- math.absf -> emitc.call_opaque<"fabs">
- math.powf -> emitc.call_opaque<"pow">
**Target Language Standards:**
The pass supports targeting different language standards:
- C99: Generates calls with suffixes (e.g., floorf, fabsf) for
single-precision floats.
- CPP11: Prepends std:: to functions (e.g., std::floor, std::fabs).
**Design Decisions:**
The pass uses emitc.call_opaque instead of emitc.call to better emulate
C-style function overloading.
emitc.call_opaque does not require a unique type signature, making it
more suitable for operations like <math.h> functions that may be
overloaded for different types.
This design choice ensures compatibility with C/C++ conventions.
Commit: d0c9e70bcc40948821e83eb0ec32e6e15fb0dd4b
https://github.com/llvm/llvm-project/commit/d0c9e70bcc40948821e83eb0ec32e6e15fb0dd4b
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
A mlir/test/Dialect/LLVMIR/inlining-debuginfo.mlir
Log Message:
-----------
[MLIR][LLVM] Improve inlining debug information (#123520)
This commit improves the debug information for `alloca` and `memcpy`
operations generated by the LLVM dialect inlining interface.
When inlining by value parameters, the inliner creates `alloca` and
`memcpy` operations. This revision sets the location of these created
operations to the respective argument locations instead of the function
location. This change enables users to better identify the source code
location of the copied variables.
Commit: 333562e7ec0393ba0110100ac7bea9bcf7150d03
https://github.com/llvm/llvm-project/commit/333562e7ec0393ba0110100ac7bea9bcf7150d03
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
Log Message:
-----------
[LoongArch] Avoid compilation warning. NFC (#123553)
Avoid `warning: enumerated mismatch in conditional expression:
'llvm::LoongArchISD::NodeType' vs 'llvm::ISD::NodeType'` while compiling
`LoongArchISelLowering.cpp`.
Commit: 754ed95b6672b9a678a994cc652862a91cdc4406
https://github.com/llvm/llvm-project/commit/754ed95b6672b9a678a994cc652862a91cdc4406
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARC/ARCISelLowering.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.h
M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
M llvm/lib/Target/CSKY/CSKYISelLowering.h
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.h
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.h
M llvm/lib/Target/Mips/MipsCCState.cpp
M llvm/lib/Target/Mips/MipsCCState.h
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.h
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/test/CodeGen/Mips/mips64-f128.ll
Log Message:
-----------
[Mips] Fix compiler crash when returning fp128 after calling a functi… (#117525)
…on returning { i8, i128 }
Fixes https://github.com/llvm/llvm-project/issues/96432.
Commit: 0b1ae8963eb4accf8e85b73b834c84c1a73346ba
https://github.com/llvm/llvm-project/commit/0b1ae8963eb4accf8e85b73b834c84c1a73346ba
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[AutoUpgrade] Avoid unnecessary pointer bitcasts (NFCI)
Not needed with opaque pointers.
Commit: 6f0a627dd3c21209ea45f355ecedd15d739418a1
https://github.com/llvm/llvm-project/commit/6f0a627dd3c21209ea45f355ecedd15d739418a1
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
Log Message:
-----------
[Clang] Correctly propagate type aliases' unexpanded flags up to lambda (#122875)
We should have been checking desugar() for the type of the right-hand
side of a typedef declaration, instead of using getCanonicalType(),
which points to the end of the type alias chain.
Fixes https://github.com/llvm/llvm-project/issues/122417
Commit: d049db83627d164e4353f59a5f0b4f87dd74b138
https://github.com/llvm/llvm-project/commit/d049db83627d164e4353f59a5f0b4f87dd74b138
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCast.cpp
M clang/test/SemaCXX/reinterpret-cast.cpp
Log Message:
-----------
[clang] Fix false warning on reinterpret_casting unknown template type (#109430)
After 1595988ee6f9732e7ea79928af8a470ad5ef7dbe
diag::warn_undefined_reinterpret_cast started raising on
non-instantiated template functions without sufficient knowledge whether
the reinterpret_cast is indeed UB.
Commit: 1297c1125f9c284e0cc0f2bf50d4b7ba519f7309
https://github.com/llvm/llvm-project/commit/1297c1125f9c284e0cc0f2bf50d4b7ba519f7309
Author: Christian Sigg <csigg at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/BlockSupport.h
M mlir/include/mlir/IR/Region.h
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/ValueRange.h
Log Message:
-----------
[mlir] Add `[[lifetimebound]]` to Range classes. (#123091)
This prevents creating range class instances from temporaries.
Commit: 4b3c17850bd2ca9971084c9945b51b214c1d89a9
https://github.com/llvm/llvm-project/commit/4b3c17850bd2ca9971084c9945b51b214c1d89a9
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M offload/cmake/caches/AMDGPUBot.cmake
Log Message:
-----------
[Offload] Enable shared-libs; compiler-rt as default RTLIB (#123568)
This is the next step to move the CMake cache file builder closer to the
build configuration we care about downstream.
Commit: 1be64c27f1773e7cc87f9a7efdf5bab36c6beaf5
https://github.com/llvm/llvm-project/commit/1be64c27f1773e7cc87f9a7efdf5bab36c6beaf5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
Log Message:
-----------
[clang][bytecode] Fix diagnostic mismatch with current interpreter (#123571)
Don't report dead pointers if we've checking for a potential constant
expression.
Commit: 5139c90dfcacfba3d6ddc16ccb377a086abac7aa
https://github.com/llvm/llvm-project/commit/5139c90dfcacfba3d6ddc16ccb377a086abac7aa
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[LLParser] Avoid PointerType::get() with type argument (NFC)
Use the methods accepting LLVMContext instead.
Commit: 5a7a3242639a17b049d70ee00798957ea21eb182
https://github.com/llvm/llvm-project/commit/5a7a3242639a17b049d70ee00798957ea21eb182
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/include/clang/Sema/Overload.h
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang][NFC] Migrate bit-fields of OverloadCandidate to LLVM_PREFERRED_TYPE
Commit: a16adafd4799665718f54596054bbc816d151f92
https://github.com/llvm/llvm-project/commit/a16adafd4799665718f54596054bbc816d151f92
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Symbols.cpp
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64x-entry.test
Log Message:
-----------
[LLD][COFF] Add support for alternate entry point in CHPE metadata on ARM64X (#123346)
Includes handling for ARM64X relocations relative to a symbol.
Commit: 0f8297ae0b27489048700a1314fff12fe554c999
https://github.com/llvm/llvm-project/commit/0f8297ae0b27489048700a1314fff12fe554c999
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix dependencies for 69d3ba3db922fca8cfc47b5f115b6bea6a737aab
Commit: 96c4f978d0fd1339262a350e118375ee4bf5fc57
https://github.com/llvm/llvm-project/commit/96c4f978d0fd1339262a350e118375ee4bf5fc57
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
A llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.h
M llvm/test/CodeGen/AMDGPU/lower-term-opcodes.mir
M llvm/test/CodeGen/AMDGPU/optimize-exec-copies-extra-insts-after-copy.mir
Log Message:
-----------
[AMDGPU][NewPM] Port SIOptimizeExecMasking to NPM (#123572)
Commit: fe7cb156064ff59dba7c0496db3b4da39fb1a663
https://github.com/llvm/llvm-project/commit/fe7cb156064ff59dba7c0496db3b4da39fb1a663
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[SPIR-V] Improve portability of the code (#123584)
Adding SPIRV to LLVM_ALL_TARGETS
(https://github.com/llvm/llvm-project/pull/119653) revealed a series of
minor compilation problems and sanitizer complaints. This PR is to
address the problem.
Commit: 8b7bfb417a220822ddd8231e58dcd785d8d96aed
https://github.com/llvm/llvm-project/commit/8b7bfb417a220822ddd8231e58dcd785d8d96aed
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M libclc/clc/include/clc/common/clc_degrees.h
M libclc/clc/include/clc/common/clc_radians.h
Log Message:
-----------
[libclc] Rename include guards. NFC.
Commit: 3ace18d5c08d0bb2c74c77562ee488c9e5049737
https://github.com/llvm/llvm-project/commit/3ace18d5c08d0bb2c74c77562ee488c9e5049737
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGen.cpp
Log Message:
-----------
[CodeGen] MachineFunctionSplitter: Add missing initializer (#123564)
This registers the pass with PassRegistry so we can use -start-before
and other options for machine-function-splitter.
Commit: 4d21096c207847463a0253e0876c95c92e74adc3
https://github.com/llvm/llvm-project/commit/4d21096c207847463a0253e0876c95c92e74adc3
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M flang/test/Lower/module_use.f90
Log Message:
-----------
[Flang] Modify module test to run in a sub-directory (#123364)
This is to avoid race conditions with other tests.
Commit: 2d6d476ffbfc207aae2bf9f12be14483b31d100a
https://github.com/llvm/llvm-project/commit/2d6d476ffbfc207aae2bf9f12be14483b31d100a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
M polly/CMakeLists.txt
M polly/cmake/polly_macros.cmake
Log Message:
-----------
[Polly][CMake] Fix exports (#122123)
If Polly is built with LLVM_POLLY_LINK_INTO_TOOLS=ON (the default for
monorepo builds), then Polly will become a dependency of the
LLVMExtensions component, which is part of LLVMExports. As such, all the
Polly libraries also have to be part of LLVMExports.
However, if Polly is built with LLVM_POLLY_LINK_INTO_TOOLS=OFF, we also
end up adding Polly libraries to LLVMExports. This is undesirable, as it
adds a hard dependency from llvm on polly.
Fix this by only exporting polly libraries from LLVMExports if
LLVM_POLLY_LINK_INTO_TOOLS is enabled.
Commit: bd96295e090b62687c2e55f54a918425d035568a
https://github.com/llvm/llvm-project/commit/bd96295e090b62687c2e55f54a918425d035568a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/test/CodeGen/X86/ms-x86-intrinsics.c
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics.c
Log Message:
-----------
[Clang] Use more liberal pointer attribute wildcard in ms-intrinsics tests (NFC)
Allow arbitrary attributes, including those with arguments.
Commit: a4d9a8de0820f3ccc2eb35870cac199e8dacd9e6
https://github.com/llvm/llvm-project/commit/a4d9a8de0820f3ccc2eb35870cac199e8dacd9e6
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/test/CodeGen/mips-vector-return.c
M clang/test/CodeGen/mips64-nontrivial-return.cpp
Log Message:
-----------
[Clang] Don't match irrelevant attributes in mips return tests (NFC)
The only thing these tests care about from an ABI perspective is sret,
don't also test all the optimization attributes.
Commit: 27a2d3d0887ef8a61bc953e76a22bb8a628a1ea0
https://github.com/llvm/llvm-project/commit/27a2d3d0887ef8a61bc953e76a22bb8a628a1ea0
Author: David Green <david.green at arm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Log Message:
-----------
[AArch64] Build v2i64 Mul cost out of getArithmeticInstrCost and getVectorInstrCost. NFCI
This should not effect the result, unless the getArithmeticInstrCost and
getVectorInstrCost routines learn to produce different costs (with CostKind =
CodeSize for example). The -1 lanes prevent 0 lanes from (incorrectly) being
marked as free.
Commit: a79ae862ab2999cad89879743335423b985ae3fd
https://github.com/llvm/llvm-project/commit/a79ae862ab2999cad89879743335423b985ae3fd
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
Log Message:
-----------
[Clang] Regenerate test checks (NFC)
To reduce diffs in an upcoming change.
Commit: af91372b75613d5654e68d393477e8621cb93da7
https://github.com/llvm/llvm-project/commit/af91372b75613d5654e68d393477e8621cb93da7
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
A flang/test/Integration/debug-cyclic-derived-type-3.f90
Log Message:
-----------
[flang][debug] Improve handling of cyclic derived types. (#122770)
When `RecordType` is converted to corresponding `DIType`, we cache the
information to avoid doing the conversion again.
Our conversion of `RecordType` looks like this:
`ConvertRecordType(RecordType Ty)`
1. If type `Ty` is already in the cache, then return the corresponding
item.
2. Create a place holder `DICompositeTypeAttr` (called `ty_self` below)
for `Ty`
3. Put `Ty->ty_self` in the cache
4. Convert members of `Ty`. This may cause `ConvertRecordType` to be
called again with other types.
5. Create final `DICompositeTypeAttr`
6. Replace the `ty_self` in the cache with one created in step 5 end
The purpose of creating `ty_self` is to handle cases where a member may
have reference to parent type.
Now consider the code below:
```
type t1
type(t2), pointer :: p1
end type
type t2
type(t1), pointer :: p2
end type
```
While processing t1, we could have a structure like below. `t1 -> t2 ->
t1_self`
The `t2` created during handling of `t1` cant be cached on its own as it
contains a place holder reference. It will fail an assert in MLIR if it
is processed standalone. To avoid this problem, we have a check in the
step 6 above to not cache such types. But this check was not tight
enough. It just checked if a type should not have a place holder
reference to another type. It missed the following case where the place
holder reference can be in a type further down the line.
```
type t1
type(t2), pointer :: p1
end type
type t2
type(t3), pointer :: p2
end type
type t3
type(t1), pointer :: p3
end type
```
So while processing `t1`, we have to stop caching of not only `t3` but
also of `t2`. This PR improves the check and moves the logic inside
`convertRecordType`.
Please note that this limitation of why a type cant have a placeholder
reference is because of how such references are resolved in the mlir.
Please see the discussion at the end of this
[PR](https://github.com/llvm/llvm-project/pull/106571).
I have to change `getDerivedType` so that it will also get the derived
type for things like `type(t2), pointer :: p1` which are wrapped in
`BoxType`. Happy to move it to a new function or a local helper in case
this change is problematic.
Fixes #122024.
Commit: 0ec153b9fde70da3b46292d0627b3896e0bdceab
https://github.com/llvm/llvm-project/commit/0ec153b9fde70da3b46292d0627b3896e0bdceab
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
Log Message:
-----------
[flang][debug] Remove an unused function to fix build. (#123602)
Commit: d70f54f248853f4d5f9e71a51dfda53a47f0b7d3
https://github.com/llvm/llvm-project/commit/d70f54f248853f4d5f9e71a51dfda53a47f0b7d3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/c23.c
M clang/test/AST/ByteCode/literals.cpp
Log Message:
-----------
[clang][bytecode] Fix reporting failed local constexpr initializers (#123588)
We need to emit the 'initializer of X is not a constant expression' note
for local constexpr variables as well.
Commit: 5ce271ef74dd3325993c827f496e460ced41af11
https://github.com/llvm/llvm-project/commit/5ce271ef74dd3325993c827f496e460ced41af11
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[MLIR] TosaToLinalgNamed: Lower unsigned tosa.max_pool2d (#123290)
This PR allows to lower **unsigned** `tosa.max_pool2d` to linalg.
```
// CHECK-LABEL: @max_pool_ui8
func.func @max_pool_ui8(%arg0: tensor<1x6x34x62xui8>) -> tensor<1x4x32x62xui8> {
// CHECK: builtin.unrealized_conversion_cast {{.*}} : tensor<1x6x34x62xui8> to tensor<1x6x34x62xi8>
// CHECK: arith.constant 0
// CHECK: linalg.pooling_nhwc_max_unsigned {{.*}} : (tensor<1x4x32x62xi8>) -> tensor<1x4x32x62xi8>
// CHECK: builtin.unrealized_conversion_cast {{.*}} : tensor<1x4x32x62xi8> to tensor<1x4x32x62xui8>
%0 = tosa.max_pool2d %arg0 {pad = array<i64: 0, 0, 0, 0>, kernel = array<i64: 3, 3>, stride = array<i64: 1, 1>} : (tensor<1x6x34x62xui8>) -> tensor<1x4x32x62xui8>
return %0 : tensor<1x4x32x62xui8>
}
```
It does this by
- converting the MaxPool2dConverter from OpRewriterPattern to
OpConversion Pattern
- adjusting the padding value to the the minimum unsigned value when the
max_pool is unsigned
- lowering to `linalg.pooling_nhwc_max_unsigned` (which uses
`arith.maxui`) when the max_pool is unsigned
Commit: d9f165ddea3223217a959c3cea3d2c613b132935
https://github.com/llvm/llvm-project/commit/d9f165ddea3223217a959c3cea3d2c613b132935
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
Log Message:
-----------
[SDAG] Add an ISD node to help lower vector.extract.last.active (#118810)
Based on feedback from the clastb codegen PR, I'm refactoring basic codegen for the vector.extract.last.active intrinsic to lower to an ISD node in SelectionDAGBuilder then expand in LegalizeVectorOps, instead of doing everything in the builder.
The new ISD node (vector_find_last_active) only covers finding the index of the last active element of the mask, and extracting the element + handling passthru is left to existing ISD nodes.
Commit: 1c5b12257d19681d72a52e39eb2247dc6ab6af3b
https://github.com/llvm/llvm-project/commit/1c5b12257d19681d72a52e39eb2247dc6ab6af3b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/test/DebugInfo/NVPTX/debug-info.ll
Log Message:
-----------
[NVPTX][DEBUGINFO][NFC]Reduce test file to ease maintenance
Commit: 456ec1c2f4e487de235c953e8f2832b97372e7b0
https://github.com/llvm/llvm-project/commit/456ec1c2f4e487de235c953e8f2832b97372e7b0
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/gh54176-scalar-deps.ll
M llvm/test/Transforms/LoopInterchange/inner-only-reductions.ll
M llvm/test/Transforms/LoopInterchange/innermost-latch-uses-values-in-middle-header.ll
M llvm/test/Transforms/LoopInterchange/interchange-flow-dep-outer.ll
M llvm/test/Transforms/LoopInterchange/lcssa.ll
M llvm/test/Transforms/LoopInterchange/outer-header-jump-to-inner-latch.ll
M llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
M llvm/test/Transforms/LoopInterchange/pr43797-lcssa-for-multiple-outer-loop-blocks.ll
M llvm/test/Transforms/LoopInterchange/profitability.ll
M llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll
M llvm/test/Transforms/LoopInterchange/unique-dep-matrix.ll
M llvm/test/Transforms/LoopInterchange/vector-gep-operand.ll
Log Message:
-----------
[LoopInterchange] Remove 'S' Scalar Dependencies (#119345)
We are not handling 'S' scalar dependencies correctly and have at least
the following miscompiles related to that:
[LoopInterchange] incorrect handling of scalar dependencies and dependence vectors starting with ">" #54176
[LoopInterchange] Interchange breaks program correctness #46867
[LoopInterchange] Loops should not interchanged due to dependencies #47259
[LoopInterchange] Loops should not interchanged due to control flow #47401
This patch does no longer insert the "S" dependency/direction into the
dependency matrix, so a dependency is never "S". We seem to have
forgotten what the exact meaning is of this dependency type, and don't
see why it should be treated differently.
We prefer correctness over incorrect and more aggressive results. I.e.,
this prevents the miscompiles at the expense of handling less cases,
i.e. making interchange more pessimistic. However, some of the cases
that are now rejected for dependence analysis reasons, were rejected
before too but for other reasons (e.g. profitability). So at least for
the llvm regression tests, the number of regression are very reasonable.
This should be a stopgap. We would like to get interchange enabled by
default and thus prefer correctness over unsafe transforms, and later
see if we can get solve the regressions.
Commit: 57466db7a459ce285f053ecac3c309f49f2cce6a
https://github.com/llvm/llvm-project/commit/57466db7a459ce285f053ecac3c309f49f2cce6a
Author: bernhardu <bernhardu at mailbox.org>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Support some more 3 byte instructions. (#120474)
This patch adds several instructions seen when trying to run a
executable built with ASan with llvm-mingw.
(x86 and x86_64, using the git tip in llvm-project).
Also includes instructions collected by
Roman Pišl and Eric Pouech in the Wine bug reports below.
```
Related: https://github.com/llvm/llvm-project/issues/96270
Co-authored-by: Roman Pišl <rpisl at seznam.cz>
https://bugs.winehq.org/show_bug.cgi?id=50993
https://bugs.winehq.org/attachment.cgi?id=70233
Co-authored-by: Eric Pouech <eric.pouech at gmail.com>
https://bugs.winehq.org/show_bug.cgi?id=52386
https://bugs.winehq.org/attachment.cgi?id=71626
```
Commit: 977d744b21d06415ac872258bf86e026d8eb487f
https://github.com/llvm/llvm-project/commit/977d744b21d06415ac872258bf86e026d8eb487f
Author: Kirill Chibisov <contact at kchibisov.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/if.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
M mlir/test/Dialect/EmitC/transforms.mlir
Log Message:
-----------
[mlir][emitc] Set default dialect to emitc in ops with block (#123036)
This is a follow up to 68a3908148c (func: Set default dialect to
'emitc'), but for other instructions with blocks to make it look
consistent.
Commit: 9b853f63bef20fd1f19ec933667b1f619afc0f1d
https://github.com/llvm/llvm-project/commit/9b853f63bef20fd1f19ec933667b1f619afc0f1d
Author: Dominic Chen <1108560+ddcc at users.noreply.github.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M libcxx/include/__vector/vector.h
Log Message:
-----------
[libc++] Fix vector sanitization annotations on destruction (#121031)
In https://reviews.llvm.org/D136765 / https://reviews.llvm.org/D144155,
the asan annotations for `std::vector` were modified to unpoison freed
backing memory on destruction, instead of leaving it poisoned. However,
calling `__clear()` instead of `clear()` skips informing the asan runtime
of this decrease in the accessible container size, which breaks the
invariant that the value of `old_mid` should match the value of `new_mid`
from the previous call to `__sanitizer_annotate_contiguous_container`, which
can trip the sanity checks for the partial poison between [d1, d2) and the
container redzone between [d2, c), if enabled. To fix this, ensure that
`clear()` is called instead, as is already done by `__vdeallocate()`.
Also remove `__clear()`, since it is no longer called.
Commit: a733c1fa90f3d26dbf399f7676e11fad0e3f5eeb
https://github.com/llvm/llvm-project/commit/a733c1fa90f3d26dbf399f7676e11fad0e3f5eeb
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
Log Message:
-----------
[AArch64][NFC] Move getPartialReductionCost into cpp file (#123370)
The function getPartialReductionCost is already quite large and
is likely to grow in size as we add support for more cases in
future. Therefore, I think it's best to move this into the cpp
file.
Commit: b5c9cba3f33512014a18622a0e3479851faf4ce9
https://github.com/llvm/llvm-project/commit/b5c9cba3f33512014a18622a0e3479851faf4ce9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/FixedPoint.h
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode] Don't memcpy() FixedPoint values (#123599)
llvm::FixedPoint is not trivially copyable.
Commit: 58af82b4623c1871a78a53ef86f64d4891dcc2da
https://github.com/llvm/llvm-project/commit/58af82b4623c1871a78a53ef86f64d4891dcc2da
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/include/DeviceTypes.h
M offload/DeviceRTL/include/Synchronization.h
Log Message:
-----------
[OpenMP] Remove 'omp assumes' scopes now that we have no inline ASM (#123611)
Summary:
We used this globally scoped `ext_no_call_asm` as a sort of hack around
the compiler that allowed the attributor to optimize out inline assembly
calls to PTX instructions. Quite some time ago I got rid of every inline
assembly call and replaced it with a builitin, so this can just be
deleted.
Furthermore, I use the `[[omp::assume]]` attribute directly for the
aligned barrier usage. This prints an unknown assumption warning (even
though it isn't) so I'm just silencing that for now until I fix it
later.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 9cf24652e783147b5063925ce025b9f8a6e8fe25
https://github.com/llvm/llvm-project/commit/9cf24652e783147b5063925ce025b9f8a6e8fe25
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
Log Message:
-----------
[AMDGPU] Fix spurious NoAlias results (#122309)
After a30e50fc, AMDGPUAAResult is being called in more situations where
BasicAA isn't sure. This exposed some regressions where NoAlias is being
incorrectly returned for two identical pointers.
The fix is to check the underlying objects for equality before returning
NoAlias.
Commit: b92cc780606ea7fa1afdff49a2c84934841ece6f
https://github.com/llvm/llvm-project/commit/b92cc780606ea7fa1afdff49a2c84934841ece6f
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
A llvm/test/tools/llvm-objdump/XCOFF/private-headers-option.test
M llvm/tools/llvm-objdump/XCOFFDump.cpp
Log Message:
-----------
[llvm-objdump] Print out xcoff load section of xcoff object file with option private-headers (#121226)
[llvm-objdump] Print out xcoff load section of xcoff object file with
option private-headers
Commit: 3b001db4f9668cfa29572e5f1911ec7cef8b0ac2
https://github.com/llvm/llvm-project/commit/3b001db4f9668cfa29572e5f1911ec7cef8b0ac2
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests for xfer permutation lowering (1/N) (#123076)
1. Remove `%c0 = arith.constant 0 : index` from testt functions. This
extra Op is not needed (the index can be passed as an argument), so
this is just noise.
2. Replaced `%cst_0` with `%pad` to communicate what the underlying SSA
value is intended for.
3. Unified some comments.
Commit: 723a3e746ab7f130d448343e6a7b61e146954b60
https://github.com/llvm/llvm-project/commit/723a3e746ab7f130d448343e6a7b61e146954b60
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/IR/Assumptions.cpp
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/include/Synchronization.h
M offload/test/jit/empty_kernel.inc
Log Message:
-----------
[OpenMP] Fix mispelled attribute and warning
Summary:
This is spelled `ompx_aligned_barrier` when used directly, but wasn't
included in the list of known assumptions. Fix that so now th test
works.
Commit: fcec8756e25333b6f49472f00e043f2389736c0b
https://github.com/llvm/llvm-project/commit/fcec8756e25333b6f49472f00e043f2389736c0b
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[LoopVectorize][NFC] Simplify ScaledReductionExitInstrs map (#123368)
For the following variable
DenseMap<const Instruction *, std::pair<PartialReductionChain,
unsigned>>
ScaledReductionExitInstrs;
we never actually need the PartialReductionChain when using the map.
I've cleaned this up so that this now becomes
DenseMap<const Instruction *, unsigned> ScaledReductionMap;
Commit: cc5eba1737146a727a61b5dbe16d8c2ac453981e
https://github.com/llvm/llvm-project/commit/cc5eba1737146a727a61b5dbe16d8c2ac453981e
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll
Log Message:
-----------
[AMDGPU] Reject misaligned SGPR constraints for inline asm (#123590)
The indices of SGPR register pairs need to be 2-aligned and SGPR
quadruplets need to be 4-aligned. With this patch, we report an error
when inline asm register constraints specify a misaligned register
index, instead of silently dropping the specified index.
Fixes #123208
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: aa3c31a86f39552d11f0d5bae8b50541d73aa442
https://github.com/llvm/llvm-project/commit/aa3c31a86f39552d11f0d5bae8b50541d73aa442
Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[MLIR] Prevent invalid IR from being passed outside of RemoveDeadValues (#121079)
This is a follow-up for https://github.com/llvm/llvm-project/pull/119110
and a fix for https://github.com/llvm/llvm-project/issues/118450
RemoveDeadValues used to delete Values and analyzing the IR at the same
time, because of that, `isMemoryEffectFree` got invalid IR with
half-deleted linalg.generic operation. This PR separates analysis and
cleanup to prevent such situation.
Thank you!
---------
Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>
Co-authored-by: Andrzej Warzyński <andrzej.warzynski at gmail.com>
Commit: 8552c490462eb4180733d1f80d7b381e1518e29f
https://github.com/llvm/llvm-project/commit/8552c490462eb4180733d1f80d7b381e1518e29f
Author: David Green <david.green at arm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/Transforms/LoopVectorize/AArch64/prefer-fixed-if-equal-to-scalable.ll
Log Message:
-----------
[AArch64] Enable UseFixedOverScalableIfEqualCost for more Cortex-x cpus. (#122807)
For similar reasons for fixed-width being prefered to scalable for
Neoverse V2, this patch enables the UseFixedOverScalableIfEqualCost
feature when using -mcpu=cortex-x2, x3, x4 and x925 that are similar to
Neoverse V2.
Commit: 9c7e02d579db7ba81a414cd2212ce2b48b927941
https://github.com/llvm/llvm-project/commit/9c7e02d579db7ba81a414cd2212ce2b48b927941
Author: Ruhung <143302514+Ruhung at users.noreply.github.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
A llvm/test/Transforms/InstCombine/add-shl-mul-umax.ll
Log Message:
-----------
[InstCombine] Fold umax(nuw_mul(x, C0), x + 1) into (x == 0 ? 1 : nuw_mul(x, C0)) (#123468)
This PR introduces the following transformations:
- If C0 is not 0:
umax(nuw_shl(x, C0), x + 1) -> x == 0 ? 1 : nuw_shl(x, C0)
- If C0 is not 0 or 1:
umax(nuw_mul(x, C0), x + 1) -> x == 0 ? 1 : nuw_mul(x, C0)
Fixes #122388.
Alive2 proof: https://alive2.llvm.org/ce/z/rkp_8U
Commit: 416f1c465db62d829283f6902ef35e027e127aa7
https://github.com/llvm/llvm-project/commit/416f1c465db62d829283f6902ef35e027e127aa7
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Transforms/CFGuard/CFGuard.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/tools/llvm-stress/llvm-stress.cpp
Log Message:
-----------
[IR] Replace of PointerType::get(Type) with opaque version (NFC) (#123617)
In accordance with https://github.com/llvm/llvm-project/issues/123569
In order to keep the patch at reasonable size, this PR only covers for
the llvm subproject, unittests excluded.
Commit: 9da7c3ba17681a875d743a6709f3f56324ee6042
https://github.com/llvm/llvm-project/commit/9da7c3ba17681a875d743a6709f3f56324ee6042
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
A flang/test/Lower/OpenMP/Todo/allocate-clause-align.f90
A flang/test/Lower/OpenMP/Todo/allocate-clause-allocator.f90
Log Message:
-----------
[Flang][OpenMP][NFC] Add tests for align and allocator in allocate clauses (#121356)
No functional change.
(Also, tried to filter out all ALLOCATOR modifiers, but that makes some
other tests fail).
Commit: 8368018f2097e330a6b6ec0a9372487df020c511
https://github.com/llvm/llvm-project/commit/8368018f2097e330a6b6ec0a9372487df020c511
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
A clang/test/Driver/Inputs/multilib/multilib-custom-flags.yaml
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
Fix test of `-print-multi-flags-experimental` in case of multilib custom flags (#123577)
The test was failing in the case where a `multilib.yaml` file was
present in the installation. This is because the presence of a multilib
YAML file leads to the diagnosing of validity of the multilib custom
flags.
This patch fixes the test by creating a new YAML file with multilib
custom flags to be used by the test.
Commit: c8eb865747ea0006470a0ab130056293fcb536cb
https://github.com/llvm/llvm-project/commit/c8eb865747ea0006470a0ab130056293fcb536cb
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M libclc/clc/include/clc/clcmacro.h
A libclc/clc/include/clc/math/clc_mad.h
A libclc/clc/include/clc/math/ternary_decl.inc
M libclc/clc/lib/clspv/SOURCES
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_mad.cl
A libclc/clc/lib/generic/math/clc_mad.inc
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
R libclc/generic/include/clc/math/ternary_decl.inc
M libclc/generic/lib/common/mix.cl
M libclc/generic/lib/common/mix.inc
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/mad.cl
R libclc/generic/lib/math/mad.inc
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincospiF_piby4.h
Log Message:
-----------
[libclc] Move mad to the CLC library (#123607)
All targets build `__clc_mad` -- even SPIR-V targets -- since it
compiles to the optimal `llvm.fmuladd` intrinsic. There is no change to
the bytecode generated for non-SPIR-V targets.
The `mix` builtin, which is implemented as a wrapper around `mad`, is
left as an OpenCL-layer wrapper of `__clc_mad`. I don't know if it's
worth having a specific CLC version of `mix`.
The changes to the other CLC files/functions are moving uses of `mad` to
`__clc_mad`, and reformatting. There is an additional instance of
`trunc` becoming `__clc_trunc`, which was missed before.
Commit: f33e3d422d8adf7591d510aa299c884abfc8ffb0
https://github.com/llvm/llvm-project/commit/f33e3d422d8adf7591d510aa299c884abfc8ffb0
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
Log Message:
-----------
[AMDGPU] Fix DAG types for V_MAD_I64_I32 and V_MAD_U64_U32. NFC. (#123629)
These instructions return a 64-bit result and a 1-bit carry, unlike
smul_lohi and umul_lohi which return a pair of 32-bit results.
This does not appear to make any difference in practice because the DAG
types are not used for anything before these nodes are converted to
MachineInstrs.
Commit: e8674af6f41b2e78ceebabb23e40588c41da5a23
https://github.com/llvm/llvm-project/commit/e8674af6f41b2e78ceebabb23e40588c41da5a23
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/constexpr.c
M clang/test/SemaCXX/builtin-assume-aligned.cpp
Log Message:
-----------
[clang][bytecode] Diagnose IntegralToPointer casts to non-void (#123619)
But keep evaluating. This is what the current interpreter does as well.
Commit: b95ed30ea2307dbcbe6199374c1e9a9b7a802ad0
https://github.com/llvm/llvm-project/commit/b95ed30ea2307dbcbe6199374c1e9a9b7a802ad0
Author: Mats Larsen <mats at jun.codes>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
Log Message:
-----------
[IR] Remove unused variables from #123617
Failed to notice them when landing that patch - apologies!
Commit: 7abf44069aec61eee147ca67a6333fc34583b524
https://github.com/llvm/llvm-project/commit/7abf44069aec61eee147ca67a6333fc34583b524
Author: Stephan Hageboeck <stephan.hageboeck at cern.ch>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
Log Message:
-----------
Add missing include to X86MCTargetDesc.h (#123320)
In gcc-15, explicit includes of `<cstdint>` are required when fixed-size
integers are used. In this file, this include only happened as a side
effect of including SmallVector.h
Although llvm compiles fine, the root-project would benefit from
explicitly including it here, so we can backport the patch.
Maybe interesting for @hahnjo and @vgvassilev
Commit: c248fc1880af60737ef7e18dfe6becb1db93fde3
https://github.com/llvm/llvm-project/commit/c248fc1880af60737ef7e18dfe6becb1db93fde3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[Clang] Document some of the implementation-defined keywords (#84591)
Commit: 0fa05456a8dc468961c33bd8149b157194672c71
https://github.com/llvm/llvm-project/commit/0fa05456a8dc468961c33bd8149b157194672c71
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M libcxx/include/__algorithm/make_projected.h
M libcxx/include/__algorithm/radix_sort.h
M libcxx/include/__functional/bind.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/mem_fn.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__hash_table
M libcxx/include/__tree
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/result_of.h
M libcxx/include/future
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/test/libcxx/containers/associative/non_const_comparator.verify.cpp
M libcxx/test/libcxx/containers/unord/non_const_comparator.verify.cpp
M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
Log Message:
-----------
[libc++] Define an internal API for std::invoke and friends (#116637)
Currently we're using quite different internal names for the
`std::invoke` family of type traits. This adds a layer around the
current implementation to make it easier to understand when it is used
and makes it easier to define multiple implementations of it.
Commit: 3606876b67bbd42d6ee0e04548611834467af806
https://github.com/llvm/llvm-project/commit/3606876b67bbd42d6ee0e04548611834467af806
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/NVPTX/addrspacecast-cse.ll
Log Message:
-----------
[SDAG] Fix CSE for ADDRSPACECAST nodes (#122912)
Correct CSE in SelectionDAG can make DAG combining more effective and
reduces the size of the DAG and thus should improve compile time.
Commit: 19bd2d610286300707b51135d3cff8bfb74322f0
https://github.com/llvm/llvm-project/commit/19bd2d610286300707b51135d3cff8bfb74322f0
Author: Kshitij Paranjape <kshitijvparanjape at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/pr122582.ll
Log Message:
-----------
[ConstantFolding] Add ilogb in isMathLibCallNoop (#122582)
ilogb libcall was not being constant folded correctly. This patch adds
ilogb case in isMathLibCallNoop with correct error condition.
Fixes #101873
Commit: 8ff195cda1ff5384888e17e8bfdc34990299d3f5
https://github.com/llvm/llvm-project/commit/8ff195cda1ff5384888e17e8bfdc34990299d3f5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
SIISelLowering.cpp - remove unused variable missed in #123617
Commit: 7084110518f904192c2935327b884b17de00bee0
https://github.com/llvm/llvm-project/commit/7084110518f904192c2935327b884b17de00bee0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
X86ISelLowering.cpp - remove unused variable missed in #123617
Commit: 5810f157cd048fd7e2fc20f4f782462164279eba
https://github.com/llvm/llvm-project/commit/5810f157cd048fd7e2fc20f4f782462164279eba
Author: Michal Paszkowski <michal at michalpaszkowski.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
Log Message:
-----------
[SPIR-V] Fix SPIRVEmitIntrinsics undefined behavior (#123625)
Before this change InstrSet in SPIRVEmitIntrinsics was uninitialized
before running runOnFunction. This change adds a new function
getPreferredInstructionSet in SPIRVSubtarget.
Commit: af6616676fb7f9dd4898290ea684ee0c90f1701d
https://github.com/llvm/llvm-project/commit/af6616676fb7f9dd4898290ea684ee0c90f1701d
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
M mlir/lib/ExecutionEngine/CMakeLists.txt
M mlir/lib/ExecutionEngine/SparseTensor/CMakeLists.txt
M mlir/test/lib/Analysis/CMakeLists.txt
M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
M mlir/test/lib/Conversion/FuncToLLVM/CMakeLists.txt
M mlir/test/lib/Conversion/MathToVCIX/CMakeLists.txt
M mlir/test/lib/Conversion/OneToNTypeConversion/CMakeLists.txt
M mlir/test/lib/Conversion/VectorToSPIRV/CMakeLists.txt
M mlir/test/lib/Dialect/Affine/CMakeLists.txt
M mlir/test/lib/Dialect/Arith/CMakeLists.txt
M mlir/test/lib/Dialect/ArmNeon/CMakeLists.txt
M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
M mlir/test/lib/Dialect/ControlFlow/CMakeLists.txt
M mlir/test/lib/Dialect/DLTI/CMakeLists.txt
M mlir/test/lib/Dialect/Func/CMakeLists.txt
M mlir/test/lib/Dialect/GPU/CMakeLists.txt
M mlir/test/lib/Dialect/LLVM/CMakeLists.txt
M mlir/test/lib/Dialect/Linalg/CMakeLists.txt
M mlir/test/lib/Dialect/Math/CMakeLists.txt
M mlir/test/lib/Dialect/MemRef/CMakeLists.txt
M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
M mlir/test/lib/Dialect/NVGPU/CMakeLists.txt
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
M mlir/test/lib/Dialect/SPIRV/CMakeLists.txt
M mlir/test/lib/Dialect/Shape/CMakeLists.txt
M mlir/test/lib/Dialect/Tensor/CMakeLists.txt
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/TestDyn/CMakeLists.txt
M mlir/test/lib/Dialect/Tosa/CMakeLists.txt
M mlir/test/lib/Dialect/Transform/CMakeLists.txt
M mlir/test/lib/Dialect/Vector/CMakeLists.txt
M mlir/test/lib/IR/CMakeLists.txt
M mlir/test/lib/Interfaces/LoopLikeInterface/CMakeLists.txt
M mlir/test/lib/Interfaces/TilingInterface/CMakeLists.txt
M mlir/test/lib/Pass/CMakeLists.txt
M mlir/test/lib/Reducer/CMakeLists.txt
M mlir/test/lib/Rewrite/CMakeLists.txt
M mlir/test/lib/Tools/PDLL/CMakeLists.txt
M mlir/test/lib/Transforms/CMakeLists.txt
M mlir/test/python/lib/CMakeLists.txt
M mlir/tools/mlir-opt/CMakeLists.txt
Log Message:
-----------
[mlir] Link libraries that aren't included in libMLIR to libMLIR (#123477)
Use `mlir_target_link_libraries()` to link dependencies of libraries
that are not included in libMLIR, to ensure that they link to the dylib
when they are used in Flang. Otherwise, they implicitly pull in all
their static dependencies, effectively causing Flang binaries to
simultaneously link to the dylib and to static libraries, which is never
a good idea.
I have only covered the libraries that are used by Flang. If you wish, I
can extend this approach to all non-libMLIR libraries in MLIR, making
MLIR itself also link to the dylib consistently.
Commit: 9cbd705e32bbb869c897696f4a6659f2ce00b64a
https://github.com/llvm/llvm-project/commit/9cbd705e32bbb869c897696f4a6659f2ce00b64a
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
Log Message:
-----------
[NFC] llvm-cgdata use StringRef in exitWithError to reduce construction (#120771)
Replace `static void exitWithError(Twine Message, std::string Whence =
"", std::string Hint = "")` std::string with StringRef to remove
constructing Strings on every call or passing by value
Fixes: #100065
Commit: 3805355ef69a33fc6b32e4a4de0ad3ef22584c65
https://github.com/llvm/llvm-project/commit/3805355ef69a33fc6b32e4a4de0ad3ef22584c65
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
A llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
Log Message:
-----------
[AMDGPU] Handle natively unsupported types in addrspace(7) lowering (#110572)
The current lowering for ptr addrspace(7) assumed that the instruction
selector can handle arbtrary LLVM types, which is not the case. Code
generation can't deal with
- Values that aren't 8, 16, 32, 64, 96, or 128 bits long
- Aggregates (this commit only handles arrays of scalars, more may come)
- Vectors of more than one byte
- 3-word values that aren't a vector of 3 32-bit values (for axample, a
<6 x half>)
This commit adds a buffer contents type legalizer that adds the needed
bitcasts, zero-extensions, and splits into subcompnents needed to
convert a load or store operation into one that can be successfully
lowered through code generation.
In the long run, some of the involved bitcasts (though potentially not
the buffer operation splitting) ought to be handled by the instruction
legalizer, but SelectionDAG makes this difficult.
It also takes advantage of the new `nuw` flag on `getelementptr` when
lowering GEPs to offset additions.
We don't currently plumb through `nsw` on GEPs since that should likely
be a separate change and would require declaring what we mean by "the
address" in the context of the GEP guarantees.
Commit: 0fbec1e1eedf7f6a758d3aba3dfc8d77a824d80e
https://github.com/llvm/llvm-project/commit/0fbec1e1eedf7f6a758d3aba3dfc8d77a824d80e
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
Log Message:
-----------
[SandboxVec][BottomUpVec][NFC] Add comments
Commit: cac3f5ecb972194322aeeb8e84e7c7dd60dedef8
https://github.com/llvm/llvm-project/commit/cac3f5ecb972194322aeeb8e84e7c7dd60dedef8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[memprof] Add simplify_type (NFC) (#123556)
IndexCall is a simple wrapper around:
PointerUnion<CallsiteInfo *, AllocInfo *>
Now, because we don't have CastInfo for IndexCall, we would have to
use getBase like so:
dyn_cast_if_present<CallsiteInfo *>(Call.getBase())
This patch adds simplify_type<IndexCall>, which in turn enables
CastInfo for IndexCall, so we can drop getBase like so::
dyn_cast_if_present<CallsiteInfo *>(Call)
Commit: bc1e699d9fb52548c1bc2420f10929473a4c3908
https://github.com/llvm/llvm-project/commit/bc1e699d9fb52548c1bc2420f10929473a4c3908
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#123557)
Commit: f355a447634d6498fc5765771a9579564510654f
https://github.com/llvm/llvm-project/commit/f355a447634d6498fc5765771a9579564510654f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
Log Message:
-----------
[HipStdPar] Avoid repeated hash lookups (NFC) (#123558)
Commit: 64749fb01538fba2b56d9850497d5f3a626cabc2
https://github.com/llvm/llvm-project/commit/64749fb01538fba2b56d9850497d5f3a626cabc2
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
R llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
Log Message:
-----------
Revert "[AMDGPU] Handle natively unsupported types in addrspace(7) lowering" (#123657)
Reverts llvm/llvm-project#110572
Seem to have broken a buildbot, not sure why
https://lab.llvm.org/buildbot/#/builders/108/builds/8346
Commit: 7fa1936947194ec7425d5d21ce43d69d5b09dd2d
https://github.com/llvm/llvm-project/commit/7fa1936947194ec7425d5d21ce43d69d5b09dd2d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Log Message:
-----------
[InstCombine] Avoid repeated hash lookups (NFC) (#123559)
Commit: efae9f3c2192e72cf753f2e29fd930e14e4fdd90
https://github.com/llvm/llvm-project/commit/efae9f3c2192e72cf753f2e29fd930e14e4fdd90
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
Log Message:
-----------
[MIRParser] Avoid repeated map lookups (NFC) (#123561)
Commit: 818d6e56654a37d365928513f39113fe6a1f6cb9
https://github.com/llvm/llvm-project/commit/818d6e56654a37d365928513f39113fe6a1f6cb9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#123562)
Commit: 64edde6648cc772c299dc4b39bb2ae7e4e294127
https://github.com/llvm/llvm-project/commit/64edde6648cc772c299dc4b39bb2ae7e4e294127
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang] Improve the documentation for the init_priority attribute (#123098)
The documentation wasn't very clear about whether ordering is controlled
within or across TUs, and same for dylibs. Clarify that, and also add
mentions for the state of support on Mach-O platforms.
Commit: 8424bf207efd89eacf2fe893b67be98d535e1db6
https://github.com/llvm/llvm-project/commit/8424bf207efd89eacf2fe893b67be98d535e1db6
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/vecintrin.h
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/SemaSystemZ.cpp
A clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
A clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
A clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3.c
A clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
A 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/CodeGen/SystemZ/zvector.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 clang/test/Sema/zvector.c
M llvm/include/llvm/IR/IntrinsicsSystemZ.td
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.h
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/SystemZInstrFormats.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperands.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZProcessors.td
M llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
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
A llvm/test/CodeGen/SystemZ/bitop-intrinsics.ll
A llvm/test/CodeGen/SystemZ/int-abs-03.ll
M llvm/test/CodeGen/SystemZ/int-add-19.ll
A llvm/test/CodeGen/SystemZ/int-cmp-64.ll
A llvm/test/CodeGen/SystemZ/int-conv-15.ll
A llvm/test/CodeGen/SystemZ/int-div-08.ll
A llvm/test/CodeGen/SystemZ/int-max-02.ll
A llvm/test/CodeGen/SystemZ/int-min-02.ll
A llvm/test/CodeGen/SystemZ/int-mul-14.ll
A llvm/test/CodeGen/SystemZ/int-mul-15.ll
A llvm/test/CodeGen/SystemZ/int-mul-16.ll
A llvm/test/CodeGen/SystemZ/int-neg-04.ll
M llvm/test/CodeGen/SystemZ/int-sub-12.ll
A llvm/test/CodeGen/SystemZ/llxa-01.ll
A llvm/test/CodeGen/SystemZ/llxa-02.ll
A llvm/test/CodeGen/SystemZ/llxa-03.ll
A llvm/test/CodeGen/SystemZ/llxa-04.ll
A llvm/test/CodeGen/SystemZ/llxa-05.ll
A llvm/test/CodeGen/SystemZ/lxa-01.ll
A llvm/test/CodeGen/SystemZ/lxa-02.ll
A llvm/test/CodeGen/SystemZ/lxa-03.ll
A llvm/test/CodeGen/SystemZ/lxa-04.ll
A llvm/test/CodeGen/SystemZ/lxa-05.ll
A llvm/test/CodeGen/SystemZ/scalar-ctlz-03.ll
A llvm/test/CodeGen/SystemZ/scalar-ctlz-04.ll
A llvm/test/CodeGen/SystemZ/scalar-cttz-03.ll
A llvm/test/CodeGen/SystemZ/scalar-cttz-04.ll
A llvm/test/CodeGen/SystemZ/vec-cmp-09.ll
A llvm/test/CodeGen/SystemZ/vec-div-03.ll
A llvm/test/CodeGen/SystemZ/vec-eval.ll
A llvm/test/CodeGen/SystemZ/vec-intrinsics-05.ll
A llvm/test/CodeGen/SystemZ/vec-mul-06.ll
A llvm/test/MC/Disassembler/SystemZ/insns-arch15.txt
A llvm/test/MC/SystemZ/insn-bad-arch15.s
M llvm/test/MC/SystemZ/insn-bad-z16.s
A llvm/test/MC/SystemZ/insn-good-arch15.s
M llvm/unittests/TargetParser/Host.cpp
Log Message:
-----------
[SystemZ] Add support for new cpu architecture - arch15
This patch adds support for the next-generation arch15
CPU architecture to the SystemZ backend.
This includes:
- Basic support for the new processor and its features.
- Detection of arch15 as host processor.
- Assembler/disassembler support for new instructions.
- Exploitation of new instructions for code generation.
- New vector (signed|unsigned|bool) __int128 data types.
- New LLVM intrinsics for certain new instructions.
- Support for low-level builtins mapped to new LLVM intrinsics.
- New high-level intrinsics in vecintrin.h.
- Indicate support by defining __VEC__ == 10305.
Note: No currently available Z system supports the arch15
architecture. Once new systems become available, the
official system name will be added as supported -march name.
Commit: 8b879d106bc578151392fa12e5ddf800edb515cc
https://github.com/llvm/llvm-project/commit/8b879d106bc578151392fa12e5ddf800edb515cc
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
M mlir/lib/ExecutionEngine/CMakeLists.txt
M mlir/lib/ExecutionEngine/SparseTensor/CMakeLists.txt
M mlir/test/lib/Analysis/CMakeLists.txt
M mlir/test/lib/Conversion/ConvertToSPIRV/CMakeLists.txt
M mlir/test/lib/Conversion/FuncToLLVM/CMakeLists.txt
M mlir/test/lib/Conversion/MathToVCIX/CMakeLists.txt
M mlir/test/lib/Conversion/OneToNTypeConversion/CMakeLists.txt
M mlir/test/lib/Conversion/VectorToSPIRV/CMakeLists.txt
M mlir/test/lib/Dialect/Affine/CMakeLists.txt
M mlir/test/lib/Dialect/Arith/CMakeLists.txt
M mlir/test/lib/Dialect/ArmNeon/CMakeLists.txt
M mlir/test/lib/Dialect/ArmSME/CMakeLists.txt
M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
M mlir/test/lib/Dialect/ControlFlow/CMakeLists.txt
M mlir/test/lib/Dialect/DLTI/CMakeLists.txt
M mlir/test/lib/Dialect/Func/CMakeLists.txt
M mlir/test/lib/Dialect/GPU/CMakeLists.txt
M mlir/test/lib/Dialect/LLVM/CMakeLists.txt
M mlir/test/lib/Dialect/Linalg/CMakeLists.txt
M mlir/test/lib/Dialect/Math/CMakeLists.txt
M mlir/test/lib/Dialect/MemRef/CMakeLists.txt
M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
M mlir/test/lib/Dialect/NVGPU/CMakeLists.txt
M mlir/test/lib/Dialect/SCF/CMakeLists.txt
M mlir/test/lib/Dialect/SPIRV/CMakeLists.txt
M mlir/test/lib/Dialect/Shape/CMakeLists.txt
M mlir/test/lib/Dialect/Tensor/CMakeLists.txt
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/TestDyn/CMakeLists.txt
M mlir/test/lib/Dialect/Tosa/CMakeLists.txt
M mlir/test/lib/Dialect/Transform/CMakeLists.txt
M mlir/test/lib/Dialect/Vector/CMakeLists.txt
M mlir/test/lib/IR/CMakeLists.txt
M mlir/test/lib/Interfaces/LoopLikeInterface/CMakeLists.txt
M mlir/test/lib/Interfaces/TilingInterface/CMakeLists.txt
M mlir/test/lib/Pass/CMakeLists.txt
M mlir/test/lib/Reducer/CMakeLists.txt
M mlir/test/lib/Rewrite/CMakeLists.txt
M mlir/test/lib/Tools/PDLL/CMakeLists.txt
M mlir/test/lib/Transforms/CMakeLists.txt
M mlir/test/python/lib/CMakeLists.txt
M mlir/tools/mlir-opt/CMakeLists.txt
Log Message:
-----------
Revert "[mlir] Link libraries that aren't included in libMLIR to libMLIR (#123477)"
This reverts commit af6616676fb7f9dd4898290ea684ee0c90f1701d. It broke
builds with `-DBUILD_SHARED_LIBS=ON`.
Commit: 623ba9bb3bbde3bd055f336ffc67d3f5c725903a
https://github.com/llvm/llvm-project/commit/623ba9bb3bbde3bd055f336ffc67d3f5c725903a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M libcxx/include/__type_traits/invoke.h
Log Message:
-----------
[libc++] Add missing _LIBCPP_NODEBUG on internal alias
Commit: 9c464e60d2c74094e3782d363e482c98762036ee
https://github.com/llvm/llvm-project/commit/9c464e60d2c74094e3782d363e482c98762036ee
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/doconcurrent01.f90
A flang/test/Semantics/OpenMP/forall.f90
Log Message:
-----------
[flang][OpenMP] Don't try to privatize FORALL/DO CONCURRENT indices (#123341)
FORALL/DO CONCURRENT indices have predetermined private DSA (OpenMP 5.2
5.1.1).
As FORALL/DO CONCURRENT indices are defined in the construct itself, and
OpenMP
directives may not appear in it, they are already private and don't need
to be modified.
Fixes https://github.com/llvm/llvm-project/issues/100919
Fixes https://github.com/llvm/llvm-project/issues/120023
Fixes https://github.com/llvm/llvm-project/issues/123537
Commit: 4df28af7134518981d40cb3242b2a90af867fdae
https://github.com/llvm/llvm-project/commit/4df28af7134518981d40cb3242b2a90af867fdae
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
[mlir] Add lowering of absi and fpowi to libdevice (#123644)
More concise version of #123422.
---------
Co-authored-by: William S. Moses <gh at wsmoses.com>
Commit: 2c9cc7806ed5f07230ab509ce46e8160ff0a2e53
https://github.com/llvm/llvm-project/commit/2c9cc7806ed5f07230ab509ce46e8160ff0a2e53
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update cmake and library layering maintainers (#120542)
Currently @chandlerc is listed as the maintainer for "CMake and library
layering", but he has not been active in that area in while.
Consequently, this patch updates the maintainers for CMake and
library layering to folks who are working more actively in these
areas.
See https://llvm.org/docs/DeveloperPolicy.html#maintainers for
context on the maintainers terminology.
Commit: 1434313bd8c425b2aadc301ddaf42a91552e609e
https://github.com/llvm/llvm-project/commit/1434313bd8c425b2aadc301ddaf42a91552e609e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/lib/CodeGen/LiveRegMatrix.cpp
Log Message:
-----------
[LiveRegMatrix] Use MCRegUnit instead of MCRegister for register unit. NFC
MCRegister should be used for registers, not register units.
Commit: 3d08fa25824cafc748086d06e0b51b7f0f334b8e
https://github.com/llvm/llvm-project/commit/3d08fa25824cafc748086d06e0b51b7f0f334b8e
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M libcxx/include/future
Log Message:
-----------
[libc++] Another _LIBCPP_NODEBUG fix
Commit: e68d18c34e3e7afef01d5a906403d633ab21c6de
https://github.com/llvm/llvm-project/commit/e68d18c34e3e7afef01d5a906403d633ab21c6de
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Add Zlib at build time to CI container (#123489)
This patch adds zlib at build time to the CI container. This is needed
to make an lldb test pass that defaults to using the system lld if it is
not explicitly enabled in LLVM_ENABLE_PROJECTS.
Fixes #123479 (by fixing the proximal cause).
Commit: d35d7f4b13c079f962be2c866339b0ab3ad8c452
https://github.com/llvm/llvm-project/commit/d35d7f4b13c079f962be2c866339b0ab3ad8c452
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Add Agent Container Image (#123486)
This patch adds an agent container image on top of the normal CI
container image. They are the exact same except that the agent container
image also contains Github Runner binaries. I've split it into a
separate container as only one user of these images (the new premerge)
needs this binary installed, and it bloats the container image size
significantly (900MB->1.3GB or so).
Commit: 2f1bc68580e3fecc6dd57dd5aabdd77f5d6559b0
https://github.com/llvm/llvm-project/commit/2f1bc68580e3fecc6dd57dd5aabdd77f5d6559b0
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M flang/test/HLFIR/unroll-loops.fir
M flang/test/Integration/unroll-loops.f90
Log Message:
-----------
[flang][PPC] XFAIL unroll-loops on PPC (#123661)
xfail the following 2 test cases that are failing on PowerPC buildbots
`ppc64-flang-aix` and `ppc64le-flang-rhel-clang` due toPR #122906.
Defect opened: #123668.
FAIL: Flang::unroll-loops.fir
FAIL: Flang::unroll-loops.f90
Commit: 28ae363ec03e565eaa70393027da70f389e6ca43
https://github.com/llvm/llvm-project/commit/28ae363ec03e565eaa70393027da70f389e6ca43
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.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_vopc_t16_promote.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_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_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cmp_xx_i/u16 (#122968)
A bulk commit of true16 support for v_cmp_xx_i/u16 instructions
including:
v_cmp_lt_i16
v_cmp_eq_i16
v_cmp_le_i16
v_cmp_gt_i16
v_cmp_ne_i16
v_cmp_ge_i16
v_cmp_lt_u16
v_cmp_eq_u16
v_cmp_le_u16
v_cmp_gt_u16
v_cmp_ne_u16
v_cmp_ge_u16
Commit: e5992b686bb06dd53a4ff1e9586fa350d3ff43b5
https://github.com/llvm/llvm-project/commit/e5992b686bb06dd53a4ff1e9586fa350d3ff43b5
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaChecking.cpp
M clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
M clang/test/Sema/warn-infinity-nan-disabled-win.cpp
Log Message:
-----------
[Clang] Fix warning for non std functions with name `infinity` (#123417)
Fix reporting diagnostic for non std functions that has the name
`infinity`
Fixes: #123231
Commit: fb974e89095af01a15cf959ba0694c0beb404b9f
https://github.com/llvm/llvm-project/commit/fb974e89095af01a15cf959ba0694c0beb404b9f
Author: kkent030315 <hrn832 at gmail.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/COFF/Writer.cpp
A lld/test/COFF/Inputs/stub63mz
A lld/test/COFF/Inputs/stub64mz
A lld/test/COFF/Inputs/stub64zz
A lld/test/COFF/Inputs/stub68mz
A lld/test/COFF/stub.test
Log Message:
-----------
[LLD][COFF] Add support for custom DOS stub (#122561)
This change implements support for the /stub flag to align with MS
link.exe. This option is useful when a program needs to optimize the DOS
program that executes when the PE runs on DOS, avoiding the traditional
hardcoded DOS program in LLD.
Commit: 2cfddda1f5c6afdc626eb07304c25ecec4376b0b
https://github.com/llvm/llvm-project/commit/2cfddda1f5c6afdc626eb07304c25ecec4376b0b
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M lld/COFF/DLL.cpp
M lld/COFF/DLL.h
M lld/COFF/Writer.cpp
Log Message:
-----------
[LLD][COFF] Simplify creation of .edata chunks (NFC) (#123651)
Since commit dadc6f2488684, only the constructor of the `EdataContents`
class is used. Replace it with a function and skip the call when using a
custom `.edata` section.
Commit: bd5e12e6a08d60015102a2a2a763353399499ccc
https://github.com/llvm/llvm-project/commit/bd5e12e6a08d60015102a2a2a763353399499ccc
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Don't retrieve Def unnecessarily in isUniformAfterVector (NFC).
dyn_cast for recipes take VPValues, avoid calling getDefiningRecipe
unnecessarily.
Commit: 697c1883f15b81cc526ed2d72cf00f9eaea2502f
https://github.com/llvm/llvm-project/commit/697c1883f15b81cc526ed2d72cf00f9eaea2502f
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
A llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
Log Message:
-----------
Reapply "[AMDGPU] Handle natively unsupported types in addrspace(7) lowering" (#123660)
(#123657)
This reverts commit 64749fb01538fba2b56d9850497d5f3a626cabc2.
Adds a constructor to VecSlice to address the failure
Commit: 5e4c34a9b67d9ce15d14f83bcea96ccb69de1eae
https://github.com/llvm/llvm-project/commit/5e4c34a9b67d9ce15d14f83bcea96ccb69de1eae
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/multi-node-reuse-in-bv.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect length and cost for repeated matching node
Commit: 7d01a8f2b9ac28ffe73bef4b513d383d3edf34b5
https://github.com/llvm/llvm-project/commit/7d01a8f2b9ac28ffe73bef4b513d383d3edf34b5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/multi-node-reuse-in-bv.ll
Log Message:
-----------
[SLP]Fix vector factor for repeated node for bv
When adding a node vector, when it is used already in the shuffle for
buildvector, need to calculate vector factor from all vector, not only
this single vector, to avoid incorrect result. Also, need to increase
stability of the reused entries detection to avoid mismatch in cost
estimation/codegen.
Fixes #123639
Commit: f427fef09265fe3e0d1a8b38eb960403377fb772
https://github.com/llvm/llvm-project/commit/f427fef09265fe3e0d1a8b38eb960403377fb772
Author: Michal Paszkowski <michal at michalpaszkowski.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M .github/workflows/spirv-tests.yml
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[SPIR-V] Add SPIRV to LLVM_ALL_TARGETS (reapply) (#123654)
This commit promotes the SPIR-V backend from experimental to official
status. As a result, SPIR-V will be built by default, simplifying
integration and increasing accessibility for downstream projects.
Discussion and RFC on Discourse:
https://discourse.llvm.org/t/rfc-promoting-spir-v-to-an-official-target/83614
The PR reapplies the original patch
https://github.com/llvm/llvm-project/pull/119653, reverted due to
buildbot failures.
Commit: 3f0ac4653be567bb252759735884daee0dd99153
https://github.com/llvm/llvm-project/commit/3f0ac4653be567bb252759735884daee0dd99153
Author: Michal Paszkowski <michal at michalpaszkowski.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M .github/workflows/spirv-tests.yml
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
Revert "[SPIR-V] Add SPIRV to LLVM_ALL_TARGETS (reapply)" (#123674)
Reverts llvm/llvm-project#123654 due to buildbot issue
Commit: 06c54bc1a200fd87bbf4b81db70f52159c79f5bf
https://github.com/llvm/llvm-project/commit/06c54bc1a200fd87bbf4b81db70f52159c79f5bf
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M lldb/docs/use/formatting.rst
M lldb/include/lldb/Core/FormatEntity.h
M lldb/source/Core/FormatEntity.cpp
M lldb/unittests/Core/FormatEntityTest.cpp
Log Message:
-----------
[lldb] Implement ${target.file} format variable (#123431)
Implements a format variable to print the basename and full path to the
current target.
Commit: b6287fd9714d2a34b27e7ef4953f6e68f39463a4
https://github.com/llvm/llvm-project/commit/b6287fd9714d2a34b27e7ef4953f6e68f39463a4
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
A llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll
Log Message:
-----------
[DirectX] Set the EnableRawAndStructuredBuffers shader flag (#122667)
When raw or structured buffers are used, we need to set the DXIL flag
saying so.
Fixes #122663.
Commit: a3beb7db36dfc8fee9b42ff8ed5adb37588d6839
https://github.com/llvm/llvm-project/commit/a3beb7db36dfc8fee9b42ff8ed5adb37588d6839
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
Log Message:
-----------
Workflows: Drop Windows release builds and use more powerful runners for others (#117111)
We have community provided Windows builds that are better than what we
can build on GitHub. For the Linux/X86 builds and Mac/Aarch64 builds we
will use depot runners, for Mac/X86 we will use the larger GitHub
runners.
Commit: a0c68119bdf0a57487fb95e2d735f2c84c498972
https://github.com/llvm/llvm-project/commit/a0c68119bdf0a57487fb95e2d735f2c84c498972
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M .github/workflows/build-ci-container.yml
Log Message:
-----------
[Github] Fix container push job
This patch fixes a typo impacting functionality and also adds the relevant
variables to the step outputs list so they can actually get picked up by the
push container step.
Commit: 271b3383d7d86d5945b13117558cfe600aac3528
https://github.com/llvm/llvm-project/commit/271b3383d7d86d5945b13117558cfe600aac3528
Author: Jason Eckhardt <jeckhardt at nvidia.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/test/TableGen/generic-tables-instruction.td
M llvm/test/TableGen/generic-tables.td
M llvm/utils/TableGen/SearchableTableEmitter.cpp
Log Message:
-----------
[TableGen][NFC] Factor early-out range check. (#123645)
Combine the EarlyOut and IsContiguous range check.
Also avoid "comparison is always false" warnings in emitted code when
the lower-bound check is against 0.
Commit: 4e2efc3bd500836d0fa977d6e257ffee2c92e178
https://github.com/llvm/llvm-project/commit/4e2efc3bd500836d0fa977d6e257ffee2c92e178
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/OffloadBundler.h
M clang/lib/Driver/OffloadBundler.cpp
M clang/test/Driver/clang-offload-bundler-zlib.c
Log Message:
-----------
[OffloadBundler] Compress bundles over 4GB (#122307)
Added initial support for version 3 of the compressed offload bundle
format, which uses 64-bit fields for Total File Size and Uncompressed
Binary Size. This enables support for files larger than 4GB. The support
is currently experimental and can be enabled by setting the environment
variable `COMPRESSED_BUNDLE_FORMAT_VERSION=3`.
Commit: 72c560da4b923b42114490093794e585144879f4
https://github.com/llvm/llvm-project/commit/72c560da4b923b42114490093794e585144879f4
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/OffloadBundler.h
M clang/lib/Driver/OffloadBundler.cpp
M clang/test/Driver/clang-offload-bundler-zlib.c
Log Message:
-----------
Revert "[OffloadBundler] Compress bundles over 4GB (#122307)"
revert due to failure in buildbot
https://lab.llvm.org/buildbot/#/builders/144/builds/16114
This reverts commit 4e2efc3bd500836d0fa977d6e257ffee2c92e178.
Commit: b45072d9c0bff27a8943b9ecea061f5286b0aab5
https://github.com/llvm/llvm-project/commit/b45072d9c0bff27a8943b9ecea061f5286b0aab5
Author: Michal Paszkowski <michal at michalpaszkowski.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
Log Message:
-----------
[SPIR-V] Fix type compatibility in memory order comparisons (#123676)
Fixed a type mismatch issue in the comparison of std::memory_order with
integers.
This fixes an issue reported by clang-debian-cpp20 buildbot for
https://github.com/llvm/llvm-project/pull/123654
Commit: abbfed9be7e0a247ac0ca248b4b7304d879b026a
https://github.com/llvm/llvm-project/commit/abbfed9be7e0a247ac0ca248b4b7304d879b026a
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/test/CodeGen/X86/amx-fp8-internal.ll
Log Message:
-----------
[X86][AMX] Fix handling of AMX-FP8 internal intrinsics (#123540)
This is to fix #123410.
Commit: e87b843811e147db8d1edd7fe2dd52bb90be6ebc
https://github.com/llvm/llvm-project/commit/e87b843811e147db8d1edd7fe2dd52bb90be6ebc
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/OffloadBundler.h
M clang/lib/Driver/OffloadBundler.cpp
M clang/test/Driver/clang-offload-bundler-zlib.c
Log Message:
-----------
Reland [OffloadBundler] Compress bundles over 4GB (#122307)
Reland the patch after fixing the lit test.
Commit: 7786266dc7b4e89feadcb01ff21f9e3cf2022a6b
https://github.com/llvm/llvm-project/commit/7786266dc7b4e89feadcb01ff21f9e3cf2022a6b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v2bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v3bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v4bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v2f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v3f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v4f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v2f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v3f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v4f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v2i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v3i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v4i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v2i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v3i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v4i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v2i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v3i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v4i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v2p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v3p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v4p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v2p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v3p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v4p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v4bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v4f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v2f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v3f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v4f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v3i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v4i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v2i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v3i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v4i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v2i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v3i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v2p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v3p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v2p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v3p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v4p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v2bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v3bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v4bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v2f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v3f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v4f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v2i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v3i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v4i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v2i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v3i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v2p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v3p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll
Log Message:
-----------
AMDGPU: Expand shuffle testing with generated tests (#123574)
Add some generated tests with every shuffle permutation
for relevant vector element types and sizes. Not sure if this
is going overboard with the number of tests. I pruned out the largest
cases (16 and 32-bit cases are impractically large), and there's
redundancy when testing the pointer cases (at least for SelectionDAG).
This uses inline assembly to produce sample values because of how the
ABI is lowered when using a function argument. Since we break all
arguments into 32-bit pieces, a shuffle never ends up forming. We
need separate handling to reconstruct shuffles in contexts involving
physical registers in ABI contexts.
I wrote a small tool to generate these, so I can easily change the
exact test body. Not sure if it's worth posting anywhere.
This is in preparation for making better use of v_pk_mov_b32,
v_mov_b64 and s_mov_b64 in shuffles.
Commit: 9d9c5619a5156a5be6ee5e5fd45924b26a85626e
https://github.com/llvm/llvm-project/commit/9d9c5619a5156a5be6ee5e5fd45924b26a85626e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M llvm/lib/Target/ARM/A15SDOptimizer.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
Log Message:
-----------
[ARM] Use MCRegister instead of unsigned. NFC
Primarily around uses of getSubReg/getSuperReg.
Commit: c2aa11d148679b7d49cdff3819d5c8bdbd807777
https://github.com/llvm/llvm-project/commit/c2aa11d148679b7d49cdff3819d5c8bdbd807777
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/check-omp-structure.cpp
R flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/task.f90
A flang/test/Semantics/OpenMP/task-untied01.f90
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[Flang] Add LLVM lowering support for UNTIED clause in Task (#121052)
Implementation details:
The UNTIED clause is recognized by setting the flag=0 for the default
case or performing logical OR to flag if other clauses are specified,
and this flag is passed as an argument to the `__kmpc_omp_task_alloc`
runtime call.
Resubmitting the PR with fix for the failure, as it was reverted here:
927a70daf31b1610627f346b0dc140eda72144b9
and previously merged here: https://github.com/llvm/llvm-project/pull/115283
Commit: 585858aeb6247b3892218edb9d353c63f1c33186
https://github.com/llvm/llvm-project/commit/585858aeb6247b3892218edb9d353c63f1c33186
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v3bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v4bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v3f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v4f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v2f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v3f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v4f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v3i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v4i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v2i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v3i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v4i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v2i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v3i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v4i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v2p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v3p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v4p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v2p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v3p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v4p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v4bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v4f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v2f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v3f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v4f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v3i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v4i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v2i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v3i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v4i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v2i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v3i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v2p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v3p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v2p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v3p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v4p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v3bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v4bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v3f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v4f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v3i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v4i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v2i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v3i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v2p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v3p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll
Log Message:
-----------
AMDGPU: Fix asm constrains in new shuffle tests
These passed prechecks but failed after cc5eba1737146a727a61b5dbe16d8c2ac453981e
Commit: 2d9f40694324a72c2b7a3d6a9cfcc7ce8069afc1
https://github.com/llvm/llvm-project/commit/2d9f40694324a72c2b7a3d6a9cfcc7ce8069afc1
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M offload/DeviceRTL/include/Debug.h
M offload/DeviceRTL/include/LibC.h
M offload/DeviceRTL/src/Debug.cpp
M offload/DeviceRTL/src/LibC.cpp
M offload/DeviceRTL/src/Parallelism.cpp
M offload/DeviceRTL/src/State.cpp
Log Message:
-----------
[OpenMP] Adjust 'printf' handling in the OpenMP runtime (#123670)
Summary:
We used to avoid a lot of this stuff because we didn't properly handle
variadics in device code. That's been solved for now, so we can just
make an internal printf handler that forwards to the external `vprintf`
function. This is either provided by NVIDIA's SDK or by the GPU libc
implementation.
The main reason for doing this is because it prevents the stupid AMDGPU
printf pass from mangling our beautiful printfs!
Commit: 3274bf6b4282a0dafd4b5a2efa09824e5ca417d0
https://github.com/llvm/llvm-project/commit/3274bf6b4282a0dafd4b5a2efa09824e5ca417d0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M offload/DeviceRTL/include/Synchronization.h
M offload/DeviceRTL/src/Synchronization.cpp
Log Message:
-----------
[OpenMP] Make each atomic helper take an atomic scope argument (#122786)
Summary:
Right now we just default to device for each type, and mix an ad-hoc
scope with the one used by the compiler's builtins. Unify this can make
each version take the scope optionally.
For @ronlieb, this will remove the need for `add_system` in the fork as
well as the extra `cas` with system scope, just pass `system`.
Commit: afced70e697e66fb6920b53d489d3fa4498e22dc
https://github.com/llvm/llvm-project/commit/afced70e697e66fb6920b53d489d3fa4498e22dc
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-01-20 (Mon, 20 Jan 2025)
Changed paths:
M flang/test/Lower/OpenMP/Todo/allocate-clause-allocator.f90
Log Message:
-----------
[OpenMP][Flang] Workaround omp_lib error (#123666)
It appears that omp_lib is not correctly (or maybe not at all?) found
from the build directory. This made a few buildbots break after
[PR#121356](https://github.com/llvm/llvm-project/pull/121356) landed.
This is a workaround to unblock the buildbots.
https://lab.llvm.org/staging/#/builders/130/builds/12654
https://lab.llvm.org/buildbot/#/builders/140/builds/15102
https://lab.llvm.org/staging/#/builders/105/builds/13855
Commit: 5d281a480e5caae09962b863960d7d057e908a3c
https://github.com/llvm/llvm-project/commit/5d281a480e5caae09962b863960d7d057e908a3c
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/many-load-stores.ll
Log Message:
-----------
[LoopInterchange] Constrain number of load/stores in a loop (#118973)
In the current state of the code, the transform computes entries for the
dependency matrix until `MaxMemInstrCount` which is 100. After 99th
entry, it terminates and thus overall wastes compile-time.
It would be nice if we can compute total number of entries upfront and
early exit if the number of entries > 100. However, computing the number
of entries is not always possible as it depends on two factors:
1. Number of load-store pairs in a loop.
2. Number of common loop levels for each of the pair.
This patch constrains the whole computation on the number of loads and
stores instructions in the loop.
In another approach, I experimented with computing 1 and constraining
the number of pairs, but that did not lead to any additional benefit in
terms of compile time. However, when other issues are fixed, I can
revisit this approach.
Commit: 5cde6d2fdf1e2ededf10ac0a30187c3359a93828
https://github.com/llvm/llvm-project/commit/5cde6d2fdf1e2ededf10ac0a30187c3359a93828
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
Log Message:
-----------
[ReachingDefAnalysis][NFC] Replace MCRegister with Register (#123626)
This is preparation for extending ReachingDefAnalysis to stack slots. We
should use `Register`, not `MCRegister` for something that can be a
physical register or a stack slot.
Commit: f07e5162d0e67ec980e0ea282cf294f377407b10
https://github.com/llvm/llvm-project/commit/f07e5162d0e67ec980e0ea282cf294f377407b10
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Clang] Delegate part of SetupConstraintScope's job to LambdaScopeForCallOperatorInstantiationRAII (#123687)
Now that the RAII object has a dedicate logic for handling nested
lambdas, where the inner lambda could reference any
captures/variables/parameters from the outer lambda, we can shift the
responsibility for managing lambdas away from SetupConstraintScope().
I think this also makes the structure clearer.
Fixes https://github.com/llvm/llvm-project/issues/123441
Commit: 79231a86846b7dff09497fc58ea1e82e892052bd
https://github.com/llvm/llvm-project/commit/79231a86846b7dff09497fc58ea1e82e892052bd
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-default.cpp
A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-libunwind.cpp
A compiler-rt/test/orc/TestCases/Linux/loongarch64/lit.local.cfg.py
A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-ehframe.cpp
A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-initialize-deinitialize.ll
A compiler-rt/test/orc/TestCases/Linux/loongarch64/priority-static-initializer.S
A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-atexit.S
A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-cxa-atexit.S
A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-static-initializer.S
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
Log Message:
-----------
[ORC-RT][LoongArch] Add initial support for loongarch64 in ELFNixPlatform (#123575)
Enable ELFNixPlatform support for loongarch64. These are few simple
changes, but it allows us to use the orc runtime in ELF/LoongArch64
backend.
This change adds test cases targeting the LoongArch64 Linux platform to
the ORC runtime integration test suite. Since jitlink for loongarch64 is
ready for general use, and ELF-based platforms support defining multiple
static initializer table sections with differing priorities, some
relevant test cases in compiler-rt for ELFNixPlatform support can be
enabled.
Commit: 6aaa8f25b66dc1fef4e465f274ee40b82d632988
https://github.com/llvm/llvm-project/commit/6aaa8f25b66dc1fef4e465f274ee40b82d632988
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/test/lib/Analysis/TestMemRefStrideCalculation.cpp
Log Message:
-----------
[mlir][IR][NFC] Move free-standing functions to `MemRefType` (#123465)
Turn free-standing `MemRefType`-related helper functions in
`BuiltinTypes.h` into member functions.
Commit: 385f776b639097503eb43b124a3f68570c8c6beb
https://github.com/llvm/llvm-project/commit/385f776b639097503eb43b124a3f68570c8c6beb
Author: Cinhi Young <cyan at cyano.uk>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/test/CodeGen/Mips/msa/shuffle.ll
Log Message:
-----------
[MIPS][MSA] Invert operand order of `ILVOD` when lowering `VECTOR_SHUFFLE` (#123555)
This PR fixes operand order of `ILVOD.df` when lowering
`VECTOR_SHUFFLE`, the result was `<y[1], x[1]>` while it should be
`<x[1], y[1]>`.
* This PR is split from #123040.
Commit: ce32625966a922fe96aababe0ed975ada004901f
https://github.com/llvm/llvm-project/commit/ce32625966a922fe96aababe0ed975ada004901f
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Driver/fno-zero-init.f90
A flang/test/Lower/zero_init.f90
A flang/test/Lower/zero_init_default_init.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
Reland "[Flang][Driver] Add a flag to control zero initialization" (#123606)
Reverts llvm/llvm-project#123330
Commit: 7bb363bdd4e87ee0b1ded74ef2616643153ff756
https://github.com/llvm/llvm-project/commit/7bb363bdd4e87ee0b1ded74ef2616643153ff756
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
Log Message:
-----------
[CodeGen] Use MCRegister for ignoreCSRForAllocationOrder. (#123685)
Commit: 26b87aad9e2d34d53df67522dc5aea5f7c54a458
https://github.com/llvm/llvm-project/commit/26b87aad9e2d34d53df67522dc5aea5f7c54a458
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
A llvm/test/CodeGen/Mips/dllimport.ll
A llvm/test/MC/Mips/coff-relocs-dllimport.ll
Log Message:
-----------
[Mips] Handle declspec(dllimport) on mipsel-windows-* triples (#120912)
On Windows, imported symbols must be searched with '__imp_' prefix.
Support imported global variables and imported functions.
Commit: 73beb153c1de9b5fab4086b89ac34c6c49a74fdc
https://github.com/llvm/llvm-project/commit/73beb153c1de9b5fab4086b89ac34c6c49a74fdc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
Log Message:
-----------
[MC] Avoid repeated hash lookups (NFC) (#123698)
Commit: 1714facf4f7d7f4ef5a1846aded769fec8e684ac
https://github.com/llvm/llvm-project/commit/1714facf4f7d7f4ef5a1846aded769fec8e684ac
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/utils/TableGen/Basic/VTEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated map lookups (NFC) (#123699)
Commit: 671088be4e7883f9907d22bb64248996a33f9bae
https://github.com/llvm/llvm-project/commit/671088be4e7883f9907d22bb64248996a33f9bae
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Log Message:
-----------
[Rewrite] Avoid repeated hash lookups (NFC) (#123696)
Commit: a588e20280435a880c730602c3bf0a7f78e599f2
https://github.com/llvm/llvm-project/commit/a588e20280435a880c730602c3bf0a7f78e599f2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Log Message:
-----------
[SelectionDAG] Avoid repeated hash lookups (NFC) (#123697)
Commit: 0f9e913466982b92776d6ff748df48af28631517
https://github.com/llvm/llvm-project/commit/0f9e913466982b92776d6ff748df48af28631517
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
A mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir
Log Message:
-----------
[MLIR][NVVM] Add TMA Bulk Copy Ops (#123186)
PR #122344 adds intrinsics for Bulk Async Copy
(non-tensor variants) using TMA. This patch
adds the corresponding NVVM Dialect Ops.
lit tests are added to verify the lowering to all
variants of the intrinsics.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 97d691b4b3f5ba446d6827fc29fbe15e44a7adac
https://github.com/llvm/llvm-project/commit/97d691b4b3f5ba446d6827fc29fbe15e44a7adac
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
M llvm/unittests/FuzzMutate/OperationsTest.cpp
M llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Linker/LinkModulesTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[IR][unittests] Replace of PointerType::get(Type) with opaque version (NFC) (#123621)
In accordance with https://github.com/llvm/llvm-project/issues/123569
Commit: 4740e097031d231cd39680c16a31771d22fe84c9
https://github.com/llvm/llvm-project/commit/4740e097031d231cd39680c16a31771d22fe84c9
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang/include/clang/Sema/HeuristicResolver.h
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][Sema] Respect qualification of methods in heuristic results (#123551)
Fixes https://github.com/llvm/llvm-project/issues/123549
Commit: c22364a4324218e29512740466a2b2cb1a406d8b
https://github.com/llvm/llvm-project/commit/c22364a4324218e29512740466a2b2cb1a406d8b
Author: Marius Kamp <msk at posteo.org>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/csel-cmp-cse.ll
Log Message:
-----------
[AArch64] Eliminate Common SUBS by Reassociating Non-Constants (#123344)
Commit 1eed46960c217f9480865702f06fb730c7521e61 added logic to
reassociate a (add (add x y) -c) operand to a CSEL instruction with a
comparison involving x and c (or a similar constant) in order to obtain
a common (SUBS x c) instruction.
This commit extends this logic to non-constants. In this way, we also
reassociate a (sub (add x y) z) operand of a CSEL instruction to
(add (sub x z) y) if the CSEL compares x and z, for example.
Alive proof: https://alive2.llvm.org/ce/z/SEVpR
Commit: 547bfda56b2e3f3a4c6d2357d3566dcd3fa996ad
https://github.com/llvm/llvm-project/commit/547bfda56b2e3f3a4c6d2357d3566dcd3fa996ad
Author: David Green <david.green at arm.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/bf16-convert-intrinsics.ll
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
Log Message:
-----------
[AArch64] Improve bcvtn2 and remove aarch64_neon_bfcvt intrinsics (#120363)
This started out as trying to combine bf16 fpround to BFCVT2
instructions, but ended up removing the aarch64.neon.nfcvt intrinsics in
favour of generating fpround instructions directly. This simplifies the
patterns and can lead to other optimizations. The BFCVT2 instruction is
adjusted to makes sure the types are valid, and a bfcvt2 is now
generated in more place. The old intrinsics are auto-upgraded to fptrunc
instructions too.
Commit: 5658bc4ae75497edc5ec7c934931c8681d33fac8
https://github.com/llvm/llvm-project/commit/5658bc4ae75497edc5ec7c934931c8681d33fac8
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
M lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
M lldb/test/API/linux/aarch64/gcs/main.c
Log Message:
-----------
[lldb][Linux] Add Control Protection Fault signal (#122917)
This will be sent by Arm's Guarded Control Stack extension when an
invalid return is executed.
The signal does have an address we could show, but it's the PC at which
the fault occured. The debugger has plenty of ways to show you that
already, so I've left it out.
```
(lldb) c
Process 460 resuming
Process 460 stopped
* thread #1, name = 'test', stop reason = signal SIGSEGV: control protection fault
frame #0: 0x0000000000400784 test`main at main.c:57:1
54 afunc();
55 printf("return from main\n");
56 return 0;
-> 57 }
(lldb) dis
<...>
-> 0x400784 <+100>: ret
```
The new test case generates the signal by corrupting the link register
then attempting to return. This will work whether we manually enable GCS
or the C library does it for us.
(in the former case you could just return from main and it would fault)
Commit: 2a8c12b29f8dc777a62868512bed1a2dae1ef8b2
https://github.com/llvm/llvm-project/commit/2a8c12b29f8dc777a62868512bed1a2dae1ef8b2
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
Log Message:
-----------
"Reland "[Wunsafe-buffer-usage] Fix false positive when const sized array is indexed by const evaluatable expressions (#119340)"" (#123713)
This reverts commit 7dd34baf5505d689161c3a8678322a394d7a2929.
Fixed the assertion violation reported by
7dd34baf5505d689161c3a8678322a394d7a2929
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 67b9d3ffc2104e9c718510d83e93b3d26cb0872d
https://github.com/llvm/llvm-project/commit/67b9d3ffc2104e9c718510d83e93b3d26cb0872d
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
A mlir/test/Dialect/Linalg/tile-offset.mlir
Log Message:
-----------
[mlir] computeSliceParameters: Fix offset when m(0) != 0 (#122492)
For affine maps where `m(0) != 0`,
like `affine_map<(d0) -> (d0 + 3)` in
```
%generic = linalg.generic
{indexing_maps = [affine_map<(d0) -> (d0 + 3)>,
affine_map<(d0) -> (d0)>],
iterator_types = ["parallel"]} ins(%arg0: tensor<9xf32>) outs(%empty : tensor<6xf32>) {
^bb0(%in : f32, %out: f32):
linalg.yield %in : f32
} -> tensor<6xf32>
```
tiling currently computes the wrong slice offsets. When tiling above
example with a size of 3, it would compute
```
scf.for %i = ...
%slice = tensor.extract_slice %arg0[%i + 3] [6] [1]
linalg.generic
{indexing_maps = [affine_map<(d0) -> (d0 + 3)>,
affine_map<(d0) -> (d0)>],
iterator_types = ["parallel"]} ins(%slice: tensor<6xf32>)
```
and thus apply the `+3` twice (once in the extract slice and a second
time in the linalg.generic).
This PR fixes this to yield an offset of
`tensor.extract_slice %arg0[%i] [6] [1]` instead.
Commit: ebc502056448e950d41f4e2df7bae4e2bc60819e
https://github.com/llvm/llvm-project/commit/ebc502056448e950d41f4e2df7bae4e2bc60819e
Author: David Stuttard <david.stuttard at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
M llvm/test/CodeGen/AMDGPU/amdpal.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
Log Message:
-----------
[AMDGPU] Update entry point name for PAL metadata (#123581)
Old entry-point metadata being updated. Nothing is required
to account for deprecation as nothing uses the old style
Commit: 455b3d6df20c9bb50cdba66fd2f3202bc43eb4ac
https://github.com/llvm/llvm-project/commit/455b3d6df20c9bb50cdba66fd2f3202bc43eb4ac
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/DLL.cpp
M lld/COFF/DLL.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/COFF/MapFile.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-export.test
Log Message:
-----------
[LLD][COFF] Separate EC and native exports for ARM64X (#123652)
Store exports in SymbolTable instead of Configuration.
Commit: b6b18f1eb8f85040629eaeb07a168e3362fdb97b
https://github.com/llvm/llvm-project/commit/b6b18f1eb8f85040629eaeb07a168e3362fdb97b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/test/Transforms/Reassociate/reassoc_bool_vec.ll
Log Message:
-----------
[Reassociate] Don't reassociate vXi1 logical expressions (#123329)
Extends what we already do for i1 types and don't serialize vXi1 logical expressions to improve ILP.
llvm-test-suite numbers
https://github.com/llvm/llvm-project/issues/64840#issuecomment-2053621740
indicate that both reassociations are a net win.
Fixes #64840
Fixes #63946
Commit: 9b6e8df89689c37821e0ec37c63ac3fd40ea5339
https://github.com/llvm/llvm-project/commit/9b6e8df89689c37821e0ec37c63ac3fd40ea5339
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIFixVGPRCopies.cpp
A llvm/lib/Target/AMDGPU/SIFixVGPRCopies.h
M llvm/test/CodeGen/AMDGPU/fix-vgpr-copies.mir
Log Message:
-----------
[AMDGPU][NewPM] Port SIFixVGPRCopies to NPM (#123592)
Extends NPM pipeline support till PostRegAlloc passes (greedy is in the
works)
Commit: 616979ebd7dc9ae63522788750ea3dc6a96aa69f
https://github.com/llvm/llvm-project/commit/616979ebd7dc9ae63522788750ea3dc6a96aa69f
Author: Sergey Kozub <skozub at nvidia.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M llvm/lib/Target/NVPTX/NVPTX.td
Log Message:
-----------
[NVPTX] Add support for PTX 8.6 and CUDA 12.6 (12.8) (#123398)
Add CUDA versions 12.7, 12.8, 12.9 which support PTX8.6+ (enables using Blackwell-specific instructions).
Commit: 7acad6893b9b3b43e5e4a8e56404b1b19c07c79f
https://github.com/llvm/llvm-project/commit/7acad6893b9b3b43e5e4a8e56404b1b19c07c79f
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp
Log Message:
-----------
[AMDGPU][CodeGen] SILowerWWMCopies: Declare used analyses (#123710)
This prevents legacy PM from mistakenly removing these analyses if
`SILowerWWMCopies` is the last user of them. (it removes dead analyses
after its last use)
Commit: d96ec48068e03d1058b1c31581f7bc8738e12ee0
https://github.com/llvm/llvm-project/commit/d96ec48068e03d1058b1c31581f7bc8738e12ee0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M libclc/clc/include/clc/relational/clc_select.h
R libclc/clc/include/clc/relational/clc_select.inc
A libclc/clc/include/clc/relational/clc_select_decl.inc
A libclc/clc/include/clc/relational/clc_select_impl.inc
M libclc/clc/lib/clspv/SOURCES
M libclc/clc/lib/generic/relational/clc_select.cl
R libclc/clc/lib/generic/relational/clc_select.inc
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
M libclc/generic/include/clc/relational/select.h
R libclc/generic/include/clc/relational/select.inc
M libclc/generic/lib/relational/select.cl
R libclc/generic/lib/relational/select.inc
Log Message:
-----------
[libclc] Route select through __clc_select (#123647)
This was missed during the introduction of select. This also unifies the
various .inc files used for each, as they were essentially identical.
The __clc_select function is now also built for SPIR-V targets.
Commit: eaf3e1b0d1ebae590c9be94eafaa10da9e192a37
https://github.com/llvm/llvm-project/commit/eaf3e1b0d1ebae590c9be94eafaa10da9e192a37
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/generic/lib/relational/bitselect.cl
M libclc/generic/lib/relational/bitselect.inc
Log Message:
-----------
[libclc] Route int bitselect through CLC; add half (#123653)
The half variants were missing. The integer bitselect builtins weren't
going through __clc_bitselect due to an oversight when the CLC version
was introduced.
Commit: 84fa1755a5b7845ddaeaa513a3786013c76c9c88
https://github.com/llvm/llvm-project/commit/84fa1755a5b7845ddaeaa513a3786013c76c9c88
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/test/CodeGen/AArch64/targetattr.c
M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/MC/AArch64/spe.s
Log Message:
-----------
[AArch64] FEAT_SPEv1p2 is optional in v8.7-A and v9.2-A (#123336)
The FEAT_SPEv1p2 feature (known to LLVM as FeatureSPE_EEF and +spe-eef)
was incorrectly marked as a required feature of Armv8.7-A (and later),
which is incorrect because it is optional, and some CPUs do not
implement it. This moves it to the default features list, so that it is
still enabled by -march=armv8.7-a, but can be configured individually
for each processor.
For Cortex-A520 and Cortex-A520AE, I've checked that these do not have any of
the FEAT_SPE* features, so updated the tests accordingly. All other
Arm-designed v8.7A+ and v9.2A+ CPUs should continue to have it enabled. For
Ampere1B and Fujitsu Monaka, these CPUs do not have the feature, so I've
removed it from their tests. For Apple M4, I haven't found any reference for
whether that CPU should have this feature, so I've added it to the CPU
definition to avoid this being a functional change.
Commit: 50bfa85d7968690aa305ae1b30f0214ced64c4d7
https://github.com/llvm/llvm-project/commit/50bfa85d7968690aa305ae1b30f0214ced64c4d7
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
Log Message:
-----------
[DAGCombiner] Fix scalarizeExtractedBinOp for some SETCC cases (#123071)
PR https://github.com/llvm/llvm-project/pull/118823 added a
DAG combine for extracting elements of a vector returned from
SETCC, however it doesn't correctly deal with the case where
the vector element type is not i1. In this case we have to
take account of the boolean contents, which are represented
differently between vectors and scalars. The code now
explicitly performs an inreg sign extend in order to get the
same result.
Fixes https://github.com/llvm/llvm-project/issues/121372
Commit: 6dc356d6985fc49d1b69c20cc27f6b066742144a
https://github.com/llvm/llvm-project/commit/6dc356d6985fc49d1b69c20cc27f6b066742144a
Author: David Green <david.green at arm.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[Clang] Add numeric for iota.
Hopefuly fixes MSVC build after 547bfda56b2e3f3a4c6d2357d3566dcd3fa996ad.
Commit: 3ff9368e58a9e73015cc2284788394e94e28e3bb
https://github.com/llvm/llvm-project/commit/3ff9368e58a9e73015cc2284788394e94e28e3bb
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
Log Message:
-----------
[SPIR-V] Ensure that Module resource is managed locally wrt. a unit test case and fix a memory leak (#123725)
Adding SPIRV to LLVM_ALL_TARGETS
(https://github.com/llvm/llvm-project/pull/119653) revealed a series of
minor compilation problems and sanitizer complaints. This PR is to move
unit tests resources (a Module ptr) from the class-scope to a local
scope of the class member function to be sure that before the test env
is teared down the ptr is released.
Commit: cda81b1ec96e26cb7e47acc5656fe219383ffbc5
https://github.com/llvm/llvm-project/commit/cda81b1ec96e26cb7e47acc5656fe219383ffbc5
Author: Michal Paszkowski <michal at michalpaszkowski.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M .github/workflows/spirv-tests.yml
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[SPIR-V] Add SPIRV to LLVM_ALL_TARGETS (reapply) (#123733)
This commit promotes the SPIR-V backend from experimental to official
status. As a result, SPIR-V will be built by default, simplifying
integration and increasing accessibility for downstream projects.
Discussion and RFC on Discourse:
https://discourse.llvm.org/t/rfc-promoting-spir-v-to-an-official-target/83614
The PR reapplies the original patch
https://github.com/llvm/llvm-project/pull/119653 and consecutive
https://github.com/llvm/llvm-project/pull/123654, reverted due to
buildbot failures.
Commit: c7de642ece5745b5ade04e910ba4ff54728a1cd1
https://github.com/llvm/llvm-project/commit/c7de642ece5745b5ade04e910ba4ff54728a1cd1
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (5/11) (#116831)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`SCVTF`, and `UCVTF` instructions.
Commit: 13c6abfac84fca4bc55c0721d1853ce86a385678
https://github.com/llvm/llvm-project/commit/13c6abfac84fca4bc55c0721d1853ce86a385678
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/Headers/avx10_2_512minmaxintrin.h
M clang/lib/Headers/avx10_2minmaxintrin.h
M clang/lib/Sema/SemaX86.cpp
M clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
M clang/test/CodeGen/X86/avx10_2_512minmax-error.c
M clang/test/CodeGen/X86/avx10_2minmax-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2_512minmax-intrinsics.ll
M llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/MC/Disassembler/X86/avx10.2minmax-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2minmax-64.txt
M llvm/test/MC/X86/avx10.2minmax-32-att.s
M llvm/test/MC/X86/avx10.2minmax-32-intel.s
M llvm/test/MC/X86/avx10.2minmax-64-att.s
M llvm/test/MC/X86/avx10.2minmax-64-intel.s
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][AVX10.2-MINMAX][NFC] Remove NE[P] from intrinsic and instruction (#123272)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965
Commit: 733be4ed7dcf976719f424c0cb81b77a14f91f5a
https://github.com/llvm/llvm-project/commit/733be4ed7dcf976719f424c0cb81b77a14f91f5a
Author: Andrea Faulds <andrea.faulds at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
A mlir/test/Conversion/GPUCommon/lower-launch-func-bare-ptr-intersperse-size.mlir
M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
M mlir/test/mlir-vulkan-runner/addi.mlir
M mlir/test/mlir-vulkan-runner/addi8.mlir
M mlir/test/mlir-vulkan-runner/mulf.mlir
M mlir/test/mlir-vulkan-runner/subf.mlir
M mlir/tools/mlir-vulkan-runner/vulkan-runtime-wrappers.cpp
Log Message:
-----------
[mlir][spirv] Add GpuToLLVM cconv suited to Vulkan, migrate last tests (#123384)
This commit is a follow-up to 99a562b3cb17e89273ba0fe77129f2fb17a19381,
which migrated some of the mlir-vulkan-runner tests to mlir-cpu-runner
using a new pipeline and set of wrappers. That commit could not migrate
all the tests, because the existing calling conventions/ABIs for kernel
arguments generated by GPUToLLVMConversionPass were not a good fit for
the Vulkan runtime. This commit fixes this and migrates the remaining
tests. With this commit, mlir-vulkan-runner and many related components
are now unused, and they will be removed in a later commit (see #73457).
The old calling conventions require both the caller (host LLVM code) and
callee (device code) to have compile-time knowledge of the precise
argument types. This works for CUDA, ROCm and SYCL, where there is a
C-like calling convention agreed between the host and device code, and
the runtime passes through arguments as raw data without comprehension.
For Vulkan, however, the interface declared by the shader/kernel is in a
more abstract form, so the device code has indirect access to the
argument data, and the runtime must process the arguments to set up and
bind appropriately-sized buffer descriptors.
This commit introduces a new calling convention option to meet the
Vulkan runtime's needs. It lowers memref arguments to {void*, size_t}
pairs, which can be trivially interpreted by the runtime without it
needing to know the original argument types. Unlike the stopgap measure
in the previous commit, this system can support memrefs of various ranks
and element types, which unblocked migrating the remaining tests.
Commit: 82944595fa5509fdbd574318e9041f2edab32e5f
https://github.com/llvm/llvm-project/commit/82944595fa5509fdbd574318e9041f2edab32e5f
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage0.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
Log Message:
-----------
[AMDGPU] Change scope of resource usage info symbols (#114810)
Change scope of resource usage info MC symbols to align with the function linkage type
Commit: 5d9c717597aef72e4ba27a2b143e9753c513e5c9
https://github.com/llvm/llvm-project/commit/5d9c717597aef72e4ba27a2b143e9753c513e5c9
Author: lialan <me at alanli.org>
Date: 2025-01-21 (Tue, 21 Jan 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
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shifts.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.postlegal.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.prelegal.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
Log Message:
-----------
[GISel] Fold shifts to constant result. (#123510)
This resolves #123212
Commit: 33656932b0e9098354b2e685d6ed70bd0bcb246a
https://github.com/llvm/llvm-project/commit/33656932b0e9098354b2e685d6ed70bd0bcb246a
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Rename ExportBlockIndentation -> IndentExportBlock (#123493)
This renames the `ExportBlockIndentation` option and adds a config parse
test, as requested in #110381.
Commit: d028eaaeb8b3ceaf64379a18d14223d8b154e927
https://github.com/llvm/llvm-project/commit/d028eaaeb8b3ceaf64379a18d14223d8b154e927
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_sve.td
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[AArch64] Update SVE untyped intrinsics to have FP8 variants (#123585)
Update the following intrinsics to have FP8 variants:
``` c
svuint8_t svdup_laneq[_u8](svuint8_t zn, uint64_t imm_idx);
svuint8_t svextq[_u8](svuint8_t zdn, svuint8_t zm, uint64_t imm);
svint8_t svtblq[_s8](svint8_t zn, svuint8_t zm);
svint8_t svtbxq[_s8](svint8_t fallback, svint8_t zn, svuint8_t zm);
svuint8_t svuzpq1[_u8](svuint8_t zn, svuint8_t zm);
svuint8_t svuzpq2[_u8](svuint8_t zn, svuint8_t zm);
svuint8_t svzipq1[_u8](svuint8_t zn, svuint8_t zm);
svuint8_t svzipq2[_u8](svuint8_t zn, svuint8_t zm);
```
Commit: 4b73f6a54884b6a34fbff16b5e24b7a2e480ebcb
https://github.com/llvm/llvm-project/commit/4b73f6a54884b6a34fbff16b5e24b7a2e480ebcb
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
Log Message:
-----------
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (6/11) (#116832)
SVE2.2 introduces instructions with predicated forms with zeroing of
the inactive lanes. This allows in some cases to save a `movprfx` or
a `mov` instruction when emitting code for `_x` or `_z` variants of
intrinsics.
This patch adds support for emitting the zeroing forms of certain
`CLS`, `CLZ`, `CNT`, `CNOT`, and `NOT` instructions.
Commit: 67a412f0721e09049bfb7cfc830d771dda2ff512
https://github.com/llvm/llvm-project/commit/67a412f0721e09049bfb7cfc830d771dda2ff512
Author: Emilio Cota <ecg at google.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/CommonTypeConstraints.td
Log Message:
-----------
[mlir][IR] CommonTypeConstraints: fully qualify low-precision FP type… (#123738)
…s isa<> calls in isa<> calls
To ease integration with downstream projects.
Follow-up to PR #123326.
Commit: ec6c3448d31056db5d63d7aed3e9f207edb49321
https://github.com/llvm/llvm-project/commit/ec6c3448d31056db5d63d7aed3e9f207edb49321
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/lib/AnalysisInternal.h
M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/LocateSymbol.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
M clang-tools-extra/include-cleaner/unittests/LocateSymbolTest.cpp
Log Message:
-----------
[include-cleaner] Respect langopts when analyzing macro names (#123634)
Fixes https://github.com/llvm/llvm-project/issues/113926.
Fixes https://github.com/llvm/llvm-project/issues/63976.
Commit: f233a54ae80b5fe7604aa20007d050cefdd5f663
https://github.com/llvm/llvm-project/commit/f233a54ae80b5fe7604aa20007d050cefdd5f663
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M offload/DeviceRTL/include/State.h
Log Message:
-----------
[OpenMP] Remove usage of pointer-to-member in lookup (#123671)
Summary:
This is buggy and is currently being tracked in
https://github.com/llvm/llvm-project/issues/123241. For now, replace it
with a macro so that we can use address spaces directly.
Commit: 9ca1323de1ad2583b02930d2ee5721c96f2d3a51
https://github.com/llvm/llvm-project/commit/9ca1323de1ad2583b02930d2ee5721c96f2d3a51
Author: Chinmay Deshpande <chdeshpa at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
A llvm/test/CodeGen/AMDGPU/fix-crash-valu-hazard.ll
A llvm/test/CodeGen/AMDGPU/hazard-flat-instruction-valu-check.mir
Log Message:
-----------
[AMDGPU] Fix crash due to missing check for FLAT instructions that dont use vector registers when computing VALU hazard (#123627)
Commit: 29f7392c73dcd514a4581ba4b9c4ee0cee730145
https://github.com/llvm/llvm-project/commit/29f7392c73dcd514a4581ba4b9c4ee0cee730145
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
Log Message:
-----------
[flang][OpenMP] Rewrite standalone `loop` (without `bind`) directives to `simd` (#122632)
Extends conversion support for `loop` directives. This PR handles
standalone `loop` constructs that do not have a `bind` clause attached
by rewriting them to equivalent `simd` constructs. The reasoning behind
that decision is documented in the rewrite function itself.
Commit: 03744d2aaffee04bc1e4d0668c41556c3c20d406
https://github.com/llvm/llvm-project/commit/03744d2aaffee04bc1e4d0668c41556c3c20d406
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/LangOptions.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
M clang/test/CodeGenOpenCL/amdgpu-alignment.cl
M clang/test/CodeGenOpenCL/preserve_vec3.cl
Log Message:
-----------
[Clang] Remove 3-element vector load and store special handling (#104661)
Clang uses a long-time special handling of the case where 3 element
vector loads and stores are performed as 4 element, and then a
shufflevector is used to extract the used elements. Odd sized vector
codegen should now work reasonably well.
This patch removes the compiler argument `-fpreserve-vec3-type` and adds
a target hook to determine if the special handling of vector type is
needed.
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: 5183ec471a9f45de1202a64c8c9ffe22d895a161
https://github.com/llvm/llvm-project/commit/5183ec471a9f45de1202a64c8c9ffe22d895a161
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/urem-seteq-vec-tautological.ll
Log Message:
-----------
[X86] urem-seteq-vec-tautological.ll - regenerate VPTERNLOG comment
Commit: 0eb7195d71fff491a6bc6a3a1ad280f3b635d925
https://github.com/llvm/llvm-project/commit/0eb7195d71fff491a6bc6a3a1ad280f3b635d925
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerMUL/LowerRotate - avoid undefs in shuffle mask to prevent premature optimization
Later SimplifyDemandedVectorElts calls will simplify any remaining shuffles though the X86ISD::PMULUDQ node.
Avoids regression in #123596
Commit: 13918f5be867976fc3b6bfd22c4dfd5cb20834f1
https://github.com/llvm/llvm-project/commit/13918f5be867976fc3b6bfd22c4dfd5cb20834f1
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACCClause.cpp
Log Message:
-----------
[OpenACC] Remove unreachable code
As stated on the commit by @shafik, the previous patch left in some code
from development. This removes it, as it is unreachable.
Commit: 59dffce8c80eb9cefc96b8d3fe55473edfee9c4c
https://github.com/llvm/llvm-project/commit/59dffce8c80eb9cefc96b8d3fe55473edfee9c4c
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[FIX] Include `<numeric>` in `clang/lib/CodeGen/CGExpr.cpp`
It uses `std::iota` but the header was not included.
Commit: aeffc01a7247cd95560b0c35b7a2c8d5a434b1f0
https://github.com/llvm/llvm-project/commit/aeffc01a7247cd95560b0c35b7a2c8d5a434b1f0
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
[lldb][DWARFASTParserClang][NFC] Remove redundant local variable
Tiny improvement to reviewability of an upcoming refactor.
Commit: c3d820553fa10368b7bf298674d978449416b11f
https://github.com/llvm/llvm-project/commit/c3d820553fa10368b7bf298674d978449416b11f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
Log Message:
-----------
[RegAllocFast] Don't convert MCRegUnit to MCRegister. NFC (#123705)
Commit: 0c217058fce0ffdbbd406ccf598a888e44178277
https://github.com/llvm/llvm-project/commit/0c217058fce0ffdbbd406ccf598a888e44178277
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M clang/unittests/Analysis/CFGBuildResult.h
M clang/unittests/Analysis/CFGTest.cpp
Log Message:
-----------
[analysis][NFC] clean unittest log (#123758)
1. clean llvm::errs ouput
2. add -Wno-everything option to suppress clang warning during test
Commit: f5f32cef617c0796a7d980a464786949cbf21227
https://github.com/llvm/llvm-project/commit/f5f32cef617c0796a7d980a464786949cbf21227
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[CodeGen] Use MCRegister instead of MCPhysReg in RegisterMaskPair. NFC (#123688)
Update some other places to avoid implicit conversions this introduces,
but I probably missed some.
Commit: 8f5df8891840bb698fec682c1d98346708c038be
https://github.com/llvm/llvm-project/commit/8f5df8891840bb698fec682c1d98346708c038be
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/OpenMP/declare-target08.f90
Log Message:
-----------
[Flang][Semantics] Allow declare target to be used on functions external to the declare targets scope (#122546)
Whilst a little contrived, OpenMP allows you to utilise declare target
in the scope of one function to mark another function declare target,
currently this leads to a semantic error.
This appears to be because when we process the declare target directive
in the scope of another function (referring to another function), we do
not search externally from that functions scope to find possible prior
definitions, we only search in the current scope, this leads to us
implicitly defining a new variable and using that when implicit none is
not specified and then error'ng out or error'ng out earlier when implict
none is defined. This patch tries to address this behaviour by looking
externally for a function first and using that, before defaulting back
to the prior behaviour.
Commit: 70632f95664afba831cee7c819a32c56c002e80f
https://github.com/llvm/llvm-project/commit/70632f95664afba831cee7c819a32c56c002e80f
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vopc.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_vopc_t16_promote.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_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_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vopc_t16_promote.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cmp_xx_f16 (#122943)
A bulk commit of true16 support for v_cmp_xx_f16 instructions including:
v_cmp_f_f16
v_cmp_eq_f16
v_cmp_le_f16
v_cmp_gt_f16
v_cmp_lg_f16
v_cmp_ge_f16
v_cmp_o_f16
v_cmp_u_f16
v_cmp_nge_f16
v_cmp_nlg_f16
v_cmp_ngt_f16
v_cmp_nle_f16
v_cmp_neq_f16
v_cmp_nlt_f16
v_cmp_t_f16
Added a GFX12 runline for fcmp.f16
Commit: a9f0a8bace8325a414aba8173b8f77f9e4208103
https://github.com/llvm/llvm-project/commit/a9f0a8bace8325a414aba8173b8f77f9e4208103
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-21 (Tue, 21 Jan 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/CODEOWNERS
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/premerge.yaml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/spirv-tests.yml
M bolt/CMakeLists.txt
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/runtime/CMakeLists.txt
A bolt/test/AArch64/inline-small-function-1.s
A bolt/test/AArch64/inline-small-function-2.s
M bolt/test/lit.local.cfg
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
M clang-tools-extra/clang-tidy/misc/UnusedUsingDeclsCheck.h
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.cpp
M clang-tools-extra/clang-tidy/modernize/RawStringLiteralCheck.h
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/utils/LexerUtils.cpp
M clang-tools-extra/clang-tidy/utils/LexerUtils.h
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/FindTarget.h
R clang-tools-extra/clangd/HeuristicResolver.cpp
R clang-tools-extra/clangd/HeuristicResolver.h
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/ParsedAST.h
M clang-tools-extra/clangd/SemanticHighlighting.cpp
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
R clang-tools-extra/clangd/unittests/HeuristicResolverTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/Contributing.rst
M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Analysis.h
M clang-tools-extra/include-cleaner/lib/Analysis.cpp
M clang-tools-extra/include-cleaner/lib/AnalysisInternal.h
M clang-tools-extra/include-cleaner/lib/FindHeaders.cpp
M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
M clang-tools-extra/include-cleaner/lib/LocateSymbol.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/FindHeadersTest.cpp
M clang-tools-extra/include-cleaner/unittests/LocateSymbolTest.cpp
A clang-tools-extra/test/clang-reorder-fields/Comments.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/raw-string-literal.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/hexagon-unknown-linux-musl-clang-cross.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangOffloadBundler.rst
M clang/docs/ClangTransformerTutorial.rst
M clang/docs/InternalsManual.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/Multilib.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExternalASTMerger.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
A clang/include/clang/Basic/AllDiagnosticKinds.inc
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/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsHexagonDep.def
M clang/include/clang/Basic/BuiltinsNVPTX.def
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/include/clang/Basic/BuiltinsSystemZ.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/Cuda.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/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
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/LangOptions.def
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Multilib.h
M clang/include/clang/Driver/OffloadBundler.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Lex/Lexer.h
A clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Overload.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/Tooling/Tooling.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/EvaluationResult.cpp
M clang/lib/AST/ByteCode/FixedPoint.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/ExprMutationAnalyzer.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ConstantInitBuilder.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/Arch/ARM.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/avx10_2_512minmaxintrin.h
M clang/lib/Headers/avx10_2minmaxintrin.h
M clang/lib/Headers/hlsl/hlsl_detail.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/vecintrin.h
M clang/lib/Interpreter/CodeCompletion.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/DeclSpec.cpp
A clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.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/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenACC.cpp
A clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaSystemZ.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/Tooling/Tooling.cpp
M clang/test/APINotes/Inputs/Headers/Templates.h
M clang/test/APINotes/templates.cpp
M clang/test/ARCMT/autoreleases.m
M clang/test/ARCMT/autoreleases.m.result
M clang/test/ARCMT/retains.m
M clang/test/ARCMT/retains.m.result
M clang/test/AST/ByteCode/c23.c
M clang/test/AST/ByteCode/constexpr.c
M clang/test/AST/ByteCode/cxx11.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx98.cpp
M clang/test/AST/ByteCode/lifetimes.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-special-member-functions.cpp
M clang/test/Analysis/Inputs/expected-plists/plist-output.m.plist
M clang/test/Analysis/const-method-call.cpp
M clang/test/Analysis/inline-unique-reports.c
M clang/test/Analysis/malloc.c
M clang/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
M clang/test/Analysis/novoidtypecrash.c
M clang/test/Analysis/plist-output.m
M clang/test/Analysis/plist-stats-output.c
M clang/test/Analysis/scopes-cfg-output.cpp
M clang/test/Analysis/structured_bindings.cpp
M clang/test/CXX/basic/basic.lookup/basic.lookup.argdep/p5-ex2.cpp
M clang/test/CXX/basic/basic.scope/basic.scope.namespace/p2.cpp
M clang/test/CXX/drs/cwg605.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p5.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.lambda/p7.cpp
M clang/test/CXX/module/basic/basic.def.odr/p4.cppm
M clang/test/CXX/module/basic/basic.link/p2.cppm
M clang/test/CXX/module/module.import/p2.cpp
M clang/test/CXX/module/module.interface/p7.cpp
M clang/test/CXX/module/module.reach/p5.cpp
M clang/test/CodeGen/2003-06-26-CFECrash.c
M clang/test/CodeGen/2003-08-18-SigSetJmp.c
M clang/test/CodeGen/2003-08-23-LocalUnionTest.c
M clang/test/CodeGen/2003-10-29-AsmRename.c
M clang/test/CodeGen/2003-11-20-ComplexDivision.c
M clang/test/CodeGen/2004-06-18-VariableLengthArrayOfStructures.c
M clang/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
M clang/test/CodeGen/2005-01-02-VAArgError-ICE.c
M clang/test/CodeGen/2005-06-15-ExpandGotoInternalProblem.c
M clang/test/CodeGen/2007-01-06-KNR-Proto.c
M clang/test/CodeGen/2008-05-06-CFECrash.c
M clang/test/CodeGen/2008-07-30-redef-of-bitcasted-decl.c
M clang/test/CodeGen/2008-10-13-FrontendCrash.c
M clang/test/CodeGen/2009-01-21-InvalidIterator.c
M clang/test/CodeGen/2009-05-04-EnumInreg.c
M clang/test/CodeGen/2009-07-15-pad-wchar_t-array.c
M clang/test/CodeGen/AArch64/sve2-intrinsics/acle_sve2_luti.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_dupq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_extq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tblq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_tbxq.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_uzpq2.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq1.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_zipq2.c
M clang/test/CodeGen/AArch64/targetattr.c
A clang/test/CodeGen/SystemZ/builtins-systemz-bitop.c
A clang/test/CodeGen/SystemZ/builtins-systemz-vector5-error.c
A clang/test/CodeGen/SystemZ/builtins-systemz-vector5.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3-error.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector3.c
A clang/test/CodeGen/SystemZ/builtins-systemz-zvector5-error.c
A 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/CodeGen/SystemZ/vec-abi-gnuattr-05.c
M clang/test/CodeGen/SystemZ/zvector.c
M clang/test/CodeGen/X86/amx_avx512_api.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
M clang/test/CodeGen/X86/avx10_2_512minmax-builtins.c
M clang/test/CodeGen/X86/avx10_2_512minmax-error.c
M clang/test/CodeGen/X86/avx10_2minmax-builtins.c
M clang/test/CodeGen/X86/avx512fp16-abi.c
M clang/test/CodeGen/X86/ms-x86-intrinsics.c
M clang/test/CodeGen/X86/x86_64-atomic-128.c
M clang/test/CodeGen/align-local.c
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-cmse-nonsecure.c
M clang/test/CodeGen/arm-cmse-secure.c
M clang/test/CodeGen/attr-counted-by-pr110385.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-noinline.cpp
M clang/test/CodeGen/attr-noreturn.c
M clang/test/CodeGen/block-copy.c
M clang/test/CodeGen/builtin-memfns.c
M clang/test/CodeGen/catch-undef-behavior.c
M clang/test/CodeGen/cfi-unrelated-cast.cpp
M clang/test/CodeGen/const-label-addr.c
M clang/test/CodeGen/debug-info-crash.c
M clang/test/CodeGen/debug-info.c
M clang/test/CodeGen/empty-union-init.c
M clang/test/CodeGen/exceptions-seh.c
M clang/test/CodeGen/exprs.c
M clang/test/CodeGen/ext-int-cc.c
M clang/test/CodeGen/implicit-arg.c
M clang/test/CodeGen/mips-vector-return.c
M clang/test/CodeGen/mips64-nontrivial-return.cpp
M clang/test/CodeGen/ms-intrinsics-other.c
M clang/test/CodeGen/ms-intrinsics.c
M clang/test/CodeGen/msan-param-retval.c
M clang/test/CodeGen/msan-param-retval.cpp
M clang/test/CodeGen/object-size.c
M clang/test/CodeGen/pragma-comment.c
M clang/test/CodeGen/sanitize-metadata-nosanitize.c
M clang/test/CodeGen/sparcv8-abi.c
M clang/test/CodeGen/sret.c
M clang/test/CodeGen/static-order.c
M clang/test/CodeGen/staticinit.c
M clang/test/CodeGen/struct.c
M clang/test/CodeGen/ubsan-debuglog-return.c
M clang/test/CodeGen/union.c
M clang/test/CodeGen/ve-abi.c
M clang/test/CodeGenCXX/2007-01-06-PtrMethodInit.cpp
M clang/test/CodeGenCXX/2007-09-10-RecursiveTypeResolution.cpp
M clang/test/CodeGenCXX/2007-10-01-StructResize.cpp
M clang/test/CodeGenCXX/2009-08-11-VectorRetTy.cpp
M clang/test/CodeGenCXX/2010-07-23-DeclLoc.cpp
M clang/test/CodeGenCXX/address-space-cast-coerce.cpp
M clang/test/CodeGenCXX/array-value-initialize.cpp
M clang/test/CodeGenCXX/attr.cpp
M clang/test/CodeGenCXX/c-linkage.cpp
M clang/test/CodeGenCXX/catch-undef-behavior.cpp
M clang/test/CodeGenCXX/conditional-gnu-ext.cpp
M clang/test/CodeGenCXX/cxx1y-variable-template-linkage.cpp
A clang/test/CodeGenCXX/debug-info-codeview-nodebug.cpp
M clang/test/CodeGenCXX/debug-info-cxx0x.cpp
A clang/test/CodeGenCXX/debug-info-object-pointer.cpp
M clang/test/CodeGenCXX/debug-info-scoped-class.cpp
M clang/test/CodeGenCXX/debug-lambda-this.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/expr.cpp
M clang/test/CodeGenCXX/inline-then-fold-variadics.cpp
M clang/test/CodeGenCXX/lambda-expressions-nested-linkage.cpp
M clang/test/CodeGenCXX/mangle-exprs.cpp
M clang/test/CodeGenCXX/mangle-variadic-templates.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/CodeGenCXX/matrix-type-operators.cpp
M clang/test/CodeGenCXX/matrix-type.cpp
M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
M clang/test/CodeGenCXX/microsoft-abi-static-initializers.cpp
M clang/test/CodeGenCXX/new-alias.cpp
M clang/test/CodeGenCXX/nrvo.cpp
M clang/test/CodeGenCXX/reference-field.cpp
M clang/test/CodeGenCXX/return.cpp
M clang/test/CodeGenCXX/template-instantiation.cpp
M clang/test/CodeGenCXX/trap-fnattr.cpp
M clang/test/CodeGenCXX/ubsan-check-debuglocs.cpp
A clang/test/CodeGenHLSL/Bool.hlsl
A clang/test/CodeGenHLSL/builtins/D3DCOLORtoUBYTE4.hlsl
A clang/test/CodeGenHLSL/builtins/WaveActiveSum.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
A clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenObjC/2007-10-18-ProDescriptor.m
M clang/test/CodeGenObjC/2008-11-25-Blocks.m
M clang/test/CodeGenObjC/debug-info-crash.m
M clang/test/CodeGenObjC/encode-test.m
M clang/test/CodeGenObjC/message-arrays.m
M clang/test/CodeGenObjC/metadata-symbols-32.m
M clang/test/CodeGenObjC/metadata-symbols-64.m
M clang/test/CodeGenObjC/objc2-weak-compare.m
M clang/test/CodeGenObjC/objc2-write-barrier-2.m
M clang/test/CodeGenObjC/protocols-lazy.m
M clang/test/CodeGenObjC/strong-in-c-struct.m
M clang/test/CodeGenObjCXX/debug-info-line.mm
M clang/test/CodeGenObjCXX/instantiate-return.mm
M clang/test/CodeGenObjCXX/pr14474-gline-tables-only.mm
M clang/test/CodeGenObjCXX/property-dot-reference.mm
M clang/test/CodeGenObjCXX/return.mm
M clang/test/CodeGenOpenCL/amdgpu-alignment.cl
M clang/test/CodeGenOpenCL/preserve_vec3.cl
A clang/test/CodeGenSPIRV/Builtins/length.c
M clang/test/CoverageMapping/switch.cpp
A clang/test/Driver/Inputs/multilib/multilib-custom-flags.yaml
M clang/test/Driver/aarch64-implied-sme-features.c
M clang/test/Driver/arm-mfpu.c
A clang/test/Driver/baremetal-multilib-custom-flags-parsing.yaml
A clang/test/Driver/baremetal-multilib-custom-flags.yaml
M clang/test/Driver/cc-log-diagnostics.c
M clang/test/Driver/clang-offload-bundler-zlib.c
M clang/test/Driver/freebsd.c
A clang/test/Driver/fuse-lipo.c
M clang/test/Driver/hip-cuid.hip
M clang/test/Driver/modules-print-library-module-manifest-path.cpp
M clang/test/Driver/print-enabled-extensions/aarch64-ampere1b.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520.c
M clang/test/Driver/print-enabled-extensions/aarch64-cortex-a520ae.c
M clang/test/Driver/print-enabled-extensions/aarch64-fujitsu-monaka.c
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-aarch64.c
M clang/test/Driver/systemz-march.c
M clang/test/FixIt/fixit-availability-maccatalyst.m
M clang/test/FixIt/fixit-c++11.cpp
M clang/test/Frontend/absolute-paths.c
M clang/test/Frontend/ast-codegen.c
M clang/test/Frontend/ast-main.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/serialized-diags-stable.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/systemz.c
M clang/test/Modules/Reachability-template-default-arg.cpp
M clang/test/Modules/cxx20-10-1-ex2.cpp
M clang/test/Modules/deduction-guide3.cppm
A clang/test/Modules/gmodules-nodebug.cpp
A clang/test/Modules/module-local-visibility-in-language-linkage.cppm
A clang/test/Modules/module-local-with-templates.cppm
M clang/test/Modules/pr61067.cppm
A clang/test/Modules/pr90154.cppm
M clang/test/Modules/preferred_name.cppm
M clang/test/Modules/redecl-merge.m
A clang/test/OpenMP/parallel_masked_taskloop_simd_codegen.c
M clang/test/PCH/irgen-rdar13114142.mm
M clang/test/PCH/late-parsed-instantiations.cpp
M clang/test/PCH/pr4489.c
M clang/test/PCH/va_arg.c
M clang/test/PCH/va_arg.h
M clang/test/Parser/promote_types_in_proto.c
M clang/test/Preprocessor/arm-acle-6.4.c
M clang/test/Preprocessor/arm-target-features.c
M clang/test/Preprocessor/init-aarch64.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Rewriter/rewrite-extern-c.mm
M clang/test/Sema/aarch64-sve2-intrinsics/acle_sve2_imm_lane.cpp
M clang/test/Sema/attr-nonblocking-constraints.cpp
M clang/test/Sema/attr-target-clones.c
M clang/test/Sema/attr-target-mv.c
M clang/test/Sema/attr-target.c
M clang/test/Sema/freemain.c
M clang/test/Sema/return-type-mismatch.c
M clang/test/Sema/uninit-variables.c
M clang/test/Sema/warn-infinity-nan-disabled-lnx.cpp
M clang/test/Sema/warn-infinity-nan-disabled-win.cpp
M clang/test/Sema/zvector.c
M clang/test/SemaCXX/attr-lifetimebound.cpp
M clang/test/SemaCXX/attr-noreturn.cpp
M clang/test/SemaCXX/builtin-assume-aligned.cpp
M clang/test/SemaCXX/constant-expression-cxx14.cpp
M clang/test/SemaCXX/constexpr-return-non-void-cxx2b.cpp
M clang/test/SemaCXX/constructor.cpp
M clang/test/SemaCXX/conversion-function.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/destructor.cpp
A clang/test/SemaCXX/err-missing-noreturn-1.cpp
A clang/test/SemaCXX/err-missing-noreturn-2.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
M clang/test/SemaCXX/ptrauth-type-discriminator.cpp
M clang/test/SemaCXX/reinterpret-cast.cpp
M clang/test/SemaCXX/return-noreturn.cpp
M clang/test/SemaCXX/uninitialized.cpp
R clang/test/SemaCXX/warn-inconsistent-missing-destructor-override
A clang/test/SemaCXX/warn-inconsistent-missing-destructor-override.cpp
M clang/test/SemaCXX/warn-missing-noreturn.cpp
R clang/test/SemaCXX/warn-suggest-destructor-override
A clang/test/SemaCXX/warn-suggest-destructor-override.cpp
R clang/test/SemaCXX/warn-suggest-override
A clang/test/SemaCXX/warn-suggest-override.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-add-assign.cpp
A clang/test/SemaHLSL/BuiltIns/D3DCOLORtoUBYTE4-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/WaveActiveSum-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/asfloat-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/firstbitlow-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaObjC/return-noreturn.m
M clang/test/SemaObjC/try-catch.m
A clang/test/SemaSPIRV/BuiltIns/length-errors.c
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/late-parsing-eager-instantiation.cpp
A clang/test/TableGen/select-enum-errors.td
A clang/test/TableGen/select-enum.td
M clang/tools/diagtool/DiagnosticNames.cpp
M clang/tools/libclang/CIndexCXX.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/libclang.map
M clang/tools/scan-build/bin/scan-build
M clang/unittests/AST/ExternalASTSourceTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/CFGBuildResult.h
M clang/unittests/Analysis/CFGTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Sema/CMakeLists.txt
A clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/Tooling/ASTSelectionTest.cpp
M clang/unittests/Tooling/LexicallyOrderedRecursiveASTVisitorTest.cpp
M clang/unittests/Tooling/Syntax/BuildTreeTest.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_functional.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.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_platform_limits_solaris.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.h
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M compiler-rt/lib/scudo/standalone/primary64.h
A compiler-rt/test/asan/TestCases/Windows/msvc/strdup_null_input.cpp
M compiler-rt/test/orc/TestCases/Darwin/x86-64/objc-imageinfo.S
A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-default.cpp
A compiler-rt/test/orc/TestCases/Linux/loongarch64/ehframe-libunwind.cpp
A compiler-rt/test/orc/TestCases/Linux/loongarch64/lit.local.cfg.py
A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-ehframe.cpp
A compiler-rt/test/orc/TestCases/Linux/loongarch64/lljit-initialize-deinitialize.ll
A compiler-rt/test/orc/TestCases/Linux/loongarch64/priority-static-initializer.S
A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-atexit.S
A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-cxa-atexit.S
A compiler-rt/test/orc/TestCases/Linux/loongarch64/trivial-static-initializer.S
M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
M flang/cmake/modules/AddFlang.cmake
M flang/docs/OpenACC-descriptor-management.md
M flang/docs/ParameterizedDerivedTypes.md
M flang/docs/PolymorphicEntities.md
M flang/include/flang/Common/OpenMP-utils.h
M flang/include/flang/Evaluate/shape.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Evaluate/variable.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
A flang/include/flang/Optimizer/OpenACC/FIROpenACCTypeInterfaces.h
A flang/include/flang/Optimizer/OpenACC/RegisterOpenACCExtensions.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Runtime/magic-numbers.h
M flang/include/flang/Semantics/tools.h
A flang/include/flang/Support/StringOstream.h
A flang/include/flang/Support/Timing.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/CMakeLists.txt
M flang/lib/Common/CMakeLists.txt
M flang/lib/Common/OpenMP-utils.cpp
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/fold-designator.cpp
M flang/lib/Evaluate/fold-implementation.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/FrontendTool/CMakeLists.txt
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/Runtime.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
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/PPCIntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Numeric.cpp
M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
A flang/lib/Optimizer/OpenACC/CMakeLists.txt
A flang/lib/Optimizer/OpenACC/FIROpenACCTypeInterfaces.cpp
A flang/lib/Optimizer/OpenACC/RegisterOpenACCExtensions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Passes/CMakeLists.txt
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
A flang/lib/Support/CMakeLists.txt
A flang/lib/Support/Timing.cpp
A flang/module/__cuda_device.f90
M flang/module/__fortran_ieee_exceptions.f90
M flang/module/cudadevice.f90
M flang/runtime/exceptions.cpp
M flang/runtime/file.cpp
M flang/runtime/io-api.cpp
M flang/runtime/io-error.cpp
M flang/runtime/io-error.h
M flang/runtime/tools.h
M flang/test/Analysis/AliasAnalysis/ptr-component.fir
A flang/test/Driver/fno-zero-init.f90
A flang/test/Driver/funroll-loops.f90
M flang/test/Driver/intrinsic-module-path.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/time-report.f90
M flang/test/Driver/use-module.f90
M flang/test/Fir/CUDA/cuda-alloc-free.fir
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-code-gen.mlir
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/CUDA/cuda-global-addr.mlir
M flang/test/Fir/CUDA/cuda-launch.fir
A flang/test/Fir/OpenACC/openacc-mappable.fir
M flang/test/Fir/abstract-result-2.fir
M flang/test/Fir/array-value-copy-3.fir
M flang/test/Fir/array-value-copy-4.fir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/boxproc-openmp.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox_assumed_rank_codegen.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/HLFIR/all-lowering.fir
M flang/test/HLFIR/any-elemental.fir
M flang/test/HLFIR/any-lowering.fir
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/assumed_shape_with_value_keyword.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/bufferize-destroy-for-derived.fir
M flang/test/HLFIR/bufferize-end-associate-for-derived.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
M flang/test/HLFIR/bufferize01.fir
M flang/test/HLFIR/copy-in-out-codegen.fir
M flang/test/HLFIR/count-lowering-default-int-kinds.fir
M flang/test/HLFIR/count-lowering.fir
M flang/test/HLFIR/cshift-lowering.fir
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/HLFIR/matmul-lowering.fir
M flang/test/HLFIR/maxloc-lowering.fir
M flang/test/HLFIR/maxval-lowering.fir
M flang/test/HLFIR/minloc-lowering.fir
M flang/test/HLFIR/minval-lowering.fir
M flang/test/HLFIR/mul_transpose.f90
M flang/test/HLFIR/optional_dummy.f90
M flang/test/HLFIR/order_assignments/lhs-conflicts-codegen.fir
M flang/test/HLFIR/order_assignments/runtime-stack-temp.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir
M flang/test/HLFIR/product-lowering.fir
A flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir
A flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir
M flang/test/HLFIR/sum-lowering.fir
M flang/test/HLFIR/transpose-lowering.fir
A flang/test/HLFIR/unroll-loops.fir
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Integration/OpenMP/target-filtering.f90
A flang/test/Integration/debug-cyclic-derived-type-3.f90
A flang/test/Integration/unroll-loops.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-devptr.cuf
M flang/test/Lower/HLFIR/array-ctor-as-runtime-temp.f90
M flang/test/Lower/HLFIR/array-ctor-character.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries-3.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures-polymorphic.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/local-end-of-scope-component-dealloc.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/Intrinsics/abort.f90
M flang/test/Lower/Intrinsics/adjustl.f90
M flang/test/Lower/Intrinsics/adjustr.f90
M flang/test/Lower/Intrinsics/all.f90
M flang/test/Lower/Intrinsics/any.f90
M flang/test/Lower/Intrinsics/bessel_jn.f90
M flang/test/Lower/Intrinsics/bessel_yn.f90
M flang/test/Lower/Intrinsics/count.f90
M flang/test/Lower/Intrinsics/date_and_time.f90
M flang/test/Lower/Intrinsics/dot_product.f90
M flang/test/Lower/Intrinsics/eoshift.f90
M flang/test/Lower/Intrinsics/etime-function.f90
M flang/test/Lower/Intrinsics/etime.f90
M flang/test/Lower/Intrinsics/execute_command_line-optional.f90
M flang/test/Lower/Intrinsics/execute_command_line.f90
M flang/test/Lower/Intrinsics/exit-2.f90
M flang/test/Lower/Intrinsics/exit.f90
M flang/test/Lower/Intrinsics/findloc.f90
M flang/test/Lower/Intrinsics/free.f90
M flang/test/Lower/Intrinsics/iall.f90
M flang/test/Lower/Intrinsics/iand.f90
M flang/test/Lower/Intrinsics/iany.f90
R flang/test/Lower/Intrinsics/ieee_femodes.f90
R flang/test/Lower/Intrinsics/ieee_festatus.f90
M flang/test/Lower/Intrinsics/index.f90
M flang/test/Lower/Intrinsics/iparity.f90
M flang/test/Lower/Intrinsics/matmul.f90
M flang/test/Lower/Intrinsics/maxloc.f90
M flang/test/Lower/Intrinsics/maxval.f90
M flang/test/Lower/Intrinsics/minloc.f90
M flang/test/Lower/Intrinsics/minval.f90
M flang/test/Lower/Intrinsics/norm2.f90
M flang/test/Lower/Intrinsics/pack.f90
M flang/test/Lower/Intrinsics/parity.f90
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/random.f90
M flang/test/Lower/Intrinsics/random_number_real16.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/repeat.f90
M flang/test/Lower/Intrinsics/reshape.f90
M flang/test/Lower/Intrinsics/scan.f90
M flang/test/Lower/Intrinsics/sleep.f90
M flang/test/Lower/Intrinsics/spread.f90
M flang/test/Lower/Intrinsics/storage_size.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/Intrinsics/transfer.f90
M flang/test/Lower/Intrinsics/transpose.f90
M flang/test/Lower/Intrinsics/trim.f90
M flang/test/Lower/Intrinsics/ubound01.f90
M flang/test/Lower/Intrinsics/verify.f90
M flang/test/Lower/OpenACC/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
A flang/test/Lower/OpenMP/Todo/allocate-clause-align.f90
A flang/test/Lower/OpenMP/Todo/allocate-clause-allocator.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
R flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/associate.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/default-clause-byref.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/delayed-privatization-default-init.f90
M flang/test/Lower/OpenMP/function-filtering-2.f90
M flang/test/Lower/OpenMP/function-filtering-3.f90
M flang/test/Lower/OpenMP/function-filtering.f90
M flang/test/Lower/OpenMP/hlfir-wsloop.f90
A flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/location.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/order-clause.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction-byref.f90
M flang/test/Lower/OpenMP/parallel-wsloop-reduction.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
A flang/test/Lower/OpenMP/same_var_first_lastprivate.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
A flang/test/Lower/OpenMP/target-spmd.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-ordered.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-unstructured.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/allocatable-assignment.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/allocate-source-allocatables-2.f90
M flang/test/Lower/allocate-source-allocatables.f90
M flang/test/Lower/allocate-source-pointers.f90
M flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/basic-function.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/call-copy-in-out.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-assignments.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/fail_image.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/forall/forall-where.f90
M flang/test/Lower/goto-statement.f90
M flang/test/Lower/io-statement-big-unit-checks.f90
M flang/test/Lower/math-lowering/cosh.f90
M flang/test/Lower/module_use.f90
M flang/test/Lower/nested-where.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/parent-component.f90
M flang/test/Lower/pointer-association-polymorphic.f90
M flang/test/Lower/pointer-disassociate.f90
M flang/test/Lower/polymorphic-temp.f90
M flang/test/Lower/polymorphic.f90
M flang/test/Lower/select-type-2.fir
M flang/test/Lower/stop-statement.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Lower/structure-constructors.f90
M flang/test/Lower/transformational-intrinsics.f90
M flang/test/Lower/trigonometric-intrinsics.f90
M flang/test/Lower/vector-subscript-io.f90
A flang/test/Lower/zero_init.f90
A flang/test/Lower/zero_init_default_init.f90
M flang/test/Preprocessing/bug129131.F
A flang/test/Semantics/OpenMP/declare-target08.f90
M flang/test/Semantics/OpenMP/doconcurrent01.f90
A flang/test/Semantics/OpenMP/forall.f90
A flang/test/Semantics/OpenMP/task-untied01.f90
A flang/test/Semantics/bug121971.f90
A flang/test/Semantics/bug121972.f90
A flang/test/Semantics/bug121973.f90
A flang/test/Semantics/bug122002a.f90
A flang/test/Semantics/bug122002b.f90
A flang/test/Semantics/bug122045.f90
A flang/test/Semantics/bug122060.f90
A flang/test/Semantics/generic12.f90
M flang/test/Semantics/modfile43.f90
M flang/test/Semantics/modfile63.f90
M flang/test/Semantics/modfile70.f90
M flang/test/Semantics/reshape.f90
M flang/test/Semantics/resolve12.f90
M flang/test/Semantics/resolve26.f90
A flang/test/Semantics/self-use.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/omp-reduction-cfg-conversion.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/Transforms/stack-arrays.fir
M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
M flang/test/lib/CMakeLists.txt
A flang/test/lib/OpenACC/CMakeLists.txt
A flang/test/lib/OpenACC/TestOpenACCInterfaces.cpp
M flang/tools/bbc/CMakeLists.txt
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/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/Frontend/CMakeLists.txt
M flang/unittests/Optimizer/Builder/ComplexTest.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/CMakeLists.txt
M flang/unittests/Optimizer/FIRTypesTest.cpp
M flang/unittests/Optimizer/FortranVariableTest.cpp
M flang/unittests/Optimizer/RTBuilder.cpp
M flang/unittests/Runtime/Support.cpp
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/config/windows/headers.txt
M libc/docs/CMakeLists.txt
M libc/docs/build_and_test.rst
R libc/docs/c23.rst
R libc/docs/fullbuild_mode.rst
A libc/docs/getting_started.rst
M libc/docs/headers/index.rst
M libc/docs/index.rst
M libc/docs/porting.rst
R libc/docs/usage_modes.rst
M libc/include/__llvm-libc-common.h
M libc/include/llvm-libc-types/sigset_t.h
M libc/include/llvm-libc-types/struct_sigaction.h
M libc/include/sys/random.yaml
M libc/include/unistd.yaml
M libc/src/CMakeLists.txt
M libc/src/__support/CMakeLists.txt
M libc/src/__support/block.h
M libc/src/__support/freelist_heap.h
M libc/src/__support/freestore.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/getentropy.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/getentropy.cpp
A libc/src/unistd/windows/CMakeLists.txt
A libc/src/unistd/windows/getentropy.cpp
M libc/test/include/assert_test.cpp
M libc/test/include/complex_test.cpp
M libc/test/include/fpclassify_test.c
M libc/test/include/fpclassify_test.cpp
M libc/test/include/fpclassifyf_test.cpp
M libc/test/include/fpclassifyl_test.cpp
M libc/test/include/header-test-template.c
M libc/test/include/iscanonical_test.c
M libc/test/include/isfinite_test.c
M libc/test/include/isfinite_test.cpp
M libc/test/include/isfinitef_test.cpp
M libc/test/include/isfinitel_test.cpp
M libc/test/include/isinf_test.c
M libc/test/include/isinf_test.cpp
M libc/test/include/isinff_test.cpp
M libc/test/include/isinfl_test.cpp
M libc/test/include/isnan_test.c
M libc/test/include/isnan_test.cpp
M libc/test/include/isnanf_test.cpp
M libc/test/include/isnanl_test.cpp
M libc/test/include/isnormal_test.c
M libc/test/include/isnormal_test.cpp
M libc/test/include/isnormalf_test.cpp
M libc/test/include/isnormall_test.cpp
M libc/test/include/issignaling_test.c
M libc/test/include/issubnormal_test.c
M libc/test/include/issubnormal_test.cpp
M libc/test/include/issubnormalf_test.cpp
M libc/test/include/issubnormall_test.cpp
M libc/test/include/iszero_test.c
M libc/test/include/iszero_test.cpp
M libc/test/include/iszerof_test.cpp
M libc/test/include/iszerol_test.cpp
M libc/test/include/signbit_test.c
M libc/test/include/signbit_test.cpp
M libc/test/include/signbitf_test.cpp
M libc/test/include/signbitl_test.cpp
M libc/test/include/stdbit_stub.h
M libc/test/include/stdbit_test.c
M libc/test/include/stdbit_test.cpp
M libc/test/include/stdckdint_test.cpp
M libc/test/include/sys/queue_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/block_test.cpp
M libc/test/src/__support/freelist_heap_test.cpp
M libc/test/src/__support/freestore_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/getentropy_test.cpp
M libc/test/src/unistd/getopt_test.cpp
A libc/utils/docgen/pthread.yaml
A libc/utils/docgen/sys/resource.yaml
A libc/utils/docgen/sys/stat.yaml
A libc/utils/docgen/sys/time.yaml
A libc/utils/docgen/sys/wait.yaml
A libc/utils/docgen/termios.yaml
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/tests/expected_output/test_header.h
M libclc/clc/include/clc/clcmacro.h
A libclc/clc/include/clc/common/clc_degrees.h
A libclc/clc/include/clc/common/clc_radians.h
A libclc/clc/include/clc/common/clc_smoothstep.h
A libclc/clc/include/clc/common/clc_smoothstep.inc
A libclc/clc/include/clc/geometric/floatn.inc
M libclc/clc/include/clc/integer/gentype.inc
A libclc/clc/include/clc/math/clc_mad.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/math/ternary_decl.inc
M libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/include/clc/relational/clc_all.h
M libclc/clc/include/clc/relational/clc_any.h
M libclc/clc/include/clc/relational/clc_isequal.h
M libclc/clc/include/clc/relational/clc_isinf.h
M libclc/clc/include/clc/relational/clc_isnan.h
M libclc/clc/include/clc/relational/clc_select.h
R libclc/clc/include/clc/relational/clc_select.inc
A libclc/clc/include/clc/relational/clc_select_decl.inc
A libclc/clc/include/clc/relational/clc_select_impl.inc
M libclc/clc/include/clc/relational/floatn.inc
M libclc/clc/include/clc/shared/clc_clamp.h
M libclc/clc/lib/clspv/SOURCES
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/common/clc_degrees.cl
A libclc/clc/lib/generic/common/clc_radians.cl
A libclc/clc/lib/generic/common/clc_smoothstep.cl
A libclc/clc/lib/generic/math/clc_mad.cl
A libclc/clc/lib/generic/math/clc_mad.inc
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clc/lib/generic/relational/clc_select.cl
R libclc/clc/lib/generic/relational/clc_select.inc
M libclc/clc/lib/spirv/SOURCES
M libclc/clc/lib/spirv64/SOURCES
R libclc/generic/include/clc/geometric/floatn.inc
R libclc/generic/include/clc/math/ternary_decl.inc
M libclc/generic/include/clc/relational/select.h
R libclc/generic/include/clc/relational/select.inc
M libclc/generic/lib/common/degrees.cl
M libclc/generic/lib/common/mix.cl
M libclc/generic/lib/common/mix.inc
M libclc/generic/lib/common/radians.cl
M libclc/generic/lib/common/smoothstep.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/mad.cl
R libclc/generic/lib/math/mad.inc
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/relational/bitselect.cl
M libclc/generic/lib/relational/bitselect.inc
M libclc/generic/lib/relational/select.cl
R libclc/generic/lib/relational/select.inc
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__algorithm/count.h
M libcxx/include/__algorithm/fill_n.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/make_projected.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_sync.h
M libcxx/include/__bit_reference
M libcxx/include/__config
M libcxx/include/__flat_map/key_value_iterator.h
M libcxx/include/__functional/bind.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/mem_fn.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__fwd/bit_reference.h
M libcxx/include/__hash_table
M libcxx/include/__memory/destruct_n.h
M libcxx/include/__new/global_new_delete.h
M libcxx/include/__tree
M libcxx/include/__type_traits/invoke.h
M libcxx/include/__type_traits/result_of.h
M libcxx/include/__vector/vector.h
M libcxx/include/algorithm
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bitset
M libcxx/include/future
M libcxx/include/module.modulemap
M libcxx/include/stdatomic.h
M libcxx/include/tuple
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/src/CMakeLists.txt
M libcxx/src/barrier.cpp
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/atomic_wait.bench.cpp
A libcxx/test/benchmarks/atomic_wait_1_waiter_1_notifier.bench.cpp
A libcxx/test/benchmarks/atomic_wait_N_waiter_N_notifier.bench.cpp
A libcxx/test/benchmarks/atomic_wait_helper.h
A libcxx/test/benchmarks/atomic_wait_multi_waiter_1_notifier.bench.cpp
M libcxx/test/benchmarks/containers/ContainerBenchmarks.h
M libcxx/test/benchmarks/containers/string.bench.cpp
M libcxx/test/benchmarks/containers/vector_operations.bench.cpp
M libcxx/test/configs/stdlib-libstdc++.cfg.in
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
A libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.compile.pass.cpp
A libcxx/test/libcxx/atomics/stdatomic.h.syn/dont_hijack_header.cxx23.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/non_const_comparator.verify.cpp
M libcxx/test/libcxx/containers/unord/non_const_comparator.verify.cpp
M libcxx/test/libcxx/utilities/function.objects/func.require/bullet_1_2_3.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
M libcxx/test/std/depr/depr.c.headers/wctype_h.compile.pass.cpp
A libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdlib.pass.cpp
M libcxx/test/std/strings/c.strings/cwctype.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp
M libcxx/test/tools/clang_tidy_checks/internal_ftm_use.cpp
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
M libcxx/utils/libcxx-compare-benchmarks
M libcxxabi/src/CMakeLists.txt
M libcxxabi/src/demangle/ItaniumDemangle.h
M libcxxabi/test/test_demangle.pass.cpp
M libunwind/src/CMakeLists.txt
M lld/COFF/COFFLinkerContext.h
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Config.h
M lld/COFF/DLL.cpp
M lld/COFF/DLL.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/COFF/ICF.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/InputFiles.h
M lld/COFF/MapFile.cpp
M lld/COFF/MarkLive.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.cpp
M lld/COFF/Writer.cpp
M lld/Common/Strings.cpp
M lld/MachO/BPSectionOrderer.h
M lld/MachO/MapFile.cpp
M lld/MachO/Options.td
M lld/include/lld/Common/BPSectionOrdererBase.h
A lld/test/COFF/Inputs/stub63mz
A lld/test/COFF/Inputs/stub64mz
A lld/test/COFF/Inputs/stub64zz
A lld/test/COFF/Inputs/stub68mz
A lld/test/COFF/arm64x-entry.test
A lld/test/COFF/arm64x-export.test
A lld/test/COFF/arm64x-incl.s
M lld/test/COFF/arm64x-loadconfig.s
A lld/test/COFF/empty-section-decl.yaml
A lld/test/COFF/info-sec.s
A lld/test/COFF/lto-arm64x.ll
A lld/test/COFF/stub.test
A lld/test/COFF/subsystem-arm64x.test
A lld/test/COFF/wholearchive-implib.s
M lld/test/MachO/arm64-thunks.s
M lld/wasm/SyntheticSections.cpp
M lldb/bindings/headers.swig
A lldb/bindings/interface/SBProgressDocstrings.i
M lldb/bindings/interfaces.swig
M lldb/docs/use/formatting.rst
M lldb/examples/synthetic/gnu_libstdcpp.py
M lldb/include/lldb/API/SBDebugger.h
A lldb/include/lldb/API/SBProgress.h
M lldb/include/lldb/API/SBSaveCoreOptions.h
M lldb/include/lldb/API/SBThreadCollection.h
M lldb/include/lldb/Core/Disassembler.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Interpreter/Interfaces/OperatingSystemInterface.h
M lldb/include/lldb/Symbol/Function.h
M lldb/include/lldb/Symbol/SaveCoreOptions.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Target/MemoryRegionInfo.h
M lldb/include/lldb/Target/OperatingSystem.h
M lldb/include/lldb/Target/SectionLoadHistory.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Utility/LLDBAssert.h
M lldb/include/lldb/lldb-forward.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBBreakpoint.cpp
M lldb/source/API/SBFunction.cpp
M lldb/source/API/SBInstructionList.cpp
A lldb/source/API/SBProgress.cpp
M lldb/source/API/SBSaveCoreOptions.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Breakpoint/BreakpointLocationList.cpp
M lldb/source/Commands/CommandObjectDisassemble.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectRegister.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/Address.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/DumpDataExtractor.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Section.cpp
M lldb/source/Core/Value.cpp
M lldb/source/DataFormatters/CXXFunctionPointer.cpp
M lldb/source/Expression/LLVMUserExpression.cpp
M lldb/source/Expression/ObjectFileJIT.cpp
M lldb/source/Plugins/Architecture/Mips/ArchitectureMips.cpp
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOS.cpp
M lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
M lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
M lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/Placeholder/ObjectFilePlaceholder.cpp
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_loongarch64.h
M lldb/source/Plugins/Process/Utility/CMakeLists.txt
M lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp
M lldb/source/Plugins/Process/Utility/LinuxSignals.cpp
A lldb/source/Plugins/Process/Utility/OpenBSDSignals.cpp
A lldb/source/Plugins/Process/Utility/OpenBSDSignals.h
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_loongarch64.h
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_loongarch64.cpp
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_loongarch64.h
M lldb/source/Plugins/Process/Utility/RegisterInfos_loongarch64.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Utility/lldb-loongarch-register-enums.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/OperatingSystemPythonInterface.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp
M lldb/source/Plugins/Trace/intel-pt/TraceIntelPTBundleSaver.cpp
M lldb/source/Symbol/CompilerType.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SaveCoreOptions.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/MemoryRegionInfo.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/SectionLoadHistory.cpp
M lldb/source/Target/StructuredDataPlugin.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanStepInRange.cpp
M lldb/source/Target/ThreadPlanTracer.cpp
M lldb/source/Target/UnixSignals.cpp
M lldb/source/Utility/LLDBAssert.cpp
M lldb/source/Utility/LoongArch_DWARF_Registers.h
M lldb/test/API/commands/expression/call-function/TestCallStopAndContinue.py
M lldb/test/API/commands/expression/import-std-module/array/TestArrayFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/array/main.cpp
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/TestDbgInfoContentVectorFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-dbg-info-content/main.cpp
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/TestVectorOfVectorsFromStdModule.py
M lldb/test/API/commands/expression/import-std-module/vector-of-vectors/main.cpp
M lldb/test/API/commands/expression/unwind_expression/TestUnwindExpression.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/main.cpp
M lldb/test/API/functionalities/plugins/python_os_plugin/TestPythonOSPlugin.py
M lldb/test/API/functionalities/plugins/python_os_plugin/main.c
M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/TestOSPluginStepping.py
M lldb/test/API/functionalities/plugins/python_os_plugin/stepping_plugin_threads/operating_system.py
A lldb/test/API/functionalities/thread/step_until/TestStepUntilAPI.py
A lldb/test/API/functionalities/thread/step_until/function.list
M lldb/test/API/functionalities/thread/step_until/main.c
A lldb/test/API/functionalities/thread/step_until/symbol.order
M lldb/test/API/lang/cpp/nested-template/TestNestedTemplate.py
M lldb/test/API/lang/cpp/nested-template/main.cpp
A lldb/test/API/linux/aarch64/gcs/Makefile
A lldb/test/API/linux/aarch64/gcs/TestAArch64LinuxGCS.py
A lldb/test/API/linux/aarch64/gcs/main.c
A lldb/test/API/linux/loongarch64/simd_registers/Makefile
A lldb/test/API/linux/loongarch64/simd_registers/TestLoongArch64LinuxSIMDRegisters.py
A lldb/test/API/linux/loongarch64/simd_registers/main.c
A lldb/test/API/python_api/sbprogress/TestSBProgress.py
M lldb/test/API/python_api/sbsavecoreoptions/TestSBSaveCoreOptions.py
M lldb/test/API/python_api/sbsavecoreoptions/basic_minidump.yaml
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
M lldb/unittests/Core/FormatEntityTest.cpp
M lldb/unittests/Process/Utility/LinuxProcMapsTest.cpp
M lldb/unittests/Process/Utility/MemoryTagManagerAArch64MTETest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationClientTest.cpp
M lldb/unittests/Process/minidump/MinidumpParserTest.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFDIETest.cpp
M lldb/unittests/Target/RegisterFlagsTest.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/bindings/ocaml/debuginfo/debuginfo_ocaml.c
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/CrossCompile.cmake
A llvm/cmake/modules/FileLock.cmake
M llvm/cmake/modules/GetHostTriple.cmake
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GitHub.rst
M llvm/docs/MyFirstTypoFix.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/CmpInstAnalysis.h
M llvm/include/llvm/Analysis/CtxProfAnalysis.h
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/AsmPrinterHandler.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CallingConvLower.h
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/MachineOperand.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/CodeGen/ReachingDefAnalysis.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/CodeGen/VirtRegMap.h
M llvm/include/llvm/Config/config.h.cmake
M llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def
M llvm/include/llvm/Debuginfod/Debuginfod.h
M llvm/include/llvm/Demangle/ItaniumDemangle.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
M llvm/include/llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h
M llvm/include/llvm/ExecutionEngine/JITLink/aarch64.h
M llvm/include/llvm/ExecutionEngine/JITLink/x86_64.h
A llvm/include/llvm/ExecutionEngine/Orc/EHFrameRegistrationPlugin.h
M llvm/include/llvm/ExecutionEngine/Orc/LinkGraphLinkingLayer.h
M llvm/include/llvm/FileCheck/FileCheck.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/GlobalValue.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/IntrinsicsSystemZ.td
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/PrintPasses.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCObjectFileInfo.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
M llvm/include/llvm/MC/MCWinCOFFStreamer.h
M llvm/include/llvm/Object/COFF.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/Support/FileSystem.h
M llvm/include/llvm/Support/MathExtras.h
M llvm/include/llvm/Support/Path.h
M llvm/include/llvm/Support/Win64EH.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/TargetParser/AArch64TargetParser.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Interval.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/VecUtils.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/CmpInstAnalysis.cpp
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/CtxProfAnalysis.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionPrecedenceTracking.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopInfo.cpp
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/AsmPrinter/PseudoProbePrinter.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CallingConvLower.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/ExecutionDomainFix.cpp
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/lib/CodeGen/InitUndef.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/InterferenceCache.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineCSE.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/CodeGen/MachineLICM.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachineOutliner.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegUsageInfoCollector.cpp
M llvm/lib/CodeGen/RegisterClassInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/SplitKit.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/UnreachableBlockElim.cpp
M llvm/lib/CodeGen/VirtRegMap.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/Debuginfod/Debuginfod.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupportImpl.h
M llvm/lib/ExecutionEngine/JITLink/ELFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/ELF_aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
M llvm/lib/ExecutionEngine/JITLink/MachOLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
M llvm/lib/ExecutionEngine/JITLink/MachO_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/JITLink/x86_64.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/COFFPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/DebugObjectManagerPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
A llvm/lib/ExecutionEngine/Orc/EHFrameRegistrationPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/EPCIndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkReentryTrampolines.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/SectCreate.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
M llvm/lib/IR/Assumptions.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/IR/PrintPasses.cpp
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/lib/MC/MCParser/COFFAsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/PGOCtxProfReader.cpp
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/lib/SandboxIR/Instruction.cpp
M llvm/lib/SandboxIR/Type.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Support/APInt.cpp
M llvm/lib/Support/Errno.cpp
M llvm/lib/Support/ErrorHandling.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Unix/Process.inc
M llvm/lib/Support/Unix/Program.inc
M llvm/lib/Support/Unix/Signals.inc
M llvm/lib/Support/Unix/Unix.h
M llvm/lib/Support/VirtualFileSystem.cpp
M llvm/lib/Support/raw_ostream.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64CleanupLocalDynamicTLSPass.cpp
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.h
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64SLSHardening.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPrintfRuntimeBinding.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/R600ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIFixVGPRCopies.cpp
A llvm/lib/Target/AMDGPU/SIFixVGPRCopies.h
M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
A llvm/lib/Target/AMDGPU/SILowerControlFlow.h
M llvm/lib/Target/AMDGPU/SILowerWWMCopies.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.cpp
A llvm/lib/Target/AMDGPU/SIOptimizeExecMasking.h
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/lib/Target/ARC/ARCFrameLowering.cpp
M llvm/lib/Target/ARC/ARCISelLowering.cpp
M llvm/lib/Target/ARC/ARCISelLowering.h
M llvm/lib/Target/ARM/A15SDOptimizer.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp
M llvm/lib/Target/ARM/ARMBaseRegisterInfo.h
M llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMInstrFormats.td
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrNEON.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMSLSHardening.cpp
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
M llvm/lib/Target/AVR/AVRISelLowering.cpp
M llvm/lib/Target/AVR/AVRISelLowering.h
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
M llvm/lib/Target/CSKY/CSKYISelLowering.cpp
M llvm/lib/Target/CSKY/CSKYISelLowering.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td
M llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.h
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.cpp
M llvm/lib/Target/Lanai/LanaiISelLowering.h
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.cpp
M llvm/lib/Target/LoongArch/LoongArchISelDAGToDAG.h
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/LoongArchMergeBaseOffset.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.h
M llvm/lib/Target/MSP430/MSP430ISelLowering.cpp
M llvm/lib/Target/MSP430/MSP430ISelLowering.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
M llvm/lib/Target/Mips/MipsCCState.cpp
M llvm/lib/Target/Mips/MipsCCState.h
M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelLowering.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXGenericToNVVM.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.h
M llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRV.td
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
A llvm/lib/Target/SPIRV/SPIRVCombine.td
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
A llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.h
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/SystemZ/SystemZFeatures.td
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
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/SystemZInstrFormats.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperands.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/lib/Target/SystemZ/SystemZProcessors.td
M llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstrAMX.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrMisc.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86PreTileConfig.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.cpp
M llvm/lib/Target/XCore/XCoreISelLowering.h
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/Transforms/CFGuard/CFGuard.cpp
M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp
M llvm/lib/Transforms/Utils/ModuleUtils.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/ValueMapper.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/InstrMaps.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Interval.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/VecUtils.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/VPlanAnalysis.cpp
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/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/BasicAA/call-attrs.ll
M llvm/test/Analysis/BasicAA/dereferenceable.ll
A llvm/test/Analysis/BasicAA/memset-pattern.ll
M llvm/test/Analysis/BasicAA/tail-byval.ll
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/Analysis/CtxProfAnalysis/full-cycle.ll
M llvm/test/Analysis/CtxProfAnalysis/inline.ll
R llvm/test/Analysis/CtxProfAnalysis/json_equals.py
M llvm/test/Analysis/CtxProfAnalysis/load.ll
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
M llvm/test/Analysis/ScalarEvolution/2007-08-06-Unsigned.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-addition.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Analysis/ScalarEvolution/infer-prestart-no-wrap.ll
M llvm/test/Analysis/ValueTracking/deref-abstract-gc.ll
M llvm/test/Analysis/ValueTracking/memory-dereferenceable.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-reduce-add.mir
M llvm/test/CodeGen/AArch64/aarch64-addv.ll
A llvm/test/CodeGen/AArch64/aarch64-large-stack-spbump.mir
A llvm/test/CodeGen/AArch64/adds_cmn.ll
M llvm/test/CodeGen/AArch64/arm64-ldxr-stxr.ll
M llvm/test/CodeGen/AArch64/bf16-convert-intrinsics.ll
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/const-shift-of-constmasked.ll
M llvm/test/CodeGen/AArch64/csel-cmp-cse.ll
M llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
M llvm/test/CodeGen/AArch64/double_reduct.ll
M llvm/test/CodeGen/AArch64/eon.ll
M llvm/test/CodeGen/AArch64/extract-bits.ll
M llvm/test/CodeGen/AArch64/extract-vector-cmp.ll
M llvm/test/CodeGen/AArch64/fpenv.ll
A llvm/test/CodeGen/AArch64/fsh.ll
A llvm/test/CodeGen/AArch64/half-precision-signof-no-assert.ll
A llvm/test/CodeGen/AArch64/instr-ref-ldv.ll
M llvm/test/CodeGen/AArch64/machine-cp-sub-reg.mir
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
A llvm/test/CodeGen/AArch64/win-import-call-optimization-nocalls.ll
A llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
M llvm/test/CodeGen/AArch64/xbfiz.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
A llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shifts.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.postlegal.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shl-from-extend-narrow.prelegal.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.wqm.demote.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/lshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/widen-i8-i16-scalar-loads.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-alias-analysis.ll
M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
M llvm/test/CodeGen/AMDGPU/amdpal.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
A llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage0.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/collapse-endcf.mir
M llvm/test/CodeGen/AMDGPU/dagcombine-fma-fmad.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/fcmp.f16.ll
A llvm/test/CodeGen/AMDGPU/fix-crash-valu-hazard.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/fix-vgpr-copies.mir
M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
A llvm/test/CodeGen/AMDGPU/hazard-flat-instruction-valu-check.mir
M llvm/test/CodeGen/AMDGPU/inlineasm-mismatched-size-error.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
A llvm/test/CodeGen/AMDGPU/licm-wwm.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.kill.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.store.nxv2i32.fail.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.demote.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.wqm.vote.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-lastuse-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-memops.ll
A llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
M llvm/test/CodeGen/AMDGPU/lower-control-flow-live-intervals.mir
M llvm/test/CodeGen/AMDGPU/lower-control-flow-other-terminators.mir
M llvm/test/CodeGen/AMDGPU/lower-term-opcodes.mir
M llvm/test/CodeGen/AMDGPU/mad-mix.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/optimize-exec-copies-extra-insts-after-copy.mir
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v2bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v3bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v4bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v2f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v3f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v4f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v2f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v3f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v4f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v2i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v3i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v4i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v2i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v3i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v4i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v2i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v3i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v4i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v2p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v3p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v4p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v2p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v3p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v4p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v4bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v4f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v2f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v3f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v4f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v3i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v4i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v2i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v3i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v4i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v2i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v3i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v2p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v3p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v2p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v3p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v4p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v2bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v3bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v4bf16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v2f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v3f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v4f16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v2i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v3i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v4i16.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v2i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v3i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v2p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v3p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
A llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf-kill.ll
M llvm/test/CodeGen/AMDGPU/sink-image-sample.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
M llvm/test/CodeGen/AMDGPU/v_cndmask.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
M llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard.mir
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
M llvm/test/CodeGen/ARM/loopvectorize_pr33804.ll
M llvm/test/CodeGen/ARM/vector-promotion.ll
M llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
M llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/raw-and-structured-buffers.ll
A llvm/test/CodeGen/DirectX/WaveActiveSum.ll
A llvm/test/CodeGen/DirectX/firstbitlow.ll
A llvm/test/CodeGen/DirectX/firstbitlow_error.ll
A llvm/test/CodeGen/Hexagon/i128-fpconv-strict.ll
A llvm/test/CodeGen/LoongArch/linker-relaxation.ll
A llvm/test/CodeGen/LoongArch/mir-relax-flags.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
A llvm/test/CodeGen/LoongArch/preld.ll
M llvm/test/CodeGen/LoongArch/smul-with-overflow.ll
A llvm/test/CodeGen/MIR/AArch64/called-globals.mir
A llvm/test/CodeGen/MIR/AMDGPU/init-whole.wave.ll
M llvm/test/CodeGen/MIR/X86/call-site-info-error1.mir
M llvm/test/CodeGen/MIR/X86/call-site-info-error2.mir
A llvm/test/CodeGen/Mips/dllimport.ll
M llvm/test/CodeGen/Mips/mips64-f128.ll
M llvm/test/CodeGen/Mips/msa/shuffle.ll
A llvm/test/CodeGen/NVPTX/addrspacecast-cse.ll
M llvm/test/CodeGen/NVPTX/arithmetic-int.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
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/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/f16-ex2.ll
A llvm/test/CodeGen/NVPTX/f32-ex2.ll
A llvm/test/CodeGen/NVPTX/f32-lg2.ll
A llvm/test/CodeGen/NVPTX/fexp2.ll
A llvm/test/CodeGen/NVPTX/flog2.ll
M llvm/test/CodeGen/NVPTX/fma-relu-contract.ll
M llvm/test/CodeGen/NVPTX/fma-relu-fma-intrinsic.ll
M llvm/test/CodeGen/NVPTX/fma-relu-instruction-flag.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/i128.ll
A llvm/test/CodeGen/NVPTX/param-add.ll
M llvm/test/CodeGen/NVPTX/shift-parts.ll
M llvm/test/CodeGen/PowerPC/alloca-crspill.ll
M llvm/test/CodeGen/RISCV/rvv/addi-rvv-stack-object.mir
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-addsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/splat-vectors.ll
A llvm/test/CodeGen/RISCV/rvv/stack-probing-dynamic.ll
M llvm/test/CodeGen/RISCV/rvv/strided-load-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
A llvm/test/CodeGen/RISCV/rvv/vp-combine-reverse-load.ll
A llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
M llvm/test/CodeGen/RISCV/stack-clash-prologue.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/SPARC/smulo-128-legalisation-lowering.ll
A llvm/test/CodeGen/SPIRV/GlobalISel/InstCombine/prelegalizercombiner-length-to-distance.mir
A llvm/test/CodeGen/SPIRV/global-var-intrinsic.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveActiveSum.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/WaveReadLaneAt.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/distance.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/firstbithigh.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/firstbitlow.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoadStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
R llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
M llvm/test/CodeGen/SPIRV/opencl/distance.ll
M llvm/test/CodeGen/SPIRV/pointers/type-deduce-sycl-stub.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpGroupBroadcast.ll
M llvm/test/CodeGen/SPIRV/validate/sycl-hier-par-basic.ll
M llvm/test/CodeGen/SPIRV/validate/sycl-tangle-group-algorithms.ll
M llvm/test/CodeGen/SystemZ/args-12.ll
M llvm/test/CodeGen/SystemZ/args-13.ll
A llvm/test/CodeGen/SystemZ/bitop-intrinsics.ll
A llvm/test/CodeGen/SystemZ/int-abs-03.ll
M llvm/test/CodeGen/SystemZ/int-add-19.ll
A llvm/test/CodeGen/SystemZ/int-cmp-64.ll
A llvm/test/CodeGen/SystemZ/int-conv-15.ll
A llvm/test/CodeGen/SystemZ/int-div-08.ll
A llvm/test/CodeGen/SystemZ/int-max-02.ll
A llvm/test/CodeGen/SystemZ/int-min-02.ll
A llvm/test/CodeGen/SystemZ/int-mul-14.ll
A llvm/test/CodeGen/SystemZ/int-mul-15.ll
A llvm/test/CodeGen/SystemZ/int-mul-16.ll
A llvm/test/CodeGen/SystemZ/int-neg-04.ll
M llvm/test/CodeGen/SystemZ/int-sub-12.ll
A llvm/test/CodeGen/SystemZ/llxa-01.ll
A llvm/test/CodeGen/SystemZ/llxa-02.ll
A llvm/test/CodeGen/SystemZ/llxa-03.ll
A llvm/test/CodeGen/SystemZ/llxa-04.ll
A llvm/test/CodeGen/SystemZ/llxa-05.ll
A llvm/test/CodeGen/SystemZ/lxa-01.ll
A llvm/test/CodeGen/SystemZ/lxa-02.ll
A llvm/test/CodeGen/SystemZ/lxa-03.ll
A llvm/test/CodeGen/SystemZ/lxa-04.ll
A llvm/test/CodeGen/SystemZ/lxa-05.ll
A llvm/test/CodeGen/SystemZ/scalar-ctlz-03.ll
A llvm/test/CodeGen/SystemZ/scalar-ctlz-04.ll
A llvm/test/CodeGen/SystemZ/scalar-cttz-03.ll
A llvm/test/CodeGen/SystemZ/scalar-cttz-04.ll
A llvm/test/CodeGen/SystemZ/vec-cmp-09.ll
A llvm/test/CodeGen/SystemZ/vec-div-03.ll
A llvm/test/CodeGen/SystemZ/vec-eval.ll
A llvm/test/CodeGen/SystemZ/vec-intrinsics-05.ll
A llvm/test/CodeGen/SystemZ/vec-mul-06.ll
M llvm/test/CodeGen/X86/amx-avx512-intrinsics.ll
M llvm/test/CodeGen/X86/amx-fp8-internal.ll
M llvm/test/CodeGen/X86/amx-tile-avx512-internals.ll
M llvm/test/CodeGen/X86/amx_movrs_intrinsics.ll
M llvm/test/CodeGen/X86/amx_movrs_transpose_intrinsics.ll
M llvm/test/CodeGen/X86/amx_transpose_intrinsics.ll
M llvm/test/CodeGen/X86/avx10_2_512minmax-intrinsics.ll
M llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-arith.ll
M llvm/test/CodeGen/X86/avx512fp16-cvt.ll
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/avx512fp16-intrinsics.ll
M llvm/test/CodeGen/X86/avx512fp16-unsafe-fp-math.ll
M llvm/test/CodeGen/X86/avx512fp16vl-intrinsics.ll
M llvm/test/CodeGen/X86/bfloat.ll
M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
M llvm/test/CodeGen/X86/combine-ptest.ll
M llvm/test/CodeGen/X86/cvt16-2.ll
M llvm/test/CodeGen/X86/cvt16.ll
A llvm/test/CodeGen/X86/dag-large-offset.ll
M llvm/test/CodeGen/X86/expand-vp-int-intrinsics.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fp-roundeven.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
M llvm/test/CodeGen/X86/fp16-libcalls.ll
M llvm/test/CodeGen/X86/half-constrained.ll
M llvm/test/CodeGen/X86/half-darwin.ll
M llvm/test/CodeGen/X86/half-fp80-darwin.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/movrs-builtins.ll
M llvm/test/CodeGen/X86/pr114520.ll
A llvm/test/CodeGen/X86/pr123333.ll
M llvm/test/CodeGen/X86/pr31088.ll
M llvm/test/CodeGen/X86/pr86305.ll
M llvm/test/CodeGen/X86/pr91005.ll
M llvm/test/CodeGen/X86/pr95278.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
M llvm/test/CodeGen/X86/smul-with-overflow.ll
M llvm/test/CodeGen/X86/smulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/X86/trunc-vector-width.ll
M llvm/test/CodeGen/X86/urem-seteq-vec-tautological.ll
M llvm/test/CodeGen/X86/vector-compress.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
M llvm/test/CodeGen/X86/xor-lea.ll
M llvm/test/DebugInfo/NVPTX/debug-info.ll
M llvm/test/DebugInfo/X86/DW_AT_object_pointer.ll
M llvm/test/DebugInfo/X86/dwarf-public-names.ll
M llvm/test/DebugInfo/X86/multiple-at-const-val.ll
M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/bfmop4as-non-widening.s
M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/bfmop4as-widening.s
M llvm/test/MC/AArch64/SME2p2/bftmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/bftmopa.s
M llvm/test/MC/AArch64/SME2p2/directive-arch-negative.s
M llvm/test/MC/AArch64/SME2p2/directive-arch.s
M llvm/test/MC/AArch64/SME2p2/directive-arch_extension-negative.s
M llvm/test/MC/AArch64/SME2p2/directive-arch_extension.s
M llvm/test/MC/AArch64/SME2p2/directive-cpu-negative.s
M llvm/test/MC/AArch64/SME2p2/directive-cpu.s
M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp16-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4a-fp8-fp32-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-fp32-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp16-non-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp32-non-widening.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/fmop4as-fp64-non-widening.s
M llvm/test/MC/AArch64/SME2p2/ftmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/ftmopa.s
M llvm/test/MC/AArch64/SME2p2/smop4a-16to32.s
M llvm/test/MC/AArch64/SME2p2/smop4a-64.s
M llvm/test/MC/AArch64/SME2p2/smop4a-8to32.s
M llvm/test/MC/AArch64/SME2p2/smop4a-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/smop4s-16to32.s
M llvm/test/MC/AArch64/SME2p2/smop4s-64.s
M llvm/test/MC/AArch64/SME2p2/smop4s-8to32.s
M llvm/test/MC/AArch64/SME2p2/smop4s-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/stmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/stmopa.s
M llvm/test/MC/AArch64/SME2p2/sumop4a-32.s
M llvm/test/MC/AArch64/SME2p2/sumop4a-64.s
M llvm/test/MC/AArch64/SME2p2/sumop4a-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/sumop4s-32.s
M llvm/test/MC/AArch64/SME2p2/sumop4s-64.s
M llvm/test/MC/AArch64/SME2p2/sumop4s-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/sutmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/sutmopa.s
M llvm/test/MC/AArch64/SME2p2/umop4a-16to32.s
M llvm/test/MC/AArch64/SME2p2/umop4a-64.s
M llvm/test/MC/AArch64/SME2p2/umop4a-8to32.s
M llvm/test/MC/AArch64/SME2p2/umop4a-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/umop4s-16to32.s
M llvm/test/MC/AArch64/SME2p2/umop4s-64.s
M llvm/test/MC/AArch64/SME2p2/umop4s-8to32.s
M llvm/test/MC/AArch64/SME2p2/umop4s-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/usmop4a-32.s
M llvm/test/MC/AArch64/SME2p2/usmop4a-64.s
M llvm/test/MC/AArch64/SME2p2/usmop4a-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/usmop4s-32.s
M llvm/test/MC/AArch64/SME2p2/usmop4s-64.s
M llvm/test/MC/AArch64/SME2p2/usmop4s-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/ustmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/ustmopa.s
M llvm/test/MC/AArch64/SME2p2/utmopa-diagnostics.s
M llvm/test/MC/AArch64/SME2p2/utmopa.s
M llvm/test/MC/AArch64/armv9.1a-rme.s
M llvm/test/MC/AArch64/spe.s
A llvm/test/MC/AArch64/win-import-call-optimization.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vopcx.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopc.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vopcx.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_vopc_t16_promote.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_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.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_vop3cx_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3cx_dpp8.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_err.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
A llvm/test/MC/COFF/bad-parse.s
M llvm/test/MC/Disassembler/AArch64/armv9a-rme.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vopcx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3c_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3cx_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopc_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vopcx_dpp8.txt
A llvm/test/MC/Disassembler/SystemZ/insns-arch15.txt
M llvm/test/MC/Disassembler/X86/AMX/x86-64-amx-movrs.txt
M llvm/test/MC/Disassembler/X86/amx-avx512.txt
M llvm/test/MC/Disassembler/X86/amx-transpose-att.txt
M llvm/test/MC/Disassembler/X86/avx10.2minmax-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2minmax-64.txt
M llvm/test/MC/Disassembler/X86/movrs.txt
M llvm/test/MC/LoongArch/Macros/aliases-la.s
M llvm/test/MC/LoongArch/Macros/macros-call.s
M llvm/test/MC/LoongArch/Macros/macros-la.s
A llvm/test/MC/LoongArch/Relocations/relax-tls-le.s
A llvm/test/MC/Mips/coff-relocs-dllimport.ll
M llvm/test/MC/Mips/coff-relocs.ll
A llvm/test/MC/SystemZ/insn-bad-arch15.s
M llvm/test/MC/SystemZ/insn-bad-z16.s
A llvm/test/MC/SystemZ/insn-good-arch15.s
M llvm/test/MC/X86/AMX/x86-64-amx-movrs-att.s
M llvm/test/MC/X86/AMX/x86-64-amx-movrs-intel.s
M llvm/test/MC/X86/amx-avx512-att.s
M llvm/test/MC/X86/amx-avx512-intel.s
M llvm/test/MC/X86/amx-transpose-att.s
M llvm/test/MC/X86/amx-transpose-intel.s
M llvm/test/MC/X86/avx10.2minmax-32-att.s
M llvm/test/MC/X86/avx10.2minmax-32-intel.s
M llvm/test/MC/X86/avx10.2minmax-64-att.s
M llvm/test/MC/X86/avx10.2minmax-64-intel.s
M llvm/test/MC/X86/movrs-att-64.s
M llvm/test/MC/X86/movrs-intel-64.s
A llvm/test/MachineVerifier/stack-protector-offset.mir
M llvm/test/Object/Inputs/WASM/multi-table.wasm
M llvm/test/Other/new-pm-print-pipeline.ll
A llvm/test/Other/print-loop-func-scope.ll
M llvm/test/TableGen/AsmPredicateCombiningRISCV.td
M llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
M llvm/test/TableGen/GlobalISelEmitter/HwModes.td
M llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
M llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
A llvm/test/TableGen/GlobalISelEmitter/predicated-pattern-order.td
M llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
M llvm/test/TableGen/address-space-patfrags.td
M llvm/test/TableGen/generic-tables-instruction.td
M llvm/test/TableGen/generic-tables.td
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/TableGen/x86-instr-mapping.inc
M llvm/test/ThinLTO/X86/memprof_direct_recursion.ll
A llvm/test/Transforms/CorrelatedValuePropagation/ctpop-range.ll
M llvm/test/Transforms/DeadStoreElimination/inter-procedural.ll
M llvm/test/Transforms/DeadStoreElimination/memory-intrinsics-sizes.ll
M llvm/test/Transforms/EarlyCSE/guards.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
A llvm/test/Transforms/FunctionAttrs/phi_cycle.ll
A llvm/test/Transforms/GlobalOpt/resolve-fmv-ifunc.ll
A llvm/test/Transforms/IndVarSimplify/implied-via-addition.ll
A llvm/test/Transforms/InstCombine/add-shl-mul-umax.ll
M llvm/test/Transforms/InstCombine/add.ll
M llvm/test/Transforms/InstCombine/assume-align.ll
M llvm/test/Transforms/InstCombine/assume.ll
A llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll
A llvm/test/Transforms/InstCombine/icmp-srem.ll
M llvm/test/Transforms/InstCombine/loadstore-metadata.ll
M llvm/test/Transforms/InstCombine/matrix-multiplication-negation.ll
M llvm/test/Transforms/InstCombine/nsw.ll
M llvm/test/Transforms/InstCombine/select-cmp.ll
M llvm/test/Transforms/InstCombine/str-int-2.ll
M llvm/test/Transforms/InstCombine/str-int-3.ll
M llvm/test/Transforms/InstCombine/str-int.ll
M llvm/test/Transforms/InstCombine/strcall-no-nul.ll
A llvm/test/Transforms/InstSimplify/const-fold-nvvm-fmin-fmax.ll
A llvm/test/Transforms/InstSimplify/pr122582.ll
M llvm/test/Transforms/InstSimplify/select.ll
M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleave4.ll
M llvm/test/Transforms/LICM/hoist-alloc.ll
M llvm/test/Transforms/LoopDataPrefetch/LoongArch/basic.ll
M llvm/test/Transforms/LoopInterchange/gh54176-scalar-deps.ll
M llvm/test/Transforms/LoopInterchange/inner-only-reductions.ll
M llvm/test/Transforms/LoopInterchange/innermost-latch-uses-values-in-middle-header.ll
M llvm/test/Transforms/LoopInterchange/interchange-flow-dep-outer.ll
M llvm/test/Transforms/LoopInterchange/lcssa.ll
A llvm/test/Transforms/LoopInterchange/many-load-stores.ll
M llvm/test/Transforms/LoopInterchange/outer-header-jump-to-inner-latch.ll
M llvm/test/Transforms/LoopInterchange/pr43176-move-to-new-latch.ll
M llvm/test/Transforms/LoopInterchange/pr43797-lcssa-for-multiple-outer-loop-blocks.ll
M llvm/test/Transforms/LoopInterchange/profitability.ll
M llvm/test/Transforms/LoopInterchange/reductions-across-inner-and-outer-loop.ll
M llvm/test/Transforms/LoopInterchange/unique-dep-matrix.ll
M llvm/test/Transforms/LoopInterchange/vector-gep-operand.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loopvectorize_pr33804_double.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
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/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/AArch64/prefer-fixed-if-equal-to-scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-extractvalue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/Hexagon/maximum-vf-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
A llvm/test/Transforms/LoopVectorize/epilog-vectorization-vector-trip-count-zero.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
A llvm/test/Transforms/LoopVectorize/select-with-fastflags.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
A llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-outside-iv-users.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVersioning/incorrect-phi.ll
M llvm/test/Transforms/MemCpyOpt/store-to-memset-is-nonzero-type.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/infer-align-from-assumption.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/Reassociate/reassoc_bool_vec.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
A llvm/test/Transforms/SLPVectorizer/InstructionsState-is-invalid-2.ll
A llvm/test/Transforms/SLPVectorizer/X86/InstructionsState-is-invalid-1.ll
M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
A llvm/test/Transforms/SLPVectorizer/X86/insert-subvector.ll
A llvm/test/Transforms/SLPVectorizer/X86/multi-node-reuse-in-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/sitofp.ll
M llvm/test/Transforms/SLPVectorizer/X86/value-bug.ll
M llvm/test/Transforms/SLPVectorizer/X86/vectorize-widest-phis.ll
R llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const-undef.ll
A llvm/test/Transforms/SLPVectorizer/insert-element-build-vector-const.ll
M llvm/test/Transforms/SLPVectorizer/insert-element-build-vector.ll
M llvm/test/Transforms/SROA/readonlynocapture.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
M llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll
M llvm/test/Transforms/VectorCombine/X86/permute-of-binops.ll
M llvm/test/tools/llvm-ctxprof-util/Inputs/valid.yaml
M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
M llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
M llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/mte-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-mte-instructions.s
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N3-mte-instructions.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-memory-instructions.s
M llvm/test/tools/llvm-mca/ARM/cortex-a57-thumb.s
M llvm/test/tools/llvm-mca/ARM/m4-int.s
M llvm/test/tools/llvm-mca/ARM/m55-int.s
M llvm/test/tools/llvm-mca/ARM/m7-int.s
M llvm/test/tools/llvm-mca/ARM/m85-int.s
A llvm/test/tools/llvm-objdump/COFF/win64-unwindv2.yaml
A llvm/test/tools/llvm-objdump/XCOFF/private-headers-option.test
M llvm/test/tools/llvm-readobj/COFF/unwind-x86_64-image.yaml
M llvm/tools/dxil-dis/CMakeLists.txt
M llvm/tools/lli/lli.cpp
M llvm/tools/llvm-cgdata/llvm-cgdata.cpp
M llvm/tools/llvm-ctxprof-util/llvm-ctxprof-util.cpp
M llvm/tools/llvm-exegesis/lib/AArch64/Target.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
M llvm/tools/llvm-exegesis/lib/Assembler.h
M llvm/tools/llvm-exegesis/lib/BenchmarkCode.h
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp
M llvm/tools/llvm-exegesis/lib/BenchmarkResult.h
M llvm/tools/llvm-exegesis/lib/CodeTemplate.h
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
M llvm/tools/llvm-exegesis/lib/Mips/Target.cpp
M llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/ParallelSnippetGenerator.h
M llvm/tools/llvm-exegesis/lib/PowerPC/Target.cpp
M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/tools/llvm-exegesis/lib/RegisterAliasing.cpp
M llvm/tools/llvm-exegesis/lib/RegisterAliasing.h
M llvm/tools/llvm-exegesis/lib/RegisterValue.h
M llvm/tools/llvm-exegesis/lib/SnippetFile.cpp
M llvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.cpp
M llvm/tools/llvm-exegesis/lib/SnippetRepetitor.h
M llvm/tools/llvm-exegesis/lib/Target.cpp
M llvm/tools/llvm-exegesis/lib/Target.h
M llvm/tools/llvm-exegesis/lib/X86/Target.cpp
M llvm/tools/llvm-exegesis/llvm-exegesis.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-objdump/COFFDump.cpp
M llvm/tools/llvm-objdump/XCOFFDump.cpp
M llvm/tools/llvm-readobj/Win64EHDumper.cpp
M llvm/tools/llvm-readobj/Win64EHDumper.h
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/tools/llvm-stress/llvm-stress.cpp
M llvm/tools/spirv-tools/CMakeLists.txt
M llvm/unittests/ADT/APIntTest.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp
M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
M llvm/unittests/Debuginfod/DebuginfodTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/AArch32ErrorTests.cpp
A llvm/unittests/ExecutionEngine/JITLink/AArch64Tests.cpp
M llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
M llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MachOLinkGraphTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/MemoryManagerErrorTests.cpp
M llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp
A llvm/unittests/ExecutionEngine/JITLink/X86_64Tests.cpp
M llvm/unittests/ExecutionEngine/Orc/EPCGenericJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/MapperJITLinkMemoryManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/FuzzMutate/OperationsTest.cpp
M llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp
M llvm/unittests/IR/ConstantsTest.cpp
M llvm/unittests/IR/InstructionsTest.cpp
M llvm/unittests/IR/PatternMatch.cpp
M llvm/unittests/IR/VerifierTest.cpp
M llvm/unittests/Linker/LinkModulesTest.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
M llvm/unittests/Support/CrashRecoveryTest.cpp
M llvm/unittests/Target/SPIRV/SPIRVAPITest.cpp
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
M llvm/unittests/Transforms/Utils/ValueMapperTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/AsmWriterEmitter.cpp
M llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
M llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
M llvm/utils/TableGen/Basic/SequenceToOffsetTable.h
M llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/CodeEmitterGen.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenHwModes.cpp
M llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/InfoByHwMode.cpp
M llvm/utils/TableGen/Common/InfoByHwMode.h
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
M llvm/utils/TableGen/DFAEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/GlobalISelEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/SearchableTableEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
M llvm/utils/TableGen/X86InstrMappingEmitter.cpp
M llvm/utils/gn/secondary/clang-tools-extra/clangd/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Sema/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Utility/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/JITLink/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/SandboxVectorizer/BUILD.gn
M mlir/CMakeLists.txt
M mlir/cmake/modules/AddMLIRPython.cmake
A mlir/docs/DefiningDialects/Assembly.md
M mlir/docs/Dialects/Affine.md
M mlir/docs/Dialects/OpenMPDialect/_index.md
M mlir/docs/Dialects/emitc.md
M mlir/include/mlir-c/Dialect/EmitC.h
M mlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
A mlir/include/mlir/Conversion/MathToEmitC/MathToEmitC.h
A mlir/include/mlir/Conversion/MathToEmitC/MathToEmitCPass.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/IRDL/IR/IRDLOps.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMatrixOps.td
M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
A mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/IR/BlockSupport.h
M mlir/include/mlir/IR/Builders.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.h
M mlir/include/mlir/IR/BuiltinTypeInterfaces.td
M mlir/include/mlir/IR/BuiltinTypes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/Diagnostics.h
M mlir/include/mlir/IR/Region.h
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/Types.h
M mlir/include/mlir/IR/ValueRange.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/include/mlir/Target/SPIRV/Deserialization.h
M mlir/include/mlir/Target/SPIRV/Serialization.h
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/lib/CAPI/Dialect/EmitC.cpp
M mlir/lib/CAPI/IR/BuiltinTypes.cpp
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/CMakeLists.txt
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/LLVMCommon/MemRefBuilder.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
A mlir/lib/Conversion/MathToEmitC/CMakeLists.txt
A mlir/lib/Conversion/MathToEmitC/MathToEmitC.cpp
A mlir/lib/Conversion/MathToEmitC/MathToEmitCPass.cpp
M mlir/lib/Conversion/MathToROCDL/MathToROCDL.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/IRDL/IR/IRDL.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Split.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
M mlir/lib/Dialect/NVGPU/Transforms/CreateAsyncGroups.cpp
M mlir/lib/Dialect/NVGPU/Utils/MMAUtils.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/SCF/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/Tensor/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/IR/Builders.cpp
M mlir/lib/IR/BuiltinTypeInterfaces.cpp
M mlir/lib/IR/BuiltinTypes.cpp
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/IR/Types.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVMIR/DataLayoutImporter.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Transforms/InlinerPass.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/CAPI/irdl.c
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc-unsupported.mlir
M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
A mlir/test/Conversion/GPUCommon/lower-launch-func-bare-ptr-intersperse-size.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
A mlir/test/Conversion/MathToEmitC/math-to-emitc-failed.mlir
A mlir/test/Conversion/MathToEmitC/math-to-emitc.mlir
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/if.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_reduction.mlir
M mlir/test/Dialect/Affine/invalid.mlir
M mlir/test/Dialect/Affine/ops.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
M mlir/test/Dialect/EmitC/invalid_types.mlir
M mlir/test/Dialect/EmitC/transforms.mlir
M mlir/test/Dialect/EmitC/types.mlir
M mlir/test/Dialect/GPU/transform-gpu.mlir
M mlir/test/Dialect/IRDL/cmath.irdl.mlir
M mlir/test/Dialect/IRDL/cpred.irdl.mlir
M mlir/test/Dialect/IRDL/cyclic-types.irdl.mlir
M mlir/test/Dialect/IRDL/invalid.irdl.mlir
M mlir/test/Dialect/IRDL/regions-ops.irdl.mlir
M mlir/test/Dialect/IRDL/test-type.irdl.mlir
M mlir/test/Dialect/IRDL/testd.irdl.mlir
M mlir/test/Dialect/IRDL/variadics-error.irdl.mlir
M mlir/test/Dialect/IRDL/variadics.irdl.mlir
M mlir/test/Dialect/LLVMIR/func.mlir
A mlir/test/Dialect/LLVMIR/inlining-debuginfo.mlir
M mlir/test/Dialect/Linalg/convert-conv2d-to-img2col.mlir
M mlir/test/Dialect/Linalg/tile-indexed.mlir
A mlir/test/Dialect/Linalg/tile-offset.mlir
M mlir/test/Dialect/Linalg/transform-op-split.mlir
M mlir/test/Dialect/Linalg/vectorization-pad-patterns.mlir
M mlir/test/Dialect/MemRef/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/NVGPU/invalid.mlir
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SCF/value-bounds-op-interface-impl.mlir
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
Log Message:
-----------
Rebase, address comments
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/7aeb1c9bd8eb...a9f0a8bace83
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