[all-commits] [llvm/llvm-project] 91e392: [ubsan] Fix test on Windows
Mingjie Xu via All-commits
all-commits at lists.llvm.org
Tue Jan 7 17:11:50 PST 2025
Branch: refs/heads/users/Enna1/tysan-module-pass
Home: https://github.com/llvm/llvm-project
Commit: 91e392b2836f25bf5641f0ca7ec2f64018c2193b
https://github.com/llvm/llvm-project/commit/91e392b2836f25bf5641f0ca7ec2f64018c2193b
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
Log Message:
-----------
[ubsan] Fix test on Windows
Commit: 08db696c87fb68cc896f742202665440cee53f8c
https://github.com/llvm/llvm-project/commit/08db696c87fb68cc896f742202665440cee53f8c
Author: Brox Chen <guochen2 at amd.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
Log Message:
-----------
[AMDGPU][True16][MC] V_MED3_I/U16_fake16 CodeGen pattern (#120600)
In this patch https://github.com/llvm/llvm-project/pull/113603 replace
`V_MED3_I/U16` to `V_MED3_I/U16_fake16` for Post-GFX11, but it miss to
update the CodeGen pattern. This patch update and corrert the CodeGen
pattern
Commit: e7e622f153126582670d2d07034e97e1b780a464
https://github.com/llvm/llvm-project/commit/e7e622f153126582670d2d07034e97e1b780a464
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
R llvm/include/llvm/CodeGen/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStats.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStats.cpp
M llvm/lib/Passes/CMakeLists.txt
A llvm/lib/Passes/DroppedVariableStats.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsIRTest.cpp
M llvm/unittests/IR/CMakeLists.txt
A llvm/unittests/IR/DroppedVariableStatsIRTest.cpp
Log Message:
-----------
Revert "Move DroppedVariableStats to CodeGen lib (#120650)"
This reverts commit 4307198d51487cc16f98eebb2113caf4a1905914.
Broke bot ppc64le-clang-multistage-test:
undefined reference to
`llvm::DroppedVariableStats::populateVarIDSetAndInlinedMap in
In function `llvm::DroppedVariableStatsIR::visitEveryInstruction
Commit: 16e42235f153eaa2c3abd2e203a771db4e709607
https://github.com/llvm/llvm-project/commit/16e42235f153eaa2c3abd2e203a771db4e709607
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
Log Message:
-----------
[gn build] Port e7e622f15312
Commit: ebb5f1a4e5f2f150c60302a9374b3ae1b66e2028
https://github.com/llvm/llvm-project/commit/ebb5f1a4e5f2f150c60302a9374b3ae1b66e2028
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/select-fp-anyext-crash.ll
Log Message:
-----------
[AArch64][GlobalISel] Fix crash when selecting an anyextending FP load.
We split anyext FP loads back into a regular load + extend, but when we do that
we need to ensure that some state about the instruction is updated to correctly
reflect the new reality.
rdar://141660282
Commit: a73ca291547cf4f5822a3029dd56315354557517
https://github.com/llvm/llvm-project/commit/a73ca291547cf4f5822a3029dd56315354557517
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
A compiler-rt/lib/sanitizer_common/sanitizer_contiguous_container.cpp
Log Message:
-----------
[compiler-rt] Add weak defs for .*contiguous_container.* functions (#120376)
Fix #120278
Commit: c7606710f93cf0ab655a5bcbbf873954051ba109
https://github.com/llvm/llvm-project/commit/c7606710f93cf0ab655a5bcbbf873954051ba109
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
Log Message:
-----------
[AMDGPU] Update base addr of dyn alloca considering GrowingUp stack (#119822)
Currently, compiler calculates the base address of
dynamic sized stack object (alloca) as follows:
1. `NewSP = Align(CurrSP + Size)`
_where_ `Size = # of elements * wave size * alloca type`
2. `BaseAddr = NewSP`
3. The alignment is computed as: `AlignedAddr = Addr & ~(Alignment - 1)`
4. Return the `BaseAddr`
This makes sense when stack is grows downwards.
AMDGPU stack grows upwards, the base address
needs to be aligned first and SP bump by required size later:
1. `BaseAddr = Align(CurrSP)`
2. `NewSP = BaseAddr + Size`
3. `AlignedAddr = (Addr + (Alignment - 1)) & ~(Alignment - 1)`
4. and returns the `BaseAddr`.
Commit: ecd59f802f9436c766d85ccde13a9f2b863dc5a6
https://github.com/llvm/llvm-project/commit/ecd59f802f9436c766d85ccde13a9f2b863dc5a6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG] Use SmallVectorImpl& to avoid repeating SmallVector size. NFC
Commit: e30308196901873a926b6c17304d022eb91fc585
https://github.com/llvm/llvm-project/commit/e30308196901873a926b6c17304d022eb91fc585
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
Log Message:
-----------
[X86] Remove redundant initialize*Pass in ctor
Commit: 59c7d6f965af9f1e05f8447c50fde8bbde346361
https://github.com/llvm/llvm-project/commit/59c7d6f965af9f1e05f8447c50fde8bbde346361
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-19 (Thu, 19 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/Xtensa/code_density.txt
Log Message:
-----------
[Xtensa,test] Remove failing RUN line from #119639
Commit: 93743ee566694d2fcafa3243c03330e86bf9c806
https://github.com/llvm/llvm-project/commit/93743ee566694d2fcafa3243c03330e86bf9c806
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Sema/SemaChecking.cpp
R clang/test/CodeGen/atomic-test-and-set.c
M clang/test/Sema/atomic-ops.c
Log Message:
-----------
Revert "[Clang] Re-write codegen for atomic_test_and_set and atomic_clear (#120449)"
This reverts commit 9fc2fadbfcb34df5f72bdaed28a7874bf584eed7.
See https://github.com/llvm/llvm-project/pull/120449#issuecomment-2556089016
Commit: a6d26c56ff066c8e8f92f4ca169fcf40ae0db537
https://github.com/llvm/llvm-project/commit/a6d26c56ff066c8e8f92f4ca169fcf40ae0db537
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Fix dangling false positives for conditional operators. (#120233)
When analyzing a dangling gsl pointer, we currently filter out all field
access `MemberExpr` to avoid common false positives (`string_view sv =
Temp().sv`), However, this filter only applies to direct MemberExpr
instances, leaving the conditional operator as an escaping example
(`GSLPointer pointer(Cond ? Owner().ptr : GSLPointer());`).
This patch extends the MemberExpr logic to handle the conditional
operator. The heuristic is intentionally simple, which may result in
some false negatives. However, it effectively covers common cases like
`std::string_view sv = cond ? "123" : std::string();`, which is a
reasonable trade-off.
Fixes https://github.com/llvm/llvm-project/issues/120206
Commit: a16cb7ebea796f8c8f7a2ca8d01cc7f6db99e07a
https://github.com/llvm/llvm-project/commit/a16cb7ebea796f8c8f7a2ca8d01cc7f6db99e07a
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update Sparc maintainer (#120430)
Currently vegovin is listed as the maintainer of the Sparc backend,
however they haven't been involved with LLVM for about 10 years already.
Nominate koachan as the new Sparc maintainer.
Commit: 4096dd60668c9e9e402a486a28984bfa082fe48f
https://github.com/llvm/llvm-project/commit/4096dd60668c9e9e402a486a28984bfa082fe48f
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update LTO maintainer (#120575)
Update the LTO maintainer from pcc to teresajohnson.
Commit: 4111841f88eeca184e833e3643c5bf1dca6f7014
https://github.com/llvm/llvm-project/commit/4111841f88eeca184e833e3643c5bf1dca6f7014
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M bolt/lib/Core/BinaryContext.cpp
M bolt/test/RISCV/call-annotations.s
M bolt/test/RISCV/relax.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-jal.s
Log Message:
-----------
[BOLT] Correctly print preferred disassembly for annotated instructions (#120564)
This patch makes sure that `BinaryContext::printInstruction` prints the
preferred disassembly. Preferred disassembly only gets printed when
there are no annotations on the MCInst. Therefore, this patch
temporarily removes the annotations before printing it.
A few examples of before and after on AArch64 instructions are as
follows:
```
BEFORE AFTER
(preferred disassembly)
ret x30 ret
orr x30, xzr, x0 mov x30, x0
hint #29 autiasp
hint #12 autia1716
```
Clearly, the preferred disassembly is easier for developers to read, and
is the disassembly that tools should be printing.
This patch is motivated as part of future work on the
llvm-bolt-binary-analysis tool, making sure that the reports it prints
do use preferred disassembly.
This patch was cherry-picked from
https://github.com/kbeyls/llvm-project/tree/bolt-gadget-scanner-prototype.
In this current patch, this only affects existing RISCV test cases.
This patch also does improve test cases in future patches that will
introduce a binary analysis for llvm-bolt-binary-analysis that checks
for correct application of pac-ret (pointer authentication on return
addresses).
Commit: 44726489988a27c3cbd2f94188a2363e2080e045
https://github.com/llvm/llvm-project/commit/44726489988a27c3cbd2f94188a2363e2080e045
Author: David Green <david.green at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
Log Message:
-----------
[ARM] Expand bf16 expanding/rounding fp loads/stores
As with other fp types, these should be expanded to prevent nodes that are
illegal for Arm.
Commit: 701f2409befa7d44aea0c31494ac0d3a5d18415e
https://github.com/llvm/llvm-project/commit/701f2409befa7d44aea0c31494ac0d3a5d18415e
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Transforms/scf-if-utils.mlir
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
Log Message:
-----------
[mlir] fix crash when scf utils work on llvm.func (#120688)
fixed https://github.com/llvm/llvm-project/issues/119378
Commit: 53d080c5b5dfbb46eb81d189736864f5b6196492
https://github.com/llvm/llvm-project/commit/53d080c5b5dfbb46eb81d189736864f5b6196492
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
M mlir/test/mlir-cpu-runner/math-polynomial-approx.mlir
M mlir/test/mlir-cpu-runner/test-expand-math-approx.mlir
M mlir/test/python/execution_engine.py
M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
Log Message:
-----------
[mlir][Arith] Remove `arith-to-llvm` from `func-to-llvm` (#120548)
Do not run `arith-to-llvm` as part of `func-to-llvm`. This commit partly
fixes #70982.
Also simplify the pass pipeline for two math dialect integration tests.
Note for LLVM integration: If you see failures, add `arith-to-llvm` to your pass pipeline.
Commit: d0b7633d7ad566579bfb794f95cce9aef294c92b
https://github.com/llvm/llvm-project/commit/d0b7633d7ad566579bfb794f95cce9aef294c92b
Author: Timothy Hoffman <4001421+tim-hoffman at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/docs/DefiningDialects/AttributesAndTypes.md
M mlir/docs/PatternRewriter.md
M mlir/docs/SymbolsAndSymbolTables.md
M mlir/include/mlir/IR/DialectImplementation.h
M mlir/include/mlir/IR/OpBase.td
M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
Log Message:
-----------
[mlir] [doc] fix typos in documentation (#120179)
This PR fixes typos within documentation in various files.
Most changes are trivial. The one interesting change is the
documentation for `custom<X>` in `assemblyFormat` that used the wrong
return type. The return type from the `parseX` function should be
`ParseResult` rather than `LogicalResult`. The `ParseResult` type is
necessary due to tablegen generating code like the following within an
Op `parse()` function:
```
auto odsResult = parseInferredArrayType(parser, elementsTypes, elementsOperands, resultRawTypes[0]);
if (odsResult) return ::mlir::failure();
```
This will fail to compile if `parseInferredArrayType()` returns
`LogicalResult`. See also `parsePrettyLLVMType()` in LLVMTypes.h,
`parseSingleBlockRegion()` in IRDL.cpp, `parseDynamicIndexList()` in
ViewLikeInterface.cpp, etc.
Commit: d8a5fae6913a0f6c7e3c814315c1a11fcfd609a1
https://github.com/llvm/llvm-project/commit/d8a5fae6913a0f6c7e3c814315c1a11fcfd609a1
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/Fast-ISel/br1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/icmpbr1.ll
M llvm/test/CodeGen/Mips/addressing-mode.ll
M llvm/test/CodeGen/Mips/atomic-min-max-64.ll
M llvm/test/CodeGen/Mips/atomic-min-max.ll
M llvm/test/CodeGen/Mips/brconeq.ll
M llvm/test/CodeGen/Mips/brconeqk.ll
M llvm/test/CodeGen/Mips/brconeqz.ll
M llvm/test/CodeGen/Mips/brconge.ll
M llvm/test/CodeGen/Mips/brcongt.ll
M llvm/test/CodeGen/Mips/brconle.ll
M llvm/test/CodeGen/Mips/brconlt.ll
M llvm/test/CodeGen/Mips/brconne.ll
M llvm/test/CodeGen/Mips/brconnek.ll
M llvm/test/CodeGen/Mips/brconnez.ll
M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
M llvm/test/CodeGen/Mips/cfi_offset.ll
M llvm/test/CodeGen/Mips/dins.ll
M llvm/test/CodeGen/Mips/dsp-r1.ll
M llvm/test/CodeGen/Mips/eh-return32.ll
M llvm/test/CodeGen/Mips/eh-return64.ll
M llvm/test/CodeGen/Mips/emit-big-cst.ll
M llvm/test/CodeGen/Mips/ex2.ll
M llvm/test/CodeGen/Mips/fpbr.ll
M llvm/test/CodeGen/Mips/frame-address.ll
M llvm/test/CodeGen/Mips/jumptable_labels.ll
M llvm/test/CodeGen/Mips/llvm-ir/add.ll
M llvm/test/CodeGen/Mips/llvm-ir/indirectbr.ll
M llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
M llvm/test/CodeGen/Mips/mips64directive.ll
M llvm/test/CodeGen/Mips/msa/2r.ll
M llvm/test/CodeGen/Mips/msa/2r_vector_scalar.ll
M llvm/test/CodeGen/Mips/msa/2rf.ll
M llvm/test/CodeGen/Mips/msa/2rf_exup.ll
M llvm/test/CodeGen/Mips/msa/2rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/2rf_fq.ll
M llvm/test/CodeGen/Mips/msa/2rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/2rf_tq.ll
M llvm/test/CodeGen/Mips/msa/3r-a.ll
M llvm/test/CodeGen/Mips/msa/3r-b.ll
M llvm/test/CodeGen/Mips/msa/3r-c.ll
M llvm/test/CodeGen/Mips/msa/3r-d.ll
M llvm/test/CodeGen/Mips/msa/3r-i.ll
M llvm/test/CodeGen/Mips/msa/3r-m.ll
M llvm/test/CodeGen/Mips/msa/3r-p.ll
M llvm/test/CodeGen/Mips/msa/3r-s.ll
M llvm/test/CodeGen/Mips/msa/3r-v.ll
M llvm/test/CodeGen/Mips/msa/3r_4r.ll
M llvm/test/CodeGen/Mips/msa/3r_4r_widen.ll
M llvm/test/CodeGen/Mips/msa/3r_splat.ll
M llvm/test/CodeGen/Mips/msa/3rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf_q.ll
M llvm/test/CodeGen/Mips/msa/3rf_exdo.ll
M llvm/test/CodeGen/Mips/msa/3rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/3rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/3rf_q.ll
M llvm/test/CodeGen/Mips/msa/arithmetic_float.ll
M llvm/test/CodeGen/Mips/msa/bit.ll
M llvm/test/CodeGen/Mips/msa/bitcast.ll
M llvm/test/CodeGen/Mips/msa/compare.ll
M llvm/test/CodeGen/Mips/msa/compare_float.ll
M llvm/test/CodeGen/Mips/msa/elm_copy.ll
M llvm/test/CodeGen/Mips/msa/elm_cxcmsa.ll
M llvm/test/CodeGen/Mips/msa/elm_insv.ll
M llvm/test/CodeGen/Mips/msa/elm_move.ll
M llvm/test/CodeGen/Mips/msa/elm_shift_slide.ll
M llvm/test/CodeGen/Mips/msa/endian.ll
M llvm/test/CodeGen/Mips/msa/frameindex.ll
M llvm/test/CodeGen/Mips/msa/i10.ll
M llvm/test/CodeGen/Mips/msa/i5-a.ll
M llvm/test/CodeGen/Mips/msa/i5-c.ll
M llvm/test/CodeGen/Mips/msa/i5-m.ll
M llvm/test/CodeGen/Mips/msa/i5_ld_st.ll
M llvm/test/CodeGen/Mips/msa/i8.ll
M llvm/test/CodeGen/Mips/msa/remat-ldi.ll
M llvm/test/CodeGen/Mips/msa/shift-dagcombine.ll
M llvm/test/CodeGen/Mips/msa/shift_constant_pool.ll
M llvm/test/CodeGen/Mips/msa/special.ll
M llvm/test/CodeGen/Mips/msa/spill.ll
M llvm/test/CodeGen/Mips/msa/vec.ll
M llvm/test/CodeGen/Mips/msa/vecs10.ll
M llvm/test/CodeGen/Mips/octeon.ll
M llvm/test/CodeGen/Mips/prevent-hoisting.ll
M llvm/test/CodeGen/Mips/selTBteqzCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezSlti.ll
M llvm/test/CodeGen/Mips/seleq.ll
M llvm/test/CodeGen/Mips/seleqk.ll
M llvm/test/CodeGen/Mips/selgek.ll
M llvm/test/CodeGen/Mips/selgt.ll
M llvm/test/CodeGen/Mips/selle.ll
M llvm/test/CodeGen/Mips/selltk.ll
M llvm/test/CodeGen/Mips/selne.ll
M llvm/test/CodeGen/Mips/selnek.ll
M llvm/test/CodeGen/Mips/selpat.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/DebugInfo/Mips/tls.ll
A llvm/test/MC/Mips/coff-basic.ll
A llvm/test/MC/Mips/coff-relocs.ll
Log Message:
-----------
[MC][Mips] Add MipsWinCOFFObjectWriter/MipsWinCOFFStreamer (#114611)
llc is now able to create MIPS COFF files for simple cases.
Commit: fe85c71a7b556b3cef1528399b123538e6b3dd4b
https://github.com/llvm/llvm-project/commit/fe85c71a7b556b3cef1528399b123538e6b3dd4b
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] port 53d080c5b5dfbb46eb81d189736864f5b6196492
Commit: 81e63f9e0c4b86ca1a00be7aeeffb1519a74226e
https://github.com/llvm/llvm-project/commit/81e63f9e0c4b86ca1a00be7aeeffb1519a74226e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types (#120599)
processShuffleMasks can now correctly handle 2 src shuffles, so we can use the existing SK_PermuteSingleSrc splitting cost logic to handle SK_PermuteTwoSrc as well and correctly recognise the number of active subvectors per legalised shuffle.
Commit: e10cb443a1ba30cd1368907df246e968b7508278
https://github.com/llvm/llvm-project/commit/e10cb443a1ba30cd1368907df246e968b7508278
Author: Hans Wennborg <hans at chromium.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_common_interface.inc
R compiler-rt/lib/sanitizer_common/sanitizer_contiguous_container.cpp
Log Message:
-----------
Revert "[compiler-rt] Add weak defs for .*contiguous_container.* functions (#120376)"
This reverts commit a73ca291547cf4f5822a3029dd56315354557517.
Commit: 69ebac7ad6ae1db9bb19cf3a19ea978af6034ca3
https://github.com/llvm/llvm-project/commit/69ebac7ad6ae1db9bb19cf3a19ea978af6034ca3
Author: Hans Wennborg <hans at hanshq.net>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
Log Message:
-----------
[win/asan] Don't intercept memset etc. in ntdll (#120397)
When ntdll was added to the list of of "interesting DLLs" list (in
d58230b9dcb3b312a2da8f874daa0cc8dc27da9b), the intention was not to
intercept the "mini CRT" functions it exports. OverrideFunction would
only intercept the *first* function it found when searching the list of
DLLs, and ntdll was put last in that list.
However, after 42cdfbcf3e92466754c175cb0e1e237e9f66749e,
OverrideFunction intercepts *all* matching functions in those DLLs. As
a side-effect, the runtime would now intercept functions like memset
etc. also in ntdll.
This causes a problem when ntdll-internal functions like
RtlDispatchException call the intercepted memset, which tries to
inspect uncommitted shadow memory, raising an exception, and getting
stuck in that loop until the stack overflows.
Since we never intended to intercept ntdll's memset etc., the simplest
fix seems to be to actively ignore ntdll when intercepting those
functions.
Fixes #114793
Commit: b03a09e74fa38eceddbc314c4f896a935224f453
https://github.com/llvm/llvm-project/commit/b03a09e74fa38eceddbc314c4f896a935224f453
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
M mlir/test/Integration/Dialect/ControlFlow/assert.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/test-vp-intrinsic.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/cast-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/load-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
M mlir/test/Integration/Dialect/MemRef/reinterpret-cast-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/broadcast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/constant-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask-v4i1.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/expand.mlir
M mlir/test/Integration/Dialect/Vector/CPU/extract-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/fma.mlir
M mlir/test/Integration/Dialect/Vector/CPU/gather.mlir
M mlir/test/Integration/Dialect/Vector/CPU/index-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/insert-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedload.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-fp.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-int.mlir
M mlir/test/Integration/Dialect/Vector/CPU/realloc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-si4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-ui4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scan.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shape-cast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-dot-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-saxpy-jagged-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transpose.mlir
M mlir/test/Integration/GPU/CUDA/async.mlir
M mlir/test/python/integration/dialects/linalg/opsrun.py
Log Message:
-----------
[mlir] Fix integration tests after #120548 (#120706)
This should have been part of #120548.
Commit: 091448e3c17bc8e7812dd7b571c852576d648977
https://github.com/llvm/llvm-project/commit/091448e3c17bc8e7812dd7b571c852576d648977
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
Revert "[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types" (#120707)
Reverts llvm/llvm-project#120599 - some recent tests are currently failing
Commit: 2405c5fb3ed49b928bb2816ace7b67c8979cd9d7
https://github.com/llvm/llvm-project/commit/2405c5fb3ed49b928bb2816ace7b67c8979cd9d7
Author: wenzhoumei <wenzhoumei7 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
Log Message:
-----------
[llvm-readelf] Update outdated URL (#120498)
This updates a comment pointing to the list of registered machine
architectures in the ELF gABI as the URL in the old comment is no longer
valid.
Commit: 0b5b09b67c572867d88bbf5b41bcc5e722ec653a
https://github.com/llvm/llvm-project/commit/0b5b09b67c572867d88bbf5b41bcc5e722ec653a
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/Passes/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStatsIR.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
A llvm/lib/Passes/DroppedVariableStatsIR.cpp
M llvm/unittests/IR/CMakeLists.txt
Log Message:
-----------
[NFC] Move DroppedVariableStats to its own file (#120711)
Move DroppedVariableStats code to its own file and change the class to
have an extensible design so that we can use it to add dropped
statistics to MIR passes and the instruction selector.
Also moved class DroppedVariableStatsIR to its own file.
Reland 2de78815604e9027efd93cac27c517bf732587d2
Commit: 2fa2c2197ddbf2f06c78b6d271782a8762b13b57
https://github.com/llvm/llvm-project/commit/2fa2c2197ddbf2f06c78b6d271782a8762b13b57
Author: David Spickett <david.spickett at linaro.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/MemTagSanitizer.rst
Log Message:
-----------
[llvm][docs] MemTagSanitizer is only supported on AArch64 Android (#120545)
```
$ ./bin/clang /tmp/test.c -o /tmp/test.o -target aarch64-linux -march=armv8+memtag -fsanitize=memtag-stack
clang: error: unsupported option '-fsanitize=memtag*' for target 'aarch64-unknown-linux'
```
But this works:
```
$ ./bin/clang /tmp/test.c -o /tmp/test.o --target=aarch64-linux-android -march=armv8+memtag -fsanitize=memtag-stack
```
Due to this check in Clang:
https://github.com/llvm/llvm-project/blob/2210da3b823ccf21fc634c858827c9f12c864b51/clang/lib/Driver/ToolChains/CommonArgs.cpp#L1651
Likely because the required notes and dynamic loader support only exist
for Android.
You can get around this, sort of, by not linking the file. However this
means you have to provide your own way of loading it, so it doesn't
change the statement that this feature is Android only.
https://github.com/llvm/llvm-project/issues/64692 also confirms that the
intent is to only support Android at this time.
And while I'm here, suggest an additive set of flags that can also be
used.
Commit: d66f653c8db90d0c643f8f2740bbdc01bf647f18
https://github.com/llvm/llvm-project/commit/d66f653c8db90d0c643f8f2740bbdc01bf647f18
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Skip reserved registers when computing register pressure (#120694)
We used to skip fixed registers, but fixed registers are not enough
because there are some runtime unusable registers like registers
reserved by `-ffixed-xxx` options.
Here we change to use reserved registers so that the estimated
pressure is more accurate.
Commit: 1e18815fdc13bb1f8b0b87acd8abf62b5cf70d53
https://github.com/llvm/llvm-project/commit/1e18815fdc13bb1f8b0b87acd8abf62b5cf70d53
Author: Chenhui Huang <huangchenhui.yellow at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[MLIR] fix shape.broadcast canonicalize with all empty shape operands (#118941)
Example: all the operands of `shape.broadcast` are empty tensors.
```
func.func @all_empty(%arg0: tensor<f32>) -> tensor<0xindex> {
%1 = shape.shape_of %arg0 : tensor<f32> -> tensor<0xindex>
%2 = shape.const_shape [] : tensor<0xindex>
%3 = shape.broadcast %1, %2, %1 : tensor<0xindex>, tensor<0xindex>, tensor<0xindex> -> tensor<0xindex>
return %3 : tensor<0xindex>
}
```
One can reproduce crash when canonicalize with *down-top* order, cmd
like this:
`mlir-opt -split-input-file -allow-unregistered-dialect
-canonicalize="test-convergence top-down=0" %s`
The root cause is when all operands are empty tensor,
`RemoveEmptyShapeOperandsPattern` would filter out all operands.
Co-authored-by: Kai Sasaki <lewuathe at gmail.com>
Commit: 611401c11594871aa5c7692cd17a7f12b6fbe660
https://github.com/llvm/llvm-project/commit/611401c11594871aa5c7692cd17a7f12b6fbe660
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr94546.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-transformed-operand.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-casts.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - use processShuffleMasks to split SK_PermuteTwoSrc shuffles to legal types (#120599)
processShuffleMasks can now correctly handle 2 src shuffles, so we can use the existing SK_PermuteSingleSrc splitting cost logic to handle SK_PermuteTwoSrc as well and correctly recognise the number of active subvectors per legalised shuffle.
Commit: ff93ca7d6c487108a65d3ad15c3392235fd9c190
https://github.com/llvm/llvm-project/commit/ff93ca7d6c487108a65d3ad15c3392235fd9c190
Author: hanbeom <kese111 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
Log Message:
-----------
[VectorCombine] Combine scalar fneg with insert/extract to vector fneg when length is different (#120461)
insertelt DestVec, (fneg (extractelt SrcVec, Index)), Index
-> shuffle DestVec, (shuffle (fneg SrcVec), poison, SrcMask), Mask
Original combining left the combine between vectors of different lengths as a TODO. this commit do that. (see
#[https://github.com/llvm/llvm-project/commit/baab4aa1ba5f68634b4936375e19c8686b1b474a])
Commit: 708e1437ff82181dc42f7b43f95428bfd0a9e8ff
https://github.com/llvm/llvm-project/commit/708e1437ff82181dc42f7b43f95428bfd0a9e8ff
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port 0b5b09b67c57
Commit: 42bc7bf40a13227110a95079b108615a85cddd7d
https://github.com/llvm/llvm-project/commit/42bc7bf40a13227110a95079b108615a85cddd7d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port d8a5fae6913a
Commit: 919aead1db64b2f1444842bc75a3af7836238671
https://github.com/llvm/llvm-project/commit/919aead1db64b2f1444842bc75a3af7836238671
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/task.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 OpenMP] Add LLVM translation support for UNTIED in Task (#115283)
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.
Commit: c2bd5c25b3634e55089d34afe922aa38eee743e2
https://github.com/llvm/llvm-project/commit/c2bd5c25b3634e55089d34afe922aa38eee743e2
Author: SpencerAbson <Spencer.Abson at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
A llvm/test/CodeGen/AArch64/neon-ins-trunc-elt.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
Log Message:
-----------
[AArch64] Avoid GPR trip when moving truncated i32 vector elements (#114541)
This patch implements a DAG combine whereby
```
a: v2i64 = ...
b: i64 = extract_vector_elt a, Constant:i64<n>
c: i32 = truncate b
```
Becomes
```
a: v2i64 = ...
b: v4i32 = AArch64ISD::NVCAST a
c: i32 = extract_vector_elt c, Constant:i64<2n>
```
The primary goal of this work is to enable the use of [INS
(element)](https://developer.arm.com/documentation/ddi0602/2024-09/SIMD-FP-Instructions/INS--element---Insert-vector-element-from-another-vector-element-?lang=en)
when moving a truncated i32 element between vectors. This combine
canonicalises the structure of the DAG for all legal instances of the
pattern above (by removing the explicit `trunc` operator in this
specific case), allowing us to take advantage of existing ISEL patterns
for this behavior.
Commit: cf0bc8d0321a55f3f166131ec3fe45cdef7d5e3c
https://github.com/llvm/llvm-project/commit/cf0bc8d0321a55f3f166131ec3fe45cdef7d5e3c
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
Log Message:
-----------
[lldb][AIX] Adding AIX version of ptrace64 (#120390)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Adding changes for minimal build for lldb binary on AIX. ptrace64 is
needed to debug 64-bit AIX debuggee, and its format is different than
the traditional ptrace on other platforms: [AIX
ptrace](https://www.ibm.com/docs/en/aix/7.3?topic=p-ptrace-ptracex-ptrace64-subroutine)
Commit: 6fd267d79b9bf3739c59662a7c09d78a6e09c94f
https://github.com/llvm/llvm-project/commit/6fd267d79b9bf3739c59662a7c09d78a6e09c94f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Log Message:
-----------
[lldb][DWARFASTParserClang][NFC] Remove unused parameter to CompleteRecordType (#120456)
Became unused since the recent
https://github.com/llvm/llvm-project/pull/110648
Commit: 84f0098ad103897112d3052fffbb244cd9db4815
https://github.com/llvm/llvm-project/commit/84f0098ad103897112d3052fffbb244cd9db4815
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port b03a09e74fa38eceddbc314c4f896a935224f453
Commit: 9a1837f9b0d3c74cd35fd1af5f7587f31391ba82
https://github.com/llvm/llvm-project/commit/9a1837f9b0d3c74cd35fd1af5f7587f31391ba82
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/tools/driver/CMakeLists.txt
Log Message:
-----------
[lldb][AIX] Introducing _ALL_SOURCE macro into driver CMakeLists (#120607)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Adding changes for minimal build for lldb binary on AIX:
The `struct winsize` needed by `lldb/tools/driver/Driver.cpp` is only
recognised in AIX under the AIX specific `_ALL_SOURCE` macro, hence its
enablement is required here.
Commit: 385b144c9477de6a4598bd08ce4f2883aeb236b9
https://github.com/llvm/llvm-project/commit/385b144c9477de6a4598bd08ce4f2883aeb236b9
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/include/lldb/Host/linux/HostInfoLinux.h
M lldb/include/lldb/Host/posix/HostInfoPosix.h
M lldb/source/Host/linux/HostInfoLinux.cpp
M lldb/source/Host/posix/HostInfoPosix.cpp
Log Message:
-----------
[lldb][Linux] Moving generic APIs from HostInfoLinux to HostInfoPosix (#119694)
This change is related merging some of the APIs in HostInfoLinux into
HostInfoPosix.
Here is the reference PR comment:
https://github.com/llvm/llvm-project/pull/117906#discussion_r1865427495,
https://github.com/llvm/llvm-project/pull/117906#discussion_r1861616945
Commit: 8dc23efbe6c584c06d6472c6f1b679b5ca861b07
https://github.com/llvm/llvm-project/commit/8dc23efbe6c584c06d6472c6f1b679b5ca861b07
Author: James Chesterman <James.Chesterman at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[NFC][AArch64][SVE] Rename variables in partial reduction lowering functions (#120589)
Commit: d7ddc976d544528fe7f16882f5bec66c3b2a7884
https://github.com/llvm/llvm-project/commit/d7ddc976d544528fe7f16882f5bec66c3b2a7884
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Remove unused private field MF
Commit: 000febd0290698728abd9e23da6b27969c529177
https://github.com/llvm/llvm-project/commit/000febd0290698728abd9e23da6b27969c529177
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A lldb/test/Shell/Expr/TestObjCHiddenIvars.test
Log Message:
-----------
[lldb][test] Add test-coverage for DW_AT_APPLE_objc_complete_type parsing (#120279)
When given a DIE for an Objective-C interface (which doesn't have a
`DW_AT_APPLE_objc_complete_type`), the `DWARFASTParserClang` will try to
find the DIE which corresponds to the implementation to complete the
interface DIE. The code is here:
https://github.com/llvm/llvm-project/blob/d2e7ee77d33e8b3be3b1d4e9bc5bc4c60b62b554/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp#L1718-L1738
However, this was currently not exercised in our test-suite (removing
the code above didn't fail any LLDB test).
This patch adds a test which exercises this codepath (it will fail if we
don't fetch the implementation DIE in the `DWARFASTParserClang`).
Something that's not currently clear to me is why `frame var *f`
succeeds even without the `DW_AT_APPLE_objc_complete_type`
infrastructure. If it's using the ObjC runtime, we should make `expr` do
the same, in which case we can remove this code from
`DWARFASTParserClang`.
Commit: e4db3f0d97681a10a76e71465f1379801cd45f54
https://github.com/llvm/llvm-project/commit/e4db3f0d97681a10a76e71465f1379801cd45f54
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-phi.ll
M llvm/test/Transforms/LowerConstantIntrinsics/builtin-object-size-range.ll
M llvm/test/Transforms/LowerConstantIntrinsics/objectsize_basic.ll
Log Message:
-----------
[llvm] Bail out when meeting pointer with negative offset in approximated mode instead of … (#120424)
…generating empty location
Fix the regression detected by
https://github.com/llvm/llvm-test-suite/pull/188
Commit: 451a80ccc034799151d3a82c15e320cdde5a2e04
https://github.com/llvm/llvm-project/commit/451a80ccc034799151d3a82c15e320cdde5a2e04
Author: Martin Storsjö <martin at martin.st>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/TestSuiteGuide.md
Log Message:
-----------
[docs] Mention ffmpeg and dav1d in llvm-test-suite (#120570)
Since https://github.com/llvm/llvm-test-suite/pull/182 and
https://github.com/llvm/llvm-test-suite/pull/188, these projects can now
be added as external projects within llvm-test-suite.
Commit: cf7b3f8d827abba49930202e51702714349c716d
https://github.com/llvm/llvm-project/commit/cf7b3f8d827abba49930202e51702714349c716d
Author: William Tran-Viet <wtranviet at proton.me>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaExprMember.cpp
M clang/test/SemaCXX/vector-bool.cpp
Log Message:
-----------
Fix double-quotes in diagnostic when attempting to access a ext_vector of bools (#118186)
Fixes #116932
- Remove the quotation marks in the diagnostic message for
err_ext_vector_component_name_illegal
- Pass in the quotation marks directly when reporting an illegal vector
component name inside `CheckExtVectorComponent`
- Add an offset to the `OpLoc` passed into `S.Diag` so the error message
arrow points directly to the offending illegal component rather than to
the '.' at the start of the component identifier.
- Modify the `vector-bool.cpp` element-wise access test case so it
(correctly) now only expects a single set of quotes.
Commit: eb6c4197d5263ed2e086925b2b2f032a19442d2b
https://github.com/llvm/llvm-project/commit/eb6c4197d5263ed2e086925b2b2f032a19442d2b
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
A mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
R mlir/test/Conversion/ControlFlowToLLVM/invalid.mlir
A mlir/test/Conversion/ControlFlowToLLVM/switch.mlir
M mlir/test/Conversion/FuncToLLVM/convert-funcs.mlir
M mlir/test/Conversion/FuncToLLVM/func-memref.mlir
M mlir/test/Conversion/FuncToLLVM/func-to-llvm.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-linalg-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/microbench-scf-async-parallel-for.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-1d.mlir
M mlir/test/Integration/Dialect/Async/CPU/test-async-parallel-for-2d.mlir
M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
M mlir/test/Integration/Dialect/LLVMIR/CPU/X86/test-inline-asm-vector.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-1d-nwc-wcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-2d-nhwc-hwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-conv-3d-ndhwc-dhwcf-call.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-one-shot-bufferize.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/test-tensor-matmul.mlir
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/broadcast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/constant-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/contraction.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask-v4i1.mlir
M mlir/test/Integration/Dialect/Vector/CPU/create-mask.mlir
M mlir/test/Integration/Dialect/Vector/CPU/expand.mlir
M mlir/test/Integration/Dialect/Vector/CPU/extract-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/flat-transpose-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/fma.mlir
M mlir/test/Integration/Dialect/Vector/CPU/gather.mlir
M mlir/test/Integration/Dialect/Vector/CPU/index-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/insert-strided-slice.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedload.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-col.mlir
M mlir/test/Integration/Dialect/Vector/CPU/matrix-multiply-row.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/outerproduct-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-fp.mlir
M mlir/test/Integration/Dialect/Vector/CPU/print-int.mlir
M mlir/test/Integration/Dialect/Vector/CPU/realloc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64-reassoc.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-f64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i32.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-i64.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-si4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/reductions-ui4.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scan.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shape-cast.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle.mlir
M mlir/test/Integration/Dialect/Vector/CPU/shuffle16x16.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-dot-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/sparse-saxpy-jagged-matvec.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-2d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-3d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-to-loops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-write.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transpose.mlir
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
M mlir/test/mlir-cpu-runner/async-error.mlir
M mlir/test/mlir-cpu-runner/async-group.mlir
M mlir/test/mlir-cpu-runner/async-value.mlir
M mlir/test/mlir-cpu-runner/async.mlir
M mlir/test/mlir-cpu-runner/bare-ptr-call-conv.mlir
M mlir/test/mlir-cpu-runner/copy.mlir
M mlir/test/mlir-cpu-runner/memref-reinterpret-cast.mlir
M mlir/test/mlir-cpu-runner/memref-reshape.mlir
M mlir/test/mlir-cpu-runner/sgemm-naive-codegen.mlir
M mlir/test/mlir-cpu-runner/unranked-memref.mlir
M mlir/test/mlir-cpu-runner/utils.mlir
M mlir/test/python/execution_engine.py
M mlir/test/python/integration/dialects/linalg/opsrun.py
M mlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
Log Message:
-----------
[mlir][CF] Split `cf-to-llvm` from `func-to-llvm` (#120580)
Do not run `cf-to-llvm` as part of `func-to-llvm`. This commit fixes
https://github.com/llvm/llvm-project/issues/70982.
This commit changes the way how `func.func` ops are lowered to LLVM.
Previously, the signature of the entire region (i.e., entry block and
all other blocks in the `func.func` op) was converted as part of the
`func.func` lowering pattern.
Now, only the entry block is converted. The remaining block signatures
are converted together with `cf.br` and `cf.cond_br` as part of
`cf-to-llvm`. All unstructured control flow is not converted as part of
a single pass (`cf-to-llvm`). `func-to-llvm` no longer deals with
unstructured control flow.
Also add more test cases for control flow dialect ops.
Note: This PR is in preparation of #120431, which adds an additional
GPU-specific lowering for `cf.assert`. This was a problem because
`cf.assert` used to be converted as part of `func-to-llvm`.
Note for LLVM integration: If you see failures, add
`-convert-cf-to-llvm` to your pass pipeline.
Commit: 1738b75b615497b880d5a9e4a1b769e9ff001d23
https://github.com/llvm/llvm-project/commit/1738b75b615497b880d5a9e4a1b769e9ff001d23
Author: Nikita Popov <npopov at redhat.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update InstCombine maintainers (#120408)
> See [developer
policy](https://llvm.org/docs/DeveloperPolicy.html#maintainers) for
context on the maintainers terminology.
We currently list @majnemer as the maintainer for InstCombine. While
David does still occasionally contribute in this area, most of the
contributions/reviews come from other people nowadays.
I'd like to propose @dtcxzyw and myself as the new maintainers for this
area. I've also expanded it to include InstSimplify and ValueTracking,
and these tend to all go together.
Commit: e11d49cbf5a210ea312f891d9dff6b4bf6433d57
https://github.com/llvm/llvm-project/commit/e11d49cbf5a210ea312f891d9dff6b4bf6433d57
Author: Alexey Moksyakov <yavtuk at yandex.ru>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
Log Message:
-----------
[BOLT][AArch64] Adds tls relocations support (#117465)
Co-authored-by: yavtuk <yavtuk at ya.ru>
Commit: 0dc086a787a49d7514f713d0ee0b709fc28bb702
https://github.com/llvm/llvm-project/commit/0dc086a787a49d7514f713d0ee0b709fc28bb702
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/test/Integration/GPU/CUDA/async.mlir
Log Message:
-----------
[mlir] Fix integration tests after #120580 (#120729)
This commit should have been part of #120580.
Commit: 4eba40c604c75b5c5561ffd6e009dbbb5a4f0b4b
https://github.com/llvm/llvm-project/commit/4eba40c604c75b5c5561ffd6e009dbbb5a4f0b4b
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ConstraintSystem.cpp
Log Message:
-----------
[ConstraintElim] Remove dead code. NFC. (#118983)
`R2` should be always greater than `R1` here because both `R1` and `R2` are not modified inside the loop.
Commit: a9034d0b7ff3b0bf90239f6b46ada7f3490b6904
https://github.com/llvm/llvm-project/commit/a9034d0b7ff3b0bf90239f6b46ada7f3490b6904
Author: Jonas Toth <development at jonas-toth.eu>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
Log Message:
-----------
[clang-tidy][docs] improve documentation on cppcoreguidelines-narrowing-conversions (#111510) (#118209)
This PR improves the docs for this check to include an example of hidden
narrowing conversions from the integer promotion rules in arithmetic.
Commit: c5434804eeea643f0420bc5fd83dd4977731f4d2
https://github.com/llvm/llvm-project/commit/c5434804eeea643f0420bc5fd83dd4977731f4d2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldInsExtVectorToShuffle - add debug message for match + cost-comparison
Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.
Commit: 5f0db7c11264fa235d73730b2b93a31407dfbef3
https://github.com/llvm/llvm-project/commit/5f0db7c11264fa235d73730b2b93a31407dfbef3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add "VECTORCOMBINE on <FUNCTION_NAME>" title debug message to help finding vectorcombine stages in the debug log
Commit: 42873e0cf107045b76d0fc221cdb838cdb0766bf
https://github.com/llvm/llvm-project/commit/42873e0cf107045b76d0fc221cdb838cdb0766bf
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[bazel] port eb6c4197d5263ed2e086925b2b2f032a19442d2b
Commit: 54309b1c2f7a9acdb91ae1735cf4eb0877eadfc0
https://github.com/llvm/llvm-project/commit/54309b1c2f7a9acdb91ae1735cf4eb0877eadfc0
Author: Jan Voung <jvoung at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
Log Message:
-----------
[clang][dataflow] Add matchers for smart pointer accessors to be cached (#120102)
This is part 1 of caching for smart pointer accessors, building on top
of the CachedConstAccessorsLattice, which caches "normal" accessors.
Smart pointer accessors are a bit different in that they may:
- have aliases to access the same underlying data (but potentially
returning slightly different types like `&` vs `*`). Within a
"checked" sequence users may mix uses of the different aliases and the
check should apply to any of the spellings.
- may have non-const overloads in addition to the const version, where
the non-const doesn't actually modify the container
Part 2 will follow and add transfer functions utilities. It will also
add a user UncheckedOptionalAccessModel. We'd seen false positives when
nesting StatusOr<optional<T>> and optional<StatusOr<T>>, etc. which this
can help address.
Commit: 54665f5252695922dd000f311f82af717f1df0c6
https://github.com/llvm/llvm-project/commit/54665f5252695922dd000f311f82af717f1df0c6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Analysis/FlowSensitive/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Analysis/FlowSensitive/BUILD.gn
Log Message:
-----------
[gn build] Port 54309b1c2f7a
Commit: fa9cef50b1afc203b6b653396f9e775862c26e68
https://github.com/llvm/llvm-project/commit/fa9cef50b1afc203b6b653396f9e775862c26e68
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/SimplifyCFG/preserve-llvm-loop-metadata.ll
Log Message:
-----------
Only guard loop metadata that has non-debug info in it (#118825)
This PR is motivated by a mismatch we discovered between compilation
results with vs. without `-g3`. We noticed this when compiling SPEC2017
testcases. The specific instance we saw is fixed in this PR by modifying
a guard (see below), but it is likely similar instances exist elsewhere
in the codebase.
The specific case fixed in this PR manifests itself in the `SimplifyCFG`
pass doing different things depending on whether DebugInfo is generated
or not. At the end of this comment, there is reduced example code that
shows the behavior in question.
The differing behavior has two root causes:
1. Commit https://github.com/llvm/llvm-project/commit/c07e19b adds loop
metadata including debug locations to loops that otherwise would not
have loop metadata
2. Commit https://github.com/llvm/llvm-project/commit/ac28efa6c100 adds
a guard to a simplification action in `SImplifyCFG` that prevents it
from simplifying away loop metadata
So, the change in 2. does not consider that when compiling with debug
symbols, loops that otherwise would not have metadata that needs
preserving, now have debug locations in their loop metadata. Thus, with
`-g3`, `SimplifyCFG` behaves differently than without it.
The larger issue is that while debug info is not supposed to influence
the final compilation result, commits like 1. blur the line between what
is and is not debug info, and not all optimization passes account for
this.
This PR does not address that and rather just modifies this particular
guard in order to restore equivalent behavior between debug and
non-debug builds in this one instance.
---
Here is a reduced version of a file from `f526.blender_r` that showcases
the behavior in question:
```C
struct LinkNode;
typedef struct LinkNode {
struct LinkNode *next;
void *link;
} LinkNode;
void do_projectpaint_thread_ph_v_state() {
int *ps = do_projectpaint_thread_ph_v_state;
LinkNode *node;
while (do_projectpaint_thread_ph_v_state)
for (node = ps; node; node = node->next)
;
}
```
Compiling this with and without DebugInfo, and then disassembling the
results, leads to different outcomes (tested on SystemZ and X86). The
reason for this is that the `SimplifyCFG` pass does different things in
either case.
Commit: 9e333872199b1e3bf488d71e222ff4b6f0370347
https://github.com/llvm/llvm-project/commit/9e333872199b1e3bf488d71e222ff4b6f0370347
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
Log Message:
-----------
[clang analyzer]consume `llvm::Error` (#120597)
`llvm::Error` must be consumed, otherwise it will cause trap during destructor
Commit: acfd26a93be3fb70013560f3fb894eb9086e7e32
https://github.com/llvm/llvm-project/commit/acfd26a93be3fb70013560f3fb894eb9086e7e32
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
Log Message:
-----------
[SCEV] Fix exit condition for recursive loop guard collection (#120442)
When assumptions are present `Terms.size()` does not actually count the
number of conditions collected from dominating branches; introduce a
separate counter.
Fixes https://github.com/llvm/llvm-project/issues/120237
Commit: 2d5dc5c208532833e2ce55d7e1ce29063d91bbe3
https://github.com/llvm/llvm-project/commit/2d5dc5c208532833e2ce55d7e1ce29063d91bbe3
Author: Jan Voung <jvoung at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
Log Message:
-----------
[clang][dataflow] Fix a missing break from a switch case -Wimplicit-fallthrough (#120739)
Missed when changing code in
https://github.com/llvm/llvm-project/pull/120102
Commit: b87a5fb9fd8d50c911ac95f6854389d287542010
https://github.com/llvm/llvm-project/commit/b87a5fb9fd8d50c911ac95f6854389d287542010
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add "VC: Visiting" debug message to help the log show the instruction folding order.
Commit: 70eac255b8c09244c7a9af7599fbe27d886010e9
https://github.com/llvm/llvm-project/commit/70eac255b8c09244c7a9af7599fbe27d886010e9
Author: David Green <david.green at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Log Message:
-----------
[VectorCombine] Add fp cast handling for shuffletoidentity (#120641)
This fixes some regressions from recent changes to vector combine in
#120216. It allows shuffleToIdentity to look through fp casts as other
casts, and makes sure mismatching vector types in splats and casts do
not block the transform, as only the lanes should matter.
Commit: 5845298f9439796a3a2f15dfce8250e322ddce4a
https://github.com/llvm/llvm-project/commit/5845298f9439796a3a2f15dfce8250e322ddce4a
Author: David Sherwood <david.sherwood at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i16.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i32.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i64.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/masked-load-i8.ll
Log Message:
-----------
[LoopVectorize] Teach some X86 cost model tests to use new vplan costs (#120738)
I've only fixed up the tests where I was able to use a simple sed script
to replace the text. Even after this patch lands, there are still over
50 tests that need updating in X86/CostModel!
Commit: 953b07febca46036b2311b5998244fe07b61544f
https://github.com/llvm/llvm-project/commit/953b07febca46036b2311b5998244fe07b61544f
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
[mlir] AMDGPUToROCDL: RawBufferOpLowering fixes (#120642)
1. We can use `getNumElements()` only for memrefs with trivial layout.
2. Buffer ops expecting sizes in i32 but descriptor values can be either
i32 or i64, add appropriate casts. This implementation is not ideal as
it can overflow, but it's still better than generating broken IR.
Commit: 56ffcd4e01851d6a8c171e2a813828f720ed1538
https://github.com/llvm/llvm-project/commit/56ffcd4e01851d6a8c171e2a813828f720ed1538
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/sve.mlir
Log Message:
-----------
[mlir] Fix integration tests after #120580 (part 2) (#120751)
This commit should have been part of #120580.
Commit: 8177bf5022c6dfc48d236082fa02076feedd60df
https://github.com/llvm/llvm-project/commit/8177bf5022c6dfc48d236082fa02076feedd60df
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/simple-types-mem.ll
Log Message:
-----------
[Hexagon] Only handle simple types memory accesses (#120654)
The code was asserting because allowsMemoryAccess() was called with
Extended Value Type INVALID_SIMPLE_VALUE_TYPE in
HexagonISelLowering.cpp.
Fixes https://github.com/llvm/llvm-project/issues/118881
Commit: 811f2a652b6232f203e51a17d553e268fae3a29c
https://github.com/llvm/llvm-project/commit/811f2a652b6232f203e51a17d553e268fae3a29c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
Log Message:
-----------
[Compiler-rt] Add AArch64 routines for __arm_agnostic("sme_za_state") (#120059)
The specification of these routines can be found here:
https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#sme-support-routines
Commit: 8c0090030bf89df7e0dbe5827a83d52627b2c87f
https://github.com/llvm/llvm-project/commit/8c0090030bf89df7e0dbe5827a83d52627b2c87f
Author: Vy Nguyen <vyng at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A llvm/docs/Telemetry.rst
M llvm/docs/UserGuides.rst
A llvm/docs/llvm_telemetry_design.png
A llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/CMakeLists.txt
A llvm/lib/Telemetry/CMakeLists.txt
A llvm/lib/Telemetry/Telemetry.cpp
M llvm/unittests/CMakeLists.txt
A llvm/unittests/Telemetry/CMakeLists.txt
A llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
[llvm]Add a simple Telemetry framework (#102323)
Objective:
- Provide a common framework in LLVM for collecting various usage
metrics
- Characteristics:
- Extensible and configurable by:
- tools in LLVM that want to use it
- vendors in their downstream codebase
- tools users (as allowed by vendor)
Background:
The framework was originally proposed only for LLDB, but there were
quite a few requests to move it to llvm/lib given telemetry
is a common use case in a lot of tools, not just LLDB.
See more details on the design and discussions here on the RFC:
https://discourse.llvm.org/t/rfc-lldb-telemetry-metrics/64588/20?u=oontvoo
---------
Co-authored-by: Alina Sbirlea <alina.g.simion at gmail.com>
Co-authored-by: James Henderson <James.Henderson at sony.com>
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 2e1128d50e6174e857833cfde72f29f61a4a7b56
https://github.com/llvm/llvm-project/commit/2e1128d50e6174e857833cfde72f29f61a4a7b56
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Remove some unnecessary !casts
Commit: 412e1af19a248fd5650e6828695c78454a9195fb
https://github.com/llvm/llvm-project/commit/412e1af19a248fd5650e6828695c78454a9195fb
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
R llvm/test/CodeGen/AArch64/whilewr.ll
Log Message:
-----------
Revert "[AArch64] Lower alias mask to a whilewr" (#120261)
Reverts llvm/llvm-project#100769
A bug in the lowering (the subtraction should be reversed) was found
after merging and it will all be replaced by #117007 anyway.
Commit: 09dfc5713d7e2342bea4c8447d1ed76c85eb8225
https://github.com/llvm/llvm-project/commit/09dfc5713d7e2342bea4c8447d1ed76c85eb8225
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/Transforms/AlgebraicSimplification.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M mlir/docs/PatternRewriter.md
M mlir/examples/standalone/lib/Standalone/StandalonePasses.cpp
M mlir/include/mlir/Transforms/GreedyPatternRewriteDriver.h
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/ArithToArmSME/ArithToArmSME.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOpsAsAffine.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineStructures.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorToAllocTensor.cpp
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/lib/Dialect/GPU/Transforms/DecomposeMemRefs.cpp
M mlir/lib/Dialect/GPU/Transforms/EliminateBarriers.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
M mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
M mlir/lib/Dialect/Math/Transforms/UpliftToFMA.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
M mlir/lib/Dialect/SCF/Transforms/ForToWhile.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopCanonicalization.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Dialect/SPIRV/Transforms/CanonicalizeGLPass.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVWebGPUTransforms.cpp
M mlir/lib/Dialect/Shape/Transforms/OutlineShapeComputation.cpp
M mlir/lib/Dialect/Shape/Transforms/RemoveShapeConstraints.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaLayerwiseConstantFoldPass.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMask.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUFoldAliasOps.cpp
M mlir/lib/Reducer/ReductionTreePass.cpp
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/OneToNTypeConversion.cpp
M mlir/test/Transforms/test-operation-folder.mlir
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/test/lib/Conversion/VectorToSPIRV/TestVectorReductionToSPIRVDotProd.cpp
M mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
M mlir/test/lib/Dialect/ArmNeon/TestLowerToArmNeon.cpp
M mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
M mlir/test/lib/Dialect/Linalg/TestDataLayoutPropagation.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgDecomposeOps.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgRankReduceContractionOps.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/Linalg/TestPadFusion.cpp
M mlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
M mlir/test/lib/Dialect/Math/TestExpandMath.cpp
M mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
M mlir/test/lib/Dialect/MemRef/TestComposeSubView.cpp
M mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
M mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
M mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
M mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
M mlir/test/lib/Dialect/SCF/TestSCFWrapInZeroTripCheck.cpp
M mlir/test/lib/Dialect/SCF/TestUpliftWhileToFor.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Test/TestTraits.cpp
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/Rewrite/TestPDLByteCode.cpp
M mlir/test/lib/Tools/PDLL/TestPDLL.cpp
M mlir/test/lib/Transforms/TestCommutativityUtils.cpp
M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
Log Message:
-----------
[mlir] Enable decoupling two kinds of greedy behavior. (#104649)
The greedy rewriter is used in many different flows and it has a lot of
convenience (work list management, debugging actions, tracing, etc). But
it combines two kinds of greedy behavior 1) how ops are matched, 2)
folding wherever it can.
These are independent forms of greedy and leads to inefficiency. E.g.,
cases where one need to create different phases in lowering and is
required to applying patterns in specific order split across different
passes. Using the driver one ends up needlessly retrying folding/having
multiple rounds of folding attempts, where one final run would have
sufficed.
Of course folks can locally avoid this behavior by just building their
own, but this is also a common requested feature that folks keep on
working around locally in suboptimal ways.
For downstream users, there should be no behavioral change. Updating
from the deprecated should just be a find and replace (e.g., `find ./
-type f -exec sed -i
's|applyPatternsAndFoldGreedily|applyPatternsGreedily|g' {} \;` variety)
as the API arguments hasn't changed between the two.
Commit: 2ec6174bef4bc9ef3d5cedbffd7169017c9669c3
https://github.com/llvm/llvm-project/commit/2ec6174bef4bc9ef3d5cedbffd7169017c9669c3
Author: Vy Nguyen <vyng at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
R llvm/docs/Telemetry.rst
M llvm/docs/UserGuides.rst
R llvm/docs/llvm_telemetry_design.png
R llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/CMakeLists.txt
R llvm/lib/Telemetry/CMakeLists.txt
R llvm/lib/Telemetry/Telemetry.cpp
M llvm/unittests/CMakeLists.txt
R llvm/unittests/Telemetry/CMakeLists.txt
R llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
Revert "[llvm]Add a simple Telemetry framework" (#120769)
Reverts llvm/llvm-project#102323
Reason: broke CI
Commit: 7739380643718bc912bc05b969e4be525a85c0d2
https://github.com/llvm/llvm-project/commit/7739380643718bc912bc05b969e4be525a85c0d2
Author: Yifei Xu <yifei.xu at utexas.edu>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/test/mlir-cpu-runner/X86Vector/math-polynomial-approx-avx2.mlir
Log Message:
-----------
Fix integration tests after #120580 (math-polynomial-approx-avx2)
Commit: 6780ab371ff8ce5e2b08b5fddd75a8296d3debdd
https://github.com/llvm/llvm-project/commit/6780ab371ff8ce5e2b08b5fddd75a8296d3debdd
Author: Santanu Das <quic_santdas at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
A llvm/test/CodeGen/Hexagon/addrspacecast-crash.ll
Log Message:
-----------
[Hexagon] Add support for addrspacecast lowering (#119195)
This patch adds support for addrspacecast lowering. At the moment, there
are no separate address spaces for Hexagon target, hence this
instruction is treated as a noop.
Commit: 952c8d305459d3f1218d1ce12c7f20b6a10ba046
https://github.com/llvm/llvm-project/commit/952c8d305459d3f1218d1ce12c7f20b6a10ba046
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
M llvm/lib/Target/AArch64/AArch64Features.td
Log Message:
-----------
[AArch64] Enable FEAT_SVE2p1 by default for Armv9.4-A and later (#120753)
The ArmARM says:
```
"In an Armv9.4 implementation, if FEAT_SVE2 is implemented,
FEAT_SVE2p1 is implemented."
```
Since FEAT_SVE2 is already enabled for Armv9.0-A and later, then
FEAT_SVE2p1 should also be enabled by default.
Commit: adfef2a753d9a543ec818a445b2c6d05899cdf3d
https://github.com/llvm/llvm-project/commit/adfef2a753d9a543ec818a445b2c6d05899cdf3d
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
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] ppoll interception. (#120366)
Commit: f39ecb7b2846af1c113ec50bc4e1f204d18e7d90
https://github.com/llvm/llvm-project/commit/f39ecb7b2846af1c113ec50bc4e1f204d18e7d90
Author: David CARLIER <devnexen at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
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][rtsan] stream based on memory buffer interception. (#120672)
Commit: 0550c3292b2277399c2ab700cfcbc43e8477826f
https://github.com/llvm/llvm-project/commit/0550c3292b2277399c2ab700cfcbc43e8477826f
Author: Alan <ahulambda at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/test/Bindings/OCaml/core.ml
Log Message:
-----------
[OCaml] Add bindings for x86_amx, token, and metadata types (#120638)
Commit: 14180185026b8ed793cc7dfd037620e5150ccc35
https://github.com/llvm/llvm-project/commit/14180185026b8ed793cc7dfd037620e5150ccc35
Author: Qiongsi Wu <274595+qiongsiwu at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/Parser.cpp
A clang/test/Parser/objc-coloncolon.m
A clang/test/Parser/objcxx-coloncolon.mm
Log Message:
-----------
[clang][ObjectiveC] Fix Parsing the `::` Optional Scope Specifier (#119908)
The parser hangs when processing types/variables prefixed by `::` as an
optional scope specifier. For example,
```
- (instancetype)init:(::A *) foo;
```
The parser should not hang, and it should emit an error. This PR
implements the error check.
rdar://140885078
Commit: e3157d3f0dc69102013d966345c441f565b2459a
https://github.com/llvm/llvm-project/commit/e3157d3f0dc69102013d966345c441f565b2459a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldBitcastShuffle - add debug message for match + cost-comparison
Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.
Commit: 82b5bda42c00179fcf101e3ab2c591bda94ada9a
https://github.com/llvm/llvm-project/commit/82b5bda42c00179fcf101e3ab2c591bda94ada9a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Add "VC: Erasing" debug message to help the log show when dead WorkList instructions are erased.
Commit: 5bb650345d83669434713146aaa431c1f7ad43d6
https://github.com/llvm/llvm-project/commit/5bb650345d83669434713146aaa431c1f7ad43d6
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/lib/CodeGen/BackendUtil.cpp
M clang/test/CodeGen/bounds-checking.c
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/test/Instrumentation/BoundsChecking/many-trap.ll
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
M llvm/test/Instrumentation/BoundsChecking/simple-32.ll
M llvm/test/Instrumentation/BoundsChecking/simple.ll
M llvm/test/Instrumentation/BoundsChecking/ubsan-unique-traps.ll
Log Message:
-----------
Remove -bounds-checking-unique-traps (replace with -fno-sanitize-merge=local-bounds) (#120682)
#120613 removed -ubsan-unique-traps and replaced it with
-fno-sanitize-merge (introduced in #120511), which allows fine-grained
control of which UBSan checks to prevent merging. This analogous patch
removes -bound-checking-unique-traps, and allows it to be controlled via
-fno-sanitize-merge=local-bounds.
Most of this patch is simply plumbing through the compiler flags into
the bounds checking pass.
Note: this patch subtly changes -fsanitize-merge (the default) to also
include -fsanitize-merge=local-bounds. This is different from the
previous behavior, where -fsanitize-merge (or the old
-ubsan-unique-traps) did not affect local-bounds (requiring the separate
-bounds-checking-unique-traps). However, we argue that the new behavior
is more intuitive.
Removing -bounds-checking-unique-traps and merging its functionality
into -fsanitize-merge breaks backwards compatibility; we hope that this
is acceptable since '-mllvm -bounds-checking-unique-traps' was an
experimental flag.
Commit: 5e22597aa01d719b7fed79c45cdf240ed196bd68
https://github.com/llvm/llvm-project/commit/5e22597aa01d719b7fed79c45cdf240ed196bd68
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/test/MC/AArch64/neon-diagnostics.s
Log Message:
-----------
[AArch64] Verify consecutive vector registers in tbl, tbx (#120262)
Table lookup instructions expect the vectors that define the table
itself to be consecutive (wraparound allowed).
Relevant documentation:
https://developer.arm.com/documentation/100069/0606/SIMD-Vector-Instructions/TBL--vector-
Commit: 3bf91ad2a9c75dd045961e45fdd830fd7b7a5455
https://github.com/llvm/llvm-project/commit/3bf91ad2a9c75dd045961e45fdd830fd7b7a5455
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
A llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/CodeGen/CMakeLists.txt
A llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Add a pass to collect dropped var stats for MIR (#120780)
This patch uses the DroppedVariableStats class to add dropped variable
statistics for MIR passes.
Reland 1c082c9cd12efaa67a32c5da89a328c458ed51c5
Commit: 5162fde6ee6565d39511e451c04865e7b53bcdcc
https://github.com/llvm/llvm-project/commit/5162fde6ee6565d39511e451c04865e7b53bcdcc
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-find-lambda-crash.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Fix a nullptr deference. (#120702)
Added a nullptr check.
Commit: 9901906035c2be776674b25a3357b37a7dbbac68
https://github.com/llvm/llvm-project/commit/9901906035c2be776674b25a3357b37a7dbbac68
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp:535:13: error:
'applyPatternsAndFoldGreedily' is deprecated: Use
applyPatternsGreedily() instead [-Werror,-Wdeprecated-declarations]
Commit: 0575815b70b486240ace728a33f756cea8fe58fa
https://github.com/llvm/llvm-project/commit/0575815b70b486240ace728a33f756cea8fe58fa
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120681)
Commit: 89cb528f076dc6246ca2883054be5f6237473c83
https://github.com/llvm/llvm-project/commit/89cb528f076dc6246ca2883054be5f6237473c83
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 3bf91ad2a9c7
Commit: 3e13acfbf4c93067d5ee5dc1f6e0c6e0fef9297f
https://github.com/llvm/llvm-project/commit/3e13acfbf4c93067d5ee5dc1f6e0c6e0fef9297f
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
Log Message:
-----------
[flang][cuda] Make default.nonTbpDefinedIoTable compiler generated (#120686)
`default.nonTbpDefinedIoTable` is a special global defined for IO that
doesn't follow the mangling scheme and is then not handle correctly in
the `CompilerGeneratedNames` pass. Update how it is generated with
doGenerated so it can be handle without special handling.
Also do not generate comdat in gpu module as the current code is not
handling nested module correctly.
Commit: fecf1397e32a89a928ebeeab07bfc7e38a318827
https://github.com/llvm/llvm-project/commit/fecf1397e32a89a928ebeeab07bfc7e38a318827
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
Log Message:
-----------
[Tensor] Migrate away from PointerUnion::{is,get} (NFC) (#120679)
Note that PointerUnion::{is,get} have 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>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 21a6dbd400ffd68abe36161576d81d0646f1122d
https://github.com/llvm/llvm-project/commit/21a6dbd400ffd68abe36161576d81d0646f1122d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
[LLD][COFF] Report undefined EC symbols on ARM64X (#120311)
Commit: 399c3a78a2577c6fc68bba7f301901a0e66e87ed
https://github.com/llvm/llvm-project/commit/399c3a78a2577c6fc68bba7f301901a0e66e87ed
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
Log Message:
-----------
[clang][NFC] Fix the static assertion in 4797437 (#120643)
In the previous commit 4797437463e63ee289a1ff1904cfb7b2fe6cb4c2, I used
`llvm::isInt<NumStmtBits>(StmtClass::LAST##Class)` to test if
`StmtClass` is strictly bounded by the an unsigned integer of
'NumStmtBits'. That is incorrect as `llvm::isInt` tests for signed
integers. This commit fixes it.
(rdar://141555357)
Commit: 1b12ad124ec9eb83ca7d1511b12e1dc3e1c5e06a
https://github.com/llvm/llvm-project/commit/1b12ad124ec9eb83ca7d1511b12e1dc3e1c5e06a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/Value.h
Log Message:
-----------
[IR] Correct Value::use_iterator::value_type. (#120609)
operator* for this iterator returns Use& so I think the value_type
should be Use not Use*.
Noticed while comparing with SDNode::use_iterator.
Commit: d2b8acc10464e1f0f6e043f1a92cefc2f3b9d30f
https://github.com/llvm/llvm-project/commit/d2b8acc10464e1f0f6e043f1a92cefc2f3b9d30f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
Log Message:
-----------
[RISCV] Swap the order of SEWGreaterThanOrEqualAndLessThan64 and SEWGreaterThanOrEqual. (#120649)
SEWGreaterThanOrEqualAndLessThan64 is a stricter constraint so it should
have a higher value than SEWGreaterThanOrEqual.
Found by our random test generator.
Commit: c7451ffcb94a1fe53b703e9fc3204bf6cda610a9
https://github.com/llvm/llvm-project/commit/c7451ffcb94a1fe53b703e9fc3204bf6cda610a9
Author: Teresa Johnson <tejohnson at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
M llvm/test/Transforms/PGOProfile/memprof.ll
Log Message:
-----------
[MemProf] Supporting hinting mostly-cold allocations after cloning (#120633)
Optionally unconditionally hint allocations as cold or not cold during
the cloning step if the percentage of bytes allocated is at least that
of the given threshold. This is similar to PR120301 which supports this
during matching, but enables the same behavior during cloning, to reduce
the false positives that can be addressed by cloning at the cost of
carrying the additional size metadata/summary.
Commit: 6ab8401f53deddbd79f930ba2bec2f824c9567e3
https://github.com/llvm/llvm-project/commit/6ab8401f53deddbd79f930ba2bec2f824c9567e3
Author: Luke Quinn <quic_lquinn at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
Log Message:
-----------
[RISCV][GISel] Port AddiPair optimization (#120463)
Check if (add r, imm) can be optimized to (ADDI (ADDI r, imm0), imm1),
in which imm = imm0 + imml and both imm0 and imm1 are simm12. We make
imm0 as large as possible and imm1 as small as possible so that we might
be able to use c.addi for the small immediate.
Commit: 0c629206b0b3e1ddd64104a56c7a573a55e8944a
https://github.com/llvm/llvm-project/commit/0c629206b0b3e1ddd64104a56c7a573a55e8944a
Author: Nuno Lopes <nuno.lopes at tecnico.ulisboa.pt>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
undef reviewer: tweak the regex so it doesn't warn about #undef
Commit: 8b37c1c71bf66274251db35b742f8f4013be2f52
https://github.com/llvm/llvm-project/commit/8b37c1c71bf66274251db35b742f8f4013be2f52
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsHexagon.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Misc/target-invalid-cpu-note/hexagon.c
M clang/test/Preprocessor/hexagon-predefines.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonDepArch.td
M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
M llvm/lib/Target/Hexagon/HexagonSchedule.td
A llvm/lib/Target/Hexagon/HexagonScheduleV75.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/test/MC/Hexagon/arch-support.s
A llvm/test/MC/Hexagon/v75_arch.s
Log Message:
-----------
[Hexagon] Add V75 support to compiler and assembler (#120773)
This patch introduces support for the Hexagon V75 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics.
Commit: 8ae8a905855ca1b07a72059d8225ab1f9cae65dc
https://github.com/llvm/llvm-project/commit/8ae8a905855ca1b07a72059d8225ab1f9cae65dc
Author: David Olsen <dolsen at nvidia.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/CIR/CMakeLists.txt
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
A clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
A clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
A clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] floating-point, pointer, and function types (#120484)
Upstream ClangIR support for `void` type, floating-point types, pointer
types, and function types.
Floating-point support is missing the IBM double-double format, because
that hasn't been implemented in the incubator project yet.
Pointer types do not yet support address spaces.
Function type support includes only the return type and the parameter
types. The many other properties and attributes of function types will
be upstreamed later.
Commit: 3f89279609526270894f26317f7c3ccf04e0f16f
https://github.com/llvm/llvm-project/commit/3f89279609526270894f26317f7c3ccf04e0f16f
Author: Srinivasa R <srinivasar at nvidia.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/wgmma-sm90a-fence.ll
Log Message:
-----------
[NVPTX] Add intrinsics for wgmma.fence PTX instructions (#120523)
This PR adds NVVM intrinsics and NVPTX codegen for:
-
[wgmma.fence.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-fence)
-
[wgmma.commit_group.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-commit-group)
-
[wgmma.wait_group.sync.aligned](https://docs.nvidia.com/cuda/parallel-thread-execution/#asynchronous-warpgroup-level-matrix-instructions-wgmma-wait-group)
Commit: e934a39e01b9eedd8091cc1505be3a4ad5cad12b
https://github.com/llvm/llvm-project/commit/e934a39e01b9eedd8091cc1505be3a4ad5cad12b
Author: Petr Penzin <ppenzin at tenstorrent.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fp.s
A llvm/test/tools/llvm-mca/RISCV/tt-ascalon-d8/fx.s
Log Message:
-----------
[RISC-V] Base scheduling model for tt-ascalon-d8 (#120160)
First part of tt-ascalon-d8 scheduling model, only containing scalar
ops. Scheduling for vector instructions will be added in a follow-up
patch.
---------
Co-authored-by: Anton Blanchard <antonb at tenstorrent.com>
Co-authored-by: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Commit: bc8fa9c4439c7fd51d95845006f7d650c037c5ec
https://github.com/llvm/llvm-project/commit/bc8fa9c4439c7fd51d95845006f7d650c037c5ec
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
R llvm/test/Transforms/InstCombine/printf-addrspace.ll
Log Message:
-----------
Revert "SimplifyLibCalls: Use default globals address space when building new global strings. (#118729)" (#119616)
This reverts commit cfa582e8aaa791b52110791f5e6504121aaf62bf.
Commit: ef42e9c59aae112031d6ccbbc560d559730507c8
https://github.com/llvm/llvm-project/commit/ef42e9c59aae112031d6ccbbc560d559730507c8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
R libcxx/test/benchmarks/allocation.bench.cpp
Log Message:
-----------
[libc++] Remove allocation.bench.cpp (#120767)
That benchmark isn't really useful, since it doesn't benchmark anything
from libc++ (besides `operator new`). The implementation of the
benchmark also has serious problems like the fact that it allocates an
unknown amount of memory without deallocating it.
Commit: 131acb07d814fabcc969dcaa63f4f352cd529267
https://github.com/llvm/llvm-project/commit/131acb07d814fabcc969dcaa63f4f352cd529267
Author: Ziqing Luo <ziqing_luo at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/include/clang/AST/Stmt.h
M clang/lib/AST/Stmt.cpp
Log Message:
-----------
[clang][NFC] Move static assert on StmtClass bounds from header to source
A follow-up change to PR #120341 & #120643. Address @nikic's concern:
https://github.com/llvm/llvm-project/pull/120341#discussion_r1893822845
Commit: df8efbdbbfcde53b0f9f4f8ceb16b50eecd6e6d3
https://github.com/llvm/llvm-project/commit/df8efbdbbfcde53b0f9f4f8ceb16b50eecd6e6d3
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEV] Remove existing predicates implied by newly added ones. (#118185)
When adding a new predicate to a union predicate, some of the existing
predicates may be implied by the new predicate. Remove any existing
predicates that are already implied by the new predicate.
Depends on https://github.com/llvm/llvm-project/pull/118184 to show the
main benefit.
PR: https://github.com/llvm/llvm-project/pull/118185
Commit: 7a4b3b4927bd92e8494dca9dffaf5aeeca4658ba
https://github.com/llvm/llvm-project/commit/7a4b3b4927bd92e8494dca9dffaf5aeeca4658ba
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
Log Message:
-----------
[HLSL] Add Load(int) method on structured buffers (#120663)
Adds `T Load(int)` method on `StructuredBuffer`, `RWStructuredBuffer`
and `RasterizerOrderedStructuredBuffer`.
Uses the existing `addLoadMethods` in HLSLExternalSemalSource so most of
this change is just tests.
Fixes #112977
Commit: d8e10d13d7e31cb1695eb65f02696e682ec97097
https://github.com/llvm/llvm-project/commit/d8e10d13d7e31cb1695eb65f02696e682ec97097
Author: Thurston Dang <thurston at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan] Fix-forward TEST(TestRtsanInterceptors, PpollDiesWhenRealtime)
Buildbot breakage:
home/b/sanitizer-aarch64-linux/build/llvm-project/compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp:1090:19: error: missing field 'tv_nsec' initializer [-Werror,-Wmissing-field-initializers]
1090 | timespec ts = {0};
introduced by https://github.com/llvm/llvm-project/pull/120366/files
Commit: d9cc37fea7b02954079ca59e8f7f28cffacc7e9e
https://github.com/llvm/llvm-project/commit/d9cc37fea7b02954079ca59e8f7f28cffacc7e9e
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBStructuredData.h
M lldb/include/lldb/Utility/DiagnosticsRendering.h
M lldb/include/lldb/Utility/Status.h
M lldb/source/API/SBError.cpp
M lldb/source/Interpreter/CommandReturnObject.cpp
M lldb/source/Utility/DiagnosticsRendering.cpp
M lldb/source/Utility/Status.cpp
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
Log Message:
-----------
[lldb] Expose structured errors in SBError (#120784)
Building on top of previous work that exposed expression diagnostics via
SBCommandReturnObject, this patch generalizes the support to expose any
SBError as machine-readable structured data. One use-case of this is to
allow IDEs to better visualize expression diagnostics.
rdar://139997604
Commit: 8fce5d96a75d8c6b018e54fd4005bda01c377b56
https://github.com/llvm/llvm-project/commit/8fce5d96a75d8c6b018e54fd4005bda01c377b56
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEV] Update changed test after df8efbdbb.
Test needed updating due to changes on main since branch was tested.
Commit: f82bb3d496d6b8b932ce34497ba7970b519915f6
https://github.com/llvm/llvm-project/commit/f82bb3d496d6b8b932ce34497ba7970b519915f6
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVersioning/wrapping-pointer-versioning.ll
Log Message:
-----------
[SCEV] Update changed test after df8efbdbb (take 2).
Test needed updating due to changes on main since branch was tested.
Commit: 81831ef3e7804b9637aff119c1adde661d10fb78
https://github.com/llvm/llvm-project/commit/81831ef3e7804b9637aff119c1adde661d10fb78
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Correctly allocate descriptor in managed memory when reboxing (#120795)
Reboxing might create a new in memory descriptor. If this one was
allocate with managed memory, allocate the new one in managed memory as
well.
Commit: e650ac1654c011bd0bdabd72f2c7b8ceefa9f709
https://github.com/llvm/llvm-project/commit/e650ac1654c011bd0bdabd72f2c7b8ceefa9f709
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-code-gen.mlir
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda][NFC] Fix typo in CUFAllocDescriptor (#120797)
Missing `r` in the function name.
Commit: 994457f81ffd95531eff07e08a0fea42397b80d2
https://github.com/llvm/llvm-project/commit/994457f81ffd95531eff07e08a0fea42397b80d2
Author: Chris White <chriswhiteiodev at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/test/Driver/cl-options.c
A clang/test/Driver/dxc_options.hlsl
M clang/test/Driver/unknown-arg-drivermodes.test
Log Message:
-----------
[Clang-CL][DXC] Expose -fdiagnostic-color= to clang-cl and clang-dxc (#120644)
Exposing `-fdiagnostic-color=` to clang-cl and clang-dxc.
`-fcolor-diagnostics` and `-fno-color-diagnostics` are already allowed
in both of these and `-fdiagnostics-color=` allows one additional value,
`auto`.
I've added the tests for clang-cl to `cl-options.c` as per the comments
in the issue linked below. I couldn't finding a suitable existing file
to add the clang-dxc tests to so I've created a new one.
Resolves #119184
Commit: 78ab77199118414aad8632d990bf73aca3d16ff8
https://github.com/llvm/llvm-project/commit/78ab77199118414aad8632d990bf73aca3d16ff8
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][NFC]Add more test for shuffles with exact vlen, NFC
Commit: 415cfaf339dc4383acd44248584bcc6376213c8d
https://github.com/llvm/llvm-project/commit/415cfaf339dc4383acd44248584bcc6376213c8d
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
Log Message:
-----------
[flang][cuda][NFC] Fix type in CUFFreeDescriptor (#120799)
Commit: c1e7e4500c6e3b921f5e0cda8ba8d8d66e086db6
https://github.com/llvm/llvm-project/commit/c1e7e4500c6e3b921f5e0cda8ba8d8d66e086db6
Author: Malek Ben Slimane <malek.ben.slimane at sap.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/include/clang/Analysis/Analyses/ThreadSafety.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
Log Message:
-----------
Thread Safety Analysis: Support passing scoped locks between functions with appropriate annotations (#110523)
This is helpful when multiple functions operate on the same
capabilities, but we still want to use scoped lockable types for
readability and exception safety.
- Introduce support for thread safety annotations on function parameters
marked with the 'scoped_lockable' attribute.
- Add semantic checks for annotated function parameters, ensuring
correct usage.
- Enhance the analysis to recognize and handle parameters annotated for
thread safety, extending the scope of analysis to track these across
function boundries.
- Verify that the underlying mutexes of function arguments match the
expectations set by the annotations.
Limitation: This does not work when the attribute arguments are class
members, because attributes on function parameters are parsed
differently from attributes on functions.
Commit: e5de2a2df4f983e1db83deaaa1d21457c922404f
https://github.com/llvm/llvm-project/commit/e5de2a2df4f983e1db83deaaa1d21457c922404f
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
Log Message:
-----------
[clang-tidy][NFC] extract options verify to separately function (#120768)
Commit: adf0c817f3eb0afc2c9ccc64c806acc7d6c14cd8
https://github.com/llvm/llvm-project/commit/adf0c817f3eb0afc2c9ccc64c806acc7d6c14cd8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
A llvm/test/Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
Log Message:
-----------
[memprof] Undrift MemProf profile even when some frames are missing (#120500)
This patch makes the MemProf undrifting process a little more lenient.
Consider an inlined call hierarchy:
foo -> bar -> ::new
If bar tail-calls ::new, the profile appears to indicate that foo
directly calls ::new. This is a problem because the perceived call
hierarchy in the profile looks different from what we can obtain from
the inline stack in the IR.
Recall that undrifting works by constructing and comparing a list of
direct calls from the profile and that from the IR. This patch
modifies the construction of the latter. Specifically, if foo calls
bar in the IR, but bar is missing the profile, we pretend that foo
directly calls some heap allocation function. We apply this
transformation only in the inline stack leading to some heap
allocation function.
Commit: 96839a47209c202b60c4164a2acc34bd755f6308
https://github.com/llvm/llvm-project/commit/96839a47209c202b60c4164a2acc34bd755f6308
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[llvm-gsymutil] Ensure stable ordering of merged functions (#120796)
Previously, the test
`llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml`
[was disabled](https://github.com/llvm/llvm-project/pull/119957/files)
due to failing on Linux.
The issue is that the merged functions appear in a different order in
the final produced `gSYM`.
To ensure deterministic ordering of merged functions, we change the
sorting of functions to use the `stable_sort` algorithm. Before merged
functions, this was not an issue as the address is used as a comparator
in the sorting algorithm so there was no chance of two functions testing
as identical according to the comparator.
Confirmed that test now passes locally with
`-DLLVM_ENABLE_EXPENSIVE_CHECKS=ON`.
Commit: 6ecedb05b0d320543968843159b1b29233b03fc7
https://github.com/llvm/llvm-project/commit/6ecedb05b0d320543968843159b1b29233b03fc7
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/FModTest.h
Log Message:
-----------
[libc] Make a couple of math smoke tests more robust. (#120808)
Make sure to clear out all FE_ALL_EXCEPT bits both before and after
invoking function under test -- otherwise the very first check for the
exception bits in the unit test may fail due to bits set prior to test
invocation.
Commit: 44514316bd5ef656076b6baaf6bccb298d98f0ea
https://github.com/llvm/llvm-project/commit/44514316bd5ef656076b6baaf6bccb298d98f0ea
Author: Sergey Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Delete unused `Src` arguments (NFC) (#120445)
The last uses were removed in #120332 and #120426.
When emitting renderers, we shouldn't look at the source DAG at all. The
required information is provided by the destination DAG and by the
instructions referenced in that DAG. Sometimes, we do want to know if a
result was referenced in the source DAG; this can be checked by calling
`RuleMatcher::hasOperand`. Any other use of the source DAG when emitting
renderers is likely an error.
Pull Request: https://github.com/llvm/llvm-project/pull/120445
Commit: 3bbd53ce97059718994cd17f3fd404654e9198cb
https://github.com/llvm/llvm-project/commit/3bbd53ce97059718994cd17f3fd404654e9198cb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M libc/config/gpu/entrypoints.txt
M libc/config/gpu/headers.txt
R libc/hdrgen/yaml/gpu/rpc.yaml
M libc/include/CMakeLists.txt
R libc/include/gpu/rpc.h.def
M libc/src/__support/RPC/CMakeLists.txt
Log Message:
-----------
[libc] Remove old RPC host call extension for GPU (#120800)
Summary:
This was originally a hacked together function that served to just
implement some features for OpenMP. That has been moved into OpenMP
itself now that we have exported RPC properly. This can now be deleted.
Commit: a7cd660bd7351f95e538286b23d38224bc8a9bb4
https://github.com/llvm/llvm-project/commit/a7cd660bd7351f95e538286b23d38224bc8a9bb4
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter-optional-def.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Learn to import patterns with optional defs (#120470)
The number of skipped patterns reduces for ARM from 4278 to 4257.
This is the only in-tree target that makes use of OptionalDefOperand.
Pull Request: https://github.com/llvm/llvm-project/pull/120470
Commit: 9ae92d70561bcc95a7f818920238e764253d9758
https://github.com/llvm/llvm-project/commit/9ae92d70561bcc95a7f818920238e764253d9758
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.h
Log Message:
-----------
[SelectionDAG] Virtualize isTargetStrictFPOpcode / isTargetMemoryOpcode (#119969)
With this change, targets are no longer required to put memory / strict-fp opcodes after special
`ISD::FIRST_TARGET_MEMORY_OPCODE`/`ISD::FIRST_TARGET_STRICTFP_OPCODE` markers.
This will also allow autogenerating `isTargetMemoryOpcode`/`isTargetStrictFPOpcode (#119709).
Pull Request: https://github.com/llvm/llvm-project/pull/119969
Commit: d328d410613963359c4044292cfca99388d01023
https://github.com/llvm/llvm-project/commit/d328d410613963359c4044292cfca99388d01023
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
R llvm/include/llvm/CodeGen/DroppedVariableStatsMIR.h
M llvm/include/llvm/CodeGen/MachineFunctionPass.h
M llvm/lib/CodeGen/CMakeLists.txt
R llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
M llvm/lib/CodeGen/MachineFunctionPass.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
R llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
Revert "Add a pass to collect dropped var stats for MIR (#120780)"
This reverts commit 3bf91ad2a9c75dd045961e45fdd830fd7b7a5455.
(llvmorg-20-init-16123-g3bf91ad2a9c7)
`llvm/CodeGen` should not depend on `llvm/Passes`.
Commit: 559f0809cc69f0ee55fa56fac1758f43863f2650
https://github.com/llvm/llvm-project/commit/559f0809cc69f0ee55fa56fac1758f43863f2650
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port d328d4106139
Commit: 5cd427477218d8bdb659c6c53a7758f741c3990a
https://github.com/llvm/llvm-project/commit/5cd427477218d8bdb659c6c53a7758f741c3990a
Author: Peter Hawkins <phawkins at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
M mlir/examples/standalone/python/StandaloneExtensionNanobind.cpp
A mlir/include/mlir/Bindings/Python/Nanobind.h
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
M mlir/lib/Bindings/Python/AsyncPasses.cpp
M mlir/lib/Bindings/Python/DialectGPU.cpp
M mlir/lib/Bindings/Python/DialectLLVM.cpp
M mlir/lib/Bindings/Python/DialectLinalg.cpp
M mlir/lib/Bindings/Python/DialectNVGPU.cpp
M mlir/lib/Bindings/Python/DialectPDL.cpp
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
M mlir/lib/Bindings/Python/DialectTransform.cpp
M mlir/lib/Bindings/Python/ExecutionEngineModule.cpp
M mlir/lib/Bindings/Python/GPUPasses.cpp
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/IRInterfaces.cpp
M mlir/lib/Bindings/Python/IRModule.cpp
M mlir/lib/Bindings/Python/IRModule.h
M mlir/lib/Bindings/Python/IRTypes.cpp
M mlir/lib/Bindings/Python/LinalgPasses.cpp
M mlir/lib/Bindings/Python/MainModule.cpp
M mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Bindings/Python/Pass.cpp
M mlir/lib/Bindings/Python/RegisterEverything.cpp
M mlir/lib/Bindings/Python/Rewrite.cpp
M mlir/lib/Bindings/Python/SparseTensorPasses.cpp
M mlir/lib/Bindings/Python/TransformInterpreter.cpp
M mlir/python/CMakeLists.txt
M mlir/test/python/dialects/sparse_tensor/dialect.py
M mlir/test/python/lib/PythonTestModuleNanobind.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir python] Port in-tree dialects to nanobind. (#119924)
This is a companion to #118583, although it can be landed independently
because since #117922 dialects do not have to use the same Python
binding framework as the Python core code.
This PR ports all of the in-tree dialect and pass extensions to
nanobind, with the exception of those that remain for testing pybind11
support.
This PR also:
* removes CollectDiagnosticsToStringScope from NanobindAdaptors.h. This
was overlooked in a previous PR and it is duplicated in Diagnostics.h.
---------
Co-authored-by: Jacques Pienaar <jpienaar at google.com>
Commit: cbf931e16f6d1ebe4c8a2f32315f21615a934f32
https://github.com/llvm/llvm-project/commit/cbf931e16f6d1ebe4c8a2f32315f21615a934f32
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
Log Message:
-----------
[TableGen][GlobalISel] Add GINodeEquiv for sdivrem/udivrem (#120819)
These nodes are not currently used in DAG patterns. Their GlobalISel
equivalents are primarily useful for testing TableGen backend, as they
produce two results. (There doesn't seem to be other such nodes.)
Commit: 665d79f2e967a5eee6fff93685e45f50cf24cab2
https://github.com/llvm/llvm-project/commit/665d79f2e967a5eee6fff93685e45f50cf24cab2
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
Log Message:
-----------
[AArch64][GlobalISel] Implement G_ICMP support for oversize pointer vectors.
Commit: 7a38445ee2ac89fe240479d052373df23561ab57
https://github.com/llvm/llvm-project/commit/7a38445ee2ac89fe240479d052373df23561ab57
Author: vporpo <vporpodas at google.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Register move instr callback (#120146)
This patch implements the move instruction notifier for the DAG.
Whenever an instruction moves the notifier will maintain the DAG.
Commit: f06756f50e1f70664adc25a41ccabf5b018a504a
https://github.com/llvm/llvm-project/commit/f06756f50e1f70664adc25a41ccabf5b018a504a
Author: Owen Anderson <resistor at mac.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
Log Message:
-----------
Store sysreg names in-line with their descriptors. (#119157)
This wastes some disk space, because we have to size the arrays for
the maximum possible length. However, it eliminates dynamic relocations
from the SysRegsList arrays.
Commit: e138f7831e62054d3971f716273fbe174176deca
https://github.com/llvm/llvm-project/commit/e138f7831e62054d3971f716273fbe174176deca
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-20 (Fri, 20 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Remove unnecessary 'let BaseInstr' from Xsfvcp pseudoinstructions. NFC
These are identical to the RISCVVPseudo base class.
Commit: 95c5386ddb8a530b43533c82b5dbfc18e81a7235
https://github.com/llvm/llvm-project/commit/95c5386ddb8a530b43533c82b5dbfc18e81a7235
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
Log Message:
-----------
[RISCV][NFCI] Rationalize Immediate Definitions (#120718)
Commit: c361fd5a7a8d646e11ee51acf4ba6de5f5e1297c
https://github.com/llvm/llvm-project/commit/c361fd5a7a8d646e11ee51acf4ba6de5f5e1297c
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32c-only-valid.s
M llvm/test/MC/RISCV/rv32i-only-valid.s
A llvm/test/MC/RISCV/rv32zcibop-valid-rv32.s
Log Message:
-----------
[RISCV] Fix More RV32 Signed Immediates (#120658)
Commit: b9a2658a3e8bd13b0f9e7a8a440832a95b377216
https://github.com/llvm/llvm-project/commit/b9a2658a3e8bd13b0f9e7a8a440832a95b377216
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-cxx03-frozen.cmake
M libcxx/include/CMakeLists.txt
R libcxx/include/__cxx03/CMakeLists.txt
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/compiler.h
A libcxx/include/__cxx03/__configuration/config_site_shim.h
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__configuration/platform.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/climits
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/module.modulemap
M libcxx/include/__cxx03/version
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/cassert
M libcxx/include/ccomplex
M libcxx/include/cctype
M libcxx/include/cerrno
M libcxx/include/cfenv
M libcxx/include/cfloat
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cinttypes
M libcxx/include/ciso646
M libcxx/include/climits
M libcxx/include/clocale
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/complex.h
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/csetjmp
M libcxx/include/csignal
M libcxx/include/cstdalign
M libcxx/include/cstdarg
M libcxx/include/cstdbool
M libcxx/include/cstddef
M libcxx/include/cstdint
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctgmath
M libcxx/include/ctime
M libcxx/include/ctype.h
M libcxx/include/cuchar
M libcxx/include/cwchar
M libcxx/include/cwctype
M libcxx/include/deque
M libcxx/include/errno.h
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/fenv.h
M libcxx/include/filesystem
M libcxx/include/flat_map
M libcxx/include/float.h
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/inttypes.h
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/iostream
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdatomic.h
M libcxx/include/stdbool.h
M libcxx/include/stddef.h
M libcxx/include/stdexcept
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string.h
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/syncstream
M libcxx/include/system_error
M libcxx/include/tgmath.h
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/uchar.h
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/include/wchar.h
M libcxx/include/wctype.h
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
M libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
M libcxx/test/libcxx/assertions/modes/none.pass.cpp
M libcxx/test/libcxx/assertions/single_expression.pass.cpp
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
M libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
M libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
M libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx/lint/lint_cmakelists.sh.py
M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
M libcxx/test/libcxx/selftest/test_macros.pass.cpp
M libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
M libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
M libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/libcxx/utilities/no_destroy.pass.cpp
M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
M libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
M libcxx/test/std/numerics/c.math/isnormal.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
M libcxx/test/support/test_macros.h
M libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
Log Message:
-----------
[libc++][C++03] Use `__cxx03/` headers in C++03 mode (#109002)
This patch implements the forwarding to frozen C++03 headers as
discussed in
https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc. In the
RFC, we initially proposed selecting the right headers from the Clang
driver, however consensus seemed to steer towards handling this in the
library itself. This patch implements that direction.
At a high level, the changes basically amount to making each public
header look like this:
```
// inside <vector>
#ifdef _LIBCPP_CXX03_LANG
# include <__cxx03/vector>
#else
// normal <vector> content
#endif
```
In most cases, public headers are simple umbrella headers so there isn't
much code in the #else branch. In other cases, the #else branch contains
the actual implementation of the header.
Commit: f77152d9a44b49ee38b15085034bbfe22b4b3992
https://github.com/llvm/llvm-project/commit/f77152d9a44b49ee38b15085034bbfe22b4b3992
Author: Julian Schmidt <git.julian.schmidt at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
Log Message:
-----------
[clang-tidy] use specified type verbatim in modernize-use-using fix (#113837)
Previously, the implementation used the printed type, which contains
expanded
macro arguments, deletes comments, and removes function argument names
from the alias declaration. Instead, this check can be more surgical and
use the
actual written type verbatim.
Fixes #33760
Fixes #37846
Fixes #41685
Fixes #83568
Fixes #95716
Fixes #97009
Commit: 93c2577020fe70087f99f48f7ce1fd62178455c3
https://github.com/llvm/llvm-project/commit/93c2577020fe70087f99f48f7ce1fd62178455c3
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port b9a2658a3e8b
Commit: bb86c5dd4d32c42183ed27a1ff7b34b1201215c4
https://github.com/llvm/llvm-project/commit/bb86c5dd4d32c42183ed27a1ff7b34b1201215c4
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use inferScalarType in VPInstruction::ResumePhi codegen (NFC).
Use VPlan-based type analysis to retrieve type of phi node. Also adds
missing type inference for ResumePhi and ComputeReductionResult opcodes.
Commit: 1e146dfb4fc82229c17ba5a7da847d87de214351
https://github.com/llvm/llvm-project/commit/1e146dfb4fc82229c17ba5a7da847d87de214351
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Sema] Migrate away from PointerUnion::{is,get} (NFC) (#120829)
Note that PointerUnion::{is,get} have 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>
I'm moving the definitions of several functions to SemaConcept.cpp
because llvm::cast requires the full definitions of
NormalizedConstraintPair, which is used like so:
using CompoundConstraint = llvm::PointerIntPair<NormalizedConstraintPair
*, 1,
CompoundConstraintKind>;
Commit: 129f1001c3b1b5200de43917d53c0efbdf08f11f
https://github.com/llvm/llvm-project/commit/129f1001c3b1b5200de43917d53c0efbdf08f11f
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/DLTI/DLTI.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
Log Message:
-----------
[Dialect] Migrate away from PointerUnion::{is,get} (NFC) (#120818)
Note that PointerUnion::{is,get} have 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>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: e072cffe3b639e8c433138b10ff68dc577497cf8
https://github.com/llvm/llvm-project/commit/e072cffe3b639e8c433138b10ff68dc577497cf8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Add immop_oneuse PatLeaf. Use it to replace some PatLeafs with ImmLeaf/IntImmLeaf. NFC (#120804)
If we needed a one use check of a constant, we used a PatLeaf instead of
an IntLeaf or IntImmLeaf so we could add the one use check.
Unfortunately, this required the custom code to be duplicated for GISel
too.
Instead we can use a PatLeaf that does the one use check and defers to
an IntLeaf or IntImmLeaf for the immediate check. This allows GISel to
automically import the IntLeaf/IntImmLeaf part and we only need the
custom GISel predicate in the immop_oneuse PatLeaf.
Commit: f7ba2bdf863b589140cb97a3fafb2f4688532456
https://github.com/llvm/llvm-project/commit/f7ba2bdf863b589140cb97a3fafb2f4688532456
Author: GrumpyPigSkin <130710602+GrumpyPigSkin at users.noreply.github.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
A llvm/test/Other/debugcounter-slsr.ll
Log Message:
-----------
[LLVM][SLSR] Add a debug counter (#119981)
Added debug counter and test for SLSR.
Fixes: https://github.com/llvm/llvm-project/issues/119770
Commit: fd784726db70a5155594c32ee839b8807fafd87d
https://github.com/llvm/llvm-project/commit/fd784726db70a5155594c32ee839b8807fafd87d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
Log Message:
-----------
[libc++] Rewrite minmax_element benchmark
The benchmark currently uses makeCartesianProductBenchmark, which
doesn't make a ton of sense, since minmax_element always goes through
every element one by one. The runtime doesn't depend on the values
of the elements.
Fixes #120758
Commit: 9b496deb90381f352a2bceb8794a0c7881a63bd5
https://github.com/llvm/llvm-project/commit/9b496deb90381f352a2bceb8794a0c7881a63bd5
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Set and use debug location for VPPredInstPHIRecipe.
Update the recipe it always set its debug location and use it during IR
generation.
Commit: bc23ef3feba9f1c0ca55bc12754017712252b64d
https://github.com/llvm/llvm-project/commit/bc23ef3feba9f1c0ca55bc12754017712252b64d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
Log Message:
-----------
[LV] Add test showing incorrect debug location for scalar casts.
Commit: 3b8faee6c6f44343c3f9de76c40ff305f72dfcd6
https://github.com/llvm/llvm-project/commit/3b8faee6c6f44343c3f9de76c40ff305f72dfcd6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/include/__config
M libcxx/include/__functional/function.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_destructor.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__tuple/make_tuple_types.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/type_list.h
M libcxx/include/__type_traits/unwrap_ref.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/move.h
M libcxx/include/tuple
Log Message:
-----------
[libc++] Switch _LIBCPP_NODEBUG to [[gnu::nodebug]] (#120720)
This makes the placement of the attribute more consistent. This also
avoids clang dropping the attribute silently (see #120722).
Commit: 9b0c8ef37a344769e90d769dbeb0060afb260483
https://github.com/llvm/llvm-project/commit/9b0c8ef37a344769e90d769dbeb0060afb260483
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/include/__fwd/memory_resource.h
Log Message:
-----------
[libc++] Don't declare pmr::polymorphic_allocator before C++17 (#120850)
Fixes #120790
Commit: 3fa5b52714b3dadbc5fddfc4ae1e7c423a652962
https://github.com/llvm/llvm-project/commit/3fa5b52714b3dadbc5fddfc4ae1e7c423a652962
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCFragment.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSPIRVStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Decrease direct access to getContents()
to make it easier to store fragment contents out-of-line. Loosely based
on Alexis Engelke's prototype.
Commit: 40acaa394fa235796c2d98de87380887c59d5448
https://github.com/llvm/llvm-project/commit/40acaa394fa235796c2d98de87380887c59d5448
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
Log Message:
-----------
[clang-format] Fix a crash in `QualifierAlignment: Right` (#120821)
Fixes #120793.
Commit: c9df8da659acde9445e1de5259d34ccf96948b44
https://github.com/llvm/llvm-project/commit/c9df8da659acde9445e1de5259d34ccf96948b44
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Serialization/MultiOnDiskHashTable.h
Log Message:
-----------
[Serialization] Migrate away from PointerUnion::get (NFC) (#120844)
Note that PointerUnion::get 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>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 9192367ad1af30c59d5b7adc0a099bd7e524e5dd
https://github.com/llvm/llvm-project/commit/9192367ad1af30c59d5b7adc0a099bd7e524e5dd
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M mlir/lib/Interfaces/CallInterfaces.cpp
M mlir/lib/Interfaces/DataLayoutInterfaces.cpp
M mlir/lib/Interfaces/InferTypeOpInterface.cpp
Log Message:
-----------
[Interfaces] Migrate away from PointerUnion::{is,get} (NFC) (#120845)
Note that PointerUnion::{is,get} have 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>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: 530fe60bf8e94702541c581e7bc54a6031cd6f1e
https://github.com/llvm/llvm-project/commit/530fe60bf8e94702541c581e7bc54a6031cd6f1e
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndex.h
Log Message:
-----------
[IR] Avoid repeated hash lookups (NFC) (#120848)
Commit: dce2245ba49fad419e551b0143f41431ec8e7f03
https://github.com/llvm/llvm-project/commit/dce2245ba49fad419e551b0143f41431ec8e7f03
Author: Prabhuk <prabhukr at google.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/X86.h
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/UEFI.h
M clang/lib/Lex/InitHeaderSearch.cpp
Log Message:
-----------
[clang][driver] Cleanup UEFI toolchain driver (#111473)
Updating UEFI header includes to not include system include directories,
adding includes from compiler resource directory and minor cleanups.
Commit: 037da010228436ef8f49399f1f0cf008c8428af8
https://github.com/llvm/llvm-project/commit/037da010228436ef8f49399f1f0cf008c8428af8
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
Log Message:
-----------
[libc++] Mark P0175R1 as 'Nothing To Do'
The paper is purely editorial.
Fixes #99941
Commit: b41d50aaa93125b640823cf147740368f5bcc8aa
https://github.com/llvm/llvm-project/commit/b41d50aaa93125b640823cf147740368f5bcc8aa
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/include/__memory/unique_ptr.h
Log Message:
-----------
[libc++][NFC] Name `unique_ptr` function arguments `__ptr` and `__deleter`
This makes the code a bit more readable and users will see `ptr` and
`deleter` instead of `p` and `d` when using an IDE that shows the
argument names.
Commit: 86fa35ce7e9730e9a3840a77c4a14f175167d524
https://github.com/llvm/llvm-project/commit/86fa35ce7e9730e9a3840a77c4a14f175167d524
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
Log Message:
-----------
[LV][VPlan] Use opcode to retrieve the VPID of the CallRecipe, rather than underlying instruction (#120816)
This patch may cause the flags in the CallRecipe to be lost after EVL
transformation, and it has been addressed in the patch: #119847
Commit: 21e6f16517b9b9255729665806f5c0b395854146
https://github.com/llvm/llvm-project/commit/21e6f16517b9b9255729665806f5c0b395854146
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
Log Message:
-----------
[libc++] Mark N4089 as complete
The paper has been implemented since at least LLVM 5, maybe earlier.
Commit: 49ecd665fcc311f7cd61e81d3f7a112cd287e292
https://github.com/llvm/llvm-project/commit/49ecd665fcc311f7cd61e81d3f7a112cd287e292
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
Log Message:
-----------
[AArch64][GlobalISel] Legalize unhandled G_BITREVERSE by lowering.
This fixes fallbacks on <4 x s16> types.
Commit: 6c42d0d7df55f28084e41b482dd7c25d4e7bcd10
https://github.com/llvm/llvm-project/commit/6c42d0d7df55f28084e41b482dd7c25d4e7bcd10
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCCodeView.h
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
Log Message:
-----------
[MC,CodeView] Postpone MCDataFragment creation to finish time
`StrTabFragment` created due to `.cv_stringtable` is not placed directly
into a section. This requires a funky ~CodeViewContext and does not fit
well with the future that moves MCFragment storage out-of-line.
Commit: 2cf3d059176d7d92a096c32b15946a101d037c59
https://github.com/llvm/llvm-project/commit/2cf3d059176d7d92a096c32b15946a101d037c59
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
Log Message:
-----------
[MC] Simplify WasmObjectWriter
and make it fit well with the future when MCFragment content is
out-of-line.
Commit: 90726652c930d9f286bad291ec11bccb2fb6b39a
https://github.com/llvm/llvm-project/commit/90726652c930d9f286bad291ec11bccb2fb6b39a
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/CoverageViewOptions.h
Log Message:
-----------
Reformat
Commit: cac6777ca14e162eb6e97e20da266802846ab953
https://github.com/llvm/llvm-project/commit/cac6777ca14e162eb6e97e20da266802846ab953
Author: 天音あめ <i at amane-a.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M clang/lib/Format/MacroExpander.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
Log Message:
-----------
[clang-format] Fix crashes when the macro expansion is empty (#119428)
An empty expansion should be valid, like `echo 'A()' | clang-format
--style='{Macros: [A(x)=x]}'`.
Fixes #119258.
Commit: 3bb0c73ab50121f518c8d66154283cfd50d6d31a
https://github.com/llvm/llvm-project/commit/3bb0c73ab50121f518c8d66154283cfd50d6d31a
Author: Amara Emerson <amara at apple.com>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/bitreverse.ll
Log Message:
-----------
[AArch64][GlobalISel] Add more test coverage for bitreverse.
The IR tests show there's some missing optimizations to form rbit.
Commit: 7b86fbbab74a6301d99017364b5369b98bdd7985
https://github.com/llvm/llvm-project/commit/7b86fbbab74a6301d99017364b5369b98bdd7985
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Remove redundant MCSection::empty check. NFC
The section cannot be empty due to allocInitialFragment.
Commit: acb7dfaa017dc11106bf97de4e8bf72d47ff54a8
https://github.com/llvm/llvm-project/commit/acb7dfaa017dc11106bf97de4e8bf72d47ff54a8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/if.cpp
Log Message:
-----------
[clang][bytecode] Create local scopes for if then/else statements (#120852)
In case those aren't compound statements.
Commit: 47bdbb31f7ca8ed5a81eca378f2de48cb8b28cf0
https://github.com/llvm/llvm-project/commit/47bdbb31f7ca8ed5a81eca378f2de48cb8b28cf0
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-21 (Sat, 21 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
Log Message:
-----------
Remove unused MCSection::empty
CurFragList->Head should be non-null, so empty() is not useful.
Commit: c1931241b088164bc96345f9dffae024affd3f56
https://github.com/llvm/llvm-project/commit/c1931241b088164bc96345f9dffae024affd3f56
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCFragment.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCFragment.cpp
Log Message:
-----------
[MC] Remove fixup_begin/fixup_end
Commit: 9423961f259f49007dc9cdea7344094a6fdf1afb
https://github.com/llvm/llvm-project/commit/9423961f259f49007dc9cdea7344094a6fdf1afb
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/ELF/nobits-non-zero-value.s
Log Message:
-----------
[MC] Test the "cannot have fixups" error
Commit: b68a952ae1c06b78790eab758574d992159e33b8
https://github.com/llvm/llvm-project/commit/b68a952ae1c06b78790eab758574d992159e33b8
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
[clang-doc] Migrate away from PointerUnion::{is,get} (NFC) (#120872)
Note that PointerUnion::{is,get} have 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>
Commit: b0e43f815ac69eaab503984a187d8099b5c4b707
https://github.com/llvm/llvm-project/commit/b0e43f815ac69eaab503984a187d8099b5c4b707
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/utils/TableGen/CallingConvEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#120873)
Commit: e1833e3a7e9de126d0a71d439bb862a8e20a5e4f
https://github.com/llvm/llvm-project/commit/e1833e3a7e9de126d0a71d439bb862a8e20a5e4f
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Simplify redundant VPDerivedIVRecipe (NFC).
Split DerivedIV simplification off from
https://github.com/llvm/llvm-project/pull/112145 and use to remove the
need for extra checks in createScalarIVSteps. Required an extra
simplification run after IV transforms.
Commit: 1b9805c14dbaa3af39cf3d9e5a88d3b150c69dc8
https://github.com/llvm/llvm-project/commit/1b9805c14dbaa3af39cf3d9e5a88d3b150c69dc8
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
Log Message:
-----------
[ELF] Move PT_OPENBSD_NOBTCFI check to readConfigs() (#120678)
Commit: e8f1902cca2aeaa23db6080fe33fbc67ed203350
https://github.com/llvm/llvm-project/commit/e8f1902cca2aeaa23db6080fe33fbc67ed203350
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
Log Message:
-----------
[libc++] Add a test to make sure the type traits derive from integral_constant (#120732)
Commit: 6261599245e5c8ab4b72bf24d4f95e1a5d7a04db
https://github.com/llvm/llvm-project/commit/6261599245e5c8ab4b72bf24d4f95e1a5d7a04db
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M libcxx/docs/Status/Cxx17Papers.csv
Log Message:
-----------
[libc++] Mark P0270R3 as Nothing To Do
The paper is fixing a wording bug, so there's nothing to do for
implementations.
Commit: d486b768238c84b3fea8cb35aaceab1ae5204f92
https://github.com/llvm/llvm-project/commit/d486b768238c84b3fea8cb35aaceab1ae5204f92
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
Log Message:
-----------
[AArch64] Unroll some loops with early-continues on Apple Silicon. (#118499)
Try to runtime-unroll loops with early-continues depending on
loop-varying loads; this helps with branch-prediction for the
early-continues and can significantly improve performance
for such loops
Builds on top of https://github.com/llvm/llvm-project/pull/118317.
PR: https://github.com/llvm/llvm-project/pull/118499.
Commit: a0f0a69b625748b97e40195c8d81b3746d30f985
https://github.com/llvm/llvm-project/commit/a0f0a69b625748b97e40195c8d81b3746d30f985
Author: Carlo Cabrera <github at carlo.cab>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M lld/MachO/SymbolTable.cpp
Log Message:
-----------
[lld][MachO] Fix symbol insertion in `transplantSymbolsAtOffset` (#120737)
The existing comparison does not insert symbols in the intended place.
Closes #120559.
---------
Co-authored-by: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Commit: b2d7312d52f299a2f854c673796ad1a699e0d79f
https://github.com/llvm/llvm-project/commit/b2d7312d52f299a2f854c673796ad1a699e0d79f
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Add const to some member functions & reformat (NFC) (#120899)
Add const to `import*Renderer` member functions and recursively to
functions called from them.
I didn't do that for `import*Matcher` functions because they mutate
class variables.
Commit: a4f5e90e319e8bf36ed421a0445218ff17d4de03
https://github.com/llvm/llvm-project/commit/a4f5e90e319e8bf36ed421a0445218ff17d4de03
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
Log Message:
-----------
[clang-tidy][NFC][doc] mention some range algorithms do not work for `vector<bool>` in C++20 (#120774)
Commit: f96337e04e0290426c72637325424a8be8e8de5d
https://github.com/llvm/llvm-project/commit/f96337e04e0290426c72637325424a8be8e8de5d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldConcatOfBoolMasks - add debug message for match + cost-comparison
Helps with debugging to show to that the fold found the match, and shows the old + new costs to indicate whether the fold was/wasn't profitable.
Commit: db2307d2d7f650aa8f0d9ba727abfe83a32bc3bf
https://github.com/llvm/llvm-project/commit/db2307d2d7f650aa8f0d9ba727abfe83a32bc3bf
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
A llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
Log Message:
-----------
[LV] Add tests with dereferenceable assumptions.
Add a number of tests with dereferenceable assumptions and different
alignment info.
Commit: bf873aa3ecef93c8dc8eb792da9e73ceff120492
https://github.com/llvm/llvm-project/commit/bf873aa3ecef93c8dc8eb792da9e73ceff120492
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldShuffleToIdentity - add debug message for match
Helps with debugging to show to that the fold found the match.
Commit: eaf67e062c09c30afd05afd8417787cd6760d9a7
https://github.com/llvm/llvm-project/commit/eaf67e062c09c30afd05afd8417787cd6760d9a7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr120906.ll
Log Message:
-----------
[X86] IsNOT - don't fold not(pcmpgt(C1, C2)) -> pcmpgt(C2, C1 - 1)
Interferes with constant folding of the pcmpgt node.
Yes another example where topological node sorting would have helped us.
Fixes #120906
Commit: c5492e3c65e40cdcab9771b692f9ad437c65aa04
https://github.com/llvm/llvm-project/commit/c5492e3c65e40cdcab9771b692f9ad437c65aa04
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
A libcxx/test/benchmarks/locale/num_get.bench.cpp
Log Message:
-----------
[libc++] Add a benchmark for std::num_get
Commit: 392651a7ec250b82cecabbe9c765c3e5d5677d75
https://github.com/llvm/llvm-project/commit/392651a7ec250b82cecabbe9c765c3e5d5677d75
Author: Kazu Hirata <kazu at google.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
Log Message:
-----------
[flang] Migrate away from PointerUnion::{is,get} (NFC) (#120880)
Note that PointerUnion::{is,get} have 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>
I'm not touching PointerUnion::dyn_cast for now because it's a bit
complicated; we could blindly migrate it to dyn_cast_if_present, but
we should probably use dyn_cast when the operand is known to be
non-null.
Commit: d32509928ba6b4c78b02b8a8499dce056ae6fe52
https://github.com/llvm/llvm-project/commit/d32509928ba6b4c78b02b8a8499dce056ae6fe52
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Rewrite an isel pattern to make it more amenable to GISel. NFC
The result pattern created an i1 constant and then used
ImmSubFromXLen SDNodeXForm on it. GISel cannot handle this construct
the same way as SelectionDAG. The GISel equivalent of the SDNodeXForm
expects a G_CONSTANT, but the emitter can't create that.
Work aound this by splitting the pattern into RV32 and RV64 versions
and hard coding the constant.
Additional changes are needed to import the pattern for GISel so
there's no test.
Commit: b84218526d364cb9fda23bfca164d25a7b03a641
https://github.com/llvm/llvm-project/commit/b84218526d364cb9fda23bfca164d25a7b03a641
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/test/benchmarks/locale/num_get.bench.cpp
Log Message:
-----------
[libc++] Mark num_get.bench.cpp as unsupported in C++03
Commit: 8a51471d839d9ba8ea015ddd4c761d5c8946f881
https://github.com/llvm/llvm-project/commit/8a51471d839d9ba8ea015ddd4c761d5c8946f881
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV][VPlan] Extract the implementation of transform Recipe to EVLRecipe into a small function. NFC (#119510)
Commit: 34d55df73b4b4662847210cef6f3f4a1c368b1a1
https://github.com/llvm/llvm-project/commit/34d55df73b4b4662847210cef6f3f4a1c368b1a1
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M compiler-rt/lib/tysan/tysan_interceptors.cpp
Log Message:
-----------
[tysan] Replace HandleEarlyAlloc with DlsymAlloc (#120563)
Commit: dd577c05ad0d382b444da01b6a1f56f8c2c15e07
https://github.com/llvm/llvm-project/commit/dd577c05ad0d382b444da01b6a1f56f8c2c15e07
Author: c8ef <c8ef at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/AST/ExprConstant.cpp
M clang/test/Sema/constant_builtins_vector.cpp
Log Message:
-----------
[clang] constexpr built-in reduce min/max function. (#120866)
Part of #51787.
This patch adds constexpr support for the built-in reduce min/max
function.
Commit: b1fab4f8491ae2c46ae77bcc21281296edfd458a
https://github.com/llvm/llvm-project/commit/b1fab4f8491ae2c46ae77bcc21281296edfd458a
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV][VPlan] Initialize the variable 'VPID' of the createEVLRecipe (#120926)
Resolve the compilation error caused by the merge issue: #119510
Commit: 642c75bfc81577158d27139f04f6617befa5286c
https://github.com/llvm/llvm-project/commit/642c75bfc81577158d27139f04f6617befa5286c
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Log Message:
-----------
[ORC] Make LazyReexportManager::KeyToReentryAddrs plural, use vector::insert.
Cleanup to recent LazyReexportManager changes: KeyToReentryAddr now maps to
multiple addrs, so make its name plural. Use vector insert rather than a for
loop.
NFC.
Commit: 98be16f20f3f0e2ca6f3cf34fe9da25822c21c2d
https://github.com/llvm/llvm-project/commit/98be16f20f3f0e2ca6f3cf34fe9da25822c21c2d
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
Log Message:
-----------
[JITLink][COFF] Use regular external symbol resolution for __ImageBase.
This fixes a concurrency bug in the COFF_x86_64 backend: lookupAsync was used
to find __ImageBase without blocking to wait for the result.
Rather than adding promises / futures, this patch just adds an external
__ImageBase symbol if needed. This is the canonical JITLink solution for
resolving external symbols, and is simpler and more concurrency friendly than
using promises / futures with lookupAsync.
Commit: 21a1dbb50320889ee0e116237c924ee1af3c3dd3
https://github.com/llvm/llvm-project/commit/21a1dbb50320889ee0e116237c924ee1af3c3dd3
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[mlir][NFC] Fix format of comments for `foldHook` (#118453)
Commit: 2b3aff8f92f8713c27791997df3ad5f2a8b51301
https://github.com/llvm/llvm-project/commit/2b3aff8f92f8713c27791997df3ad5f2a8b51301
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
Log Message:
-----------
[ORC] Don't notify condition variable when condition is not met.
Avoids waking threads when the condition to proceed won't be met. NFC.
Commit: edca1d9bad2a6f7c208e21f312d35ede33632ac1
https://github.com/llvm/llvm-project/commit/edca1d9bad2a6f7c208e21f312d35ede33632ac1
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Use concurrent linking by default.
Adds a -threads option to llvm-jitlink. By default llvm-jitlink will now use a
DynamicThreadPoolTaskDispatcher with the number of materialization threads set
to whatever is returned by std::hardware_concurrency(). This brings the default
in-place linking behavior in line with the concurrent linking that is used for
-oop-executor and -oop-executor-connect mode.
In-place linking on the main thread can be forced by passing -threads=0.
Commit: 4f7ff6bb38c8952a24b5cbae07031d78e359e573
https://github.com/llvm/llvm-project/commit/4f7ff6bb38c8952a24b5cbae07031d78e359e573
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/AArch64/armv8.3a-complex.s
M llvm/test/MC/AArch64/armv8.3a-complex_nofp16.s
M llvm/test/MC/AArch64/armv8.3a-pauth.s
M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
M llvm/test/MC/AArch64/armv8.4a-flagm.s
M llvm/test/MC/AArch64/armv8.6a-amvs.s
M llvm/test/MC/AArch64/armv9.6a-ras.s
M llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
M llvm/test/MC/ARM/directive-object_arch-3.s
M llvm/test/MC/ARM/inst-directive-emit.s
M llvm/test/MC/Mips/dsp/valid.s
M llvm/test/MC/Mips/dspr2/valid.s
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/macro-ld-sd.s
M llvm/test/MC/Mips/macro-seq.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/RISCV/compress-debug-info.s
M llvm/test/MC/RISCV/custom_reloc.s
M llvm/test/MC/SystemZ/asm-match.s
M llvm/test/MC/SystemZ/gnu-attributes.s
M llvm/test/MC/WebAssembly/assembler-binary.ll
M llvm/test/MC/WebAssembly/basic-assembly.s
M llvm/test/MC/WebAssembly/stack-ptr-mclower.ll
Log Message:
-----------
[MC] Clean up tests that implicit .text MCAsmStreamer
Commit: 85a7989770136c8bcecffff960862045fbdb2161
https://github.com/llvm/llvm-project/commit/85a7989770136c8bcecffff960862045fbdb2161
Author: Renat Idrisov <4032256+parsifal-47 at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
MIPS: Adding a check for JAL argument in PIC mode to prevent crashing on getExpr (#120356)
Only an Expr is supported by JAL.
Let's check it before getExpr.
https://github.com/llvm/llvm-project/issues/80535
---------
Co-authored-by: Renat Idrisov <parsifal-47 at users.noreply.github.com>
Commit: 34531cff638a23f411324d010b3dacc1e9599cfb
https://github.com/llvm/llvm-project/commit/34531cff638a23f411324d010b3dacc1e9599cfb
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
Revert "[llvm-jitlink] Use concurrent linking by default."
This reverts commit edca1d9bad2 while I investigate bot failures,
e.g. https://lab.llvm.org/buildbot/#/builders/137/builds/10791.
Commit: 8daba2c13dc3f4856d064f57a2a56dcf4ea1d7b3
https://github.com/llvm/llvm-project/commit/8daba2c13dc3f4856d064f57a2a56dcf4ea1d7b3
Author: Haopeng Liu <153236845+haopliu at users.noreply.github.com>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/initializes.ll
Log Message:
-----------
Skip negative length while inferring initializes attr (#120874)
Bail out negative length while inferring initializes attr. Otherwise it
causes an assertion error:
`Attribute 'initializes' does not support unordered ranges`
Commit: 688acb13b1d1eb751c83466935ab12f2b8047930
https://github.com/llvm/llvm-project/commit/688acb13b1d1eb751c83466935ab12f2b8047930
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/AMDGPU/hsa-exp.s
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
M llvm/test/MC/AMDGPU/hsa-tg-split.s
M llvm/test/MC/AMDGPU/hsa-v4.s
M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
M llvm/test/MC/AMDGPU/user-sgpr-count.s
Log Message:
-----------
[MC] Clean up tests that depend on implicit .text in MCAsmStreamer
AMDGPUTargetAsmStreamer::EmitDirectiveAMDGCNTarget called by
onBeginOfFile emits .amdgcn_target, which will not be before
.text when we change the .text parser to actually print .text .
The current .text is from initSections.
Commit: 8db73270e06a7925411870afa3953dafe997a35e
https://github.com/llvm/llvm-project/commit/8db73270e06a7925411870afa3953dafe997a35e
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/MC/AsmParser/exprs-invalid.s
M llvm/test/MC/GOFF/ppa1.ll
M llvm/test/MC/XCOFF/inlineasm.s
Log Message:
-----------
[MC] Clean up tests that depend on implicit .text in MCAsmStreamer
Commit: 2e3003211fea12aa492fa6ecc4a26f4fb1e7c8b9
https://github.com/llvm/llvm-project/commit/2e3003211fea12aa492fa6ecc4a26f4fb1e7c8b9
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[TRI][RISCV] Add methods to get common register class of two registers (#118435)
Here we add two methods `getCommonMinimalPhysRegClass` and a LLT
version `getCommonMinimalPhysRegClassLLT`, which return the most
sub register class of the right type that contains these two input
registers.
We don't overload the `getMinimalPhysRegClass` as there will be
ambiguities.
We use it to simplify some code in RISC-V target.
Commit: 5712e293fb317b50166766ba86b969eb13fcd069
https://github.com/llvm/llvm-project/commit/5712e293fb317b50166766ba86b969eb13fcd069
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AArch64/commandline-metadata.ll
M llvm/test/CodeGen/AVR/sections.ll
M llvm/test/CodeGen/Hexagon/switch-lut-explicit-section.ll
M llvm/test/CodeGen/Hexagon/switch-lut-function-section.ll
M llvm/test/CodeGen/X86/GC/ocaml-gc.ll
M llvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
M llvm/test/CodeGen/X86/elf-unique-sections-by-flags.ll
M llvm/test/CodeGen/Xtensa/simple.ll
Log Message:
-----------
[CodeGen] Clean up tests that depend on implicit .text in MCAsmStreamer
Commit: 158a60051d2d41bc255224ccb57d076efb75822e
https://github.com/llvm/llvm-project/commit/158a60051d2d41bc255224ccb57d076efb75822e
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Wait for reachable files to link before running checks.
ORC dependence tracking is fine-grained (i.e. per-symbol), however when running
-check mode we want to wait for all links triggered by the entry point lookup
to complete, regardless of whether the code / data in them is actually
reachable from the entry point. This simplifies test-cases, since authors don't
need to reason about per-symbol dependencies to know that additional files will
be linked (if referenced transitively in any way from the test-case).
The new Session::waitForFilesLinkedFromEntryPointFile utility does _not_ wait
for lazily linked (-lazy) files.
This will be used to fix buildbot errors caused by edca1d9bad2.
Commit: 7b23f413d1f76532825e470b523e971818d453ca
https://github.com/llvm/llvm-project/commit/7b23f413d1f76532825e470b523e971818d453ca
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-22 (Sun, 22 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/test/CodeGen/PowerPC/check-cpu.ll
M llvm/test/CodeGen/X86/coff-alias-type.ll
M llvm/test/DebugInfo/ARM/header.ll
M llvm/test/DebugInfo/X86/header.ll
M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
M llvm/test/MC/ELF/section.s
M llvm/test/MC/Hexagon/hexagon_attributes.s
Log Message:
-----------
MCAsmStreamer: Omit initial ".text"
llvm-mc --assemble prints an initial `.text` from `initSections`.
This is weird for quick assembly tasks that do not specify `.text`.
Omit the .text by moving section directive printing from `changeSection`
to `switchSection`. switchSectionNoPrint now correctly calls the
`changeSection` hook (needed by MachO).
The initial directives of clang -S are now reordered. On ELF targets, we
get `.file "a.c"; .text` instead of `.text; .file "a.c"`.
If there is no function, `.text` will be omitted.
Commit: 6285c46e164bcb9cbc66bc91c03f41dbbeff69e5
https://github.com/llvm/llvm-project/commit/6285c46e164bcb9cbc66bc91c03f41dbbeff69e5
Author: Peng Xie <helianthus547 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/memory_resource.cpp
Log Message:
-----------
[libc++] Refactor some code in monotonic_buffer_resource (#117271)
1. remove unused __default_buffer_alignment
2. two __try_allocate_from_chunk are same, put it together
This patch refactor some code in monotonic_buffer_resource.
Commit: 21996bd69c15cb1e5127f76254dfcda019ee432a
https://github.com/llvm/llvm-project/commit/21996bd69c15cb1e5127f76254dfcda019ee432a
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
Log Message:
-----------
[AMDGPU] Remove amdgpu-no-heap-ptr and amdgpu-no-lds-kernel-id attributes from lowered kernels in amdgpu-sw-lower-lds pass (#120887)
'amdgpu-sw-lower-lds' pass internally calls '__asan_malloc_impl' for
heap memory allocation.
Pass also uses 'amdgcn_lds_kernel_id' for non-kernel lds accesses
lowering.
This patch removes 'amdgpu-no-heap-ptr' and 'amdgpu-no-lds-kernel-id'
from all kernels lowered by the pass.
Commit: 4b35dd57b88a59b169c3471cbc398113d3bf98e8
https://github.com/llvm/llvm-project/commit/4b35dd57b88a59b169c3471cbc398113d3bf98e8
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/pr120277.cppm
Log Message:
-----------
[Serialization] Try to clean up PendingUndeducedFunctionDecls when
PendingUndeducedFunctionDecls is not empty
Close https://github.com/llvm/llvm-project/issues/120277
This turns out to be a simple oversight initially. See the analysis in
https://github.com/llvm/llvm-project/commit/ba1e84fb8f45e102f40f409fcfe9b420fbf9fb70
for the wider background.
Commit: aca7a70cdada8aa13c7f4e24c431bfe47218a3fa
https://github.com/llvm/llvm-project/commit/aca7a70cdada8aa13c7f4e24c431bfe47218a3fa
Author: Carlo Cabrera <github at carlo.cab>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
Log Message:
-----------
[lldb] Fix bad method call in `TestExprDiagnostics.py` (#120901)
Fixes
Traceback (most recent call last):
File
"/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py",
line 1770, in test_method
return attrvalue(self)
^^^^^^^^^^^^^^^
File
"/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py",
line 255, in test_command_expr_sbdata
self.assertEquals(error.GetType(), lldb.eErrorTypeExpression)
^^^^^^^^^^^^^^^^^
AttributeError: 'ExprDiagnosticsTestCase' object has no attribute
'assertEquals'. Did you mean: 'assertEqual'?
`assertEqual` is a method inherited from `unittest.TestCase`.
See #120784 and
https://github.com/llvm/llvm-project/pull/120784#issuecomment-2557871308
Commit: bda7aadfcd0596675c8b4b381f178f3d8f854f20
https://github.com/llvm/llvm-project/commit/bda7aadfcd0596675c8b4b381f178f3d8f854f20
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/test/TableGen/GlobalISelEmitter-frameindex.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Fix importing frameindex node (#120921)
The existing test case is not representative. Even though TableGen
doesn't complain, the code generated from it is invalid and fails
verification with the message "Use not jointly dominated by defs.".
There is no way to magically transform `frameindex` to `tframeindex`
as it happens for some other leaf nodes. `frameindex` can only be
selected by custom C++ code or by using an `SDNodeXForm`.
This patch makes the test representative one and fixes the handling of
`G_FRAME_INDEX`, which shouldn't have set the operand's name.
It also fixes the type of the result of `G_FRAME_INDEX` in order to get
the correct type check (`GIM_CheckPointerToAny` instead of
`GIM_CheckType` with a scalar LLT argument).
Commit: 24fc8f01a40310e91838ab742b4940369786ba90
https://github.com/llvm/llvm-project/commit/24fc8f01a40310e91838ab742b4940369786ba90
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/CMakeLists.txt
Log Message:
-----------
[llvm][OpenMP][NFC] Cleanup AtomicInfo (#119199)
This PR refactors functionality from
llvm/include/llvm/Frontend/Atomic/Atomic.h into
llvm/lib/llvm/Frontend/Atomic/Atomic.cpp.
Commit: 657c5bf807e17ccab3f5b283824c7e6bb7a74707
https://github.com/llvm/llvm-project/commit/657c5bf807e17ccab3f5b283824c7e6bb7a74707
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/HLFIR/opt-variable-assign-omp.fir
Log Message:
-----------
[flang][AliasAnalysis] don't crash on load from blockarg (#120760)
Values can have no defining operation when the value is a blockarg. I
wrote this as a test for hlfir bufferization rather than alias analysis
because I couldn't find a way to add the test.ptr attribute to a block
argument.
Commit: 113177f98b9d7ac6edfa833d55ad6ad6fd4a0cbf
https://github.com/llvm/llvm-project/commit/113177f98b9d7ac6edfa833d55ad6ad6fd4a0cbf
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
Log Message:
-----------
[X86][AVX10.2] Fix wrong mask bits in cvtpbf8_ph intrinsics (#120927)
Found during review #120766
Commit: f70ab7d909d6861c7eec5ab40679bde16ab826c6
https://github.com/llvm/llvm-project/commit/f70ab7d909d6861c7eec5ab40679bde16ab826c6
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/AArch64/pure-scalable-args.c
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
Log Message:
-----------
[AArch64] Fix argument passing for SVE tuples (#118961)
The fix for passing Pure Scalable Types
(https://github.com/llvm/llvm-project/pull/112747) was incomplete,
it didn't handle correctly tuples of SVE vectors (e.g. `sveboolx2_t`,
`svfloat32x4_t`, etc).
These types are Pure Scalable Types and should be passed either entirely
in vector registers
or indirectly in memory, not split.
Commit: 2d6d723a85c2d007b0359c206d66cd2e5a9f00e1
https://github.com/llvm/llvm-project/commit/2d6d723a85c2d007b0359c206d66cd2e5a9f00e1
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop2.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sopc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/mesa3d.ll
A llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop1.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
A llvm/test/CodeGen/AMDGPU/swizzle.bit.extract.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
Log Message:
-----------
[AMDGPU] Add some more GFX12 test coverage (#120581)
Commit: 6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
https://github.com/llvm/llvm-project/commit/6bdd25404a99f3eb22c02041d88d63bd5e6bd45e
Author: Jay Foad <jay.foad at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
Log Message:
-----------
[AMDGPU] Simplify handling of renamed GFX12 image atomics. NFC. (#120776)
Commit: 630b7f36731d9ddfdd1f1e17b7862dded902f02f
https://github.com/llvm/llvm-project/commit/630b7f36731d9ddfdd1f1e17b7862dded902f02f
Author: Cabbaken <cabbaken at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-objdump/SourcePrinter.cpp
M llvm/tools/llvm-objdump/XCOFFDump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-objdump/llvm-objdump.h
Log Message:
-----------
[llvm-objdump] Remove some unneeded headers. (#120541)
Co-authored-by: qiuruoyu <qiuruoyu at xiaomi.com>
Commit: ce393beddfb810204ac0618c2fe365d4d21f5c32
https://github.com/llvm/llvm-project/commit/ce393beddfb810204ac0618c2fe365d4d21f5c32
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Pattern-match frameindex (#120917)
Commit: ac5029499561a8f76e71325ffb5c59d92ff84709
https://github.com/llvm/llvm-project/commit/ac5029499561a8f76e71325ffb5c59d92ff84709
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
R lldb/test/Shell/Expr/TestObjCHiddenIvars.test
Log Message:
-----------
Revert "[lldb][test] Add test-coverage for DW_AT_APPLE_objc_complete_type parsing (#120279)"
This reverts commit 000febd0290698728abd9e23da6b27969c529177.
This is failing on the macOS public buildbots. It's unclear
to me why (I can't reproduce the failure on my local M1 machine).
I suspect the test might be relying on some non-deterministic
linker properties (such as order of entries in the debug-map
or something like that). The failure is as follows:
```
CHECK-NEXT: expected string not found in input
^
<stdin>:25:7: note: scanning from here
y = 2
^
<stdin>:27:4: note: possible intended match here
(lldb) exit
^
Input file: <stdin>
Check file: /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/Shell/Expr/TestObjCHiddenIvars.test
-dump-input=help explains the following input dump.
Input was:
<<<<<<
.
.
.
20: (lldb) expression *f
21: (Foo) $0 = {
22: NSObject = {
23: isa = Foo
24: }
25: y = 2
next:21'0 X error: no match found
26: }
next:21'0 ~~
27: (lldb) exit
next:21'0 ~~~~~~~~~~~~
next:21'1 ? possible intended match
>>>>>>
```
Commit: 944b6f8523677abb7f98556869d290f926d2dc62
https://github.com/llvm/llvm-project/commit/944b6f8523677abb7f98556869d290f926d2dc62
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[llvm][NFC] Fix typo in ReleaseNotes
Commit: 28d14904c00b74154b8dfa71d5b062a7e590c44c
https://github.com/llvm/llvm-project/commit/28d14904c00b74154b8dfa71d5b062a7e590c44c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/Makefile
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/TestTypedefToOuterFwd.py
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.cpp
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.h
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/main.cpp
Log Message:
-----------
[lldb][SymbolFileDWARF] Share GetDIEToType between SymbolFiles of a SymbolFileDWARFDebugMap (#120569)
The problem here manifests as follows:
1. We are stopped in main.o, so the first `ParseTypeFromDWARF` on
`FooImpl<char>` gets called on `main.o`'s SymbolFile. This adds a
mapping from *declaration die* -> `TypeSP` into `main.o`'s
`GetDIEToType` map.
2. We then `CompleteType(FooImpl<char>)`. Depending on the order of
entries in the debug-map, this might call `CompleteType` on `lib.o`'s
SymbolFile. In which case, `GetDIEToType().lookup(decl_die)` will return
a `nullptr`. This is already a bit iffy because some of the surrounding
code assumes we don't call `CompleteTypeFromDWARF` with a `nullptr`
`Type*`. E.g., `CompleteEnumType` blindly dereferences it (though enums
will never encounter this because their definition is fetched in
ParseEnum, unlike for structures).
3. While in `CompleteTypeFromDWARF`, we call `ParseTypeFromDWARF` again.
This will parse the member function `FooImpl::Create` and its return
type which is a typedef to `FooImpl*`. But now we're inside `lib.o`'s
SymbolFile, so we call it on the definition DIE. In step (2) we just
inserted a `nullptr` into `GetDIEToType` for the definition DIE, so we
trivially return a `nullptr` from `ParseTypeFromDWARF`. Instead of
reporting back this parse failure to the user LLDB trucks on and marks
`FooImpl::Ref` to be `void*`.
This test-case will trigger an assert in `TypeSystemClang::VerifyDecl`
even if we just `frame var` (but only in debug-builds). In release
builds where this function is a no-op, we'll create an incorrect Clang
AST node for the `Ref` typedef.
The proposed fix here is to share the `GetDIEToType` map between
SymbolFiles if a debug-map exists.
**Alternatives considered**
* Check the `GetDIEToType` map of the `SymbolFile` that the declaration
DIE belongs to. The assumption here being that if we called
`ParseTypeFromDWARF` on a declaration, the `GetDIEToType` map that the
result was inserted into was the one on that DIE's SymbolFile. This was
the first version of this patch, but that felt like a weaker version
sharing the map. It complicates the code in `CompleteType` and is less
consistent with the other bookkeeping structures we already share
between SymbolFiles
* Return from `SymbolFileDWARF::CompleteType` if there is no type in the
current `GetDIEToType`. Then `SymbolFileDWARFDebugMap::CompleteType`
could continue to the next `SymbolFile` which does own the type. But
that didn't quite work because we remove the
`GetForwardCompilerTypeToDie` entry in `SymbolFile::CompleteType`, which
`SymbolFileDWARFDebugMap::CompleteType` relies upon for iterating
Commit: c660b281b60085cbe40d73d692badd43d7708d20
https://github.com/llvm/llvm-project/commit/c660b281b60085cbe40d73d692badd43d7708d20
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb][SymbolFileDWARF] Ignore Declaration when searching through UniqueDWARFASTTypeList in C++ (#120809)
This addresses an issue encountered when investigating
https://github.com/llvm/llvm-project/pull/120569.
In `ParseTypeFromDWARF`, we insert the parsed type into
`UniqueDWARFASTTypeMap` using the typename and `Declaration` obtained
with `GetUniqueTypeNameAndDeclaration`. For C++
`GetUniqueTypeNameAndDeclaration` will zero the `Declaration` info
(presumably because forward declaration may not have it, and for C++,
ODR means we can rely on fully qualified typenames for uniqueing). When
we then called `CompleteType`, we would first `MapDeclDIEToDefDIE`,
updating the `UniqueDWARFASTType` we inserted previously with the
`Declaration` of the definition DIE (without zeroing it). We would then
call into `ParseTypeFromDWARF` for the same type again, and search the
`UniqueDWARFASTTypeMap`. But we do the search using a zeroed declaration
we get from `GetUniqueTypeNameAndDeclaration`.
This particular example was fixed by
https://github.com/llvm/llvm-project/pull/120569 but this still feels a
little inconsistent. I'm not entirely sure we can get into that
situation after that patch anymore. So the only test-case I could come
up with was the unit-test which calls `MapDeclDIEToDefDIE` directly.
Commit: 3cc311ab8674eab6b9101cdf3823b55ea23d6535
https://github.com/llvm/llvm-project/commit/3cc311ab8674eab6b9101cdf3823b55ea23d6535
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Dialect Conversion: No target mat. for 1:N replacement (#117513)
During a 1:N replacement (`applySignatureConversion` or
`replaceOpWithMultiple`), the dialect conversion driver used to insert
two materializations:
* Argument materialization: convert N replacement values to 1 SSA value
of the original type `S`.
* Target materialization: convert original type to legalized type `T`.
The target materialization is unnecessary. Subsequent patterns receive
the replacement values via their adaptors. These patterns have their own
type converter. When they see a replacement value of type `S`, they will
automatically insert a target materialization to type `T`. There is no
reason to do this already during the 1:N replacement. (The functionality
used to be duplicated in `remapValues` and `insertNTo1Materialization`.)
Special case: If a subsequent pattern does not have a type converter, it
does *not* insert any target materializations. That's because the
absence of a type converter indicates that the pattern does not care
about type legality. Therefore, it is correct to pass an SSA value of
type `S` (or any other type) to the pattern.
Note: Most patterns in `TestPatterns.cpp` run without a type converter.
To make sure that the tests still behave the same, some of these
patterns now have a type converter.
This commit is in preparation of adding 1:N support to the conversion
value mapping. Before making any further changes to the mapping
infrastructure, I'd like to make sure that the code base around it (that
uses the mapping) is robust.
Commit: a35640f29e82dffbe87fb75af9b50c6e1312b455
https://github.com/llvm/llvm-project/commit/a35640f29e82dffbe87fb75af9b50c6e1312b455
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
Log Message:
-----------
[AArch64] Extend vecreduce to udot/sdot transformation to support usdot (#120094)
Commit: 5f98dd5dd5517b711bbb77655865a35904653820
https://github.com/llvm/llvm-project/commit/5f98dd5dd5517b711bbb77655865a35904653820
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
M mlir/test/Conversion/NVVMToLLVM/nvvm-to-llvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Update Wgmma.fence Ops to use intrinsics (#120956)
This PR updates the WgmmaFenceAlignedOp, WgmmaGroupSyncAlignedOp, and
WgmmaWaitGroupSyncOp Ops in the NVVM Dialect to lower to the
corresponding intrinsics instead of inline-ptx.
The existing test under Conversion/NVVMToLLVM is updated to check for
the new patterns and separate tests are added under Target/LLVMIR to
verify the lowered intrinsics.
Commit: 92f439c4b7f234583e52e529858365c1bf072879
https://github.com/llvm/llvm-project/commit/92f439c4b7f234583e52e529858365c1bf072879
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb] Negate `is_signed` variable for argument `isUnsigned` in TypeSystemClang.cpp (#120794)
Commit: 24eb1566e09080658d16649a0d3bb4f9565131c3
https://github.com/llvm/llvm-project/commit/24eb1566e09080658d16649a0d3bb4f9565131c3
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/Frontend/Atomic/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Frontend/OpenMP/BUILD.gn
Log Message:
-----------
[gn] port 24fc8f01a403 (and aec87a2143c01)
Commit: 11676da80874787a47856da87911234837c53f06
https://github.com/llvm/llvm-project/commit/11676da80874787a47856da87911234837c53f06
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Normalize debug messages for newTreeEntry. (#119514)
A debug message should follow after newTreeEntry.
Make ExtractValueInst and ExtractElementInst use setOperand directly.
Commit: df31fd8a3648a487aaec31bef059187b0d316d1f
https://github.com/llvm/llvm-project/commit/df31fd8a3648a487aaec31bef059187b0d316d1f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/TypeConverter.h
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
Log Message:
-----------
[mlir] Fix use-after-return in #117513 (#120968)
Fix a use-after-return in #117513. Free-standing lambdas should not be
defined inside of the `LLVMTypeConverter` constructor because they go
out of scope.
Commit: c28a7c1efd89d3dbee5f7212313f836855dd08fd
https://github.com/llvm/llvm-project/commit/c28a7c1efd89d3dbee5f7212313f836855dd08fd
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/docs/Extensions.md
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/Tools/TargetSetup.h
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/runtime/exceptions.cpp
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
Log Message:
-----------
[flang] Modifications to ieee_support_halting (#120747)
The F23 standard requires that a call to intrinsic module procedure
ieee_support_halting be foldable to a constant at compile time in some
contexts. See for example F23 Clause 10.1.11 [Specification expression]
list item (13), Clause 1.1.12 [Constant expression] list item (11), and
references to specification and constant expressions elsewhere, such as
constraints C1012, C853, and C704.
Some Arm processors allow a user to control processor behavior when an
arithmetic exception is signaled, and some Arm processors do not have
this capability. An Arm executable will run on either type of processor,
so it is effectively unknown at compile time whether or not this support
will be available at runtime. This in conflict with the standard
requirement.
This patch addresses this conflict by implementing ieee_support_halting
calls on Arm processors to check if this capability is present at
runtime. A call to ieee_support_halting in a constant context, such as
in the specification part of a program unit, will generate a compile
time "cannot be computed as a constant value" error. The expectation is
that such calls are unlikely to appear in production code.
Code generation for other processors will continue to generate a compile
time constant result for ieee_support_halting calls.
Commit: fb1dbe24f2ecd0c0915caba8a6321dc57018dc50
https://github.com/llvm/llvm-project/commit/fb1dbe24f2ecd0c0915caba8a6321dc57018dc50
Author: Jie Fu <jiefu at tencent.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
Log Message:
-----------
[mlir] Remove extra ';' outside of a function (NFC)
/llvm-project/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:51:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
^
/llvm-project/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp:97:2:
error: extra ';' outside of a function is incompatible with C++98 [-Werror,-Wc++98-compat-extra-semi]
};
^
2 errors generated.
Commit: adb849e79f144e132b169268a2784202d24e80ca
https://github.com/llvm/llvm-project/commit/adb849e79f144e132b169268a2784202d24e80ca
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
R llvm/test/MC/RISCV/rv32c-valid.s
R llvm/test/MC/RISCV/rv32d-valid.s
R llvm/test/MC/RISCV/rv32e-invalid.s
R llvm/test/MC/RISCV/rv32e-valid.s
R llvm/test/MC/RISCV/rv32f-valid.s
R llvm/test/MC/RISCV/rv32i-valid.s
R llvm/test/MC/RISCV/rv32ih-aliases-valid.s
R llvm/test/MC/RISCV/rv32ih-valid.s
R llvm/test/MC/RISCV/rv32m-valid.s
R llvm/test/MC/RISCV/rv32xtheadbs-valid.s
R llvm/test/MC/RISCV/rv32zaamo-valid.s
R llvm/test/MC/RISCV/rv32zacas-valid.s
R llvm/test/MC/RISCV/rv32zalasr-valid.s
R llvm/test/MC/RISCV/rv32zalrsc-valid.s
R llvm/test/MC/RISCV/rv32zba-valid.s
R llvm/test/MC/RISCV/rv32zbb-valid.s
R llvm/test/MC/RISCV/rv32zbc-valid.s
R llvm/test/MC/RISCV/rv32zbkb-valid.s
R llvm/test/MC/RISCV/rv32zbkc-valid.s
R llvm/test/MC/RISCV/rv32zbkx-valid.s
R llvm/test/MC/RISCV/rv32zbs-valid.s
R llvm/test/MC/RISCV/rv32zcb-invalid.s
R llvm/test/MC/RISCV/rv32zcb-valid.s
R llvm/test/MC/RISCV/rv32zcmt-invalid.s
R llvm/test/MC/RISCV/rv32zcmt-valid.s
R llvm/test/MC/RISCV/rv32zdinx-valid.s
R llvm/test/MC/RISCV/rv32zfbfmin-invalid.s
R llvm/test/MC/RISCV/rv32zfbfmin-valid.s
R llvm/test/MC/RISCV/rv32zfh-valid.s
R llvm/test/MC/RISCV/rv32zfhmin-invalid.s
R llvm/test/MC/RISCV/rv32zfhmin-valid.s
R llvm/test/MC/RISCV/rv32zfinx-valid.s
R llvm/test/MC/RISCV/rv32zhinx-valid.s
R llvm/test/MC/RISCV/rv32zhinxmin-valid.s
R llvm/test/MC/RISCV/rv32zicbom-invalid.s
R llvm/test/MC/RISCV/rv32zicbom-valid.s
R llvm/test/MC/RISCV/rv32zicbop-invalid.s
R llvm/test/MC/RISCV/rv32zicbop-valid.s
R llvm/test/MC/RISCV/rv32zicboz-invalid.s
R llvm/test/MC/RISCV/rv32zicboz-valid.s
R llvm/test/MC/RISCV/rv32zicond-invalid.s
R llvm/test/MC/RISCV/rv32zicond-valid.s
R llvm/test/MC/RISCV/rv32zihintntl-invalid.s
R llvm/test/MC/RISCV/rv32zihintntl-valid.s
R llvm/test/MC/RISCV/rv32zihintntlc-invalid.s
R llvm/test/MC/RISCV/rv32zihintntlc-valid.s
R llvm/test/MC/RISCV/rv32zihintpause-valid.s
R llvm/test/MC/RISCV/rv32zknh-valid.s
R llvm/test/MC/RISCV/rv32zksed-valid.s
R llvm/test/MC/RISCV/rv32zksh-valid.s
A llvm/test/MC/RISCV/rvc-valid.s
A llvm/test/MC/RISCV/rvd-valid.s
A llvm/test/MC/RISCV/rve-invalid.s
A llvm/test/MC/RISCV/rve-valid.s
A llvm/test/MC/RISCV/rvf-valid.s
A llvm/test/MC/RISCV/rvi-valid.s
A llvm/test/MC/RISCV/rvih-aliases-valid.s
A llvm/test/MC/RISCV/rvih-valid.s
A llvm/test/MC/RISCV/rvm-valid.s
A llvm/test/MC/RISCV/rvxtheadbs-valid.s
A llvm/test/MC/RISCV/rvzaamo-valid.s
A llvm/test/MC/RISCV/rvzacas-valid.s
A llvm/test/MC/RISCV/rvzalasr-valid.s
A llvm/test/MC/RISCV/rvzalrsc-valid.s
A llvm/test/MC/RISCV/rvzba-valid.s
A llvm/test/MC/RISCV/rvzbb-valid.s
A llvm/test/MC/RISCV/rvzbc-valid.s
A llvm/test/MC/RISCV/rvzbkb-valid.s
A llvm/test/MC/RISCV/rvzbkc-valid.s
A llvm/test/MC/RISCV/rvzbkx-valid.s
A llvm/test/MC/RISCV/rvzbs-valid.s
A llvm/test/MC/RISCV/rvzcb-invalid.s
A llvm/test/MC/RISCV/rvzcb-valid.s
A llvm/test/MC/RISCV/rvzcmt-invalid.s
A llvm/test/MC/RISCV/rvzcmt-valid.s
A llvm/test/MC/RISCV/rvzdinx-valid.s
A llvm/test/MC/RISCV/rvzfbfmin-invalid.s
A llvm/test/MC/RISCV/rvzfbfmin-valid.s
A llvm/test/MC/RISCV/rvzfh-valid.s
A llvm/test/MC/RISCV/rvzfhmin-invalid.s
A llvm/test/MC/RISCV/rvzfhmin-valid.s
A llvm/test/MC/RISCV/rvzfinx-valid.s
A llvm/test/MC/RISCV/rvzhinx-valid.s
A llvm/test/MC/RISCV/rvzhinxmin-valid.s
A llvm/test/MC/RISCV/rvzicbom-invalid.s
A llvm/test/MC/RISCV/rvzicbom-valid.s
A llvm/test/MC/RISCV/rvzicbop-invalid.s
A llvm/test/MC/RISCV/rvzicbop-valid.s
A llvm/test/MC/RISCV/rvzicboz-invalid.s
A llvm/test/MC/RISCV/rvzicboz-valid.s
A llvm/test/MC/RISCV/rvzicond-invalid.s
A llvm/test/MC/RISCV/rvzicond-valid.s
A llvm/test/MC/RISCV/rvzihintntl-invalid.s
A llvm/test/MC/RISCV/rvzihintntl-valid.s
A llvm/test/MC/RISCV/rvzihintntlc-invalid.s
A llvm/test/MC/RISCV/rvzihintntlc-valid.s
A llvm/test/MC/RISCV/rvzihintpause-valid.s
A llvm/test/MC/RISCV/rvzknh-valid.s
A llvm/test/MC/RISCV/rvzksed-valid.s
A llvm/test/MC/RISCV/rvzksh-valid.s
Log Message:
-----------
[RISCV][NFCI] Rename rv32+rv64 testcases (#120717)
All these testcases were called `rv32<something>.s`, but had equivalent
RUN lines for both riscv32 and riscv64. This made it hard to add tests
which are only valid on one of riscv32 or riscv64.
This change makes the tests follow a naming convention:
- `rv32*.s` means a test for riscv32-specific behaviour
- `rv64*.s` means a test for riscv64-specific behaviour
- `rv*.s` (without 64 or 32) means a test for both base architectures -
the majority of tests/behaviour.
This should make it easier to add and name extension-specific tests
which do depend on the base architecture.
Commit: 29c89d7265329c530a6a2cb0307218004cc2ba53
https://github.com/llvm/llvm-project/commit/29c89d7265329c530a6a2cb0307218004cc2ba53
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/VectorCombine/AArch64/select-shuffle.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfShuffles - fold "shuffle (shuffle x, y, m1), (shuffle y, x, m2)" -> "shuffle x, y, m3" (#120959)
foldShuffleOfShuffles currently only folds unary shuffles to ensure we don't end up with a merged shuffle with more than 2 sources, but this prevented cases where both shuffles were sharing sources.
This patch generalizes the merge process to find up to 2 sources as it merges with the inner shuffles, it also moves the undef/poison handling stages into the merge loop as well.
Fixes #120764
Commit: 723aeaf336c3e6b09b74fc704b49b8a85ed91605
https://github.com/llvm/llvm-project/commit/723aeaf336c3e6b09b74fc704b49b8a85ed91605
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fixup for #119199, FrontendAtomic
Commit: d039ac3955f0809f880f2e22896c5814d724dd80
https://github.com/llvm/llvm-project/commit/d039ac3955f0809f880f2e22896c5814d724dd80
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/wchar.h
Log Message:
-----------
[libcxx] Remove the second inclusion of the system header (#120946)
This was introduced in #119025 and not only seems unnecessary, it broke
the build with older versions of glibc.
Commit: 902e62cf15229a4ef32d12cd4ee083e3a58c447b
https://github.com/llvm/llvm-project/commit/902e62cf15229a4ef32d12cd4ee083e3a58c447b
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/wchar.h
Log Message:
-----------
[libcxx] Fix the #endif comments (#120949)
The order of comments is swapped.
Commit: b85ddba421fa3bd078d6af7295d9f2bab6e4185c
https://github.com/llvm/llvm-project/commit/b85ddba421fa3bd078d6af7295d9f2bab6e4185c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
Log Message:
-----------
[AArch64] NFC: Fix inlining tests for SME ZA state.
By adding inline-asm to test, we now actually test the code-path they're
meant to test.
Commit: e3f8c229f5710b52d18300b561925e556407ebee
https://github.com/llvm/llvm-project/commit/e3f8c229f5710b52d18300b561925e556407ebee
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
Log Message:
-----------
[VectorCombine] foldInsExtVectorToShuffle - inserting into a poison base vector can be modelled as a single src shuffle
We already canonicalized an undef base vector to the RHS to improve further folding, this extends this to improve the shuffle cost estimate of the single src shuffle
Commit: 711419e3025678511e3d26c4c30d757f9029d598
https://github.com/llvm/llvm-project/commit/711419e3025678511e3d26c4c30d757f9029d598
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/test/Transforms/loop-versioning.fir
Log Message:
-----------
[flang] Enable loop-versioning for slices. (#120344)
Loops resulting from array expressions like array(:,i)
may be versioned for the unit stride of the innermost dimension,
when the initial array is an assumed-shape array (which are contiguous
in many Fortran programs).
This speeds up facerec for about 12% due to further vectorization
of the innermost loop produced for the total SUM reduction.
Commit: dcb7f44cd6419325b62ff5fbbd971bb0dd0b32b1
https://github.com/llvm/llvm-project/commit/dcb7f44cd6419325b62ff5fbbd971bb0dd0b32b1
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] Modifications to ieee_support_halting (#120976)
The F23 standard requires that a call to intrinsic module procedure
ieee_support_halting be foldable to a constant at compile time in some
contexts. See for example F23 Clause 10.1.11 [Specification expression]
list item (13), Clause 1.1.12 [Constant expression] list item (11), and
references to specification and constant expressions elsewhere, such as
constraints C1012, C853, and C704.
Some Arm processors allow a user to control processor behavior when an
arithmetic exception is signaled, and some Arm processors do not have
this capability. An Arm executable will run on either type of processor,
so it is effectively unknown at compile time whether or not this support
will be available at runtime. This is in conflict with the standard
requirement.
This patch addresses this conflict by implementing ieee_support_halting
calls on Arm processors to check if this capability is present at
runtime. A call to ieee_support_halting in a constant context, such as
in the specification part of a program unit, will generate a compile
time "cannot be computed as a constant value" error. The expectation is
that such calls are unlikely to appear in production code.
Code generation for other processors will continue to generate a compile
time constant result for ieee_support_halting calls.
Commit: b8952d4b1b0c73bf39d6440ad3166a088ced563f
https://github.com/llvm/llvm-project/commit/b8952d4b1b0c73bf39d6440ad3166a088ced563f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.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: preames, topperc, lukel97, wangpc-pp
Reviewed By: wangpc-pp
Pull Request: https://github.com/llvm/llvm-project/pull/120803
Commit: 99dddef340e566e9d303010f1219f7d7d6d37a11
https://github.com/llvm/llvm-project/commit/99dddef340e566e9d303010f1219f7d7d6d37a11
Author: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[Clang][Sema] Process warnings conditionally (#120591)
There are a few functions that emit warnings related to positional
arguments in format strings. These functions use `getLocationOfByte()`
which has O(n) complexity and may lead to silent hang of compilation in
some cases. But such warnings is not widely used and actually don't emit
if user didn't pass the appropriate `-W...` flag, so if the flag is not
passed dont make the call to `EmitFormatDiagnostic` for such diags.
Fix #120462
Commit: d36836de0183b9b1939cc679d153e3b313e55c76
https://github.com/llvm/llvm-project/commit/d36836de0183b9b1939cc679d153e3b313e55c76
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Create descriptor in managed memory when emboxing fir.box_addr value (#120980)
Commit: d8e792931226b15d9d2424ecd24ccfe13adc2367
https://github.com/llvm/llvm-project/commit/d8e792931226b15d9d2424ecd24ccfe13adc2367
Author: Pranav Kant <prka at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Fix -Werror,-Wundefined-bool-conversion after #117513 (#120985)
Commit: 2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
https://github.com/llvm/llvm-project/commit/2ce168baed02c7a6fdb039f4a2d9e48dee31e5c9
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
A llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
M llvm/test/Verifier/sme-attributes.ll
Log Message:
-----------
[AArch64] SME implementation for agnostic-ZA functions (#120150)
This implements the lowering of calls from agnostic-ZA functions to
non-agnostic-ZA functions, using the ABI routines
`__arm_sme_state_size`, `__arm_sme_save` and `__arm_sme_restore`.
This implements the proposal described in the following PRs:
* https://github.com/ARM-software/acle/pull/336
* https://github.com/ARM-software/abi-aa/pull/264
Commit: c2b89fc9e45d325282b8eb6536f6145282dc3fdf
https://github.com/llvm/llvm-project/commit/c2b89fc9e45d325282b8eb6536f6145282dc3fdf
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/include/clang/Basic/BuiltinsHexagon.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Headers/hvx_hexagon_protos.h
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Misc/target-invalid-cpu-note/hexagon.c
M clang/test/Preprocessor/hexagon-predefines.c
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonDepArch.td
M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
M llvm/lib/Target/Hexagon/HexagonSchedule.td
M llvm/lib/Target/Hexagon/HexagonScheduleV75.td
A llvm/lib/Target/Hexagon/HexagonScheduleV79.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/test/MC/Hexagon/arch-support.s
A llvm/test/MC/Hexagon/v79_arch.s
Log Message:
-----------
[Hexagon] Add V79 support to compiler and assembler (#120983)
This patch introduces support for the Hexagon V79 architecture. It
includes instruction formats, definitions, encodings, scheduling
classes, and builtins/intrinsics. It also adds missing Hexagon v73
builtins to clang.
Commit: c7a777322dd8cc171cea9bbc8dbad14277b3587a
https://github.com/llvm/llvm-project/commit/c7a777322dd8cc171cea9bbc8dbad14277b3587a
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Replace else-if dyn_cast with cast (NFC).
The recipes handled here are either VPWidenIntrinsic or VPWidenCast, so
replace the else-if dyn_cast with a single else + cast.
Commit: 4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
https://github.com/llvm/llvm-project/commit/4ad3de3d4d2acb1fed551b6af67ca42f8dce59e6
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
Log Message:
-----------
[NFC][Driver] Simplify linking of ubsan_standalone_cxx (#120938)
Refactoring before linking it only with CFI diag or VPTR.
Almost NFC as `requiresMinimalRuntime() && needsCfiDiagRt()` changed,
but it was unsupported before anyway.
Commit: 5b74fb75d90ef6620741af45f146cefacbd9ecef
https://github.com/llvm/llvm-project/commit/5b74fb75d90ef6620741af45f146cefacbd9ecef
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/allocatable.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/descriptor.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733 (#120997)
Device runtime build have been fixed. Attempt to re-land these patches
that have been approved before.
https://github.com/llvm/llvm-project/pull/118713
https://github.com/llvm/llvm-project/pull/118733
Commit: a60050cf1966eb8d46253c8da13df52ac8b9ec33
https://github.com/llvm/llvm-project/commit/a60050cf1966eb8d46253c8da13df52ac8b9ec33
Author: Hongren Zheng <i at zenithal.me>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[mlir][dataflow] Allow re-run all analyses in DataFlowSolver (#120881)
In downstream (check https://github.com/google/heir/pull/1228,
especially [this
commit](https://github.com/ZenithalHourlyRate/heir/commit/fbf0b2733f1f60e852c757602afac65a4364e30c);
also check https://github.com/google/heir/pull/1154) we often need to
re-run the analysis during the transformation pass as IR get changed
based on the analysis result and analysis continuously get invalidated.
There are solutions to it like `getOrCreateState` for newly created
`Value` (`AnchorT`), but warning is that the new state does not
propagate! This is quite unexpected as user of analysis would expect it
to propagate. We downstream used to use `solver->propagateIfChanged` but
that turned out to be not working, see detailed writeup in
https://github.com/google/heir/issues/1153.
Just call `initializeAndRun` repeatedly also does not solve the problem
as `analysisStates` is not cleared and the monotonicity of
`AnalysisState` will make the analysis invalid as `join` will not work
as expected (the first join is no longer `join(uninitialized, init
value)`, instead it becomes `join(higher value, init value)`.
To correctly re-run the analysis, either a new `DataFlowSolver` is
created, or we can just clear the `analysisState`.
Commit: 927a70daf31b1610627f346b0dc140eda72144b9
https://github.com/llvm/llvm-project/commit/927a70daf31b1610627f346b0dc140eda72144b9
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/task_untied.f90
M flang/test/Lower/OpenMP/task.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:
-----------
Revert "[Flang OpenMP] Add LLVM translation support for UNTIED in Task (#115283)"
This reverts commit 919aead1db64b2f1444842bc75a3af7836238671.
It breaks following LLVM bots:
https://lab.llvm.org/buildbot/#/builders/199
https://lab.llvm.org/buildbot/#/builders/143
https://lab.llvm.org/buildbot/#/builders/17
Commit: fbdf652d970322a00f61333f1ca10facb72f0cbb
https://github.com/llvm/llvm-project/commit/fbdf652d970322a00f61333f1ca10facb72f0cbb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
A llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][COST]Add several test with known vlen, NFC
Commit: ba373096e8ac83a7136fc44bc4e71a7bc53417a6
https://github.com/llvm/llvm-project/commit/ba373096e8ac83a7136fc44bc4e71a7bc53417a6
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/test/tools/yaml2obj/ELF/note-section.yaml
Log Message:
-----------
[ObjectYAML][ELF] Report incorrect offset to generate notes (#118741)
All notes in the note section must be correctly aligned, including the
first. The tool should refuse to generate notes if the section offset is
incorrect in this respect.
Commit: 1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
https://github.com/llvm/llvm-project/commit/1c25a3bfa57209e7a29eaae58ce5e0432aafe8c3
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/test/CoverageMapping/single-byte-counters.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-c-general-single.yaml
M llvm/test/tools/llvm-cov/Inputs/branch-c-general.c
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-macros-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-macros.cpp
A llvm/test/tools/llvm-cov/Inputs/branch-showBranchPercentage.c
A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.proftext
A llvm/test/tools/llvm-cov/Inputs/branch-templates-single.yaml
A llvm/test/tools/llvm-cov/Inputs/branch-templates.cpp
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.proftext
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts-single.yaml
A llvm/test/tools/llvm-cov/Inputs/showLineExecutionCounts.cpp
A llvm/test/tools/llvm-cov/Inputs/yaml.makefile
M llvm/test/tools/llvm-cov/branch-c-general.test
R llvm/test/tools/llvm-cov/branch-logical-mixed.cpp
A llvm/test/tools/llvm-cov/branch-logical-mixed.test
R llvm/test/tools/llvm-cov/branch-macros.cpp
A llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/branch-noShowBranch.test
R llvm/test/tools/llvm-cov/branch-showBranchPercentage.c
A llvm/test/tools/llvm-cov/branch-showBranchPercentage.test
R llvm/test/tools/llvm-cov/branch-templates.cpp
A llvm/test/tools/llvm-cov/branch-templates.test
R llvm/test/tools/llvm-cov/showLineExecutionCounts.cpp
A llvm/test/tools/llvm-cov/showLineExecutionCounts.test
R llvm/test/tools/llvm-cov/threads.c
A llvm/test/tools/llvm-cov/threads.test
Log Message:
-----------
Introduce SingleByteCoverage tests (w/yaml2obj) (#113114)
Restructure some tests to split into `%.test` and Inputs/%.c*`.
Add test actions with `yaml2obj` for single byte coverage. `FileCheck`
lines are:
- Relax to accept both counter values and single values `1`. A few line
counting are greater than `1` due to `llvm-profdata merge`. They will be
fixed by #110972.
- Suppress matching with `--check-prefixes=CHECK,BRCOV`, since the
current implementation of single byte doesn't emit any branch coverages.
They will be integrated to `CHECK` finally.
- Some tests are not unified but use dedicated `CHECK` lines for single
byte, since old format is different (esp. "partial fold"). They will be
unified when `Inputs` will be regenerated.
Introduce llvm/test/tools/llvm-cov/Inputs/yaml.makefile for convenience.
`%-single.yaml` and `%-single.proftext` are generated by it. It could be
used to regenerate other files.
https://discourse.llvm.org/t/rfc-integrating-singlebytecoverage-with-branch-coverage/82492
Commit: 378e1793379c9c63a4265ecf55c47308410ed25d
https://github.com/llvm/llvm-project/commit/378e1793379c9c63a4265ecf55c47308410ed25d
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/IR/Properties.td
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-properties-predicates.td
M mlir/test/mlir-tblgen/op-properties.td
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][Properties] Shorten "Property" to "Prop" in most places (#120368)
Since the property system isn't currently in heavy use, it's probably
the right time to fix a choice I made when expanding ODS property
support.
Specifically, most of the property subclasses, like OptionalProperty or
IntProperty, wrote out the word "Property" in full. The corresponding
classes in the Attribute hierarchy uses the short-form "Attr" in those
cases, as in OptionalAttr or DefaultValuedAttr.
This commit changes all those uses of "Property" to "Prop" in order to
prevent excessively verbose tablegen files that needlessly repeat the
full name of a core concept that can be abbreviated.
So, this commit renames all the FooProperty classes to FooProp, and
keeps the existing names as alias with a Deprecated<> on them to warn
people.
In addition, this commit updates the documentation around properties to
mention the constraint support.
Commit: 5db5dd7689b39c1c50f229f22e9d23b5475d51e1
https://github.com/llvm/llvm-project/commit/5db5dd7689b39c1c50f229f22e9d23b5475d51e1
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
Log Message:
-----------
[mlir][NFC] Document predicate field on properties (#120975)
Commit: ac586fd204e92b76b1ee255342ba26a45a29a1d9
https://github.com/llvm/llvm-project/commit/ac586fd204e92b76b1ee255342ba26a45a29a1d9
Author: Prabhuk <prabhukr at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.h
A clang/test/Driver/uefi-defines.c
M clang/test/Preprocessor/init.c
Log Message:
-----------
[clang] Introduce a new UEFI target predefine. (#111719)
Add a `__UEFI__` predefine for UEFI target.
Co-authored-by: RossComputerGuy
Commit: dbae7176a6ecf558dc5e92016cdda387c9d74d66
https://github.com/llvm/llvm-project/commit/dbae7176a6ecf558dc5e92016cdda387c9d74d66
Author: Vy Nguyen <vyng at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
A llvm/docs/Telemetry.rst
M llvm/docs/UserGuides.rst
A llvm/docs/llvm_telemetry_design.png
A llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/CMakeLists.txt
A llvm/lib/Telemetry/CMakeLists.txt
A llvm/lib/Telemetry/Telemetry.cpp
M llvm/unittests/CMakeLists.txt
A llvm/unittests/Telemetry/CMakeLists.txt
A llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
Reapply "[llvm]Add a simple Telemetry framework" (#120769) (#121003)
This reverts commit 2ec6174bef4bc9ef3d5cedbffd7169017c9669c3.
New changes:
- Use explicit overloads of write(<int types>)
- Fix link error due to missing dependency (lib/Support)
- Updated tests and docs
Commit: 275a27703ec9100a4984d1d0a366d50d3dc887ea
https://github.com/llvm/llvm-project/commit/275a27703ec9100a4984d1d0a366d50d3dc887ea
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/test/tools/llvm-cov/Inputs/branch-logical-mixed.cpp
M llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/showLineExecutionCounts.test
Log Message:
-----------
[Coverage][Single] Round Counters to boolean after evaluation (#110972)
Rounding in merging segments has been done after #75425.
Depends on: #113114
Commit: 93d4b1f7a72f366c1ea91b2d65991266053be8d9
https://github.com/llvm/llvm-project/commit/93d4b1f7a72f366c1ea91b2d65991266053be8d9
Author: Lang Hames <lhames at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)
Reapplies commit edca1d9bad2 which was reverted in 34531cff638 while I
investigated bot failures, (e.g.
https://lab.llvm.org/buildbot/#/builders/137/builds/10791).
Commit 158a60051d2 should address the -check failures on the bots, which
were caused by checks running earlier under the concurrent linking
scheme before all files referenced by the checks had been fully linked.
This patch also fixes the -threads option failure by renaming the option
to -num-threads to avoid clashing with the ThreadCount cl::opt variable
defined in ThinLTOCodeGenerator.cpp.
Commit: 9ab5474e560292d15cb53ed94d248d7e5f54787d
https://github.com/llvm/llvm-project/commit/9ab5474e560292d15cb53ed94d248d7e5f54787d
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/IR/VectorTypeUtils.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Rename `ToVectorTy` to `toVectorTy` (NFC) (#120404)
This is for consistency with other helpers (and also follows the LLVM
naming conventions).
Commit: 9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
https://github.com/llvm/llvm-project/commit/9d0a5d4620a2aa5dc01b150e5ebe7613238cae1c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
Log Message:
-----------
[Telemetry] Add missing virtual destructors (#121015)
Fixes warnings after #121003.
Commit: 030829a7e53fad0eab9b87b5dd49427e9fb13303
https://github.com/llvm/llvm-project/commit/030829a7e53fad0eab9b87b5dd49427e9fb13303
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
Log Message:
-----------
[SLP]Drop samesign flag if the vector node has reduced bitwidth
If the operands of the icmp instructions has reduced bitwidth after
MinBitwidth analysis, need to drop samesign flag to preserve correctness
of the transformation.
Fixes #120823
Commit: 0d6a584f69f07cfb900cdf6c83a10e872a5861f9
https://github.com/llvm/llvm-project/commit/0d6a584f69f07cfb900cdf6c83a10e872a5861f9
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Add an abstract layer to manipulate Data Dependenc… (#109918)
…e Graph
In MachinePipeliner, a DAG class is used to represent the Data
Dependence Graph. Data Dependence Graph generally contains cycles, so
it's not appropriate to use DAG classes. In fact, some "hacks" are used
to express back-edges in the current implementation. This patch adds a
new class to provide a better interface for manipulating dependencies.
Our approach is as follows:
- To build the graph, we use the ScheduleDAGInstrs class as it is,
because it has powerful functions and the current implementation depends
heavily on it.
- After the graph construction is finished (i.e., during scheduling), we
use the new class DataDependenceGraph to manipulate the dependencies.
Since we don't change the dependencies during scheduling, the new class
only provides functions to read them. Also, this patch is just a
refactoring, i.e., scheduling results should not change with or without
this patch.
Commit: 7d166fa38470a23f3134a3793b9236b2a5c68fcf
https://github.com/llvm/llvm-project/commit/7d166fa38470a23f3134a3793b9236b2a5c68fcf
Author: khaki3 <47756807+khaki3 at users.noreply.github.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/runtime/CUDA/kernel.cpp
Log Message:
-----------
[flang][cuda] Correct the number of blocks when setting the grid to `*` (#121000)
We set the `gridX` argument of `_FortranACUFLaunchKernel` to `-1` when
`*` is passed to the grid parameter. We store it in one of `dim3`
members. However, `dim3` members are unsigned, so positive-value checks
we use later, such as `gridDim.x > 0`, are invalid. This PR utilizes the
original gird-size arguments to compute the number of blocks.
Commit: 2c95e60df53ba1a5765b3fad9e8ddaff70f21994
https://github.com/llvm/llvm-project/commit/2c95e60df53ba1a5765b3fad9e8ddaff70f21994
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/unittests/Telemetry/TelemetryTest.cpp
Log Message:
-----------
TelemetryTest.cpp: Suppress a warning in #121003 [-Wunused-private-field]
Commit: 7ec139ad4bc09857ab2b93926feef0d110071668
https://github.com/llvm/llvm-project/commit/7ec139ad4bc09857ab2b93926feef0d110071668
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
Revert "Reapply "[llvm-jitlink] Use concurrent linking by default." with fixes. (#120958)"
Caused random failures.
This reverts commit 93d4b1f7a72f366c1ea91b2d65991266053be8d9.
(llvmorg-20-init-16299-g93d4b1f7a72f)
Commit: 4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
https://github.com/llvm/llvm-project/commit/4cb2a519db10f54815c8a4ccd5accbedc1cdfd07
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2024-12-23 (Mon, 23 Dec 2024)
Changed paths:
M flang/include/flang/Runtime/CUDA/allocator.h
M flang/include/flang/Runtime/CUDA/common.h
M flang/include/flang/Runtime/allocatable.h
M flang/include/flang/Runtime/allocator-registry.h
M flang/include/flang/Runtime/descriptor.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
M flang/runtime/CUDA/allocatable.cpp
M flang/runtime/CUDA/allocator.cpp
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/allocatable.cpp
M flang/runtime/array-constructor.cpp
M flang/runtime/descriptor.cpp
M flang/test/HLFIR/elemental-codegen.fir
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocatable-runtime.f90
M flang/test/Lower/allocate-mold.f90
M flang/test/Lower/polymorphic.f90
M flang/unittests/Runtime/CUDA/Allocatable.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/Memory.cpp
Log Message:
-----------
Revert "Reland '[flang] Allow to pass an async id to allocate the descriptor (#118713)' and #118733" (#121029)
This still cause issue for device runtime build.
Commit: df12983610dfb4f33ab4fa406a267f39d4c65248
https://github.com/llvm/llvm-project/commit/df12983610dfb4f33ab4fa406a267f39d4c65248
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M flang/runtime/exceptions.cpp
Log Message:
-----------
[flang] build fix (#121032)
Place floating point environment calls under '#ifdef __USE_GNU'.
Commit: ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
https://github.com/llvm/llvm-project/commit/ccbbacf0fa98bd386c0a7b3bdfb85c43e7db1a93
Author: David Green <david.green at arm.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
Log Message:
-----------
[ARM] Fix MVE incrementing gather offset calculation
The code was checking the gep ptr type as opposed to the gep source element
type in calculating the offset scale.
Fixes #120993
Commit: c84f5a9e00c02e6a4349846ed59ec85154b65e3f
https://github.com/llvm/llvm-project/commit/c84f5a9e00c02e6a4349846ed59ec85154b65e3f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/utils/git/code-format-helper.py
Log Message:
-----------
[Github] Skip MIR files for undef check (#120919)
This patch skips checking files with a .mir extension for the presence
of undef. This was creating false positives that got reported on
discourse.
Commit: b2073fb9b9282c0f59861a137660f6a0782d7468
https://github.com/llvm/llvm-project/commit/b2073fb9b9282c0f59861a137660f6a0782d7468
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
Log Message:
-----------
[AArch64] Prefer SVE2.2 zeroing forms of certain instructions with an all-true predicate (#120595)
When the predicate of a destructive operation is known to be all-true,
for example
fabs z0.s, p0/m, z1.s
then the entire output register is written and we can use a zeroing
(instead of a merging) form of the instruction, for example
fabs z0.s, p0/z, z1.s
thus eliminate the dependency on the input-output destination register
without the need to insert a `movprfx`.
This patch complements (and in the case of
https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb,
fixes a regression) the following:
https://github.com/llvm/llvm-project/commit/7f4414b2a1a4d9f802a03f56894c406f0fe3e9a9
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (4/11)
(https://github.com/llvm/llvm-project/pull/116830)
https://github.com/llvm/llvm-project/commit/2474cf7ad123ea14308293a2237e3552cddb1136
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (3/11)
(https://github.com/llvm/llvm-project/pull/116829)
https://github.com/llvm/llvm-project/commit/6f285d31159501050de5563b1a844a3e1ac79a03
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (2/11)
(https://github.com/llvm/llvm-project/pull/116828)
https://github.com/llvm/llvm-project/commit/2b3266c1701f315d7e89c81977800001563afacb
[AArch64] Generate zeroing forms of certain SVE2.2 instructions (1/11)
(https://github.com/llvm/llvm-project/pull/116259)
Commit: c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
https://github.com/llvm/llvm-project/commit/c858bf620c3ab2a4db53e84b9365b553c3ad1aa6
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
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/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
A llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
Reland "[LoopVectorizer] Add support for partial reductions" (#120721)
This re-lands the reverted #92418
When the VF is small enough so that dividing the VF by the scaling
factor results in 1, the reduction phi execution thinks the VF is scalar
and sets the reduction's output as a scalar value, tripping assertions
expecting a vector value. The latest commit in this PR fixes that by
using `State.VF` in the scalar check, rather than the divided VF.
---------
Co-authored-by: Nicholas Guy <nicholas.guy at arm.com>
Commit: 10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
https://github.com/llvm/llvm-project/commit/10c18ab7e6c46d9daeb558d47be1f06c53c5ed0e
Author: Nico Weber <thakis at chromium.org>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
A llvm/utils/gn/secondary/llvm/lib/Telemetry/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/BUILD.gn
A llvm/utils/gn/secondary/llvm/unittests/Telemetry/BUILD.gn
Log Message:
-----------
[gn] port dbae7176a6ec (LLVMTelemetry)
Commit: 8e1cb96db84a70b2c803c28a359c8bb71395f35e
https://github.com/llvm/llvm-project/commit/8e1cb96db84a70b2c803c28a359c8bb71395f35e
Author: vabridgers <58314289+vabridgers at users.noreply.github.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
R clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp
Log Message:
-----------
[analyzer] Split alpha core Identical Expression tests (#119543)
Split the remnant test from PR #114715, "Remove alpha.core.IdenticalExpr
Checker" into seperate tests for misc-redundant-expression and
bugprone-branch-clone per review comment requests.
---------
Co-authored-by: einvbri <vince.a.bridgers at ericsson.com>
Commit: 334a5766d7591bfaadf6990b3d8568c9688e22a5
https://github.com/llvm/llvm-project/commit/334a5766d7591bfaadf6990b3d8568c9688e22a5
Author: Richard Dzenis <richard at dzenis.dev>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
A llvm/test/tools/llvm-objcopy/MachO/globalize-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/keep-global-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/localize-symbol.test
A llvm/test/tools/llvm-objcopy/MachO/skip-symbol.test
Log Message:
-----------
[llvm-objcopy] Add support of symbol modification flags for MachO (#120895)
This patch adds support of the following llvm-objcopy flags for MachO:
- `--globalize-symbol`, `--globalize-symbols`,
- `--keep-global-symbol`, `-G`, `--keep-global-symbols`,
- `--localize-symbol`, `-L`, `--localize-symbols`,
- `--skip-symbol`, `--skip-symbols`.
Code in `updateAndRemoveSymbols` for MachO
is kept similar to its version for ELF.
Fixes #120894
Commit: ffc7380ff4808fcc21350a39caf7f34073b41697
https://github.com/llvm/llvm-project/commit/ffc7380ff4808fcc21350a39caf7f34073b41697
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M libcxx/include/__fwd/memory.h
M libcxx/include/__ostream/basic_ostream.h
Log Message:
-----------
[libc++] Avoid including shared_ptr.h in basic_ostream.h (#121049)
Commit: 2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
https://github.com/llvm/llvm-project/commit/2ff614aaa6eb94bc5d02c8f0fb70a1132acb4423
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/index.rst
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp
Log Message:
-----------
[clang-tidy] support parameters file in command line (#120547)
Fixes: #103499
Commit: 6bafbc99b0df7d5554af63115d78d0d97065862a
https://github.com/llvm/llvm-project/commit/6bafbc99b0df7d5554af63115d78d0d97065862a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
Log Message:
-----------
[SLP][NFC]Add a test with incorrect (more poisnous) reduction chain
Commit: f0f8dab712967b8fca5fcca4d7338b1d25017634
https://github.com/llvm/llvm-project/commit/f0f8dab712967b8fca5fcca4d7338b1d25017634
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
Log Message:
-----------
[SLP]Check if the first reduced value requires freeze/swap, if it may be too poisonous
If several reduced values are combined and the first reduced value is
just the original reduced value of the bool logical op, need to freeze
it to prevent the propagation of the poison value.
Fixes #114905
Commit: 8dbb33762cfb8d8606d28a71293f437ddffee4af
https://github.com/llvm/llvm-project/commit/8dbb33762cfb8d8606d28a71293f437ddffee4af
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
Log Message:
-----------
[analyzer] Simplify CallEvent castArgToParamTypeIfNeeded (#120981)
I noticed recently that this code (that I wrote xD) uses the
`getRuntimeDefinition()` which isn't quite necessary for the simple task
this function was designed for.
Why would it be better not using this API here?
I'm experimenting with improving how virtual functions are inlined,
where depending on our ability of deducing the dynamic type of the
object we may end up with inaccurate type information. Such inaccuracy
would mean that we may have multiple runtime definitions. After that,
this code would become ambiguous.
To resolve this, I decided to refactor this and use a simpler - but
equivalent approach.
Commit: 0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
https://github.com/llvm/llvm-project/commit/0d6cb0ae9d4ff610f729d0fd1bbd27227e6628cf
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Fix strict weak ordering criterion in comparators
Fixes #121019
Commit: 852feea820f3f8b2fc44c851cc3ce5fe9576fa64
https://github.com/llvm/llvm-project/commit/852feea820f3f8b2fc44c851cc3ce5fe9576fa64
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP]Propagate AssumptionCache where possible
Commit: 6e3631d0e3316394ff4eae2913013d323e685790
https://github.com/llvm/llvm-project/commit/6e3631d0e3316394ff4eae2913013d323e685790
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
Log Message:
-----------
[mlir][scf] Track replacements using a listener in TileAndFuse (#120999)
This PR makes TileAndFuse explicitly track replacements using a listener
instead of assuming that the results always come from the outer most
tiling loop. scf::tileUsingInterface can introduce merge operations
whose results are the actual replacements to use, instead of the outer
most loop results.
Commit: 2d038caeebc8c5e49915c0db7c7eb21116c71de2
https://github.com/llvm/llvm-project/commit/2d038caeebc8c5e49915c0db7c7eb21116c71de2
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/uint64_to_fp64-cost-model.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
Log Message:
-----------
[VPlan] Remove stray space when printing VPWidenCastRecipe.
printFlags() already takes care of printing a single space if there are
no flags. Remove the extra space when printing a recipe without flags.
Commit: 07d284d4ebffd58d4b2934769b4e11fedd0b106e
https://github.com/llvm/llvm-project/commit/07d284d4ebffd58d4b2934769b4e11fedd0b106e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/scalarization-overhead.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/alternate-cmp-swapped-pred-parent.ll
M llvm/test/Transforms/SLPVectorizer/extract-many-users-buildvector.ll
M llvm/test/Transforms/SLPVectorizer/full-overlap-non-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/gathered-consecutive-loads-different-types.ll
M llvm/test/Transforms/SLPVectorizer/reorder-clustered-node.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
Log Message:
-----------
[SLP]Add cost estimation for gather node reshuffling
Adds cost estimation for the variants of the permutations of the scalar
values, used in gather nodes. Currently, SLP just unconditionally emits
shuffles for the reused buildvectors, but in some cases better to leave
them as buildvectors rather than shuffles, if the cost of such
buildvectors is better.
X86, AVX512, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: External/SPEC/CINT2006/445.gobmk/445.gobmk.test 912998.00 913238.00 0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 203070.00 203102.00 0.0%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1396320.00 1396448.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1396320.00 1396448.00 0.0%
test-suite :: MultiSource/Benchmarks/Bullet/bullet.test 309790.00 309678.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12477607.00 12470807.00 -0.1%
CINT2006/445.gobmk - extra code vectorized
MiBench/consumer-lame - small variations
CFP2017speed/638.imagick_s
CFP2017rate/538.imagick_r - extra vectorized code
Benchmarks/Bullet - extra code vectorized
CFP2017rate/526.blender_r - extra vector code
RISC-V, sifive-p670, -O3+LTO
CFP2006/433.milc - regressions, should be fixed by https://github.com/llvm/llvm-project/pull/115173
CFP2006/453.povray - extra vectorized code
CFP2017rate/508.namd_r - better vector code
CFP2017rate/510.parest_r - extra vectorized code
SPEC/CFP2017rate - extra/better vector code
CFP2017rate/526.blender_r - extra vectorized code
CFP2017rate/538.imagick_r - extra vectorized code
CINT2006/403.gcc - extra vectorized code
CINT2006/445.gobmk - extra vectorized code
CINT2006/464.h264ref - extra vectorized code
CINT2006/483.xalancbmk - small variations
CINT2017rate/525.x264_r - better vectorization
Reviewers: RKSimon
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/115201
Commit: f2334c5919ec077e6a8deeaf43a5b5188baf0251
https://github.com/llvm/llvm-project/commit/f2334c5919ec077e6a8deeaf43a5b5188baf0251
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/latency/cpu-pinning.s
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Make benchmark pinning actually work
When originally writing this feature up, I apparently completely forgot
to actually make the test exercise it and left an extra exit in the
function implementing the functionality without the appropriate
preprocessor macros around it, causing things to never work. This patch
should fix that.
Commit: 4b3d439e7e7b4e794e523caea9863d67ff8cf85f
https://github.com/llvm/llvm-project/commit/4b3d439e7e7b4e794e523caea9863d67ff8cf85f
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/test/MC/RISCV/XVentanaCondOps-valid.s
M llvm/test/MC/RISCV/Zawrs-valid.s
M llvm/test/MC/RISCV/Ztso.s
M llvm/test/MC/RISCV/compress-cjal.s
M llvm/test/MC/RISCV/compress-debug-info.s
M llvm/test/MC/RISCV/compress-rv32d.s
M llvm/test/MC/RISCV/compress-rv32f.s
M llvm/test/MC/RISCV/compress-rv32i.s
M llvm/test/MC/RISCV/compress-rv64i.s
M llvm/test/MC/RISCV/compressed-relocations.s
M llvm/test/MC/RISCV/compressed-zicfiss.s
M llvm/test/MC/RISCV/corev/XCValu-valid.s
M llvm/test/MC/RISCV/corev/XCVmac-valid.s
M llvm/test/MC/RISCV/debug-valid.s
M llvm/test/MC/RISCV/deprecated-csr-names.s
M llvm/test/MC/RISCV/fixups-binary-expression.s
M llvm/test/MC/RISCV/fixups.s
M llvm/test/MC/RISCV/fp-default-rounding-mode.s
M llvm/test/MC/RISCV/fp-inx-default-rounding-mode.s
M llvm/test/MC/RISCV/hypervisor-csr-names.s
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/insn_c.s
M llvm/test/MC/RISCV/machine-csr-names.s
M llvm/test/MC/RISCV/option-nopic.s
M llvm/test/MC/RISCV/option-pic.s
M llvm/test/MC/RISCV/option-pushpop.s
M llvm/test/MC/RISCV/option-rvc.s
M llvm/test/MC/RISCV/print-imm-hex.s
M llvm/test/MC/RISCV/priv-valid.s
M llvm/test/MC/RISCV/relocations.s
M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-machine-csr-names.s
M llvm/test/MC/RISCV/rv32-supervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-user-csr-names.s
M llvm/test/MC/RISCV/rv32c-aliases-valid.s
M llvm/test/MC/RISCV/rv32c-only-valid.s
M llvm/test/MC/RISCV/rv32dc-valid.s
M llvm/test/MC/RISCV/rv32fc-aliases-valid.s
M llvm/test/MC/RISCV/rv32fc-valid.s
M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv32i-only-valid.s
M llvm/test/MC/RISCV/rv32zbb-aliases-valid.s
M llvm/test/MC/RISCV/rv32zbb-only-valid.s
M llvm/test/MC/RISCV/rv32zbs-aliases-valid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-valid.s
M llvm/test/MC/RISCV/rv32zfa-only-valid.s
M llvm/test/MC/RISCV/rv32zicfiss-invalid.s
M llvm/test/MC/RISCV/rv32zmmul-invaild.s
M llvm/test/MC/RISCV/rv32zmmul-valid.s
M llvm/test/MC/RISCV/rv64-machine-csr-names.s
M llvm/test/MC/RISCV/rv64-user-csr-names.s
M llvm/test/MC/RISCV/rv64a-aliases-valid.s
M llvm/test/MC/RISCV/rv64c-aliases-valid.s
M llvm/test/MC/RISCV/rv64c-hints-valid.s
M llvm/test/MC/RISCV/rv64c-valid.s
M llvm/test/MC/RISCV/rv64d-aliases-valid.s
M llvm/test/MC/RISCV/rv64d-valid.s
M llvm/test/MC/RISCV/rv64dc-valid.s
M llvm/test/MC/RISCV/rv64e-valid.s
M llvm/test/MC/RISCV/rv64e-zcmp-valid.s
M llvm/test/MC/RISCV/rv64f-aliases-valid.s
M llvm/test/MC/RISCV/rv64f-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-valid.s
M llvm/test/MC/RISCV/rv64ih-valid.s
M llvm/test/MC/RISCV/rv64m-valid.s
M llvm/test/MC/RISCV/rv64zaamo-valid.s
M llvm/test/MC/RISCV/rv64zacas-valid.s
M llvm/test/MC/RISCV/rv64zalasr-valid.s
M llvm/test/MC/RISCV/rv64zalrsc-valid.s
M llvm/test/MC/RISCV/rv64zba-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbb-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbb-valid.s
M llvm/test/MC/RISCV/rv64zbs-aliases-valid.s
M llvm/test/MC/RISCV/rv64zcb-valid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-valid.s
M llvm/test/MC/RISCV/rv64zdinx-valid.s
M llvm/test/MC/RISCV/rv64zfh-valid.s
M llvm/test/MC/RISCV/rv64zfinx-valid.s
M llvm/test/MC/RISCV/rv64zhinx-valid.s
M llvm/test/MC/RISCV/rv64zhinxmin-valid.s
M llvm/test/MC/RISCV/rv64zicfiss-invalid.s
M llvm/test/MC/RISCV/rv64zmmul-invalid.s
M llvm/test/MC/RISCV/rv64zmmul-valid.s
M llvm/test/MC/RISCV/rva-aliases-valid.s
M llvm/test/MC/RISCV/rvc-aliases-valid.s
M llvm/test/MC/RISCV/rvc-hints-valid.s
M llvm/test/MC/RISCV/rvc-valid.s
M llvm/test/MC/RISCV/rvd-aliases-valid.s
M llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rvdc-aliases-valid.s
M llvm/test/MC/RISCV/rve-valid.s
M llvm/test/MC/RISCV/rvf-aliases-valid.s
M llvm/test/MC/RISCV/rvf-user-csr-names.s
M llvm/test/MC/RISCV/rvf-valid.s
M llvm/test/MC/RISCV/rvi-valid.s
M llvm/test/MC/RISCV/rvih-valid.s
M llvm/test/MC/RISCV/rvk-user-csr-name.s
M llvm/test/MC/RISCV/rvm-valid.s
M llvm/test/MC/RISCV/rvv-user-csr-names.s
M llvm/test/MC/RISCV/rvv/aliases.s
M llvm/test/MC/RISCV/rvv/fothers.s
M llvm/test/MC/RISCV/rvv/freduction.s
M llvm/test/MC/RISCV/rvv/load.s
M llvm/test/MC/RISCV/rvv/others.s
M llvm/test/MC/RISCV/rvv/store.s
M llvm/test/MC/RISCV/rvv/zvlsseg.s
M llvm/test/MC/RISCV/rvzaamo-valid.s
M llvm/test/MC/RISCV/rvzabha-valid.s
M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
M llvm/test/MC/RISCV/rvzacas-valid.s
M llvm/test/MC/RISCV/rvzalasr-valid.s
M llvm/test/MC/RISCV/rvzalrsc-valid.s
M llvm/test/MC/RISCV/rvzbb-valid.s
M llvm/test/MC/RISCV/rvzcb-invalid.s
M llvm/test/MC/RISCV/rvzcb-valid.s
M llvm/test/MC/RISCV/rvzcmt-invalid.s
M llvm/test/MC/RISCV/rvzcmt-user-csr-name.s
M llvm/test/MC/RISCV/rvzcmt-valid.s
M llvm/test/MC/RISCV/rvzdinx-aliases-valid.s
M llvm/test/MC/RISCV/rvzdinx-valid.s
M llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-aliases-valid.s
M llvm/test/MC/RISCV/rvzfh-valid.s
M llvm/test/MC/RISCV/rvzfhmin-valid.s
M llvm/test/MC/RISCV/rvzfinx-aliases-valid.s
M llvm/test/MC/RISCV/rvzfinx-valid.s
M llvm/test/MC/RISCV/rvzhinx-aliases-valid.s
M llvm/test/MC/RISCV/rvzhinx-valid.s
M llvm/test/MC/RISCV/rvzhinxmin-valid.s
M llvm/test/MC/RISCV/rvzihintntl-valid.s
M llvm/test/MC/RISCV/rvzihintpause-valid.s
M llvm/test/MC/RISCV/smctr-ssctr-valid.s
M llvm/test/MC/RISCV/smrnmi-valid.s
M llvm/test/MC/RISCV/supervisor-csr-names.s
M llvm/test/MC/RISCV/user-csr-names.s
M llvm/test/MC/RISCV/xqcia-valid.s
M llvm/test/MC/RISCV/xqcics-valid.s
M llvm/test/MC/RISCV/xqcicsr-valid.s
M llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
M llvm/test/MC/RISCV/xqcilsm-valid.s
M llvm/test/MC/RISCV/xqcisls-valid.s
M llvm/test/MC/RISCV/xsifive-valid.s
M llvm/test/MC/RISCV/xwchc-compress.s
M llvm/test/MC/RISCV/xwchc-valid.s
M llvm/test/MC/RISCV/zfa-double-invalid.s
M llvm/test/MC/RISCV/zfa-half-invalid.s
M llvm/test/MC/RISCV/zfa-valid.s
M llvm/test/MC/RISCV/zfa-zfhmin-zvfh-valid.s
M llvm/test/MC/RISCV/zicfilp-invalid.s
M llvm/test/MC/RISCV/zicfilp-valid.s
M llvm/test/MC/RISCV/zicfiss-valid.s
Log Message:
-----------
[test] Replace -riscv-no-alises with -M no-aliases
The new option from https://reviews.llvm.org/D103004 is preferred.
Commit: 24ff23fb3af95bb3a2e5af1e95f94a3e308a5a6a
https://github.com/llvm/llvm-project/commit/24ff23fb3af95bb3a2e5af1e95f94a3e308a5a6a
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
Log Message:
-----------
[llvm-exegesis][Docs] Add documentation on benchmark-process-cpu option
This patch adds documentation on the benchmark-process-cpu option. I
apparently did not add any documentation when originally implementing
the feature.
Commit: 48a6e51445d61101fa42ffbf9997e5d54a02fc18
https://github.com/llvm/llvm-project/commit/48a6e51445d61101fa42ffbf9997e5d54a02fc18
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
Log Message:
-----------
[llvm-exegesis] Fix typo in f2334c5919ec077e6a8deeaf43a5b5188baf0251
This should have been in the original commit, but I somehow forgot to
run git add && git commit --amend --no-edit between making the change in
my editor, saving the file, and pushing the commit.
Commit: cd66c9b6a04689659348c0a3ff4c1205b1133fe9
https://github.com/llvm/llvm-project/commit/cd66c9b6a04689659348c0a3ff4c1205b1133fe9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/include/clang/Driver/SanitizerArgs.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/sanitizer-ld.c
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/hwasan/CMakeLists.txt
M compiler-rt/lib/msan/CMakeLists.txt
M compiler-rt/lib/tsan/rtl/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp
Log Message:
-----------
[Ubsan][Driver] Remove UBSAN C++ runtime from other sanitizers (#121006)
Linking this runtime requires C++ ABI, which breaks -nostdlib++ builds.
However, UBSAN C++ runtime is only needed for CFI and VPTR checks.
Unblocks #120370.
Commit: 34f8573a514915222630cf21e8a0c901a25f4ca0
https://github.com/llvm/llvm-project/commit/34f8573a514915222630cf21e8a0c901a25f4ca0
Author: Joseph Huber <huberjn at outlook.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
M clang/test/Driver/openmp-offload-gpu.c
M offload/DeviceRTL/CMakeLists.txt
M offload/DeviceRTL/src/Misc.cpp
M offload/DeviceRTL/src/Reduction.cpp
M openmp/docs/ReleaseNotes.rst
Log Message:
-----------
[OpenMP] Use generic IR for the OpenMP DeviceRTL (#119091)
Summary:
We previously built this for every single architecture to deal with
incompatibility. This patch updates it to use the 'generic' IR that
`libc` and other projects use. Who knows if this will have any
side-effects, probably worth testing more but it passes the tests I
expect to pass on my side.
Commit: 970f65a98a681831e308860e7004e066f5152791
https://github.com/llvm/llvm-project/commit/970f65a98a681831e308860e7004e066f5152791
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/test/Preprocessor/predefined-win-macros.c
Log Message:
-----------
[Clang][MIPS] Create specific targets for MIPS PE/COFF (#121040)
Implement GNU and MSVC variants.
When using them, _WIN32 and _M_MRX000/_MIPS_ macros are correctly
defined.
Commit: 88d04be815bd289c691ab81061ac8a573ad15677
https://github.com/llvm/llvm-project/commit/88d04be815bd289c691ab81061ac8a573ad15677
Author: Kinoshita Kotaro <k.kotaro at fujitsu.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[AArch64][docs] Add release notes for FUJITSU-MONAKA support (#120684)
Adds release notes for the FUJITSU-MONAKA support introduced in PR #118432.
These notes were missing from the original PR.
Commit: b5f0ec80d59d054617994f0de409c38fabc8c207
https://github.com/llvm/llvm-project/commit/b5f0ec80d59d054617994f0de409c38fabc8c207
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Remove redundant printing final in VPlan::execute (#121048)
Multiple prints will cause problems when testing ir-bb
Commit: ac1d560709d2ecfe83a98285d4a13afae6db4316
https://github.com/llvm/llvm-project/commit/ac1d560709d2ecfe83a98285d4a13afae6db4316
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M libcxx/docs/Hardening.rst
M libcxx/include/bitset
M libcxx/include/valarray
A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
Log Message:
-----------
[libc++][hardening] Add a bounds check for `valarray` and `bitset`. (#120685)
Add a `valid-element-access` check to `valarray::operator[]` and
`bitset::operator[]`.
Commit: 56600c11add12aababdd313c43650facf2a0338f
https://github.com/llvm/llvm-project/commit/56600c11add12aababdd313c43650facf2a0338f
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
Log Message:
-----------
MCAsmInfo: replace HLASM-specific variables with IsHLASM
HLASM is very different from the gas syntax. We don't expect other
targets to customize the differences. Unify the numerous variables.
Commit: 34f70007348d2d1a0e59fc0996e90a0b6fba1933
https://github.com/llvm/llvm-project/commit/34f70007348d2d1a0e59fc0996e90a0b6fba1933
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
Log Message:
-----------
[clang-tidy]link LLVMTargetParser (#121072)
Fix build issue introduced in #120547
Commit: d3846eca2061e6e9a8d654551153f7362c27b59a
https://github.com/llvm/llvm-project/commit/d3846eca2061e6e9a8d654551153f7362c27b59a
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Transforms/sccp.mlir
Log Message:
-----------
[mlir] Guard sccp pass from crashing with different source type (#120656)
Vector::BroadCastOp expects the identical element type in folding. It
causes the crash if the different source type is given to the SCCP pass.
We need to guard the pass from crashing if the nonidentical element type
is given, but still compatible. (e.g. index vs integer type)
https://github.com/llvm/llvm-project/issues/120193
Commit: 1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
https://github.com/llvm/llvm-project/commit/1de228fa9bf07c118294b53e3da37ab2b5ff1fd4
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M llvm/utils/gn/secondary/compiler-rt/lib/lsan/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
Log Message:
-----------
[ubsan] Remove UBSAN_CAN_USE_CXXABI (#121082)
It's should be enough to provide weak implementation.
Fixes solaris and android linking after #121006.
Commit: a1328c077c9bae5c3b3cb952fe817c4881569cbc
https://github.com/llvm/llvm-project/commit/a1328c077c9bae5c3b3cb952fe817c4881569cbc
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M compiler-rt/lib/asan/tests/CMakeLists.txt
Log Message:
-----------
[ubsan] Fix android build
Broken by #121006.
Commit: 6a7687c455125f6597a9719227a0efcb7f71e572
https://github.com/llvm/llvm-project/commit/6a7687c455125f6597a9719227a0efcb7f71e572
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M mlir/cmake/modules/AddMLIR.cmake
M mlir/cmake/modules/AddMLIRPython.cmake
Log Message:
-----------
[mlir][python] Support `CLANG_CL` (#121075)
Commit: 141c544c03702ac7c50522373ad781ede3685e0a
https://github.com/llvm/llvm-project/commit/141c544c03702ac7c50522373ad781ede3685e0a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/SortIncludesTest.cpp
Log Message:
-----------
[clang-format] Skip line splices when sorting C++ includes (#120680)
Fixes #109864.
Commit: 5d81b1490022d04eb8862791fbcb25018a6860e3
https://github.com/llvm/llvm-project/commit/5d81b1490022d04eb8862791fbcb25018a6860e3
Author: Pranav Kant <prka at google.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[clang-tidy][bazel] Fix #120547
Commit: 25bb6592c974aed8702767cad4a64de9b5c60aed
https://github.com/llvm/llvm-project/commit/25bb6592c974aed8702767cad4a64de9b5c60aed
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
MCAsmInfo: replace AIX-specific variables with IsAIX
AIX assembly is very different from the gas syntax. We don't expect
other targets to share these differences. Unify the numerous,
essentially AIX-specific variables.
Commit: 32962f2b77c4298f9ef58182581edf56c76ac685
https://github.com/llvm/llvm-project/commit/32962f2b77c4298f9ef58182581edf56c76ac685
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
Log Message:
-----------
[ubsan] Try to fix Windows
Commit: e3846c0fecb5992110788be18cd04f70103bc778
https://github.com/llvm/llvm-project/commit/e3846c0fecb5992110788be18cd04f70103bc778
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M mlir/CMakeLists.txt
Log Message:
-----------
[mlir] [test] Fix missing SHLIB definition in standalone builds (#120907)
Define the `LLVM_SHLIB_OUTPUT_INTDIR` variable that is used by
`configure_lit_site_cfg` to fill `SHLIBDIR`. This fixes tool tests that
would otherwise be unable to find MLIR's runtime shared libraries (e.g.
`libmlir_runner_utils.so`). The logic is copied verbatim from Clang.
Commit: 6b471b30d7dbce589af16b39f9eb960195a8cd02
https://github.com/llvm/llvm-project/commit/6b471b30d7dbce589af16b39f9eb960195a8cd02
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M mlir/CMakeLists.txt
Log Message:
-----------
[mlir] [test] Fix unittests in standalone builds (#120910)
Fix the logic used to run unit tests to account for `llvm_gtest` targets
being installed, since 91b3ca39667b6341a8c1983a1467fae14b58318b. This
involves removing a rule that would cause a duplicate `llvm_gtest`
target being created, and updates the method for determining whether
unittests can be run to checking whether the target is present, rather
than the source directory (that is no longer actually necessary).
Commit: 9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
https://github.com/llvm/llvm-project/commit/9e38e87c8cd39403682f6d4f65fe7b1e6a04955b
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M mlir/test/CMakeLists.txt
Log Message:
-----------
[mlir] [test] Do not add dependencies on llvm tools in standalone builds (#120911)
Since LLVM tools are installed system-wide, adding dependencies on them
is unnecessary. Furthermore, it is problematic for multilib builds,
where the tools are only built once, for the native ABI, and therefore
are not listed in CMake files for non-native ABIs.
Commit: 319b89197348b7cad1215e235bdc7b5ec8f9b72c
https://github.com/llvm/llvm-project/commit/319b89197348b7cad1215e235bdc7b5ec8f9b72c
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
Log Message:
-----------
MCAsmInfo: remove unused DwarfSectionSizeRequired
Commit: 74496b03f7db43caae4c3bda79379623a4657a00
https://github.com/llvm/llvm-project/commit/74496b03f7db43caae4c3bda79379623a4657a00
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-24 (Tue, 24 Dec 2024)
Changed paths:
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/hwasan/CMakeLists.txt
Log Message:
-----------
[asan][hwasan] Link RTUbsan_cxx into shared runtime
There is no shared version RTUbsan_cxx.
Fix android after #121006.
Commit: 2d3d62d77e2d011c9dbdb12732aca3070efc83ca
https://github.com/llvm/llvm-project/commit/2d3d62d77e2d011c9dbdb12732aca3070efc83ca
Author: Ivan Aksamentov <ivan.aksamentov at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M flang/include/flang/Common/idioms.h
Log Message:
-----------
[flang] fix: split ifndef for CHECK and CHECK_MSG (#114707)
Resolves https://github.com/llvm/llvm-project/issues/114703
I think it's the best practice that each macro has it's own `ifndef`
check and this way the build issue is resolved for me.
I also find the names of these macro a bit too generic - an easy recipe
for conflicts. In my case, the error was likely caused by something else
defining `CHECK` but not `CHECK_MSG`, so likely these `CHECK` and
`CHECK_MSG` weren't actually working at all because the result of
`ifndef` is always false.
As a definitive fix, perhaps it makes sense to rename them to something
more specific, e.g. `FLANG_CHECK` and `FLANG_CHECK_MSG`.
Commit: c29536b0336586b2ed7bafedf82c9f4e254cfaa6
https://github.com/llvm/llvm-project/commit/c29536b0336586b2ed7bafedf82c9f4e254cfaa6
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
R llvm/test/TableGen/ContextlessPredicates.td
R llvm/test/TableGen/DefaultOpsGlobalISel.td
R llvm/test/TableGen/GlobalISelEmitter-PR39045.td
R llvm/test/TableGen/GlobalISelEmitter-SDNodeXForm-timm.td
R llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
R llvm/test/TableGen/GlobalISelEmitter-frameindex.td
R llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
R llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
R llvm/test/TableGen/GlobalISelEmitter-implicit-defs.td
R llvm/test/TableGen/GlobalISelEmitter-input-discard.td
R llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
R llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
R llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
R llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
R llvm/test/TableGen/GlobalISelEmitter-optional-def.td
R llvm/test/TableGen/GlobalISelEmitter-output-discard.td
R llvm/test/TableGen/GlobalISelEmitter-setcc.td
R llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
R llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
R llvm/test/TableGen/GlobalISelEmitter.td
A llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
A llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
A llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
A llvm/test/TableGen/GlobalISelEmitter/Flags.td
A llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
A llvm/test/TableGen/GlobalISelEmitter/HwModes.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand.td
A llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
A llvm/test/TableGen/GlobalISelEmitter/PR39045.td
A llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
A llvm/test/TableGen/GlobalISelEmitter/SDNodeXForm-timm.td
A llvm/test/TableGen/GlobalISelEmitter/SkippedPatterns.td
A llvm/test/TableGen/GlobalISelEmitter/Subreg.td
A llvm/test/TableGen/GlobalISelEmitter/Variadic.td
A llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
A llvm/test/TableGen/GlobalISelEmitter/frameindex.td
A llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
A llvm/test/TableGen/GlobalISelEmitter/immAllZeroOne.td
A llvm/test/TableGen/GlobalISelEmitter/immarg-literal-pattern.td
A llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
A llvm/test/TableGen/GlobalISelEmitter/immarg.td
A llvm/test/TableGen/GlobalISelEmitter/implicit-defs.td
A llvm/test/TableGen/GlobalISelEmitter/input-discard.td
A llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
A llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
A llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
A llvm/test/TableGen/GlobalISelEmitter/notype-output-pattern.td
A llvm/test/TableGen/GlobalISelEmitter/optional-def.td
A llvm/test/TableGen/GlobalISelEmitter/output-discard.td
A llvm/test/TableGen/GlobalISelEmitter/setcc.td
A llvm/test/TableGen/GlobalISelEmitter/zero-instr.td
A llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
R llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
R llvm/test/TableGen/GlobalISelEmitterFlags.td
R llvm/test/TableGen/GlobalISelEmitterHwModes.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
R llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
R llvm/test/TableGen/GlobalISelEmitterRegSequence.td
R llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
R llvm/test/TableGen/GlobalISelEmitterSubreg.td
R llvm/test/TableGen/GlobalISelEmitterVariadic.td
R llvm/test/TableGen/gisel-physreg-input.td
R llvm/test/TableGen/immarg-predicated.td
R llvm/test/TableGen/immarg.td
Log Message:
-----------
[test] Group GlobalISelEmitter tests under a subdirectory (#121093)
Remove extra command line arguments while here.
Commit: c870632ef6162fbdccaad8cd09420728220ad344
https://github.com/llvm/llvm-project/commit/c870632ef6162fbdccaad8cd09420728220ad344
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/unittests/Frontend/CodeGenActionTest.cpp
M flang/unittests/Optimizer/Builder/CharacterTest.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/Builder/Runtime/RuntimeCallTestBase.h
M flang/unittests/Optimizer/FortranVariableTest.cpp
M flang/unittests/Runtime/ArrayConstructor.cpp
M flang/unittests/Runtime/CharacterTest.cpp
Log Message:
-----------
[flang] Fix some memory leaks (#121050)
This commit fixes some but not all memory leaks in Flang. There are
still 91 tests that fail with ASAN.
- Use `mlir::OwningOpRef` instead of `std::unique_ptr`. The latter does
not free allocations of nested blocks.
- Pass `ModuleOp` as value instead of reference.
- Add few missing deallocations in test cases and other places.
Commit: 2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
https://github.com/llvm/llvm-project/commit/2d6e7c2b359d4cafca8eaca4c9ed308a3a8fa6c1
Author: Alexey Gerenkov <alexey at espressif.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/Targets.cpp
A clang/lib/Basic/Targets/Xtensa.cpp
A clang/lib/Basic/Targets/Xtensa.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/stdint.c
Log Message:
-----------
[Clang][Xtensa] Add Xtensa target. (#118008)
This PR implements support for generic Xtensa target in CLang.
Co-authored-by: Andrei Safronov <safronov at espressif.com>
Commit: ae435adabba2f137fe50749c0581157a89019b5e
https://github.com/llvm/llvm-project/commit/ae435adabba2f137fe50749c0581157a89019b5e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn build] Port 2d6e7c2b359d
Commit: 5fb57131b744c52f74919f9487f4a9fa69f455fb
https://github.com/llvm/llvm-project/commit/5fb57131b744c52f74919f9487f4a9fa69f455fb
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
M llvm/test/Transforms/DFAJumpThreading/negative.ll
Log Message:
-----------
[DFAJumpThreading] Don't bail early after encountering unpredictable values (#119774)
After #96127 landed, mshockwave reported that the pass was no longer
threading SPEC2006/perlbench.
After 96127 we started bailing out in `getStateDefMap` and rejecting the
transformation because one of the unpredictable values was coming from
inside the loop. There was no fundamental change in that function except
that we started calling `Loop->contains(IncomingBB)` instead of
`LoopBBs.count(IncomingBB)`. After some analysis I came to the
conclusion that even before 96127 we would reject the transformation if
we provided large enough limits on the path traversal (large enough so
that LoopBBs contained blocks corresponding to that unpredictable
value).
In this patch I changed `getStateDefMap` to not terminate early on
finding an unpredictable value, this is because
`getPathsFromStateDefMap`, later, actually has checks to ensure that the
final list of paths only have predictable values. As a result we can now
partially thread functions like `negative6` in the tests that have some
predictable paths.
This patch does not really have any compile-time impact on the test
suite without `-dfa-early-exit-heuristic=false` (early exit is enabled
by default).
Change-Id: Ie1633b370ed4a0eda8dea52650b40f6f66ef49a3
Commit: 676b48d1ccd8223bb0bd889cce13e6faecd20c6d
https://github.com/llvm/llvm-project/commit/676b48d1ccd8223bb0bd889cce13e6faecd20c6d
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/lib/Parse/Parser.cpp
M clang/test/CXX/basic/basic.link/p3.cpp
A clang/test/Modules/pr121066.cpp
Log Message:
-----------
[C++20] [Modules] Diagnose if import statement lakcs a semicolon
Close https://github.com/llvm/llvm-project/issues/121066
Now we will diagnose that the import statement lacks a semicolon as
expected. Note that the original "not found" diagnose message remains.
I meant to remove that, but the test shows it might be more complex
process (other unexpected diagnose shows up). Given the importance of
the issue, I chose to not dig deeper.
Commit: 7226b39926b5df6452d13e83f61e35a71dbe448d
https://github.com/llvm/llvm-project/commit/7226b39926b5df6452d13e83f61e35a71dbe448d
Author: xilinbai-intel <xilin.bai at intel.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
Log Message:
-----------
[X86] Support vectorized llvm.fmaximum/fminimum.vXf16 lowering (#120988)
Support the lowering of vectorized FMINIMUM and FMAXIMUM to vminph and
vmaxph on types v8f16, v16f16 when AVX512FP, AVX512VL features are
present, and on type v32f16 when AVX512FP is present.
Commit: 4884b1b08a13af430620e7104aa58710a70f618c
https://github.com/llvm/llvm-project/commit/4884b1b08a13af430620e7104aa58710a70f618c
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Simplify checks for BasicBlockSDNode (NFC) (#121098)
Commit: 3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
https://github.com/llvm/llvm-project/commit/3469996d0d057d99a33ec34ee3c80e5d4fa3afcb
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/test/CodeGen/AArch64/selectopt.ll
Log Message:
-----------
[SelectOpt] Optimise big select groups in the latch of a non-inner loop to branches (#119728)
Loop latches often have a loop-carried dependency, and if they have
several SelectLike instructions in one select group, it is usually
profitable to convert it to branches rather than keep selects.
Commit: 6d7cf5206f1238139b7a967dea555514a62f7d83
https://github.com/llvm/llvm-project/commit/6d7cf5206f1238139b7a967dea555514a62f7d83
Author: adam-bzowski <adam.bzowski at intel.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
Log Message:
-----------
[ValueTracking] Improve KnownBits for signed min-max clamping (#120576)
A signed min-max clamp is the sequence of smin and smax intrinsics,
which constrain a signed value into the range: smin <= value <= smax.
The patch improves the calculation of KnownBits for a value subjected to
the signed clamping.
Commit: 8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
https://github.com/llvm/llvm-project/commit/8e7f1bee84ff9421f7a4b57abd1feff6b5680e1a
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
Log Message:
-----------
[clang][RISCV] Remove unneeded RISCV tuple code (#121024)
These code are no longer needed because we've modeled tuple type using
target extension type rather than structure of scalable vectors.
Commit: dd9c5c118230fc9adde668f2c96323b73a677400
https://github.com/llvm/llvm-project/commit/dd9c5c118230fc9adde668f2c96323b73a677400
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
[libc][complex] enable CFP128 entrypoints on X86_64 (#121111)
Commit: ff97daadcd05ad3373f8398948d2962e88a0f61b
https://github.com/llvm/llvm-project/commit/ff97daadcd05ad3373f8398948d2962e88a0f61b
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
Revert "[libc][complex] enable CFP128 entrypoints on X86_64 (#121111)" (#121113)
This reverts commit dd9c5c118230fc9adde668f2c96323b73a677400.
Commit: 70965ef259a161a6e9ccfb8bd841dd2246c56c37
https://github.com/llvm/llvm-project/commit/70965ef259a161a6e9ccfb8bd841dd2246c56c37
Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
Date: 2024-12-25 (Wed, 25 Dec 2024)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx20-decomposition.cpp
Log Message:
-----------
[Clang] Prevent assignment to captured structured bindings inside immutable lambda (#120849)
For structured bindings, a call to getCapturedDeclRefType(...) was
missing. This PR fixes that behavior and adds the related diagnostics
too.
This fixes https://github.com/llvm/llvm-project/issues/95081.
Commit: d6e435362d5984052531a425a1e4c7e594a8503e
https://github.com/llvm/llvm-project/commit/d6e435362d5984052531a425a1e4c7e594a8503e
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/test/MC/Disassembler/Xtensa/code_density.txt
Log Message:
-----------
[Xtensa] Fix Code Density test. (#121073)
Fix dissambler test for Code Density feature.
Commit: cea738bc9a9e4835f9a076145953ed1369dcad7d
https://github.com/llvm/llvm-project/commit/cea738bc9a9e4835f9a076145953ed1369dcad7d
Author: DaPorkchop_ <daporkchop at daporkchop.net>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
M llvm/test/Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
Log Message:
-----------
[SimplifyCFG] Replace unreachable switch lookup table holes with poison (#94990)
As discussed in #94468, this causes switch lookup table entries which
are unreachable to be poison instead of filling them with a value from
one of the reachable cases.
---------
Co-authored-by: DianQK <dianqk at dianqk.net>
Commit: 6f72d28dd94c84b28275dbe61f5b2021df752e55
https://github.com/llvm/llvm-project/commit/6f72d28dd94c84b28275dbe61f5b2021df752e55
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter/dead-def.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Don't copy dead def from a sub-instruction to the root (#121094)
Sub-instruction can have a def with the same name as a def in a
top-level instruction.
Previously this could result in both defs copied to the instruction
being built.
Commit: a0e1fcc093e0bb1265d8a6977f96dff51d9f5318
https://github.com/llvm/llvm-project/commit/a0e1fcc093e0bb1265d8a6977f96dff51d9f5318
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Refactor node renderers emission (#121071)
Split importExplicitUseRenderer into several smaller functions and
add a bunch of TODOs and FIXMEs.
This is an NFCI change to simplify review of future functional changes.
Pull Request: https://github.com/llvm/llvm-project/pull/121071
Commit: a72bfc5a1e5381012213df36389524f74ef7c8a3
https://github.com/llvm/llvm-project/commit/a72bfc5a1e5381012213df36389524f74ef7c8a3
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/test/tools/llvm-dlltool/machine-opt.def
Log Message:
-----------
[llvm-dlltool] Handle MIPS R4000 architecture (#114621)
Commit: 03093b62d4c9ff43b0f9422db1ff97e5050d7664
https://github.com/llvm/llvm-project/commit/03093b62d4c9ff43b0f9422db1ff97e5050d7664
Author: Michał Górny <mgorny at gentoo.org>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M polly/CMakeLists.txt
Log Message:
-----------
[Polly] Fix gtest logic for standalone builds (#121114)
Fix the gtest logic to account for llvm_gtest being installed as part of
LLVM, as of 91b3ca39667b6341a8c1983a1467fae14b58318b.
Commit: abd91023447d146f36357326fc97c458b49e40af
https://github.com/llvm/llvm-project/commit/abd91023447d146f36357326fc97c458b49e40af
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M libc/cmake/modules/CheckCompilerFeatures.cmake
A libc/cmake/modules/compiler_features/check_cfloat128.cpp
A libc/cmake/modules/compiler_features/check_cfloat16.cpp
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/complex/cimagf128.h
M libc/src/complex/cimagf16.h
M libc/src/complex/conjf128.h
M libc/src/complex/conjf16.h
M libc/src/complex/cprojf128.h
M libc/src/complex/cprojf16.h
M libc/src/complex/crealf128.h
M libc/src/complex/crealf16.h
M libc/src/complex/generic/cimagf128.cpp
M libc/src/complex/generic/cimagf16.cpp
M libc/src/complex/generic/conjf128.cpp
M libc/src/complex/generic/conjf16.cpp
M libc/src/complex/generic/cprojf128.cpp
M libc/src/complex/generic/cprojf16.cpp
M libc/src/complex/generic/crealf128.cpp
M libc/src/complex/generic/crealf16.cpp
M libc/test/src/complex/cimagf128_test.cpp
M libc/test/src/complex/cimagf16_test.cpp
M libc/test/src/complex/conjf128_test.cpp
M libc/test/src/complex/conjf16_test.cpp
M libc/test/src/complex/cprojf128_test.cpp
M libc/test/src/complex/cprojf16_test.cpp
M libc/test/src/complex/crealf128_test.cpp
M libc/test/src/complex/crealf16_test.cpp
Log Message:
-----------
[libc][complex] add cfloat16 and cfloat128 compiler flags (#121140)
Proper fix for the temporary fix in #114696
Commit: 9f75b6664f1eaec1517f6cb620b34100b7b54857
https://github.com/llvm/llvm-project/commit/9f75b6664f1eaec1517f6cb620b34100b7b54857
Author: Shourya Goel <shouryagoel10000 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
Log Message:
-----------
[libc][complex] fix buildbot errors (#121141)
Fix buildbot errors due to #121140
Commit: cbe583b0bd8d46b4e5edda463e19e6a24c0817bc
https://github.com/llvm/llvm-project/commit/cbe583b0bd8d46b4e5edda463e19e6a24c0817bc
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
M flang/test/Lower/OpenMP/task.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[Flang] Add translation support for MutexInOutSet and InOutSet (#120715)
Implementatoin details:
Both Mutexinoutset and Inoutset is recognized as flag=0x4
and 0x8 respectively, the flags is set to `kmp_depend_info` and
passed as argument to `__kmpc_omp_task_with_deps` runtime call
Commit: 698bb5f239f50e8217cbec1d19bf8e0bba8c5d11
https://github.com/llvm/llvm-project/commit/698bb5f239f50e8217cbec1d19bf8e0bba8c5d11
Author: Hongren Zheng <i at zenithal.me>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M mlir/docs/TargetLLVMIR.md
Log Message:
-----------
[mlir][docs] Add C example for C-compatible wrapper for LLVM IR (#120955)
`TargetLLVMIR` documentation introduced the C-compatible wrapper
function for a MLIR function and ways to generate it, but did not
demonstrate the corresponding C function signature for them.
The C function signature is not obvious, in that
* `MemrefDescriptor` should be passed as _pointer_.
+ For example, MLIR function could return a new Descriptor, so pointer
is a must.
+ Surprisingly, directly pass the struct, by C convention, is also a
pointer so some function will work, but that is implicit and
error-prone.
* for `@foo() -> memref<>`, the return type becomes the first argument
in `_mlir_ciface_foo(%arg0: !llvm.ptr)`.
+ This is described in
https://github.com/llvm/llvm-project/blob/f70ab7d909d6861c7eec5ab40679bde16ab826c6/mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp#L110-L167
Especially by code `size_t argOffset = resultStructType ? 1 : 0;` saying
the actual argument starts at 1 when result is a struct (memref)
Users using the wrong signature will get incorrect results. LLVM
discourse has some example of it
*
https://discourse.llvm.org/t/how-to-compile-and-link-with-other-c-c-programs/4835/10
*
https://discourse.llvm.org/t/segmentation-fault-on-memref-store/80286/3
* https://discourse.llvm.org/t/memref-store-storing-a-memref-load/80307
Cc @ftynse for relevent commit history. Cc @charitha22 and @Wheest from
discourse post.
Commit: 1b476ecdcf4b544af1436341fc923c0b73793cbe
https://github.com/llvm/llvm-project/commit/1b476ecdcf4b544af1436341fc923c0b73793cbe
Author: Brad Smith <brad at comstyle.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/Process/CMakeLists.txt
Log Message:
-----------
[lldb] A few more pieces towards OpenBSD support (#121051)
Commit: 889215a30ed60474e573f9632d1fa362dfa1b04e
https://github.com/llvm/llvm-project/commit/889215a30ed60474e573f9632d1fa362dfa1b04e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/logical-ops-poisonous-repeated.ll
Log Message:
-----------
[SLP]Followup fix for the poisonous logical op in reductions
If the VectorizedTree still may generate poisonous value, but it is not
the original operand of the reduction op, need to check if Res still the
operand, to generate correct code.
Fixes #114905
Commit: c21a3776c94eef46ea43192c6d0b8df6258b6489
https://github.com/llvm/llvm-project/commit/c21a3776c94eef46ea43192c6d0b8df6258b6489
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp
Log Message:
-----------
[GlobalIsel] [Utility] [NFC] Added isConstantOrConstantSplatVectorFP to handle float constants. (#120935)
Needed for #120104
Commit: 4a92c27f9d29d065156647f9bcc44a8418c98efa
https://github.com/llvm/llvm-project/commit/4a92c27f9d29d065156647f9bcc44a8418c98efa
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Remove check for LLT when emitting renderers (#121144)
Types used in the destination DAG of a pattern should not matter for
GlobalISel. All necessary checks are emitted in the form of matchers
when traversing the source DAG.
In particular, the check prevented importing patterns containing iPTR in
the middle of the destination DAG.
This reduces the number of skipped patterns on Mips and RISCV:
```
Mips 1270 -> 1212 (-58)
RISCV 42165 -> 42088 (-77)
```
Most of these patterns are for atomic operations.
Commit: d21f300f06d56a46e96d1e594522ab0ac362f074
https://github.com/llvm/llvm-project/commit/d21f300f06d56a46e96d1e594522ab0ac362f074
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[MIPatternMatch] Fix incorrect argument type of m_Type (#121074)
m_Type is supposed to extract the underlying value type (equality type
comparison is covered by m_SpecificType), therefore it should take a LLT
reference as its argument rather than passing by value.
This was originated from de256478e61d6488db751689af82d280ba114a6f, which
refactored out a good chunk of LLT reference usages. And it's just so
happen that (for some reasons) no one is using m_Type and no test was
covering it.
Commit: 831e1ac12e766ae8c94d8d735d8f32c8d319e576
https://github.com/llvm/llvm-project/commit/831e1ac12e766ae8c94d8d735d8f32c8d319e576
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[MIPatternMatch] Add m_GUMin and m_GUMax (#121068)
And make all unsigned and signed versions of min/max matchers
commutative, since we already made a precedent of m_GAdd that is
commutative by default.
Commit: 8906b7be918be653d3c5f2ef3dbd923561603969
https://github.com/llvm/llvm-project/commit/8906b7be918be653d3c5f2ef3dbd923561603969
Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
Log Message:
-----------
Enable custom alloc-like ops in `promoteBufferResultsToOutParams` (#120288)
In `buffer-results-to-out-params`, when `hoist-static-allocs` option is
enabled the pass was looking for `memref.alloc`s in order to attempt to
avoid copies when it can. Which makes it not extensible to external ops
that have allocation like properties. This patch simply changes
`memref::AllocOp` to `AllocationOpInterface` in the check to enable for
any allocation op.
Moreover, for function call updates, we enable setting an allocation
function callback in `BufferResultsToOutParamsOpts` to allow users to
emit their own alloc-like op.
Commit: 6e8a1a45a783c13e4cd19bfd20b7a56cab6f7d81
https://github.com/llvm/llvm-project/commit/6e8a1a45a783c13e4cd19bfd20b7a56cab6f7d81
Author: Franklin <zhangfenglei at huawei.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M bolt/include/bolt/Core/BinaryData.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-bug-table.s
M bolt/test/X86/linux-exceptions.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
M bolt/test/X86/linux-pci-fixup.s
M bolt/test/X86/linux-smp-locks.s
M bolt/test/X86/linux-static-calls.s
M bolt/test/X86/linux-static-keys.s
A bolt/test/X86/linux-version.S
Log Message:
-----------
[BOLT] Detect Linux kernel version if the binary is a Linux kernel (#119088)
This makes it easier to handle differences (e.g. of exception table
entry size) between versions of Linux kernel
Commit: 62c39d773422fd7193758c325085c864a67a55cc
https://github.com/llvm/llvm-project/commit/62c39d773422fd7193758c325085c864a67a55cc
Author: Davide Italiano <dcci at users.noreply.github.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M bolt/docs/CommandLineArgumentReference.md
Log Message:
-----------
[BOLT/docs] The support for macro-op fusion was removed. (#121158)
Update the documentation accordingly.
Commit: 776ac21c7f95e092759ba39e5533aad90d63c86e
https://github.com/llvm/llvm-project/commit/776ac21c7f95e092759ba39e5533aad90d63c86e
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
Log Message:
-----------
[mlir] minor documentation fix in GPUTransformOps.td (#121157)
- do not refer to handles as `PDLOperation`, this is an outdated and
incorrect vision of what they are based on the type used in the early
days;
- use backticks around inline code.
Commit: b59a0a6f404a82b71802eceaf3addb94ce728ce9
https://github.com/llvm/llvm-project/commit/b59a0a6f404a82b71802eceaf3addb94ce728ce9
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[NFC][Driver] Define %{filecheck} as suggested on #121081 (#121159)
We will introduce `--implicit-check-not=libclang_rt` in #121081,
this let us to avoid repeating the flag.
Commit: 377755c87e9d5494237f0e2e88f70886b5107342
https://github.com/llvm/llvm-project/commit/377755c87e9d5494237f0e2e88f70886b5107342
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)
These are not Windows tests
Commit: 2dfe1b404213c6676b9ac55cb89c0a709a712208
https://github.com/llvm/llvm-project/commit/2dfe1b404213c6676b9ac55cb89c0a709a712208
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove stray space when printing reverse vector pointer.
printFlags() takes care of printing the required space, remove the extra
printed space between flags and operands.
Commit: 7ecbeace0192963482beb6520706ef98ae4d8c0d
https://github.com/llvm/llvm-project/commit/7ecbeace0192963482beb6520706ef98ae4d8c0d
Author: hill <hill at hilll.dev>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/docs/clang-tidy/index.rst
Log Message:
-----------
[clang-tidy] fix incorrect argument names in documentation for ExtraArgs and ExtraArgsBefore (#120963)
Commit: ca28fcc6fce516129d117f5f5a14ba7f54a045d8
https://github.com/llvm/llvm-project/commit/ca28fcc6fce516129d117f5f5a14ba7f54a045d8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Revert "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)"
Revert #121160.
It fails Android targets on Windows.
This reverts commit 377755c87e9d5494237f0e2e88f70886b5107342.
Commit: 8e9fda1c1140e067c5344c61df56c34167296f17
https://github.com/llvm/llvm-project/commit/8e9fda1c1140e067c5344c61df56c34167296f17
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Reapply "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test (#121160)" (#121162)
This reverts commit ca28fcc6fce516129d117f5f5a14ba7f54a045d8.
Android targets pass on Windows buildbots, but fails on buildkite
https://buildkite.com/llvm-project/github-pull-requests/builds/132244
Re-apply #121160
Commit: 7deaed975eecf78797649b731506478f3d6ccd59
https://github.com/llvm/llvm-project/commit/7deaed975eecf78797649b731506478f3d6ccd59
Author: Prabhuk <prabhukr at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
[libc] Reduce binary size for baremetal targets (#121164)
For `math` functions we must choose size optimized implementations.
Removing framepointers will also help with binary size savings.
Commit: 5d529c32cc2d5342a0d183881b6c3023435ed5d3
https://github.com/llvm/llvm-project/commit/5d529c32cc2d5342a0d183881b6c3023435ed5d3
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Object/WindowsMachineFlag.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
A llvm/test/tools/llvm-lib/Inputs/mips.ll
A llvm/test/tools/llvm-lib/infer-machine.test
A llvm/test/tools/llvm-lib/machine-opt.test
Log Message:
-----------
[llvm-lib] Handle MIPS architecture (#121007)
- add a test to check values for /machine argument
- add a test to check if machine is correctly inferred from inputs
Commit: 6b53a9546c56c805eaf86ac564083bf846570312
https://github.com/llvm/llvm-project/commit/6b53a9546c56c805eaf86ac564083bf846570312
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
Log Message:
-----------
[mlir][arith] DCE `getPredicateByName` (#121165)
Commit: 9d3f9f47e6e630b8308562297757e0911be03a18
https://github.com/llvm/llvm-project/commit/9d3f9f47e6e630b8308562297757e0911be03a18
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Object/WindowsMachineFlag.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
R llvm/test/tools/llvm-lib/Inputs/mips.ll
R llvm/test/tools/llvm-lib/infer-machine.test
R llvm/test/tools/llvm-lib/machine-opt.test
Log Message:
-----------
Revert "[llvm-lib] Handle MIPS architecture (#121007)"
This reverts commit 5d529c32cc2d5342a0d183881b6c3023435ed5d3.
Commit: 47e1c87a613d7453b6d5addc2e23e26bea10c0ce
https://github.com/llvm/llvm-project/commit/47e1c87a613d7453b6d5addc2e23e26bea10c0ce
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
A llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-reduction-inloop.ll
Log Message:
-----------
[VPlan] Set debug location for VPReduction/VPWidenIntrinsicRecipe. (#120054)
This patch add missing debug location for
VPReduction/VPWidenIntrinsicRecipe.
Commit: 179344d9a85934ff83bed1f657c91d4c1ba12460
https://github.com/llvm/llvm-project/commit/179344d9a85934ff83bed1f657c91d4c1ba12460
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
[MC] Move AIX specific function to PPCAsmPrinter
https://reviews.llvm.org/D95518 used switchSectionNoPrint,
which seems buggy as .ll -> .s -> .o will be different from
.ll -> .o, but this change intends to be a NFC.
Commit: c6ea7fb2f85346eb786f2690355db830c455bfc0
https://github.com/llvm/llvm-project/commit/c6ea7fb2f85346eb786f2690355db830c455bfc0
Author: Patryk Wychowaniec <pwychowaniec at pm.me>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Target/AVR/AVRDevices.td
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
A llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
A llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
R llvm/test/CodeGen/AVR/branch-relaxation-long.ll
Log Message:
-----------
[AVR] Wrap out-of-bounds relative jumps (#118015)
This commit improves the relative jumps, so that we are able to emit
`rjmp` that wraps around the memory boundary on devices with 8KB flash.
Commit: f51db95e064c97860910d1ca17a8c29eb23d8623
https://github.com/llvm/llvm-project/commit/f51db95e064c97860910d1ca17a8c29eb23d8623
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[NFC][Driver] Use global --implicit-check-not=libclang_rt (#121081)
To simplify and improve precision of the test.
Commit: 8230b8a60e8763a90b85a83cfd4ceeac1174ac84
https://github.com/llvm/llvm-project/commit/8230b8a60e8763a90b85a83cfd4ceeac1174ac84
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-cov/branch-noShowBranch.test
Log Message:
-----------
test/llvm-cov/branch-noShowBranch.test: Align `CHECK-NOT`s to branch-c-general.test's in #113114
Commit: 3d9f9684a56ff049b5d5454bdb73f406c5af3959
https://github.com/llvm/llvm-project/commit/3d9f9684a56ff049b5d5454bdb73f406c5af3959
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
Log Message:
-----------
llvm-cov: Split out `sumRegions()` from `FunctionCoverageSummary::get()`. NFC.
Commit: cd3c1658ee3ff882ff9c51488662a4c3f21e6d9c
https://github.com/llvm/llvm-project/commit/cd3c1658ee3ff882ff9c51488662a4c3f21e6d9c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Add more tests to rv*xtheadba.ll. NFC
XTheadba has similarities with Zba and shares some of the same
codegen code and has similar isel patterns. This patch makes the
testing more similar.
Commit: 814902a03a2bb4114fd61c05e0e599fc98d61dbb
https://github.com/llvm/llvm-project/commit/814902a03a2bb4114fd61c05e0e599fc98d61dbb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Fix XTheadba patterns broken since cfc574a6cd13d2d0b77110b579c5cfcec744129f.
Adding an OperandTransform to CSImm12MulBy4 and CSImm12MulBy8 for
Zba broke these patterns. They should have been changed in the same,
but we lacked sufficient testing.
Commit: 5807d0efb963ab591a1ae569b538724299d6acdc
https://github.com/llvm/llvm-project/commit/5807d0efb963ab591a1ae569b538724299d6acdc
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-26 (Thu, 26 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Drive] Don't match libclang_rt.builtins
Fixes fuchsia bots.
Commit: bca055f2ac075d43f6f316927947b2a493f93bdb
https://github.com/llvm/llvm-project/commit/bca055f2ac075d43f6f316927947b2a493f93bdb
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M lldb/source/Host/posix/MainLoopPosix.cpp
Log Message:
-----------
[lldb] AIX Changes for MainLoop polling (#120378)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Dropping changes for MainLoop polling in AIX, as `ppoll` is not
supported in AIX currently.
This change is part of the couple of minimal changes required to build a
minimal `lldb` binary on AIX
Commit: 2b5b3cf60d9e9e0c597bad1be1207b167ef15c9f
https://github.com/llvm/llvm-project/commit/2b5b3cf60d9e9e0c597bad1be1207b167ef15c9f
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorPasses.cpp
Log Message:
-----------
[mlir][sparse_tensor] Migrate `SparseIterationToScf.cpp` to dialect conversion (#121054)
Use the regular dialect conversion driver instead of the 1:N dialect
conversion driver. The 1:N dialect conversion driver will be removed
soon.
Commit: 1ead15512872b1f9eec0b69a7d8283e752a747e6
https://github.com/llvm/llvm-project/commit/1ead15512872b1f9eec0b69a7d8283e752a747e6
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
Log Message:
-----------
[lldb] clang-format changes for some basic #if _AIX changes (#120978)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added clang-format changes for changes related to some base #if _AIX
changes:
- https://github.com/llvm/llvm-project/pull/120979
Commit: ac8bb7353a7fe79cd99b3c041d5a153517c31abc
https://github.com/llvm/llvm-project/commit/ac8bb7353a7fe79cd99b3c041d5a153517c31abc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
Log Message:
-----------
Attributor: Do not treat pointer vectors as valid for unsupported attributes (#121149)
The memory attributes, noalias, and dereferenceable do not support
vectors of pointers according to the IR verifier, so don't report
them as valid.
Commit: 223521b13e7465bc177f43e22de526b777d6ff74
https://github.com/llvm/llvm-project/commit/223521b13e7465bc177f43e22de526b777d6ff74
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/test/tools/llvm-cov/branch-macros.test
M llvm/test/tools/llvm-cov/showLineExecutionCounts.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-cov/CoverageViewOptions.h
M llvm/tools/llvm-cov/SourceCoverageView.h
M llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
M llvm/tools/llvm-cov/SourceCoverageViewText.cpp
Log Message:
-----------
llvm-cov: Introduce `--binary-counters` (#120841)
In `llvm-cov show`, this option rounds counters (line, branch) to
`[1,0]` at rendering. This will be useful when the number of counts
doesn't interest but **Covered/uncoverd** does.
Commit: aa2fdc69d35ff1c4a6de8a8d8edcc4c15236bb15
https://github.com/llvm/llvm-project/commit/aa2fdc69d35ff1c4a6de8a8d8edcc4c15236bb15
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/tools/llvm-cov/SourceCoverageView.h
Log Message:
-----------
[Coverage] Move SingleByteCoverage out of CountedRegion (#110966)
`SingleByteCoverage` is not per-region attribute at least.
Move it into `CoverageData` since it comes from `profdata`.
Depends on: #120841
Commit: ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a
https://github.com/llvm/llvm-project/commit/ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a
Author: Hassnaa Hamdi <hassnaa.hamdi at arm.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
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:
-----------
[LV]: Teach LV to recursively (de)interleave. (#89018)
Currently available intrinsics are only ld2/st2, which don't support interleaving factor > 2.
This patch teaches the LV to use ld2/st2 recursively to support high
interleaving factors.
Commit: 5ad4213ef48253a6be1f9880f17555fc36efdd19
https://github.com/llvm/llvm-project/commit/5ad4213ef48253a6be1f9880f17555fc36efdd19
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
Log Message:
-----------
[mlir][Linalg] Allow PartialReductionOpInterface ops in tile_reduction_using_for (#120118)
The API used internally expects PartialReductionOpInterface. This patch
allows any operation implementing this interface to use this transform
op (instead of just LinalgOp).
Commit: 9ab16d49c99966f33900d68ed5370f19927ca52c
https://github.com/llvm/llvm-project/commit/9ab16d49c99966f33900d68ed5370f19927ca52c
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M mlir/lib/Interfaces/Utils/InferIntRangeCommon.cpp
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir][IntRangeInference] Fix `arith.ceildivsi` range inference when it includes `INT_MIN` (#121062)
There is a special case in `arith.ceildivsi` range inference for
handling `lhs.smin()==INT_MIN`, but when `lhs` is not a single value, it
can cause it to skip entire negative range. Add `lhs.smin() + 1` check
to handle it.
Commit: 07ba4575250b692b28d0fd5105e028b9f4c8e07f
https://github.com/llvm/llvm-project/commit/07ba4575250b692b28d0fd5105e028b9f4c8e07f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Add dump of combined entries, where applicable
Commit: 91bbebc7e118cceae1fc0e349de08094a3cd2fe7
https://github.com/llvm/llvm-project/commit/91bbebc7e118cceae1fc0e349de08094a3cd2fe7
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M mlir/include/mlir/Interfaces/TilingInterface.td
M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/Dialect/Linalg/transform-tile-reduction.mlir
Log Message:
-----------
[mlir][scf] Add getPartialResultTilePosition to PartialReductionOpInterface (#120465)
This PR adds a new interface method to PartialReductionOpInterface which
allows it to query the result tile position for the partial result.
Previously, tiling the reduction dimension with
SplitReductionOuterReduction when the result has transposed parallel
dimensions would produce wrong results.
Other fixes that were needed to make this PR work:
- Instead of ad-hoc logic to decide where to place the new reduction
dimensions in the partial result based on the iteration space, the
reduction dimensions are always appended to the partial result tensor.
- Remove usage of PartialReductionOpInterface in Mesh dialect. The
implementation was trying to just get a neutral element, but ended up
trying to use PartialReductionOpInterface for it, which is not right. It
was also passing the wrong sizes to it.
Commit: 8caeb2e0c2fb8a5f1689c11775b81ceee76de958
https://github.com/llvm/llvm-project/commit/8caeb2e0c2fb8a5f1689c11775b81ceee76de958
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Always create initial blocks in constructor (NFC).
Update C++ unit tests to use VPlanTestBase to construct initial VPlan,
using a constructor that creates the VP blocks directly in the
constructor.
Split off from and in preparation for
https://github.com/llvm/llvm-project/pull/120918.
Commit: 1f90797f6a9d91d61e0f66b465b0467e4c66d0e0
https://github.com/llvm/llvm-project/commit/1f90797f6a9d91d61e0f66b465b0467e4c66d0e0
Author: kleines Filmröllchen <28656157+kleinesfilmroellchen at users.noreply.github.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
M clang-tools-extra/clangd/unittests/HeadersTests.cpp
Log Message:
-----------
[clangd] Allow specifying what headers are always included via "" or <> (#67749)
Projects can now add config fragments like this to their .clangd:
```yaml
Style:
QuotedHeaders: "src/.*"
AngledHeaders: ["path/sdk/.*", "third-party/.*"]
```
to force headers inserted via the --header-insertion=iwyu mode matching
at least one of the regexes to have <> (AngledHeaders) or ""
(QuotedHeaders) around them, respectively. For other headers (and in
conflicting cases where both styles have a matching regex), the current
system header detection remains.
Fixes https://github.com/clangd/clangd/issues/1247
Commit: 4d8f9594b20ae7063863e948907f4f8ef8ce07bd
https://github.com/llvm/llvm-project/commit/4d8f9594b20ae7063863e948907f4f8ef8ce07bd
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
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/VPlanValue.h
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
R llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
R llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
Revert "Reland "[LoopVectorizer] Add support for partial reductions" (#120721)"
This reverts commit c858bf620c3ab2a4db53e84b9365b553c3ad1aa6 as it casuse optimization crash on -O2, see https://github.com/llvm/llvm-project/pull/120721#issuecomment-2563192057
Commit: 815343e7dd32cc4c5c903ac52daf87aaa4e4cd6e
https://github.com/llvm/llvm-project/commit/815343e7dd32cc4c5c903ac52daf87aaa4e4cd6e
Author: Kyungwoo Lee <kyulee at meta.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
A llvm/test/CodeGen/AArch64/cgdata-no-merge-attached-call-garget.ll
Log Message:
-----------
[CGData][Merger] Avoid merging the attached call target (#121030)
For global function merging, the target of the arc-attached call must be
a constant and cannot be parameterized.
This change adds a check to bypass this case in `canParameterizeCallOperand()`.
Commit: b2fd0a7a7065658ab4a3355399978523c1370615
https://github.com/llvm/llvm-project/commit/b2fd0a7a7065658ab4a3355399978523c1370615
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Driver] Fix implicit-check-not regex (#121221)
We need to exclude more than builtins, but it's
tricky with FileCheck regex. So switching to list
of libs we want to check.
Commit: 48bf0a9457fd60d0872d9b9b4804a95c833a72e1
https://github.com/llvm/llvm-project/commit/48bf0a9457fd60d0872d9b9b4804a95c833a72e1
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Log Message:
-----------
[Clang][ASTMatcher] Add `dependentScopeDeclRefExpr` matcher (#120996)
Fixes https://github.com/llvm/llvm-project/issues/120937
Commit: 092966a44d1793e6bd53c191efeb5a5425fecde3
https://github.com/llvm/llvm-project/commit/092966a44d1793e6bd53c191efeb5a5425fecde3
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Driver] Make regex stricter (#121243)
Follow up to #121221.
Commit: edc42b2dc18c1bf413fc393eeb05abd6076d8bbe
https://github.com/llvm/llvm-project/commit/edc42b2dc18c1bf413fc393eeb05abd6076d8bbe
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-27 (Fri, 27 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Migrate away from PointerUnion::get
Commit: 39e8953f892a51816aa1fde70829a61d7e756a51
https://github.com/llvm/llvm-project/commit/39e8953f892a51816aa1fde70829a61d7e756a51
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Move a local variable to a later point (#121250)
We don't need `E` before.
Commit: 5bec2b71b44ddff44aa4d8534b58a5561389bb1d
https://github.com/llvm/llvm-project/commit/5bec2b71b44ddff44aa4d8534b58a5561389bb1d
Author: 4m4n-x-B4w4ne <125849251+4m4n-x-B4w4ne at users.noreply.github.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
A clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-check.cpp
Log Message:
-----------
Added options to readability-implicit-bool-conversion (#120087)
As given in the issue #36323 , I added two new options in the
clang-tools-extra/clan-tidy/readibility/ImplicitBoolConversionCheck.cpp
and header file.
I have also written new test cases to test these new options in
test/readibility directory.
Commit: 537d4e9d21be1f5e40a780f570663b04572765af
https://github.com/llvm/llvm-project/commit/537d4e9d21be1f5e40a780f570663b04572765af
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/implicit-bool-conversion.rst
R clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion-check.cpp
Log Message:
-----------
Revert "Added options to readability-implicit-bool-conversion (#120087)"
This reverts commit 5bec2b71b44ddff44aa4d8534b58a5561389bb1d.
(llvmorg-20-init-16425-g5bec2b71b44d)
This broke tests.
Commit: 811e1f4661bca4a2b5c93d30f54c3aa338f175e9
https://github.com/llvm/llvm-project/commit/811e1f4661bca4a2b5c93d30f54c3aa338f175e9
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/test/CoverageMapping/single-byte-counters.cpp
Log Message:
-----------
clang/test/CoverageMapping/single-byte-counters.cpp: Align to the final form to fill linefeeds.
Commit: ee6f10d37232627137ce97388a5eb21b90907bfb
https://github.com/llvm/llvm-project/commit/ee6f10d37232627137ce97388a5eb21b90907bfb
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
[Coverage] Make `MCDCRecord::Folded` as `[false/true]` with BitVector. NFC. (#121190)
For merging `MCDCRecord`s, `Folded` is expected to be promoted as
"Non-folded".
Commit: a21f13bde2564a691a2da49adb773816f6c4e06b
https://github.com/llvm/llvm-project/commit/a21f13bde2564a691a2da49adb773816f6c4e06b
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
M llvm/tools/llvm-cov/CoverageSummaryInfo.h
Log Message:
-----------
llvm-cov: Refactor CoverageSummaryInfo. NFC. (#121189)
- Let subfunctions return `CoverageInfo` objects w/o accumulating
reference values.
- Introduce `CoverageDataSummary` for handling `CoverageData`-oriented
metrics.
Commit: 52bbe20eb40f45bc64c614b6b3d7fe13bbacb0ff
https://github.com/llvm/llvm-project/commit/52bbe20eb40f45bc64c614b6b3d7fe13bbacb0ff
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
Log Message:
-----------
[PAC][CodeGen][ELF][AArch64] Support signed TLSDESC (#113813)
Depends on #120010
`TLSDESC_AUTH_CALLSEQ` pseudo-instruction is introduced which is later expanded
to actual instruction sequence like the following.
```
adrp x0, :tlsdesc_auth:var
ldr x16, [x0, #:tlsdesc_auth_lo12:var]
add x0, x0, #:tlsdesc_auth_lo12:var
blraa x16, x0
(TPIDR_EL0 offset now in x0)
```
Only SelectionDAG ISel is supported.
Tests starting with 'ptrauth-' have corresponding variants w/o this prefix.
Commit: f68dbbbd57dd0947730300d1e827ad16c2dfffb5
https://github.com/llvm/llvm-project/commit/f68dbbbd57dd0947730300d1e827ad16c2dfffb5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[VectorCombine] Add test coverage for #121110
Commit: f2f02b21cd581057e3c9b4a7a27e0014eeb9ba15
https://github.com/llvm/llvm-project/commit/f2f02b21cd581057e3c9b4a7a27e0014eeb9ba15
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - only accept exact matching cmp predicates
m_SpecificCmp allowed equivalent predicate+flags which don't necessarily work after being folded from "shuffle (cmpop), (cmpop)" into "cmpop (shuffle), (shuffle)"
Fixes #121110
Commit: 8e965d89c9624c184c48806dc39d50209265f0f8
https://github.com/llvm/llvm-project/commit/8e965d89c9624c184c48806dc39d50209265f0f8
Author: JOSTAR <52376093+shenjunjiekoda at users.noreply.github.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
A clang/test/Analysis/PR121201.cpp
Log Message:
-----------
[analyzer] Fix zext assertion failure in loop unrolling (#121203)
The current implementation of APInt extension in the code can trigger an
assertion failure when the `zext` function is called with a target width
smaller than the current bit width. For example:
```cpp
if (InitNum.getBitWidth() != BoundNum.getBitWidth()) {
InitNum = InitNum.zext(BoundNum.getBitWidth());
BoundNum = BoundNum.zext(InitNum.getBitWidth());
}
```
This logic does not guarantee that the `zext` target width is always
greater than or equal to the current bit width, leading to potential
crashes.
Expected Behavior:
- Ensure InitNum and BoundNum are extended to the maximum of their respective widths.
- Prevent assertion failures by enforcing correct `zext` usage.
Fixes #121201
Commit: 7e749d4fb7327ce2da307ed020c02a07e8279992
https://github.com/llvm/llvm-project/commit/7e749d4fb7327ce2da307ed020c02a07e8279992
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Transforms.h
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
Log Message:
-----------
[mlir][bufferization]-Add ControlBuildSubsetExtractionFn to TensorEmptyElimination (#120851)
This PR Adds a `ControlBuildSubsetExtractionFn` to the tensor empty
elimination util, This will control the building of the subsets
extraction of the
`SubsetInsertionOpInterface`.
This control function returns the subsets extraction value that will
replace the `emptyTensorOp` use
which is being consumed by a specefic user (which the
util expects to eliminate it).
The default control function will stay like today's behavior without any
additional changes.
Commit: e86b68ff560aaf5fc723eaa8d8418892b2456e12
https://github.com/llvm/llvm-project/commit/e86b68ff560aaf5fc723eaa8d8418892b2456e12
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Add support for typeid pointers (#121251)
Add it as another kind of pointer, saving both a `Type*` for the result
of the typeid() expression as well as one for the type of the typeid
expression.
Commit: 3496e96f78c46f5b94c1892f97c470fd89293795
https://github.com/llvm/llvm-project/commit/3496e96f78c46f5b94c1892f97c470fd89293795
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
Log Message:
-----------
[clang][bytecode] Add a missing break
Commit: 088d636136a42d738e15f2f0a85e1b77a8f2de35
https://github.com/llvm/llvm-project/commit/088d636136a42d738e15f2f0a85e1b77a8f2de35
Author: adam-bzowski <adam.bzowski at intel.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
Log Message:
-----------
[ValueTracking] Fix a bug for signed min-max clamping (#121206)
Correctly handle the case where the clamp is over the full range.
This fixes an issue introduced in #121206.
Commit: 4a6fcc17c6d5ab9bf2b9629b49fce607a4eb4e25
https://github.com/llvm/llvm-project/commit/4a6fcc17c6d5ab9bf2b9629b49fce607a4eb4e25
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc] DCE unimplemented decls (#121253)
Commit: f1bc3afb6cb07d6cc9bb3dce963130a879978aa1
https://github.com/llvm/llvm-project/commit/f1bc3afb6cb07d6cc9bb3dce963130a879978aa1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCF.h
Log Message:
-----------
[mlir][scf] DCE unimplemented decls in TDs (#121237)
More dead code in headers...
Commit: 8e329593313bb792592529ee825a52683108df99
https://github.com/llvm/llvm-project/commit/8e329593313bb792592529ee825a52683108df99
Author: David Olsen <dolsen at nvidia.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] Upstream initial attribute support (#121069)
Upstream several ClangIR-specific MLIR attributes, in particular
attributes for integer, floating-point, and null pointer constants.
These are the first ClangIR attributes to be upstreamed, so
infrastructure changes are included, such as the table-gen file
`CIRAttrs.td`.
Attributes can be used as the initial values for global variables. The
existing automated test global-var-simple.cpp includes initial values
for some of the global variables in the test.
Commit: cb1ad985b53c87b53974e37bba60129acb294f0d
https://github.com/llvm/llvm-project/commit/cb1ad985b53c87b53974e37bba60129acb294f0d
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
Log Message:
-----------
[mlir][llvmir] implement missing attrs `getChecked` (#121248)
Commit: de294c968bf292794ca9f0a6a481d3dff3bcc2eb
https://github.com/llvm/llvm-project/commit/de294c968bf292794ca9f0a6a481d3dff3bcc2eb
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M compiler-rt/test/profile/ContinuousSyncMode/basic.c
M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
M compiler-rt/test/profile/lit.cfg.py
Log Message:
-----------
[profile] Enable testing Continuous mode on Linux (#121238)
Based on #115987, with the introduction of `REQUIRES: continuous-mode`.
Also Linux assumes `runtime_reloc`.
FIXME: image-with-no-counters.c is still excluded.
Commit: 02e8972c378bf60cc16a85815d29faafdbad7180
https://github.com/llvm/llvm-project/commit/02e8972c378bf60cc16a85815d29faafdbad7180
Author: Justin Bogner <mail at justinbogner.com>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Revert "[nfc][Driver] Remove {{(.exe)?}} from sanitizer test" again (#121280)
This reverts #121162, which was a reapply of the previous revert earlier
in #121160 - The change blatantly breaks tests on windows and it isn't
clear why it's being made.
Note that I needed to add the optional .exe suffix to a few more check
lines that were added as a follow up.
This reverts commit 8e9fda1c1140e067c5344c61df56c34167296f17.
Commit: 1557eeda738d7dbe51d2f52fce28a1fd6f5844ce
https://github.com/llvm/llvm-project/commit/1557eeda738d7dbe51d2f52fce28a1fd6f5844ce
Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqciac-invalid.s
A llvm/test/MC/RISCV/xqciac-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqciac (Load-Store Adress calculation) extension (#121037)
This extension adds 3 instructions that perform load-store address
calculation.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
---------
Co-authored-by: Harsh Chandel <hchandel at qti.qualcomm.com>
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: 66dd7e63d8a1860c11f3b9acf011cad4e18f0195
https://github.com/llvm/llvm-project/commit/66dd7e63d8a1860c11f3b9acf011cad4e18f0195
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-28 (Sat, 28 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/PostRASchedulerList.cpp
Log Message:
-----------
Simplify enablePostRAScheduler and test enablePostRAScheduler() early
Commit: ff29f38c02eb425a6809dec26f221cea3d99b57c
https://github.com/llvm/llvm-project/commit/ff29f38c02eb425a6809dec26f221cea3d99b57c
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/test/COFF/guard-warnings.s
A lld/test/COFF/loadcfg-short.test
A lld/test/COFF/loadcfg-size.test
A lld/test/COFF/loadcfg-uninitialized.test
Log Message:
-----------
[LLD][COFF] Store and validate load config in SymbolTable (#120324)
Improve diagnostics for invalid load configurations.
Commit: e45e091b90896023584b303539bd8ae16d8932b3
https://github.com/llvm/llvm-project/commit/e45e091b90896023584b303539bd8ae16d8932b3
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-equivalentbitwidth-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-ignoreconversionfromtypes-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-intemplates-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-long-is-32bits.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowinginteger-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-pedanticmode-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-unsigned-char.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-bitfields.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-long-is-32bits.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingfloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-unsigned-char.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
Log Message:
-----------
[clang-tidy] swap cppcoreguidelines-narrowing-conversions and bugprone-narrowing-conversions (#120245)
According to #116591.
> Coding guidelines should "cherry-pick" (and posddsibly
configure/harden/make more strict) base checks.
We should move narrowing conversion to bugprone and keep alias in
cppcoreguidelines
Commit: 412e30b2274a134c01c2140ac7c7579be70f0896
https://github.com/llvm/llvm-project/commit/412e30b2274a134c01c2140ac7c7579be70f0896
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Dialect Conversion: Add 1:N op replacement test case (#121271)
This commit adds a test case that performs two back-to-back 1:N
replacements: `(i16) -> (i16, i16) -> ((i16, i16), (i16, i16))`. For the
moment, 3 argument materializations are inserted. In the future (when
the conversion value mapping supports 1:N), a single target
materialization will be inserted. Addresses a
[comment](https://github.com/llvm/llvm-project/pull/116524#discussion_r1894629711)
in #116524.
Commit: b34ed25dd5c74abcb46872cbaab34b91e27a0bda
https://github.com/llvm/llvm-project/commit/b34ed25dd5c74abcb46872cbaab34b91e27a0bda
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
Log Message:
-----------
[clang-tidy][NFC] add link libs for bugprone module
Fixed bug issue introduced in #120245
Commit: 7144325109353f9153780f93ec5a8fee8fdc0927
https://github.com/llvm/llvm-project/commit/7144325109353f9153780f93ec5a8fee8fdc0927
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64x-loadconfig.s
Log Message:
-----------
[LLD][COFF] Prepare both load configs on ARM64X (#120326)
Commit: db7123fbbc530587941ea3c78666103233282120
https://github.com/llvm/llvm-project/commit/db7123fbbc530587941ea3c78666103233282120
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Writer.cpp
A lld/test/COFF/Inputs/loadconfig-arm64.s
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
M lld/test/COFF/arm64x-loadconfig.s
Log Message:
-----------
[LLD][COFF] Use EC symbol table for CHPE metadata (#120328)
Copy CHPE metadata pointer from EC load config to native configuration.
Commit: 6cbc64ed922cc69bc292d394ba5c681fa309f404
https://github.com/llvm/llvm-project/commit/6cbc64ed922cc69bc292d394ba5c681fa309f404
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Fix IMPLICIT_DEF operand being added as a use (#121283)
`IMPLICIT_DEF` has one operand that is a def, not a use.
Commit: 01c8cd664a9bea23a49c863a39351949ac11a4fd
https://github.com/llvm/llvm-project/commit/01c8cd664a9bea23a49c863a39351949ac11a4fd
Author: David Green <david.green at arm.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
Log Message:
-----------
[AArch64][GlobalISel] Full reverse shuffles. (#119083)
A full shuffle reverse needs to use EXT+REV64. This adds handling for more types than SDAG so long as the mask is isReverseMask to make the patterns simpler.
Commit: 08e2c15a287df132ca2186f2d56669219a7ed8a1
https://github.com/llvm/llvm-project/commit/08e2c15a287df132ca2186f2d56669219a7ed8a1
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
[mlir][python] disable nanobind leak warnings (#121099)
Commit: 8487d2460e8cf80c7c3b240cf46969eeeb4ed18d
https://github.com/llvm/llvm-project/commit/8487d2460e8cf80c7c3b240cf46969eeeb4ed18d
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
Log Message:
-----------
[mlir][shape] DCE unimplemented extra decl (#121275)
Commit: c3ef6d469d89accd152c216ed8644783fb221c90
https://github.com/llvm/llvm-project/commit/c3ef6d469d89accd152c216ed8644783fb221c90
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
Log Message:
-----------
Move two LLVM_DEBUG banners after skippers
so that they don't show in -debug output when they are not run.
Commit: 7f3428d3ed71d87a2088b77b6cab9f3d86544234
https://github.com/llvm/llvm-project/commit/7f3428d3ed71d87a2088b77b6cab9f3d86544234
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/reduction-align.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.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/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
Log Message:
-----------
[VPlan] Compute induction end values in VPlan. (#112145)
Use createDerivedIV to compute IV end values directly in VPlan, instead
of creating them up-front.
This allows updating IV users outside the loop as follow-up.
Depends on https://github.com/llvm/llvm-project/pull/110004 and
https://github.com/llvm/llvm-project/pull/109975.
PR: https://github.com/llvm/llvm-project/pull/112145
Commit: d2e71c92b86895781172c3320e6ce828b1df5127
https://github.com/llvm/llvm-project/commit/d2e71c92b86895781172c3320e6ce828b1df5127
Author: Lukas Bergdoll <lukas.bergdoll at gmail.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M libc/src/stdlib/heap_sort.h
M libc/src/stdlib/qsort.cpp
M libc/src/stdlib/qsort_data.h
A libc/src/stdlib/qsort_pivot.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_util.h
M libc/src/stdlib/quick_sort.h
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/SortingTest.h
M libc/test/src/stdlib/heap_sort_test.cpp
M libc/test/src/stdlib/qsort_r_test.cpp
R libc/test/src/stdlib/qsort_test.cpp
M libc/test/src/stdlib/quick_sort_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[libc] Improve qsort (#120450)
Commit: 6a769638b840385fa691f514e3764cc899f64570
https://github.com/llvm/llvm-project/commit/6a769638b840385fa691f514e3764cc899f64570
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Remove XTHeadba pattern that is covered by DAG combine.
Mul by 200 is converted to multiple RISCVISD::SHL_ADD in ExpandMul
Commit: c557ce9f27feccdbda3588555fcb3303d1f81935
https://github.com/llvm/llvm-project/commit/c557ce9f27feccdbda3588555fcb3303d1f81935
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
Log Message:
-----------
[RISCV] Use add_like_non_imm12 in XTheadba patterns to match Zba.
Commit: 82ffdf317ee52e8679d58361dfe39930600839d1
https://github.com/llvm/llvm-project/commit/82ffdf317ee52e8679d58361dfe39930600839d1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Swap rs1 and rs2 names in TH_ADDSL patterns. NFC
The names should match the operand order of the final instruction.
I assume these patterns were somewhat copied from Zba where rs1 is
shifted, but for th.addsl, rs2 is shifted.
Commit: 0b96f1cf6877c21fee42445fa33f26a52bf3dfe8
https://github.com/llvm/llvm-project/commit/0b96f1cf6877c21fee42445fa33f26a52bf3dfe8
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M libc/src/stdlib/heap_sort.h
M libc/src/stdlib/qsort.cpp
M libc/src/stdlib/qsort_data.h
R libc/src/stdlib/qsort_pivot.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_util.h
M libc/src/stdlib/quick_sort.h
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/SortingTest.h
M libc/test/src/stdlib/heap_sort_test.cpp
M libc/test/src/stdlib/qsort_r_test.cpp
A libc/test/src/stdlib/qsort_test.cpp
M libc/test/src/stdlib/quick_sort_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
Revert "[libc] Improve qsort" (#121303)
Reverts llvm/llvm-project#120450
Commit: 6230f1ba945a1bc795a34cd438c6df3b987f359f
https://github.com/llvm/llvm-project/commit/6230f1ba945a1bc795a34cd438c6df3b987f359f
Author: Amr Hesham <amr96 at programmer.net>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Log Message:
-----------
[Clang][ASTMatcher] Add `dependentNameType` AST matcher (#121263)
Fixes: https://github.com/llvm/llvm-project/issues/121240
Commit: 9efa7d7af3decfc5223963b19e1b85cacac48084
https://github.com/llvm/llvm-project/commit/9efa7d7af3decfc5223963b19e1b85cacac48084
Author: Fangrui Song <i at maskray.me>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/test/CodeGen/PowerPC/lsr-postinc-pos.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-reuse.ll
Log Message:
-----------
Remove -print-lsr-output in favor of --stop-after=loop-reduce
Pull Request: https://github.com/llvm/llvm-project/pull/121305
Commit: 49331ab0b9a41f925153fe03cd7e0d4a33b7c3d4
https://github.com/llvm/llvm-project/commit/49331ab0b9a41f925153fe03cd7e0d4a33b7c3d4
Author: Shilei Tian <i at tianshilei.me>
Date: 2024-12-29 (Sun, 29 Dec 2024)
Changed paths:
M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
Log Message:
-----------
[NFC][Clang] Auto generate check lines for `clang/test/CodeGenCXX/matrix-vector-bit-int.cpp`
Commit: b53866fec80d8676705409140b8ed2147ec44fad
https://github.com/llvm/llvm-project/commit/b53866fec80d8676705409140b8ed2147ec44fad
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
Log Message:
-----------
[LoongArch] Modify expanding code sequence for PseudoLA_TLS_LE (#119696)
Before this commit, PseudoLA_TLS_LE for normal/medium code model expand
normally to:
```
lu12i.w $rd, %le_hi20(sym)
ori $rd, $rd, %le_lo12(sym)
```
This commit changes the result to:
```
lu12i.w $rd, %le_hi20_r(sym)
add.w/d $rd, $rd, $tp, %le_add_r(sym)
addi.w/d $rd, $rd, %le_lo12_r(sym)
```
This aims to be optimized by linker relaxation in the future.
This commit makes no change to PseudoLA_TLS_LE in large code model.
Commit: 91c5de7fb8f95132043ed08056e58238383cfcb9
https://github.com/llvm/llvm-project/commit/91c5de7fb8f95132043ed08056e58238383cfcb9
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[bazel] Fix the broken bazel build for clang-tidy after e45e091b90896023584b303539bd8ae16d8932b3
Commit: 486ec4bd7466cda444a7da6386a1bbb2db89a33f
https://github.com/llvm/llvm-project/commit/486ec4bd7466cda444a7da6386a1bbb2db89a33f
Author: Galen Elias <gelias at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
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/UnwrappedLineFormatter.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add `AllowShortNamespacesOnASingleLine` option (#105597)
This fixes #101363 which is a resurrection of a previously opened but
never completed review: https://reviews.llvm.org/D11851
The feature is to allow code like the following not to be broken across
multiple lines:
```
namespace foo { class bar; }
namespace foo { namespace bar { class baz; } }
```
Code like this is commonly used for forward declarations, which are
ideally kept compact. This is also apparently the format that
include-what-you-use will insert for forward declarations.
Also, fix an off-by-one error in `CompactNamespaces` code. For nested
namespaces with 3 or more namespaces, it was incorrectly compacting
lines which were 1 or two spaces over the `ColumnLimit`, leading to
incorrect formatting results.
Commit: 998bdae7f5ce8c5aa31b376592c9693fc95f02e3
https://github.com/llvm/llvm-project/commit/998bdae7f5ce8c5aa31b376592c9693fc95f02e3
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/utils/mlgo-utils/CMakeLists.txt
Log Message:
-----------
[MLGO] Only configure tests with LLVM_INCLUDE_TESTS (#121293)
This allows downstream customers to remove all test directories and save
quite some space when only building with LLVM_INCLUDE_TESTS=OFF.
Commit: 39e93eee76ab86c9892540e2d4ad881c41ad54d4
https://github.com/llvm/llvm-project/commit/39e93eee76ab86c9892540e2d4ad881c41ad54d4
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
Log Message:
-----------
[TOSA] Handle dialect check more efficiently (#120960)
Commit: 60d20603e43a53b1d495d199ea020c3a56a6866f
https://github.com/llvm/llvm-project/commit/60d20603e43a53b1d495d199ea020c3a56a6866f
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
Log Message:
-----------
[mlir][xegpu] DCE decl in TD (#121249)
Commit: 16d19aaedf347f452c22c7254934753b19803d5d
https://github.com/llvm/llvm-project/commit/16d19aaedf347f452c22c7254934753b19803d5d
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
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/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPDomTreeTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Manage created blocks directly in VPlan. (NFC) (#120918)
This patch changes the way blocks are managed by VPlan. Previously all
blocks reachable from entry would be cleaned up when a VPlan is
destroyed. With this patch, each VPlan keeps track of blocks created for
it in a list and this list is then used to delete all blocks in the list
when the VPlan is destroyed. To do so, block creation is funneled
through helpers in directly in VPlan.
The main advantage of doing so is it simplifies CFG transformations, as
those do not have to take care of deleting any blocks, just adjusting
the CFG. This helps to simplify
https://github.com/llvm/llvm-project/pull/108378 and
https://github.com/llvm/llvm-project/pull/106748.
This also simplifies handling of 'immutable' blocks a VPlan holds
references to, which at the moment only include the scalar header block.
PR: https://github.com/llvm/llvm-project/pull/120918
Commit: 50a457d9e89142e89a9b66de5c23c515b50d1f96
https://github.com/llvm/llvm-project/commit/50a457d9e89142e89a9b66de5c23c515b50d1f96
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Add getOperandInfo for saturating signed multiply (#120351)
These instructions are covered by the existing tests. We don't add them to
isSupported because of VXSAT. This decision was made in #120358.
Commit: ff936ce62bda2f9148575caae527cc4c6ab282a5
https://github.com/llvm/llvm-project/commit/ff936ce62bda2f9148575caae527cc4c6ab282a5
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/test/Driver/hip-device-libs.hip
Log Message:
-----------
[Clang][Driver][AMDGPU] Add missing space in missing device-libs error message (#121335)
Before/After:
> cannot find ROCm device **libraryfor** ABI version 6
> cannot find ROCm device **library for** ABI version 6
Commit: 42dfaa15a60cea6cd75a2efb419aa2c206d2a127
https://github.com/llvm/llvm-project/commit/42dfaa15a60cea6cd75a2efb419aa2c206d2a127
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/deprecation-global-option.cpp
Log Message:
-----------
[clang-tidy] add depercation warning for non-whitelisted global options (#121057)
We plan to depercate `StrictMode` and `IgnoreMacros` global options
after 2 major versions and support local options only for them.
This patch introduces the depercation warning.
Commit: 79af7bdd4e415aa8a94263a4507b51862fba882f
https://github.com/llvm/llvm-project/commit/79af7bdd4e415aa8a94263a4507b51862fba882f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Add `AllElementTypesMatch` trait for `tosa.transpose` (#120964)
This PR adds `AllElementTypesMatch` trait for `tosa.transpose` to ensure
output tensor of same type as the input tensor. Fixes #119364.
Commit: b3a7ab6f1f6954bfb1da0683aa5d03a2837c7065
https://github.com/llvm/llvm-project/commit/b3a7ab6f1f6954bfb1da0683aa5d03a2837c7065
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
Log Message:
-----------
[DAG] Don't allow implicit truncation in extract_element(bitcast(scalar_to_vector(X))) -> trunc(srl(X,C)) fold
Limits #117900 to only fold when scalar_to_vector doesn't perform implicit truncation, as the scaled shift calculation doesn't currently account for this - this can be addressed in a future update.
Fixes #121306
Commit: c7d237085bf9102ecf0c9105d8cc7fd94b752a3a
https://github.com/llvm/llvm-project/commit/c7d237085bf9102ecf0c9105d8cc7fd94b752a3a
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
A mlir/utils/pygments/README.md
A mlir/utils/pygments/mlir_lexer.py
Log Message:
-----------
[mlir] add a simple pygments lexer (#120942)
This enables syntax highlighting of MLIR using the Pygments package in
Python, which is in turn usable from LaTeX via the minted package.
Commit: a74f825a7acec4962bb4c172da7ed0028f7b4d44
https://github.com/llvm/llvm-project/commit/a74f825a7acec4962bb4c172da7ed0028f7b4d44
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp
Log Message:
-----------
[MIPatternMatch] Add m_DeferredReg/Type (#121218)
This pattern does the same thing as m_SpecificReg/Type except the value
it matches against origniated from an earlier pattern in the same
mi_match expression.
This patch also changes how commutative patterns are handled: in order
to support m_DefferedReg/Type, we always have to run the LHS-pattern
before the RHS one.
Commit: c2be48a6ce87eeaa37e2a0ab531e6e5812dbfa55
https://github.com/llvm/llvm-project/commit/c2be48a6ce87eeaa37e2a0ab531e6e5812dbfa55
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
Log Message:
-----------
[LV] Add additional tests with induction users.
Adds test coverage of post-inc IV users with different opcodes.
Commit: a77d119f76c45561f86528b27cf391c61d1ad69f
https://github.com/llvm/llvm-project/commit/a77d119f76c45561f86528b27cf391c61d1ad69f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
Log Message:
-----------
[NVPTX] Remove redundant types from TableGen patterns (NFC) (#120986)
These types in the output dag of a Pat do not impact the generated
matcher code at all. Removing them makes for more concise and readable
code.
Commit: af83093933ca73bc82c33130f8bda9f1ae54aae2
https://github.com/llvm/llvm-project/commit/af83093933ca73bc82c33130f8bda9f1ae54aae2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands
As we're reducing the use count of the operands its more likely that they will now fold, as they were previously being prevented by a m_OneUse check, or the cost of retaining the extra instruction had been too high.
This is necessary for some upcoming patches, although the only change so far is instruction ordering as it allows some SSE folds of 256/512-bit with 128-bit subvectors to occur earlier in foldShuffleToIdentity as the subvector concats are free.
Pulled out of #120984
Commit: 65a2eb0b1589590ae78cc1e5f05cd004b3b3bec5
https://github.com/llvm/llvm-project/commit/65a2eb0b1589590ae78cc1e5f05cd004b3b3bec5
Author: Stefan Schulze Frielinghaus <stefansf at linux.ibm.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
Log Message:
-----------
[sanitizer] Fix type in some Min() calls (#119248)
This is a follow-up to 6dec33834d1fd89f16e271dde9607c1de9554144 and
#116957 and #119114.
Commit: accd4a4ad5ec7a8682dc701fd7072610d40cc436
https://github.com/llvm/llvm-project/commit/accd4a4ad5ec7a8682dc701fd7072610d40cc436
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
Log Message:
-----------
[LLDB][Minidump] Make workaround for the Dynamic loader issue (#120166)
In #119598 my recent TLS feature seems to break crashpad symbols. I have
a few ideas on how this is happening, but for now as a mitigation I'm
checking if the Minidump was LLDB generated, and if so leveraging the
dynamic loader.
Commit: d9111f19d2ea53d8ce105b3d09425394ccf37969
https://github.com/llvm/llvm-project/commit/d9111f19d2ea53d8ce105b3d09425394ccf37969
Author: Amir Bishara <139038766+amirBish at users.noreply.github.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/EliminateEmptyTensors.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
Log Message:
-----------
[mlir][bufferization]-Refactor findValueInReverseUseDefChain to accept opOperand (#121304)
Edit the `findValueInReverseUseDefChain` method to accept `OpOperand`
instead of the `Value` type, This change will make sure that the
populated `visitedOpOperands` argument is fully accurate and contains
the opOperand we have started the reverse chain from.
Commit: fb365ac86c8032e65586b0eb055a7f1646304f89
https://github.com/llvm/llvm-project/commit/fb365ac86c8032e65586b0eb055a7f1646304f89
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Log Message:
-----------
[mlir][linalg] DCE unimplemented extra decl (#121272)
Commit: 9a88edeb49b3edefbb9933fa5b71d7d421fc99bd
https://github.com/llvm/llvm-project/commit/9a88edeb49b3edefbb9933fa5b71d7d421fc99bd
Author: Petr Hosek <phosek at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M compiler-rt/lib/tysan/CMakeLists.txt
Log Message:
-----------
[TYSan][CMake] CMake build fixes (#121224)
TYSan CMake build follows patterns used by other sanitizers, but there's
also a number of issues, like referring to undefined variables, which
breaks the build in some cases (such as cross-compiling). This change
addresses the issues.
Commit: 5373ed0e79c3eaf8a11a0fd747aa80556f203211
https://github.com/llvm/llvm-project/commit/5373ed0e79c3eaf8a11a0fd747aa80556f203211
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M compiler-rt/test/fuzzer/noasan-strcmp.test
Log Message:
-----------
[fuzzer][test] Disable noasan-strcmp test for AArch64
This patch disables the `noasan-strcmp.test` for AArch64 Linux as it
consistently fails on the buildbot machine while passing on other
AArch64 Linux systems.
We have seen similar issues on noasan-strncmp.test in past which had
random failures on certain machines/environments.
Following buildbot is failing in both check stage1 and stage2:
https://lab.llvm.org/buildbot/#/builders/121/builds/711
Commit: b20b6e9ea9e9e1f66feb2663b999f66a8af3a5dc
https://github.com/llvm/llvm-project/commit/b20b6e9ea9e9e1f66feb2663b999f66a8af3a5dc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
Log Message:
-----------
[LV] Check IR generated for both interleaving and vectorizing in test.
Currently the tests would in some cases would only check the vectorized
IR, but not the interleaved IR, if they are different.
Commit: 08f77241c0d90737f1818b948978876a0822be32
https://github.com/llvm/llvm-project/commit/08f77241c0d90737f1818b948978876a0822be32
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
Log Message:
-----------
[clang-tidy][doc] mention smart ptr in bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField option (#121316)
Commit: d5a96eb125eaf661f7f9aad4cd184973fe750528
https://github.com/llvm/llvm-project/commit/d5a96eb125eaf661f7f9aad4cd184973fe750528
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
Revert af83093933ca73bc82c33130f8bda9f1ae54aae2 "[VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands"
Reports of hung builds, but I don't have time to investigate at the moment.
Commit: 332d2647ff128af166f5b0f235c723888c3cd793
https://github.com/llvm/llvm-project/commit/332d2647ff128af166f5b0f235c723888c3cd793
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
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
R llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
Revert "[LV]: Teach LV to recursively (de)interleave. (#89018)"
This reverts commit ccfe0de0e1e37ed369c9bf89dd0188ba0afb2e9a.
This breaks LLVM build on AArch64 SVE Linux buildbots
https://lab.llvm.org/buildbot/#/builders/143/builds/4462
https://lab.llvm.org/buildbot/#/builders/17/builds/4902
https://lab.llvm.org/buildbot/#/builders/4/builds/4399
https://lab.llvm.org/buildbot/#/builders/41/builds/4299
Commit: 28ae2ff2a44c0a5d09ce5e88d8d8f3309b6f127f
https://github.com/llvm/llvm-project/commit/28ae2ff2a44c0a5d09ce5e88d8d8f3309b6f127f
Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/truncxfhf2.c
A compiler-rt/test/builtins/Unit/truncxfhf2_test.c
Log Message:
-----------
Add truncxfhf2 with tests to compiler-rt (#120372)
Fixes #105181
Commit: 70c9152f99818ffd0342260ae12d709268031235
https://github.com/llvm/llvm-project/commit/70c9152f99818ffd0342260ae12d709268031235
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M libc/test/UnitTest/FPMatcher.h
Log Message:
-----------
[libc] Fix non-calls to cpp::is_complex_type_same (#121257)
Some uses were not actually calls, just references to the name.
Commit: 0897373f1a329a7a02f8ce3c501a05d2f9c89390
https://github.com/llvm/llvm-project/commit/0897373f1a329a7a02f8ce3c501a05d2f9c89390
Author: Zequan Wu <zequanwu at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Clang][test] Relax checking for libclang_rt.asan.so and libclang_rt.asan_static.a on arm android. (#121361)
This fixes test breakage on clang bots. See comment
https://github.com/llvm/llvm-project/pull/121081#issuecomment-2565933062
Commit: 9abcca5e25296aea49288ad63901f9e0a332dad4
https://github.com/llvm/llvm-project/commit/9abcca5e25296aea49288ad63901f9e0a332dad4
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/docs/dev/header_generation.rst
M libc/docs/dev/source_tree_layout.rst
M libc/docs/full_cross_build.rst
R libc/hdrgen/CMakeLists.txt
R libc/hdrgen/class_implementation/classes/enumeration.py
R libc/hdrgen/class_implementation/classes/function.py
R libc/hdrgen/class_implementation/classes/macro.py
R libc/hdrgen/class_implementation/classes/object.py
R libc/hdrgen/class_implementation/classes/type.py
R libc/hdrgen/gpu_headers.py
R libc/hdrgen/header.py
R libc/hdrgen/tests/expected_output/test_header.h
R libc/hdrgen/tests/input/test_small.h.def
R libc/hdrgen/tests/input/test_small.yaml
R libc/hdrgen/tests/test_integration.py
R libc/hdrgen/yaml/arpa/inet.yaml
R libc/hdrgen/yaml/assert.yaml
R libc/hdrgen/yaml/complex.yaml
R libc/hdrgen/yaml/ctype.yaml
R libc/hdrgen/yaml/dirent.yaml
R libc/hdrgen/yaml/dlfcn.yaml
R libc/hdrgen/yaml/elf.yaml
R libc/hdrgen/yaml/errno.yaml
R libc/hdrgen/yaml/fcntl.yaml
R libc/hdrgen/yaml/features.yaml
R libc/hdrgen/yaml/fenv.yaml
R libc/hdrgen/yaml/float.yaml
R libc/hdrgen/yaml/inttypes.yaml
R libc/hdrgen/yaml/limits.yaml
R libc/hdrgen/yaml/link.yaml
R libc/hdrgen/yaml/locale.yaml
R libc/hdrgen/yaml/malloc.yaml
R libc/hdrgen/yaml/math.yaml
R libc/hdrgen/yaml/pthread.yaml
R libc/hdrgen/yaml/sched.yaml
R libc/hdrgen/yaml/search.yaml
R libc/hdrgen/yaml/setjmp.yaml
R libc/hdrgen/yaml/signal.yaml
R libc/hdrgen/yaml/spawn.yaml
R libc/hdrgen/yaml/stdbit.yaml
R libc/hdrgen/yaml/stdckdint.yaml
R libc/hdrgen/yaml/stdfix.yaml
R libc/hdrgen/yaml/stdint.yaml
R libc/hdrgen/yaml/stdio.yaml
R libc/hdrgen/yaml/stdlib.yaml
R libc/hdrgen/yaml/string.yaml
R libc/hdrgen/yaml/strings.yaml
R libc/hdrgen/yaml/sys/auxv.yaml
R libc/hdrgen/yaml/sys/epoll.yaml
R libc/hdrgen/yaml/sys/ioctl.yaml
R libc/hdrgen/yaml/sys/mman.yaml
R libc/hdrgen/yaml/sys/prctl.yaml
R libc/hdrgen/yaml/sys/random.yaml
R libc/hdrgen/yaml/sys/resource.yaml
R libc/hdrgen/yaml/sys/select.yaml
R libc/hdrgen/yaml/sys/sendfile.yaml
R libc/hdrgen/yaml/sys/socket.yaml
R libc/hdrgen/yaml/sys/stat.yaml
R libc/hdrgen/yaml/sys/statvfs.yaml
R libc/hdrgen/yaml/sys/syscall.yaml
R libc/hdrgen/yaml/sys/time.yaml
R libc/hdrgen/yaml/sys/types.yaml
R libc/hdrgen/yaml/sys/utsname.yaml
R libc/hdrgen/yaml/sys/wait.yaml
R libc/hdrgen/yaml/termios.yaml
R libc/hdrgen/yaml/threads.yaml
R libc/hdrgen/yaml/time.yaml
R libc/hdrgen/yaml/uchar.yaml
R libc/hdrgen/yaml/unistd.yaml
R libc/hdrgen/yaml/wchar.yaml
R libc/hdrgen/yaml_functions_sorted.py
R libc/hdrgen/yaml_to_classes.py
M libc/include/CMakeLists.txt
M libc/src/math/docs/add_math_function.md
M libc/utils/CMakeLists.txt
A libc/utils/hdrgen/CMakeLists.txt
A libc/utils/hdrgen/README.rst
A libc/utils/hdrgen/class_implementation/classes/enumeration.py
A libc/utils/hdrgen/class_implementation/classes/function.py
A libc/utils/hdrgen/class_implementation/classes/macro.py
A libc/utils/hdrgen/class_implementation/classes/object.py
A libc/utils/hdrgen/class_implementation/classes/type.py
A libc/utils/hdrgen/gpu_headers.py
A libc/utils/hdrgen/header.py
A libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/input/test_small.h.def
A libc/utils/hdrgen/tests/input/test_small.yaml
A libc/utils/hdrgen/tests/test_integration.py
A libc/utils/hdrgen/yaml/arpa/inet.yaml
A libc/utils/hdrgen/yaml/assert.yaml
A libc/utils/hdrgen/yaml/complex.yaml
A libc/utils/hdrgen/yaml/ctype.yaml
A libc/utils/hdrgen/yaml/dirent.yaml
A libc/utils/hdrgen/yaml/dlfcn.yaml
A libc/utils/hdrgen/yaml/elf.yaml
A libc/utils/hdrgen/yaml/errno.yaml
A libc/utils/hdrgen/yaml/fcntl.yaml
A libc/utils/hdrgen/yaml/features.yaml
A libc/utils/hdrgen/yaml/fenv.yaml
A libc/utils/hdrgen/yaml/float.yaml
A libc/utils/hdrgen/yaml/inttypes.yaml
A libc/utils/hdrgen/yaml/limits.yaml
A libc/utils/hdrgen/yaml/link.yaml
A libc/utils/hdrgen/yaml/locale.yaml
A libc/utils/hdrgen/yaml/malloc.yaml
A libc/utils/hdrgen/yaml/math.yaml
A libc/utils/hdrgen/yaml/pthread.yaml
A libc/utils/hdrgen/yaml/sched.yaml
A libc/utils/hdrgen/yaml/search.yaml
A libc/utils/hdrgen/yaml/setjmp.yaml
A libc/utils/hdrgen/yaml/signal.yaml
A libc/utils/hdrgen/yaml/spawn.yaml
A libc/utils/hdrgen/yaml/stdbit.yaml
A libc/utils/hdrgen/yaml/stdckdint.yaml
A libc/utils/hdrgen/yaml/stdfix.yaml
A libc/utils/hdrgen/yaml/stdint.yaml
A libc/utils/hdrgen/yaml/stdio.yaml
A libc/utils/hdrgen/yaml/stdlib.yaml
A libc/utils/hdrgen/yaml/string.yaml
A libc/utils/hdrgen/yaml/strings.yaml
A libc/utils/hdrgen/yaml/sys/auxv.yaml
A libc/utils/hdrgen/yaml/sys/epoll.yaml
A libc/utils/hdrgen/yaml/sys/ioctl.yaml
A libc/utils/hdrgen/yaml/sys/mman.yaml
A libc/utils/hdrgen/yaml/sys/prctl.yaml
A libc/utils/hdrgen/yaml/sys/random.yaml
A libc/utils/hdrgen/yaml/sys/resource.yaml
A libc/utils/hdrgen/yaml/sys/select.yaml
A libc/utils/hdrgen/yaml/sys/sendfile.yaml
A libc/utils/hdrgen/yaml/sys/socket.yaml
A libc/utils/hdrgen/yaml/sys/stat.yaml
A libc/utils/hdrgen/yaml/sys/statvfs.yaml
A libc/utils/hdrgen/yaml/sys/syscall.yaml
A libc/utils/hdrgen/yaml/sys/time.yaml
A libc/utils/hdrgen/yaml/sys/types.yaml
A libc/utils/hdrgen/yaml/sys/utsname.yaml
A libc/utils/hdrgen/yaml/sys/wait.yaml
A libc/utils/hdrgen/yaml/termios.yaml
A libc/utils/hdrgen/yaml/threads.yaml
A libc/utils/hdrgen/yaml/time.yaml
A libc/utils/hdrgen/yaml/uchar.yaml
A libc/utils/hdrgen/yaml/unistd.yaml
A libc/utils/hdrgen/yaml/wchar.yaml
A libc/utils/hdrgen/yaml_functions_sorted.py
A libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Move hdrgen into utils/ subdirectory (#121256)
Commit: f385542f62fa1f57001c95c476165e1618cb54ba
https://github.com/llvm/llvm-project/commit/f385542f62fa1f57001c95c476165e1618cb54ba
Author: c8ef <c8ef at outlook.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/tools/include-mapping/cppreference_parser.py
Log Message:
-----------
[Tooling/Inclusion] Modify the Python script to open the C++ reference with UTF-8 encoding. (#121341)
This will prevent the error on systems with a default encoding other
than utf-8.
```
UnicodeDecodeError: 'gbk' codec can't decode byte 0xb6 in position 12958: illegal multibyte sequence
```
Commit: 07e13b764d6a5002f5bd9a41bf514106607f13f1
https://github.com/llvm/llvm-project/commit/07e13b764d6a5002f5bd9a41bf514106607f13f1
Author: Roland McGrath <mcgrathr at google.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
R libc/utils/hdrgen/class_implementation/classes/enumeration.py
R libc/utils/hdrgen/class_implementation/classes/function.py
R libc/utils/hdrgen/class_implementation/classes/macro.py
R libc/utils/hdrgen/class_implementation/classes/object.py
R libc/utils/hdrgen/class_implementation/classes/type.py
A libc/utils/hdrgen/enumeration.py
A libc/utils/hdrgen/function.py
A libc/utils/hdrgen/macro.py
A libc/utils/hdrgen/object.py
A libc/utils/hdrgen/type.py
M libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Remove unnecessary subdirectory layers in utils/hdrgen (#121363)
Two extra layers of subdirectory for a handful of single-symbol
Python source files did not improve anything, and it complicated
integration of the hdrgen Python outside the LLVM CMake build.
Commit: fe1f64e7e935c9905a115842183ea29dd1312dfe
https://github.com/llvm/llvm-project/commit/fe1f64e7e935c9905a115842183ea29dd1312dfe
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2024-12-30 (Mon, 30 Dec 2024)
Changed paths:
M clang-tools-extra/clangd/tool/ClangdMain.cpp
Log Message:
-----------
[clangd] Make EnableFunctionArgSnippets option string-typed (#121178)
Fixes https://github.com/clangd/clangd/issues/2232
Commit: e50ec3e46bea819a1d7aea1cee2d7e11197bbdd2
https://github.com/llvm/llvm-project/commit/e50ec3e46bea819a1d7aea1cee2d7e11197bbdd2
Author: Jan Kokemüller <jan.kokemueller at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
A clang/test/Modules/expose-static-inline-from-gmf-1.cppm
A clang/test/Modules/expose-static-inline-from-gmf-2.cppm
A clang/test/Modules/expose-static-inline-from-gmf-3.cppm
A clang/test/Modules/expose-static-inline-from-gmf-4.cppm
A clang/test/Modules/expose-static-inline-from-gmf-5.cppm
Log Message:
-----------
[Clang][Sema] Expose static inline functions from GMF (#104701)
In C, it is a common pattern to have `static inline` functions in
headers to avoid ODR issues. Currently, when those headers are included
in a GMF, the names are not found when two-phase name lookup and ADL is
involved. Those names are removed by `Sema::AddOverloadCandidate`.
Similarly, in C++, sometimes people use templates with internal linkage
in headers.
As the GMF was designed to be a transitional mechanism for headers,
special case those functions in `Sema::AddOverloadCandidate`.
This fixes <https://github.com/llvm/llvm-project/issues/98021>.
Commit: f590963db836ccbf7c547a3dea9dc719f24444d1
https://github.com/llvm/llvm-project/commit/f590963db836ccbf7c547a3dea9dc719f24444d1
Author: Philipp van Kempen <philipp.van-kempen at tum.de>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
A llvm/test/CodeGen/RISCV/xcvmem-heuristic.ll
Log Message:
-----------
[RISCV] Implement RISCVTTIImpl::getPreferredAddressingMode for HasVendorXCVmem (#120533)
For a simple matmult kernel this heuristic reduces the length of the
critical basic block from 15 to 20 instructions, resulting in a 20%
speedup.
**Without heuristic:**
```
13688: 001b838b cv.lb t2, (s7), 0x1
1368c: 09cdbcab cv.lb s9, t3(s11)
13690: 089db62b cv.lb a2, s1(s11)
13694: 092dbdab cv.lb s11, s2(s11)
13698: 001d028b cv.lb t0, (s10), 0x1
1369c: 00f282b3 add t0, t0, a5
136a0: 9072b52b cv.mac a0, t0, t2
136a4: 9192bfab cv.mac t6, t0, s9
136a8: 90c2beab cv.mac t4, t0, a2
136ac: 91b2bf2b cv.mac t5, t0, s11
136b0: fffc0c13 addi s8, s8, -0x1
136b4: 018e0633 add a2, t3, s8
136b8: 91b2b0ab cv.mac ra, t0, s11
136bc: 000b8d93 mv s11, s7
136c0: fc0614e3 bnez a2, 0x13688 <muriscv_nn_vec_mat_mult_t_s8+0x2f0>
#instrs = 15
```
**With heuristic:**
```
7bc0: 001c860b cv.lb a2, (s9), 0x1
7bc4: 001e0d0b cv.lb s10, (t3), 0x1
7bc8: 001e808b cv.lb ra, (t4), 0x1
7bcc: 0015038b cv.lb t2, (a0), 0x1
7bd0: 001c028b cv.lb t0, (s8), 0x1
7bd4: 00f282b3 add t0, t0, a5
7bd8: 90c2bfab cv.mac t6, t0, a2
7bdc: 91a2b92b cv.mac s2, t0, s10
7be0: 9012b5ab cv.mac a1, t0, ra
7be4: 9072b9ab cv.mac s3, t0, t2
7be8: 9072b72b cv.mac a4, t0, t2
7bec: fc851ae3 bne a0, s0, 0x7bc0 <muriscv_nn_vec_mat_mult_t_s8+0x338>
#instrs = 12
improvement = 1 - 12/15 = 0.2 = 20%
```
Commit: 2e3d3903e624edd5bb32cdd9a9654c907d4f1744
https://github.com/llvm/llvm-project/commit/2e3d3903e624edd5bb32cdd9a9654c907d4f1744
Author: Karthika Devi C <quic_kartc at quicinc.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M polly/lib/Support/ScopHelper.cpp
A polly/test/ScopDetect/dom-tree-crash.ll
Log Message:
-----------
[polly] Skip instructions of different function in isHoistableLoad. (#118963)
After patch 5ce47a5, some assert crashes occur in Polly. This issue
arises because an instruction from one function queries the Dominator
Tree (DT) of another function. To fix this, the `isHoistableLoad`
function now skips instructions that belong to different function while
iterating.
Commit: 6f3d1d3018448fcad1071e2dc308632c19486f65
https://github.com/llvm/llvm-project/commit/6f3d1d3018448fcad1071e2dc308632c19486f65
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M libc/src/compiler/generic/__stack_chk_fail.cpp
Log Message:
-----------
[libc] add __stack_chk_guard to generic (#121121)
Commit: 5b5ef254a341768283035718262a9cad6cc743e8
https://github.com/llvm/llvm-project/commit/5b5ef254a341768283035718262a9cad6cc743e8
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Fix typo: vmv.x.i -> vmv.v.i
Commit: e3fe41cdf5583d3a2f7454c76fa5cadccdccaf22
https://github.com/llvm/llvm-project/commit/e3fe41cdf5583d3a2f7454c76fa5cadccdccaf22
Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedule.td
Log Message:
-----------
[RISCV] Add missing ReadFMA16Addend in UnsupportedSchedZfh
Commit: f035351af785b7349ab7bcd55149c781ceca24cb
https://github.com/llvm/llvm-project/commit/f035351af785b7349ab7bcd55149c781ceca24cb
Author: Julian Nagele <j.nagele at apple.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
Log Message:
-----------
[SCEV] Make sure starting block is marked as visited when recursively collecting loop guards. (#120749)
When `collectFromBlock` is called without a predecessor (in particular
for loops that don't have a unique predecessor outside the loop) we
never start climbing the predecessor chain, and thus don't mark the
starting block as visited.
Fixes https://github.com/llvm/llvm-project/issues/120615.
Commit: b35d3453ddf14e9564a6b65bd325051f4492311c
https://github.com/llvm/llvm-project/commit/b35d3453ddf14e9564a6b65bd325051f4492311c
Author: David Green <david.green at arm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
Log Message:
-----------
[AArch64] Add an option for sve-prefer-fixed-over-scalable-if-equal. NFC
Add a new option to control preferFixedOverScalableIfEqualCost, useful for
testing.
Commit: f0d60170cc501447c999569db8fe91aacaad5fe2
https://github.com/llvm/llvm-project/commit/f0d60170cc501447c999569db8fe91aacaad5fe2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Check memove/memcpy for available elements (#121383)
Both destination and source pointer need to have at least as many
elements as requested.
Commit: 31613de9cf22b2915cb39bfb043d957d513bd1cd
https://github.com/llvm/llvm-project/commit/31613de9cf22b2915cb39bfb043d957d513bd1cd
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
Log Message:
-----------
[mlir][ArmSME] Migrate `arm-sme-vector-legalization` to dialect conversion (#121101)
Use the regular dialect conversion driver instead of the 1:N dialect
conversion driver. The 1:N dialect conversion driver will be removed
soon.
Commit: 80ecbaa3c0ae02cf3f7005bfebef28003c6f8d0e
https://github.com/llvm/llvm-project/commit/80ecbaa3c0ae02cf3f7005bfebef28003c6f8d0e
Author: Matthias Springer <me at m-sp.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Patterns.h
M mlir/include/mlir/Transforms/OneToNTypeConversion.h
Log Message:
-----------
[mlir][Transforms] Mark 1:N conversion driver as deprecated (#121102)
The 1:N conversion driver will be removed soon.
Note for LLVM integration: Please migrate your code base to the regular dialect conversion driver.
Commit: 1d5154663509b6200038a2f0b0ac958ea556fa9e
https://github.com/llvm/llvm-project/commit/1d5154663509b6200038a2f0b0ac958ea556fa9e
Author: Zibi Sarbinowski <zibi at ca.ibm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
Log Message:
-----------
[SystemZ][z/OS] Open YAML files for read as text files (#121340)
This patch makes sure YAML files are opened for reading as text file to
trigger auto-conversion from EBCDIC encoding into expected ASCII
encoding on z/OS platform. This is required to fix the following lit
tests:
```
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-exe.yaml
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-obj.test
LLVM :: tools/llvm-gsymutil/ARM_AArch64/macho-gsym-callsite-info-dsym.yaml
LLVM :: Transforms/PGOProfile/memprof_undrift_missing_leaf.ll
```
Commit: ddef380cd6c30668cc6f6d952b4c045f724f8d57
https://github.com/llvm/llvm-project/commit/ddef380cd6c30668cc6f6d952b4c045f724f8d57
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Move simplifyRecipe(s) definitions up to allow re-use (NFC)
Move definitions to allow easy reuse in
https://github.com/llvm/llvm-project/pull/108378.
Commit: 6279d2e0f33ed1aa686aace48da6ccf912ab4b28
https://github.com/llvm/llvm-project/commit/6279d2e0f33ed1aa686aace48da6ccf912ab4b28
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
Log Message:
-----------
AArch64ABIInfo::passAsAggregateType - don't directly dereference getAs<> result. NFC.
Reported by coverity static analyzer - we know the type is a BuiltinType so use castAs<>
Commit: b195bb87e1a0120d8bc6f7fd7e6a7424bd664004
https://github.com/llvm/llvm-project/commit/b195bb87e1a0120d8bc6f7fd7e6a7424bd664004
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] scalarizeLoadExtract - consistently use LoadInst and ExtractElementInst specific operand getters. NFC
Noticed while investigating the hung builds reported after af83093933ca73bc82c33130f8bda9f1ae54aae2
Commit: d1e5e6735a845f1281f11389da1e5a55a0d2e87a
https://github.com/llvm/llvm-project/commit/d1e5e6735a845f1281f11389da1e5a55a0d2e87a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/memcpy-constant-size.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_add_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_fill_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/ARM/mve-floatreduce.ll
M llvm/test/Transforms/PhaseOrdering/X86/excessive-unrolling.ll
M llvm/test/Transforms/PhaseOrdering/X86/preserve-access-group.ll
M llvm/test/Transforms/PhaseOrdering/bitfield-bittests.ll
M llvm/test/Transforms/PhaseOrdering/dae-dce.ll
M llvm/test/Transforms/PhaseOrdering/deletion-of-loops-that-became-side-effect-free.ll
M llvm/test/Transforms/PhaseOrdering/globalaa-retained.ll
M llvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll
M llvm/test/Transforms/PhaseOrdering/lifetime-sanitizer.ll
M llvm/test/Transforms/PhaseOrdering/loop-rotation-vs-common-code-hoisting.ll
M llvm/test/Transforms/PhaseOrdering/pr32544.ll
M llvm/test/Transforms/PhaseOrdering/pr45682.ll
M llvm/test/Transforms/PhaseOrdering/pr62311.ll
M llvm/test/Transforms/PhaseOrdering/pr95152.ll
M llvm/test/Transforms/PhaseOrdering/rotate.ll
M llvm/test/Transforms/PhaseOrdering/simplifycfg-switch-lowering-vs-correlatedpropagation.ll
M llvm/test/Transforms/PhaseOrdering/switch-sext.ll
M llvm/test/Transforms/PhaseOrdering/switch_with_geps.ll
Log Message:
-----------
[PhaseOrdering] Update test RUN lines to use `-passes="default<O3>"` to allow evaluation by DOS batch scripts. NFC.
`-passes='default<O3>'` isn't correctly parsed on DOS, so when update_test_checks.py runs a system call on the opt RUN line, it fails to evaluate properly - use `-passes="default<O3>"` instead.
Commit: 0b08e095cc05288d1209cf051988621f6935c940
https://github.com/llvm/llvm-project/commit/0b08e095cc05288d1209cf051988621f6935c940
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
Log Message:
-----------
[mlir][nfc] GpuToROCDL: Remove some dead code (#121395)
Commit: 018b32ca1fd0214e4a359ed8388a2c859d0fc841
https://github.com/llvm/llvm-project/commit/018b32ca1fd0214e4a359ed8388a2c859d0fc841
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
Log Message:
-----------
Revert "[mlir][nfc] GpuToROCDL: Remove some dead code" (#121402)
Reverts llvm/llvm-project#121395
Commit: ebdb6cf2acd6008e8741764a9078e2403cbc4fb5
https://github.com/llvm/llvm-project/commit/ebdb6cf2acd6008e8741764a9078e2403cbc4fb5
Author: Angus Lees <gus at inodes.org>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/utils/lit/tests/shtest-format.py
Log Message:
-----------
[lit] Cope with more cat variants (#121376)
BusyBox `cat` has yet another slight variation of error formatting:
```console
$ cat --help 2>&1 | head -1
BusyBox v1.37.0 (2024-09-30 10:39:57 UTC) multi-call binary.
$ cat does-not-exist
cat: can't open 'does-not-exist': No such file or directory
```
Rather than extend the test result regex with a third case,
recognise that we only really care about the filename and errno string.
Weaken the regex to ignore all "noise" around the filename.
Note this also corrects what looks like a bug with the previous regex.
Previously, the `cannot open does-not-exist` alternate did not assert
the following errno message. This was introduced in
https://reviews.llvm.org/D60553 (apparently) due to differences in the
`cat` command on AIX. That bug doesn't include the specific
AIX output, so it's unclear if this omission was intended.
Commit: 40e734e041fa4d5369197e88ce6d354238695e0c
https://github.com/llvm/llvm-project/commit/40e734e041fa4d5369197e88ce6d354238695e0c
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/test/MachO/bp-section-orderer-errs.s
M lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[lld][MachO] Allow separate --irpgo-profile flag (#121354)
Commit: 8e8d0c149960c7d37e5c4487f434cdd41b1d3866
https://github.com/llvm/llvm-project/commit/8e8d0c149960c7d37e5c4487f434cdd41b1d3866
Author: B I Mohammed Abbas <bimohammadabbas at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M compiler-rt/test/builtins/Unit/truncxfhf2_test.c
Log Message:
-----------
Fix integer suffix in truncxfhf2_test (#121388)
Fixes error introduced by #120372.
Commit: a5f3058caae37471f7d2b55a4f621b104c52658f
https://github.com/llvm/llvm-project/commit/a5f3058caae37471f7d2b55a4f621b104c52658f
Author: Spencer Abson <Spencer.Abson at arm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
Log Message:
-----------
[AArch64][NFC] Remove redundant comments in SMEInstrInfo
Commit: 0e23cb0cc5b087f7039e35595a16ae549a42aada
https://github.com/llvm/llvm-project/commit/0e23cb0cc5b087f7039e35595a16ae549a42aada
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
Log Message:
-----------
[mlir][nfc] GpuToROCDL: Remove some dead code (#121403)
Commit: 2cee9034adb389a20937f0a77d51675ff5a105f8
https://github.com/llvm/llvm-project/commit/2cee9034adb389a20937f0a77d51675ff5a105f8
Author: David Green <david.green at arm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
Log Message:
-----------
[AArch64] Add some tests for csel/subs with swapped conditions. NFC
Commit: 5056a4b556077da79afe34f54b5447c19a77d97d
https://github.com/llvm/llvm-project/commit/5056a4b556077da79afe34f54b5447c19a77d97d
Author: Jason Molenda <jmolenda at apple.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
Log Message:
-----------
[lldb] Update two API tests to fix x86 Darwin failures (#121380)
The Intel Darwin CI bots had their Xcode updated, which brought in a
debugserver with Brendan Shanks' change from September
7281e0cb3bbcce396aab8b3ea0967d7a17cd287a
https://github.com/llvm/llvm-project/pull/108663 where four general
purpose registers are sent by debugserver when in certain process
states. But most processes (nearly all in the testsuite) do not have
these registers available, so we will get register read failures when
requesting those four. These two tests would flag those as errors. There
would have been an additional problem with the g/G packet (which lldb
doesn't use w/ debugserver, but the testsuite tests) if placeholder
values were not included in the full register context bytes; I fixed
that issue with the SME patch to debugserver recently already.
Commit: 71d6b0b0c1e5e7f34ccb710470cb90a9a51005c8
https://github.com/llvm/llvm-project/commit/71d6b0b0c1e5e7f34ccb710470cb90a9a51005c8
Author: David Green <david.green at arm.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-1x.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
Log Message:
-----------
[AArch64][GlobalISel] Lower shuffle vector with scalar destinations. (#121384)
I believe these are usually canonicalized to vector extracts in most
situations, but under -O0 we might trigger failures in the widening code
if we do not handle scalar destinations correctly. The simplest solution
should be to lower the shuffle to an extract.
Fixes #121365.
Commit: b06a45c66fee13fa9bcab422534cba86541f3dab
https://github.com/llvm/llvm-project/commit/b06a45c66fee13fa9bcab422534cba86541f3dab
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
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:
-----------
[VPlan] Add all blocks to outer loop if present during ::execute (NFCI).
This ensures that all blocks created during VPlan execution are properly
added to an enclosing loop, if present.
Split off from https://github.com/llvm/llvm-project/pull/108378 and also
needed once more of the skeleton blocks are created directly via VPlan.
This also allows removing the custom logic for early-exit loop
vectorization added as part of
https://github.com/llvm/llvm-project/pull/117008.
Commit: 7d6ec3b9680a53e58235743080bf223067050fbc
https://github.com/llvm/llvm-project/commit/7d6ec3b9680a53e58235743080bf223067050fbc
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[LV] Add more tests for vector loop removal.
Add missing test coverage of loops where the vector loop region can be
removed that include replicate recipes as well as nested loops.
Extra test coverage for https://github.com/llvm/llvm-project/pull/108378.
Commit: 3026ecaff54b220409ecc254b4f6209801a251b9
https://github.com/llvm/llvm-project/commit/3026ecaff54b220409ecc254b4f6209801a251b9
Author: Florian Hahn <flo at fhahn.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[LV] Also verify loops in vector loop removal tests.
Also verify loop info in tests added in 7d6ec3b9680.
Commit: 1d0f40ba05b76ff028c69054899f88f1c7452b4b
https://github.com/llvm/llvm-project/commit/1d0f40ba05b76ff028c69054899f88f1c7452b4b
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M libc/src/compiler/generic/__stack_chk_fail.cpp
Log Message:
-----------
[libc] fix generic __stack_check_fail for fuchsia (#121401)
Commit: 2feffecb8853b1cdd38a0653df63d70412e65c12
https://github.com/llvm/llvm-project/commit/2feffecb8853b1cdd38a0653df63d70412e65c12
Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
Date: 2024-12-31 (Tue, 31 Dec 2024)
Changed paths:
M clang/test/CodeGen/AArch64/fpm-helpers.c
M llvm/lib/IR/ConstantRange.cpp
A llvm/test/Transforms/SCCP/range-and-or-bit-masked.ll
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
[ConstantRange] Estimate tighter lower (upper) bounds for masked binary and (or) (#120352)
Fixes #118108.
Co-author: Yingwei Zheng (@dtcxzyw)
Commit: f1fa292cd61a70f41aa8dd8c33c4ac8d036dcfd0
https://github.com/llvm/llvm-project/commit/f1fa292cd61a70f41aa8dd8c33c4ac8d036dcfd0
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
Log Message:
-----------
[AMDGPU] Pre-commit tests for "lshr + mad" fold (#119509)
Commit: 283806695a6deeacd5d3eaf88becec2b627ab56f
https://github.com/llvm/llvm-project/commit/283806695a6deeacd5d3eaf88becec2b627ab56f
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
Log Message:
-----------
[GlobalIsel] Add combine for select with constants (#121088)
The SelectionDAG Isel supports the both version of combines mentioned
below :
```
select Cond, Pow2, 0 --> (zext Cond) << log2(Pow2)
select Cond, 0, Pow2 --> (zext !Cond) << log2(Pow2)
```
The GlobalIsel for now only supports the first one defined in it's
generic combinerHelper.cpp. This patch adds the missing second one.
Commit: eafbab6facb0627e11757efb1eae98f806387b55
https://github.com/llvm/llvm-project/commit/eafbab6facb0627e11757efb1eae98f806387b55
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
A llvm/test/Transforms/EntryExitInstrumenter/mcount-with-frompc.ll
Log Message:
-----------
[EntryExitInstrumenter][AArch64][RISCV][LoongArch] Pass `__builtin_return_address(0)` into `_mcount` (#121107)
On RISC-V, AArch64, and LoongArch, the `_mcount` function takes
`__builtin_return_address(0)` as an argument since
`__builtin_return_address(1)` is not available on these platforms. This
patch fixes the argument passing to match the behavior of glibc/gcc.
Closes https://github.com/llvm/llvm-project/issues/121103.
Commit: a29bd8cbab7390e5a9e3182e6e87908f4e7daced
https://github.com/llvm/llvm-project/commit/a29bd8cbab7390e5a9e3182e6e87908f4e7daced
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NewPM] Record parameterized machine pass names to PIC (#120554)
Required for `{start|stop}-{after-before}` cli
Commit: 1623c435948ae305220e638066e968cb3296e567
https://github.com/llvm/llvm-project/commit/1623c435948ae305220e638066e968cb3296e567
Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprCXX.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
Log Message:
-----------
[Clang] Resolved type of expression indexing into pack of values of a non-dependent type (#121405)
Commit: ca2ab74838c41a4146835b5bcc91ce4732273f7d
https://github.com/llvm/llvm-project/commit/ca2ab74838c41a4146835b5bcc91ce4732273f7d
Author: xtex <xtex at envs.net>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M clang/include/clang/Frontend/Utils.h
M clang/lib/Frontend/DependencyFile.cpp
M clang/test/Frontend/dependency-gen-symlink.c
M clang/test/Frontend/dependency-gen-windows-duplicates.c
M clang/test/VFS/external-names.c
Log Message:
-----------
[clang] Canonicalize absolute paths in dependency file (#117458)
This fixes #117438.
If paths in dependency file are not absoulte, make (or ninja) will
canonicalize them.
While their canonicalization does not involves symbolic links expansion
(for IO performance concerns), leaving a non-absolute path in dependency
file may lead to unexpected canonicalization.
For example, '/a/../b', where '/a' is a symlink to '/c/d', it should be
'/c/b' but make (and ninja) canonicalizes it as '/b', and fails for file
not found.
Commit: 50054ba2f446c29b46f0fe55e7b8c48b3818a23f
https://github.com/llvm/llvm-project/commit/50054ba2f446c29b46f0fe55e7b8c48b3818a23f
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/lib/CodeGen/LiveRegMatrix.cpp
Log Message:
-----------
[CodeGen] LiveRegMatrix: Use allocator through a unique_ptr (#120556)
`LIU::Matrix` holds on to a pointer to the allocator in LiveRegMatrix and is left hanging when the allocator moves with the LiveRegMatrix.
This extends the lifetime of the allocator so that it does not get destroyed when moving a LiveRegMatrix object.
Commit: ed572f2003275da8e06a634b4d6658b7921e8334
https://github.com/llvm/llvm-project/commit/ed572f2003275da8e06a634b4d6658b7921e8334
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/simd_utils.h
Log Message:
-----------
Reapply "[libc++] Explicitly convert to masks in SIMD code (#107983)" (#121352)
This reverts commit 0ea40bf02138c02e7680ce6fa8169502f2a8bd42.
Passes with https://github.com/llvm/llvm-project/issues/121365 fix:
https://lab.llvm.org/buildbot/#/builders/55/builds/4930
Commit: fac6be61c6ccbae15647f4f2485415f630341e2a
https://github.com/llvm/llvm-project/commit/fac6be61c6ccbae15647f4f2485415f630341e2a
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M mlir/CMakeLists.txt
Log Message:
-----------
[mlir] Prepend include directories before LLVM includes (#121223)
Prepend mlir's include directories before system LLVM include
directories. This is particularly important for standalone builds, where
system include directory may contain the previous version of mlir, and
therefore various mlir targets (particularly tablegen) end up using the
headers from the previous version over the fresh ones. The new logic is
copied from clang.
Commit: 6d3d952f11d350f6ad2cd6199681af158f4bd397
https://github.com/llvm/llvm-project/commit/6d3d952f11d350f6ad2cd6199681af158f4bd397
Author: Tomer Shafir <86107951+tomershafir at users.noreply.github.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
R llvm/test/tools/llvm-xray/X86/account-empty-stack-error.yaml
A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-empty-stack-error.yaml
A llvm/test/tools/llvm-xray/X86/account-exit-mismatch-non-empty-stack-error.yaml
M llvm/test/tools/llvm-xray/X86/account-keep-going.yaml
Log Message:
-----------
[XRay][account] add account test for nonempty exit mismatch (#93564)
- Add `llvm-xray account` regression test for an exit mismatch with a
non empty stack (its a different code path than empty stack).
- Align empty stack test case name.
Commit: 2a90efd854f5bcce65a7b0fe5a75860160dc103b
https://github.com/llvm/llvm-project/commit/2a90efd854f5bcce65a7b0fe5a75860160dc103b
Author: Stephen Senran Zhang <zsrkmyn at gmail.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[NFC][ConstraintElimination] Optimize code styles (#121422)
This patch does following things,
- prefer early exits;
- add missing std::move;
- avoid duplicate map lookups;
- prefer emplace_back to avoid unnecessary copies.
Commit: 1135d36f869541f14934471e255c6e2631d6eebe
https://github.com/llvm/llvm-project/commit/1135d36f869541f14934471e255c6e2631d6eebe
Author: Mark Danial <118996571+madanial0 at users.noreply.github.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/utils/lit/tests/shtest-format.py
Log Message:
-----------
[AIX] [lit] Fix shtest-format.py to account for behaviour on AIX (#121426)
The changes from https://github.com/llvm/llvm-project/pull/121376 has
broken the ppc64 aix bot:
https://lab.llvm.org/buildbot/#/builders/64/builds/1835. Adjusted the
testcase to account for `cat` behaviour on AIX prior to the changes
Commit: 8435225374e1dc17fddf618eec3cf8c396ac669f
https://github.com/llvm/llvm-project/commit/8435225374e1dc17fddf618eec3cf8c396ac669f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
Log Message:
-----------
[LLD][COFF] Move addFile implementation to LinkerDriver (NFC) (#121342)
The addFile implementation does not rely on the SymbolTable object. With
#119294, the symbol table for input files is determined during the
construction of the objects representing them. To clarify that
relationship, this change moves the implementation from the SymbolTable
class to the LinkerDriver class.
Commit: 684052173971868aab0e6b62d7770a6299e84141
https://github.com/llvm/llvm-project/commit/684052173971868aab0e6b62d7770a6299e84141
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
Revert "[RISCV][CG]Use processShuffleMasks for per-register shuffles"
This reverts commit b8952d4b1b0c73bf39d6440ad3166a088ced563f.
spec x264 fails to build in all VLS configurations, with the assertion
failure: clang: ../llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp:5246: llvm::SDValue lowerShuffleViaVRegSplitting(llvm::ShuffleVectorSDNode*, llvm::SelectionDAG&, const llvm::RISCVSubtarget&): Assertion `RegCnt == NumOfDestRegs && "Whole vector must be processed"' failed.
I can reduce a failing piece of IR, but the failure appears pretty
broad, so I suspect any reasonable vls build will hit it.
Commit: 0cbe28df7100bf4384f84542d602f90cb783a2d4
https://github.com/llvm/llvm-project/commit/0cbe28df7100bf4384f84542d602f90cb783a2d4
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Log Message:
-----------
[gn] port 28ae2ff2a44c
Commit: bd154e823eba4d62366dfa3d56ae0b99ab171b96
https://github.com/llvm/llvm-project/commit/bd154e823eba4d62366dfa3d56ae0b99ab171b96
Author: Peng Huang <shawn.p.huang at gmail.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/OHOS.cpp
Log Message:
-----------
Reapply "[Driver][OHOS] Fix lld link issue for OHOS (#118192)" (#120159)
The problem in original change is because OHOS::getCompilerRT()
pickes a wrong builtin runtime
`./lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a`,
if `./lib/clang/20/lib/linux/libclang_rt.builtins-x86_64.a` exist on the
test filesystem. It shouldn't happen with a clean build.
Commit: 418dedc2341e807fe7501ad95526b0d7c2f167c4
https://github.com/llvm/llvm-project/commit/418dedc2341e807fe7501ad95526b0d7c2f167c4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Remove redundant setting of insert point in ::executePlan (NFC).
The entry block is a VPIRBasicBkock wrapping the original loop's
preheader, so the insert point doesn't need to be set.
Commit: c7ebe4fd0afadcddd53ec89e6030f9a8f5370e1f
https://github.com/llvm/llvm-project/commit/c7ebe4fd0afadcddd53ec89e6030f9a8f5370e1f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Replace VPBBs with VPIRBBs during skeleton creation (NFC).
Move replacement of VPBBs for vector preheader, middle block and scalar
preheader from VPlan::execute to skeleton creation, which actually
creates the IR basic blocks.
For now, the vector preheader can only be replaced after
prepareToExecute as it may create new instructions in the vector
preheader.
Commit: cd239493c1023cbccfe6b1e9be32e68592a7f304
https://github.com/llvm/llvm-project/commit/cd239493c1023cbccfe6b1e9be32e68592a7f304
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M clang/docs/ClangFormat.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/Format/MatchFilePath.cpp
M clang/unittests/Format/MatchFilePathTest.cpp
Log Message:
-----------
[clang-format] Support globstar in .clang-format-ignore (#121404)
Closes #110160.
Closes #114969.
Commit: 62cd050b635cbb201dd08188696448cf5ab23260
https://github.com/llvm/llvm-project/commit/62cd050b635cbb201dd08188696448cf5ab23260
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M libc/docs/dev/header_generation.rst
M libc/include/CMakeLists.txt
A libc/include/arpa/inet.yaml
A libc/include/assert.yaml
A libc/include/complex.yaml
A libc/include/ctype.yaml
A libc/include/dirent.yaml
A libc/include/dlfcn.yaml
A libc/include/elf.yaml
A libc/include/errno.yaml
A libc/include/fcntl.yaml
A libc/include/features.yaml
A libc/include/fenv.yaml
A libc/include/float.yaml
A libc/include/inttypes.yaml
A libc/include/limits.yaml
A libc/include/link.yaml
A libc/include/locale.yaml
A libc/include/malloc.yaml
A libc/include/math.yaml
A libc/include/pthread.yaml
A libc/include/sched.yaml
A libc/include/search.yaml
A libc/include/setjmp.yaml
A libc/include/signal.yaml
A libc/include/spawn.yaml
A libc/include/stdbit.yaml
A libc/include/stdckdint.yaml
A libc/include/stdfix.yaml
A libc/include/stdint.yaml
A libc/include/stdio.yaml
A libc/include/stdlib.yaml
A libc/include/string.yaml
A libc/include/strings.yaml
A libc/include/sys/auxv.yaml
A libc/include/sys/epoll.yaml
A libc/include/sys/ioctl.yaml
A libc/include/sys/mman.yaml
A libc/include/sys/prctl.yaml
A libc/include/sys/random.yaml
A libc/include/sys/resource.yaml
A libc/include/sys/select.yaml
A libc/include/sys/sendfile.yaml
A libc/include/sys/socket.yaml
A libc/include/sys/stat.yaml
A libc/include/sys/statvfs.yaml
A libc/include/sys/syscall.yaml
A libc/include/sys/time.yaml
A libc/include/sys/types.yaml
A libc/include/sys/utsname.yaml
A libc/include/sys/wait.yaml
A libc/include/termios.yaml
A libc/include/threads.yaml
A libc/include/time.yaml
A libc/include/uchar.yaml
A libc/include/unistd.yaml
A libc/include/wchar.yaml
M libc/src/math/docs/add_math_function.md
R libc/utils/hdrgen/yaml/arpa/inet.yaml
R libc/utils/hdrgen/yaml/assert.yaml
R libc/utils/hdrgen/yaml/complex.yaml
R libc/utils/hdrgen/yaml/ctype.yaml
R libc/utils/hdrgen/yaml/dirent.yaml
R libc/utils/hdrgen/yaml/dlfcn.yaml
R libc/utils/hdrgen/yaml/elf.yaml
R libc/utils/hdrgen/yaml/errno.yaml
R libc/utils/hdrgen/yaml/fcntl.yaml
R libc/utils/hdrgen/yaml/features.yaml
R libc/utils/hdrgen/yaml/fenv.yaml
R libc/utils/hdrgen/yaml/float.yaml
R libc/utils/hdrgen/yaml/inttypes.yaml
R libc/utils/hdrgen/yaml/limits.yaml
R libc/utils/hdrgen/yaml/link.yaml
R libc/utils/hdrgen/yaml/locale.yaml
R libc/utils/hdrgen/yaml/malloc.yaml
R libc/utils/hdrgen/yaml/math.yaml
R libc/utils/hdrgen/yaml/pthread.yaml
R libc/utils/hdrgen/yaml/sched.yaml
R libc/utils/hdrgen/yaml/search.yaml
R libc/utils/hdrgen/yaml/setjmp.yaml
R libc/utils/hdrgen/yaml/signal.yaml
R libc/utils/hdrgen/yaml/spawn.yaml
R libc/utils/hdrgen/yaml/stdbit.yaml
R libc/utils/hdrgen/yaml/stdckdint.yaml
R libc/utils/hdrgen/yaml/stdfix.yaml
R libc/utils/hdrgen/yaml/stdint.yaml
R libc/utils/hdrgen/yaml/stdio.yaml
R libc/utils/hdrgen/yaml/stdlib.yaml
R libc/utils/hdrgen/yaml/string.yaml
R libc/utils/hdrgen/yaml/strings.yaml
R libc/utils/hdrgen/yaml/sys/auxv.yaml
R libc/utils/hdrgen/yaml/sys/epoll.yaml
R libc/utils/hdrgen/yaml/sys/ioctl.yaml
R libc/utils/hdrgen/yaml/sys/mman.yaml
R libc/utils/hdrgen/yaml/sys/prctl.yaml
R libc/utils/hdrgen/yaml/sys/random.yaml
R libc/utils/hdrgen/yaml/sys/resource.yaml
R libc/utils/hdrgen/yaml/sys/select.yaml
R libc/utils/hdrgen/yaml/sys/sendfile.yaml
R libc/utils/hdrgen/yaml/sys/socket.yaml
R libc/utils/hdrgen/yaml/sys/stat.yaml
R libc/utils/hdrgen/yaml/sys/statvfs.yaml
R libc/utils/hdrgen/yaml/sys/syscall.yaml
R libc/utils/hdrgen/yaml/sys/time.yaml
R libc/utils/hdrgen/yaml/sys/types.yaml
R libc/utils/hdrgen/yaml/sys/utsname.yaml
R libc/utils/hdrgen/yaml/sys/wait.yaml
R libc/utils/hdrgen/yaml/termios.yaml
R libc/utils/hdrgen/yaml/threads.yaml
R libc/utils/hdrgen/yaml/time.yaml
R libc/utils/hdrgen/yaml/uchar.yaml
R libc/utils/hdrgen/yaml/unistd.yaml
R libc/utils/hdrgen/yaml/wchar.yaml
Log Message:
-----------
[libc] Move hdrgen yaml files into include/ (#121443)
The .yaml files should live next to the corresponding .h.def
files in libc/include/, rather than next to the implementation of
the tool in libc/utils/hdrgen/. As with the .h.def files, there
is no need for a yaml/ subdirectory under include/. This simpler
layout is more natural for maintenance and also simplifies build
integration outside the LLVM CMake build.
Commit: 508929d42a8735b05815b5332a4733ed8d0bf1eb
https://github.com/llvm/llvm-project/commit/508929d42a8735b05815b5332a4733ed8d0bf1eb
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-01 (Wed, 01 Jan 2025)
Changed paths:
M libc/utils/hdrgen/gpu_headers.py
Log Message:
-----------
[libc] Make GpuHeaderFile a subclass (#121445)
Replace copy&paste from HeaderFile to GpuHeaderFile with
subclassing. Only the __str__ method differs.
Commit: 1a0d0ae234544dc4978f1e12730408cb83f6b923
https://github.com/llvm/llvm-project/commit/1a0d0ae234544dc4978f1e12730408cb83f6b923
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-01 (Wed, 01 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/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add `VariableTemplates` option (#121318)
Closes #120148.
Commit: 23ec9ee17eacb18eeb01d3c5a0d424852c7c1909
https://github.com/llvm/llvm-project/commit/23ec9ee17eacb18eeb01d3c5a0d424852c7c1909
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][AVX10.2] Lower fmininum/fmaximum to VMINMAX* (#121373)
Commit: 096551537b2a747a3387726ca618ceeb3950e9bc
https://github.com/llvm/llvm-project/commit/096551537b2a747a3387726ca618ceeb3950e9bc
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
"Reapply "[llvm-jitlink] Use concurrent linking by default." with more fixes.
This reapplies edca1d9bad2 which was reverted in 7ec139ad4bc due to bot
failures.
LocalDependencyPropagation.s is updated to use -num-threads=0 in order to
avoid interleaving debugging output.
ELFNixPlatform.h is updated to protect the deferred runtime function calls
map during bootstrap.
Commit: bc87a537d9b8117cfd63d5d9b798d6017a99097f
https://github.com/llvm/llvm-project/commit/bc87a537d9b8117cfd63d5d9b798d6017a99097f
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/Matchers.h
M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
Log Message:
-----------
[clangd] Remove clangd's HasValue GMock matcher (#121309)
An equivalent matcher under the name Optional has since been added
upstream to GMock.
Fixes https://github.com/llvm/llvm-project/issues/121308
Commit: 0c68155002edb30d6b0df3f17fe1f44a01afacd9
https://github.com/llvm/llvm-project/commit/0c68155002edb30d6b0df3f17fe1f44a01afacd9
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Fix llvm-jitlink for LLVM_ENABLE_THREADS=Off.
Commit edca1d9bad2 enabled threaded linking by default in llvm-jitlink, but we
need to handle the case where LLVM is built with -DLLVM_ENABLE_THREADS=Off.
This patch updates the llvm-jitlink tool to switch back to materialization on
the main thread (equivalent to llvm-jitlink -num-threads=0 ...) when LLVM is
built without thread support.
Commit: 641a786bedc054e71764f69f6f448ad4e090c9a4
https://github.com/llvm/llvm-project/commit/641a786bedc054e71764f69f6f448ad4e090c9a4
Author: David Green <david.green at arm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
A llvm/test/CodeGen/AArch64/shuffle-select.ll
Log Message:
-----------
[AArch64] Add codegen shuffle-select test. NFC
This splits the shuffle-select CostModel test into a seperate CodeGen test and
removes the codegen from the CostModel version. An extra fp16 test is added
too.
Commit: 45e874e39030bc622ea43fbcfc4fcdd1dd404353
https://github.com/llvm/llvm-project/commit/45e874e39030bc622ea43fbcfc4fcdd1dd404353
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/CodeGen/builtin-memfns.c
Log Message:
-----------
[clang][bytecode] Check for memcpy/memmove dummy pointers earlier (#121453)
Commit: a3744f065a3ce38deaf650a8f92941c19980b32a
https://github.com/llvm/llvm-project/commit/a3744f065a3ce38deaf650a8f92941c19980b32a
Author: Spencer Abson <Spencer.Abson at arm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_immcheck_incl.td
M clang/lib/Sema/SemaARM.cpp
Log Message:
-----------
[clang][AArch64] Remove references to vector size in SVE immediate range checking. NFC
Commit: d5c8af492f2d8620b04330024d46a5f48db546fe
https://github.com/llvm/llvm-project/commit/d5c8af492f2d8620b04330024d46a5f48db546fe
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Consider start index when copying composite array (#121461)
... elements.
Commit: 34097c07e151fef0e5c645e1dac7f4872774317b
https://github.com/llvm/llvm-project/commit/34097c07e151fef0e5c645e1dac7f4872774317b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Consider unknown-size arrays in memcpy/memcmp (#121462)
When emitting diagnostics for the number of elements.
Commit: 4c5c5e2f41e62e4be9ca7bb6c42221cc11700321
https://github.com/llvm/llvm-project/commit/4c5c5e2f41e62e4be9ca7bb6c42221cc11700321
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch32_relocations.s
M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_relocations.s
Log Message:
-----------
[JITLink][LoongArch] Add R_LARCH_{B16,B21} relocations support (#121096)
Commit: 3ddc9f06ae61e916b333b096cef3560f0f5c6272
https://github.com/llvm/llvm-project/commit/3ddc9f06ae61e916b333b096cef3560f0f5c6272
Author: David Green <david.green at arm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
M llvm/test/CodeGen/AArch64/shuffle-select.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
Log Message:
-----------
[AArch64] Additional shuffle subvector-extract cost tests. NFC
A Phase Ordering test for intrinsic shuffles is also added, showing a recent
regression from vector combining.
Commit: 460e7d5f3054855af83e50f32a81ce71cac55a04
https://github.com/llvm/llvm-project/commit/460e7d5f3054855af83e50f32a81ce71cac55a04
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
Log Message:
-----------
[flang][debug] Correct pointer size. (#120781)
We were passing size in bytes for the sizeInBits field in
DIDerivedTypeAttr with DW_TAG_pointer_type. Although this field is
un-used in this case but better to be accurate.
Commit: 328ff042e33767d9abdc56bf62132e00b832ecc4
https://github.com/llvm/llvm-project/commit/328ff042e33767d9abdc56bf62132e00b832ecc4
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
Log Message:
-----------
[flang][NFC] Replace dyn_cast_or_null with dyn_cast_if_present. (#120785)
Commit: 450c6b02d224245656c41033cc0c849bde2045f3
https://github.com/llvm/llvm-project/commit/450c6b02d224245656c41033cc0c849bde2045f3
Author: josel-amd <jose.lopes at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
Log Message:
-----------
[MLIR][SCFToEmitC] Convert types while converting from SCF to EmitC (#118940)
Switch from rewrite patterns to conversion patterns. This allows to
perform type conversions together with other parts of the IR. For
example, this allows to convert from index to emit.size_t types.
Commit: df728cf1d7959e214af68dbf4d6e3750fc7b5b13
https://github.com/llvm/llvm-project/commit/df728cf1d7959e214af68dbf4d6e3750fc7b5b13
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
Log Message:
-----------
Revert "[MLIR][SCFToEmitC] Convert types while converting from SCF to EmitC (#118940)"
This reverts commit 450c6b02d224245656c41033cc0c849bde2045f3.
Commit: 76a4c4593ba9f8cad894d80ea75687cd86be3cdd
https://github.com/llvm/llvm-project/commit/76a4c4593ba9f8cad894d80ea75687cd86be3cdd
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
Log Message:
-----------
[InstCombine] Fix constant swap case of fcmp + fadd + sel xfrm (#119419)
The fcmp + fadd + sel => fcmp + sel + fadd xfrm performs incorrect
transformation when select branch values are swapped. This change fixes
this.
Commit: 1fa0302ba2efc5374b5d1cdc8715dfc0f1048c6c
https://github.com/llvm/llvm-project/commit/1fa0302ba2efc5374b5d1cdc8715dfc0f1048c6c
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lld/COFF/SymbolTable.cpp
M lld/test/COFF/arm64x-loadconfig.s
Log Message:
-----------
[LLD][COFF] Emit warnings for missing load config on EC targets (#121339)
ARM64EC and ARM64X images require a load configuration to be valid.
Commit: 207e485f4b7e8113b8b329ddcde423aafc0a8832
https://github.com/llvm/llvm-project/commit/207e485f4b7e8113b8b329ddcde423aafc0a8832
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Track VectorPH during skeleton creation. (NFC)
Split off from https://github.com/llvm/llvm-project/pull/108378.
This ensures that the logic works even if now vector region exits.
Commit: 67c974bfd6b3dbba83865e8319a3e9d3274a44e9
https://github.com/llvm/llvm-project/commit/67c974bfd6b3dbba83865e8319a3e9d3274a44e9
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Log Message:
-----------
[lldb][DWARFASTParserClang][NFC] Remove redundant parameter to ParseChildParameters (#121033)
This was never set to anything other than `true`.
Commit: 02b30128e8e87795b9262035a48990648cbec586
https://github.com/llvm/llvm-project/commit/02b30128e8e87795b9262035a48990648cbec586
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
Log Message:
-----------
[clang][bytecode] Always return false for invalid bcp results (#121467)
Commit: 8178e7218833bcbcf4263016252681c81fb167db
https://github.com/llvm/llvm-project/commit/8178e7218833bcbcf4263016252681c81fb167db
Author: Marius Brehler <marius.brehler at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Func/IR/FuncOps.td
Log Message:
-----------
[mlir][func] Fix return op example (#121470)
Similiar to #121112.
Commit: 9cd774d1e49f792b7546e5309c7b27d653b37132
https://github.com/llvm/llvm-project/commit/9cd774d1e49f792b7546e5309c7b27d653b37132
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][NFC] Move "_Int" after "k"/"kz" (#121450)
Address comment at
https://github.com/llvm/llvm-project/pull/121373#discussion_r1900402932
Commit: 4b22ef7d6b9f739de63b6d07777424cf5dfb9f92
https://github.com/llvm/llvm-project/commit/4b22ef7d6b9f739de63b6d07777424cf5dfb9f92
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld/COFF] Fix comment typo to cycle bots
Commit: d622b66a820a0e5e61c131e9ae5b4db35292aa14
https://github.com/llvm/llvm-project/commit/d622b66a820a0e5e61c131e9ae5b4db35292aa14
Author: josel-amd <jose.lopes at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Conversion/SCFToEmitC/SCFToEmitC.h
M mlir/lib/Conversion/SCFToEmitC/CMakeLists.txt
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
M mlir/test/Conversion/SCFToEmitC/for.mlir
M mlir/test/Conversion/SCFToEmitC/switch.mlir
Log Message:
-----------
Re-introduce Type Conversion on EmitC (#121476)
This PR reintroduces https://github.com/llvm/llvm-project/pull/118940
with a fix for the build issues on
cd9caf3aeed55280537052227f08bb1b41154efd
Commit: a4deb809be8f5ec3adec3626e9d700f6168d0e9f
https://github.com/llvm/llvm-project/commit/a4deb809be8f5ec3adec3626e9d700f6168d0e9f
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/OHOS.cpp
Log Message:
-----------
Revert "Reapply "[Driver][OHOS] Fix lld link issue for OHOS (#118192)" (#120159)"
This reverts commit bd154e823eba4d62366dfa3d56ae0b99ab171b96.
Test fails with -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF, see
https://github.com/llvm/llvm-project/pull/120159#issuecomment-2567836727
Commit: 6d604ba36326de849ccf00f30351ce21fde19471
https://github.com/llvm/llvm-project/commit/6d604ba36326de849ccf00f30351ce21fde19471
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn
Log Message:
-----------
[gn build] Port e45e091b9089
Commit: 073e65a8e5f92ca9c63c3fcd1c0ce2a36913f9a6
https://github.com/llvm/llvm-project/commit/073e65a8e5f92ca9c63c3fcd1c0ce2a36913f9a6
Author: John Brawn <john.brawn at arm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
Log Message:
-----------
[LoopVectorize] Make needsExtract notice scalarized instructions (#119720)
LoopVectorizationCostModel::needsExtract should recognise instructions
that have been widened by scalarizing as scalar instructions, and thus
not needing an extract when used by later scalarized instructions.
This fixes an incorrect cost calculation in computePredInstDiscount,
where we are adding a scalarization overhead cost when we shouldn't,
though I haven't come up with a test case where it makes a difference.
It will make a difference when the cost model switches to using the cost
kind TCK_CodeSize for optsize, as not doing this causes the test
LoopVectorize/X86/small-size.ll to get worse.
Commit: a9a3fb5b1a23e336a1656046ba1a36832e020d4e
https://github.com/llvm/llvm-project/commit/a9a3fb5b1a23e336a1656046ba1a36832e020d4e
Author: Bart Chrzaszcz <bart.chr at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Update BUILD.bazel due to PR #121476
Breaks bazel builds due to missing dependency
Commit: bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849
https://github.com/llvm/llvm-project/commit/bb27d5e5c6b194a1440b8ac4e5ace68d0ee2a849
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Analysis/loop-assumptions.c
M clang/test/Analysis/loop-unrolling.cpp
M clang/test/Analysis/misc-ps-region-store.m
Log Message:
-----------
[analyzer] Don't assume third iteration in loops (#119388)
This commit ensures that if the loop condition is opaque (the analyzer
cannot determine whether it's true or false) and there were at least two
iterations, then the analyzer doesn't make the unjustified assumption
that it can enter yet another iteration.
Note that the presence of a loop suggests that the developer thought
that two iterations can happen (otherwise an `if` would've been
sufficient), but it does not imply that the developer expected three or
four iterations -- and in fact there are many false positives where a
loop iterates over a two-element (or three-element) data structure, but
the analyzer cannot understand the loop condition and blindly assumes
that there may be three or more iterations. (In particular, analyzing
the FFMPEG project produces 100+ such false positives.)
Moreover, this provides some performance improvements in the sense that
the analyzer won't waste time on traversing the execution paths with 3
or 4 iterations in a loop (which are very similar to the paths with 2
iterations) and therefore will be able to traverse more branches
elsewhere on the `ExplodedGraph`.
This logic is disabled if the user enables the widen-loops analyzer
option (which is disabled by default), because the "simulate one final
iteration after the invalidation" execution path would be suppressed by
the "exit the loop if the loop condition is opaque and there were at
least two iterations" logic. If we want to support loop widening, we
would need to create a follow-up commit which ensures that it "plays
nicely" with this logic.
Commit: 4a890c2c605640f48ecbaefebda8f3a42043ff3d
https://github.com/llvm/llvm-project/commit/4a890c2c605640f48ecbaefebda8f3a42043ff3d
Author: klensy <klensy at users.noreply.github.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[llvm][aarch64] fix copypaste typo (#120725)
moved from #119881
Commit: 62d0aff3eb934439acac47348e2385f0751a1444
https://github.com/llvm/llvm-project/commit/62d0aff3eb934439acac47348e2385f0751a1444
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/cmake/modules/Findzstd.cmake
Log Message:
-----------
[cmake] Extend zstd.dll finding logic from MSVC to Clang (#121437)
Extend the special logic for finding `zstd.dll` in `Findzstd` to apply
to all MSVC-compatible configurations such as Clang targeting MSVC.
Fixes #121345
Commit: 8ab88f11a12aaecb46f7b0eb5c13e7802258c1e1
https://github.com/llvm/llvm-project/commit/8ab88f11a12aaecb46f7b0eb5c13e7802258c1e1
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/utils/emacs/llvm-mode.el
Log Message:
-----------
[emacs] Add noext as an attribute in llvm-mode.el (#121444)
The NoExt attribute was introduced with #100757, to exist alongside with
signext and zeroext.
This patch adds "noext" as an attribute to llvm-mode.el to get the proper
highlighting of the keyword.
Commit: 11e482c4a32be6a315e5bf2ae7599cf10eb84836
https://github.com/llvm/llvm-project/commit/11e482c4a32be6a315e5bf2ae7599cf10eb84836
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
A llvm/test/CodeGen/AMDGPU/dummy-regalloc-priority-advisor.mir
Log Message:
-----------
RegAllocGreedy: Add dummy priority advisor for writing MIR tests (#121207)
I regularly struggle reproducing failures in greedy due to changes
in priority when resuming the allocation from MIR vs. a complete
compilation starting at IR. That is, the fix in
e0919b189bf2df4f97f22ba40260ab5153988b14 did not really fix the
problem of the instruction distance mattering.
Add a way to bypass all of the priority heuristics for MIR tests,
by prioritizing only by virtual register number. Could also
give this a more specific name, like PrioritizeLowVirtRegNumber
Commit: 40ac34c518985f4ff119d2e67a5a412cc951104a
https://github.com/llvm/llvm-project/commit/40ac34c518985f4ff119d2e67a5a412cc951104a
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/__type_traits/type_list.h
Log Message:
-----------
[libc++] Make __type_list variadic (#121117)
This makes these lists signficiantly more readable.
Commit: 4075ddad7183e6f0b66e2c8cc7a03b461a8038e6
https://github.com/llvm/llvm-project/commit/4075ddad7183e6f0b66e2c8cc7a03b461a8038e6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M libcxx/.clang-tidy
M libcxx/test/libcxx/clang_tidy.gen.py
Log Message:
-----------
[libc++] Run clang-tidy only once per header (#121436)
There doesn't seem to be much of a reason to run clang-tidy twice per
headers, and running it only once makes the test a few seconds faster.
Commit: 7326e903d72ba390a6368ff3e9eb2ab2251a1b13
https://github.com/llvm/llvm-project/commit/7326e903d72ba390a6368ff3e9eb2ab2251a1b13
Author: Brooks Davis <brooks at one-eyed-alien.net>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/runtime/stop.cpp
Log Message:
-----------
flang: fix backtrace build on FreeBSD (#120297)
FreeBSD's libexecinfo defines backtrace with a size_t for the size
argument and return type. This almost certainly doesn't make sense, but
what's done is done so cast the output to allow compilation. Otherwise
we get:
.../flang/runtime/stop.cpp:165:13: error: non-constant-expression cannot
be narrowed from type 'size_t' (aka 'unsigned long') to 'int' in
initializer list [-Wc++11-narrowing]
165 | int nptrs{backtrace(buffer, MAX_CALL_STACK)};
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: cbff02b101c20ad6557d64c998d03dab5ee4aad7
https://github.com/llvm/llvm-project/commit/cbff02b101c20ad6557d64c998d03dab5ee4aad7
Author: hatoo <hato2000 at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc] Fix invalid syntax in example of emitc.return (#121112)
A return type of `emitc.func` must be specified with `->` instead of
`:`. I've verified the syntax using `mlir-translate --mlir-to-cpp`.
Commit: 5ed6229019de43df0ff4b3e73097781e0f1a6651
https://github.com/llvm/llvm-project/commit/5ed6229019de43df0ff4b3e73097781e0f1a6651
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A llvm/test/Transforms/VectorCombine/X86/load-extractelement-scalarization.ll
Log Message:
-----------
[VectorCombine] Add scalarizeLoadExtract infinite loop test from #120984 regression
scalarizeLoadExtract replaces instructions up the use list, which can result in the vectorcombine worklist adding users back to the worklist when they should really be erased first.
Commit: f739aa4004165dc64d3a1f418d5ad3c84886f01a
https://github.com/llvm/llvm-project/commit/f739aa4004165dc64d3a1f418d5ad3c84886f01a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] replaceValue - add "VC: Replacing" debug message to help the log show replacement for old/new.
Commit: 1849244685bc42b07b1b14e3f62e15c535e74c39
https://github.com/llvm/llvm-project/commit/1849244685bc42b07b1b14e3f62e15c535e74c39
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
Log Message:
-----------
[CodeGen] Remove atEnd method from defusechain iterators (#120610)
This was not used much and there are better ways of writing it.
Commit: 5de7af4b9f05c7a9fb3775f45627b50aba47869b
https://github.com/llvm/llvm-project/commit/5de7af4b9f05c7a9fb3775f45627b50aba47869b
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Support/Windows/Path.inc
M llvm/unittests/Support/Path.cpp
Log Message:
-----------
[llvm][Support][Windows] Fix slash in path for remove_directories (#121448)
Before 925471ed903dad871042d7ed0bab89ab6566a564 remove_directories
supports path with slash (instead of backslash).
The ILCreateFromPathW in new implementation requires backslash path,
so the call to remove_directories will fail if the path contains slash.
This is to normalize the path to make sure remove_directories still
support path with slash as well.
Commit: bca92b12588d63556b749b4627af0112cd2d05c6
https://github.com/llvm/llvm-project/commit/bca92b12588d63556b749b4627af0112cd2d05c6
Author: Angus Lees <gus at inodes.org>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Allow SupportTests to be built remotely and cached (#121375)
`SupportTests` fails in the bazel macOS sandbox, because
`FileSystemTest.permissions` expects to be able to modify file
permissions on some otherwise protected files.
Previously this test was marked `local` in bazel, which has
additional undesirable effects such as skipping remote build and cache.
Tighten the bazel tags to just `no-sandbox`. Note in particular, that
this allows the test to build, execute, and cache remotely (if
configured).
Testing:
- Verified this test fails (as expected) on macOS with no tags, and
passes with `no-sandbox`.
- Verified this test passes when executed remotely (using an Engflow RBE
setup) with `no-sandbox`.
Commit: dd30aa83aa12e5b2b5e58cb72ec85070f725df34
https://github.com/llvm/llvm-project/commit/dd30aa83aa12e5b2b5e58cb72ec85070f725df34
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Simplify compound check for readability [nfc] (#121504)
I misread this check earlier today on a review, so restructure it to be
easier to quickly scan.
Commit: 035e64c0ec02b237a266ebc672718037fdd53eb2
https://github.com/llvm/llvm-project/commit/035e64c0ec02b237a266ebc672718037fdd53eb2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/VectorCombine/X86/concat-boolmasks.ll
Log Message:
-----------
[VectorCombine] eraseInstruction - ensure we reattempt to fold other users of an erased instruction's operands (REAPPLIED)
As we're reducing the use count of the operands its more likely that they will now fold, as they were previously being prevented by a m_OneUse check, or the cost of retaining the extra instruction had been too high.
This is necessary for some upcoming patches, although the only change so far is instruction ordering as it allows some SSE folds of 256/512-bit with 128-bit subvectors to occur earlier in foldShuffleToIdentity as the subvector concats are free.
Reapplied with a fix for foldSingleElementStore/scalarizeLoadExtract which were replacing/removing memory operations - we need to ensure that the worklist is populated in the correct order so all users of the old memory operations are erased first, so there are no remaining users of the loads when its time to remove them as well.
Pulled out of #120984
Commit: 5236e3dac59e16630a3730c84c2d3d65970a6db3
https://github.com/llvm/llvm-project/commit/5236e3dac59e16630a3730c84c2d3d65970a6db3
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
Log Message:
-----------
[Flang][Alias analysis] Fix alias analysis for omp private allocatable item (#120243)
Flang alias analysis crashes for omp private allocatable item. The issue
is described here : https://github.com/llvm/llvm-project/issues/116954 .
We know that private value can't alias with anything else unless it is POINTER
or TARGET. That's why we can simplify alias analysis logic.
Commit: 5f5792aedb1f8088836ccd1c0a924c5e0bbf35db
https://github.com/llvm/llvm-project/commit/5f5792aedb1f8088836ccd1c0a924c5e0bbf35db
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Use removeDeadRecipes in optimizeForVFAndUF (NFCI)
Split off from https://github.com/llvm/llvm-project/pull/108378.
Commit: 3a423a10ff83684332195b5191b16f12c81985ba
https://github.com/llvm/llvm-project/commit/3a423a10ff83684332195b5191b16f12c81985ba
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof.ll
Log Message:
-----------
[MemProf][PGO] Prevent dropping of profile metadata during optimization (#121359)
This patch fixes a couple of places where memprof-related metadata
(!memprof and !callsite) were being dropped, and one place where PGO
metadata (!prof) was being dropped.
All were due to instances of combineMetadata() being invoked. That
function drops all metadata not in the list provided by the client, and
also drops any not in its switch statement.
Memprof metadata needed a case in the combineMetadata switch statement.
For now we simply keep the metadata of the instruction being kept, which
doesn't retain all the profile information when two calls with
memprof metadata are being combined, but at least retains some.
For the memprof metadata being dropped during call CSE, add memprof and
callsite metadata to the list of known ids in combineMetadataForCSE.
Neither memprof nor regular prof metadata were in the list of known ids
for the callsite in MemCpyOptimizer, which was added to combine AA
metadata after optimization of byval arguments fed by memcpy
instructions, and similar types of optimizations of memcpy uses.
There is one other callsite of combineMetadata, but it is only invoked
on load instructions, which do not carry these types of metadata.
Commit: cd19f3f787b01481fd687834457686e16fffdbe6
https://github.com/llvm/llvm-project/commit/cd19f3f787b01481fd687834457686e16fffdbe6
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
A clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
A clang/lib/Driver/ToolChains/SPIRVOpenMP.h
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
A clang/test/Driver/spirv-openmp-toolchain.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[Driver][clang-linker-wrapper] Add initial support for OpenMP offloading to generic SPIR-V (#120145)
This is the first of a series of patches to add support for OpenMP
offloading to SPIR-V through liboffload with the first intended target
being Intel GPUs. This patch implements the basic driver and
`clang-linker-wrapper` work for JIT mode. There are still many missing
pieces, so this is not yet usable.
We introduce `spirv64-intel-unknown` as the only currently supported
triple. The user-facing argument to enable offloading will be `-fopenmp
-fopenmp-targets=spirv64-intel`
Add a new `SPIRVOpenMPToolChain` toolchain based on the existing general
SPIR-V toolchain which will call all the required SPIR-V tools (and
eventually the SPIR-V backend) as well as add the corresponding device
RTL as an argument to the linker.
We can't get through the front end consistently yet, so it's difficult
to add any LIT tests that execute any tools, but front end changes are
planned very shortly, and then we can add those tests.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 4922350407127607a9e78fc6d19f3f6278b1e46b
https://github.com/llvm/llvm-project/commit/4922350407127607a9e78fc6d19f3f6278b1e46b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port cd19f3f787b0
Commit: f03b100e93196ca1ecec20fde3fc48690b3dad7e
https://github.com/llvm/llvm-project/commit/f03b100e93196ca1ecec20fde3fc48690b3dad7e
Author: 王宇逸 <Strawberry_Str at hotmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/TargetMachine.cpp
M llvm/test/CodeGen/X86/mingw-refptr.ll
Log Message:
-----------
[Cygwin] Fix global variable dll import (#121439)
This PR is necessary for cygwin target of Rust.
References:
*
https://github.com/rust-lang/llvm-project/commit/86657cc39f8e42ae73be810fb0703ddac0eeef94
*
https://github.com/Berrysoft/llvm-project/commit/a807e9f077351d3c6a68f4abe74c94a039759a2e
Commit: f6cb56902c6dcafede21eb6662910b6ff661fc0f
https://github.com/llvm/llvm-project/commit/f6cb56902c6dcafede21eb6662910b6ff661fc0f
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
R llvm/utils/TableGen/Attributes.cpp
A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/Attributes.cpp
M llvm/utils/TableGen/Basic/CMakeLists.txt
A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/TableGen.cpp
A llvm/utils/TableGen/Basic/TableGen.h
A llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/CMakeLists.txt
R llvm/utils/TableGen/DirectiveEmitter.cpp
R llvm/utils/TableGen/IntrinsicEmitter.cpp
R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
R llvm/utils/TableGen/TableGen.cpp
R llvm/utils/TableGen/VTEmitter.cpp
A llvm/utils/TableGen/llvm-min-tblgen.cpp
A llvm/utils/TableGen/llvm-tblgen.cpp
Log Message:
-----------
[llvm-(min-)tblgen] Avoid redundant source compilation (#114494)
All the sources of `llvm-min-tblgen` are also used for `llvm-tblgen`,
with identical compilation flags. Reuse the object files of
`llvm-min-tblgen` for `llvm-tblgen` by applying the usual source
structure of an executable: One file per executable which named after
the executable name containing the (in this case trivial) main function,
which just calls the tblgen_main in TableGen.cpp. This should also clear
up any confusion (including mine) of where each executable's main
function is.
While this slightly reduces build time, the main motivation is ccache.
Using the hard_link
option, building the object files for `llvm-tblgen` will result in a
hard link to the same object file already used for `llvm-min-tblgen`. To
signal the build system that the file is new, ccache will update the
file's time stamp. Unfortunately, time stamps are shared between all
hard-linked files s.t. this will indirectly also update the time stamps
for the object files used for `llvm-tblgen`. At the next run, Ninja will
recognize this time stamp discrepancy to the expected stamp recorded in
`.ninja_log` and rebuild those object files for `llvm-min-tblgen`, which
again will also update the stamp for the `llvm-tblgen`... . This is
especially annoying for tablegen because it means Ninja will re-run all
tablegenning in every build.
I am using the hard_link option because it reduces the cost of having
multiple build-trees of the LLVM sources and reduces the wear to the SSD
they are stored on.
Commit: 06b6161d3fa9d69a07e9046dbdd2e230b257d948
https://github.com/llvm/llvm-project/commit/06b6161d3fa9d69a07e9046dbdd2e230b257d948
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A llvm/utils/TableGen/ARMTargetDefEmitter.cpp
A llvm/utils/TableGen/Attributes.cpp
R llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
R llvm/utils/TableGen/Basic/Attributes.cpp
M llvm/utils/TableGen/Basic/CMakeLists.txt
R llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
R llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
R llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
R llvm/utils/TableGen/Basic/TableGen.cpp
R llvm/utils/TableGen/Basic/TableGen.h
R llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/CMakeLists.txt
A llvm/utils/TableGen/DirectiveEmitter.cpp
A llvm/utils/TableGen/IntrinsicEmitter.cpp
A llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
A llvm/utils/TableGen/TableGen.cpp
A llvm/utils/TableGen/VTEmitter.cpp
R llvm/utils/TableGen/llvm-min-tblgen.cpp
R llvm/utils/TableGen/llvm-tblgen.cpp
Log Message:
-----------
Revert "[llvm-(min-)tblgen] Avoid redundant source compilation (#114494)"
This reverts commit f6cb56902c6dcafede21eb6662910b6ff661fc0f.
Buildbot failures such as https://lab.llvm.org/buildbot/#/builders/89/builds/13541:
```
/usr/bin/ld: utils/TableGen/Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/ARMTargetDefEmitter.cpp.o: undefined reference to symbol '_ZN4llvm23EnableABIBreakingChecksE'
/usr/bin/ld: /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/./lib/libLLVMSupport.so.20.0git: error adding symbols: DSO missing from command line
```
Going to investigate.
Commit: 4b577830033066cfd1b2acf4fcf39950678b27bd
https://github.com/llvm/llvm-project/commit/4b577830033066cfd1b2acf4fcf39950678b27bd
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-02 (Thu, 02 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] fopencookie support. (#120864)
Commit: c703b4645c79e889fd6a0f3f64f01f957d981aa4
https://github.com/llvm/llvm-project/commit/c703b4645c79e889fd6a0f3f64f01f957d981aa4
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M mlir/python/mlir/_mlir_libs/__init__.py
M mlir/python/mlir/ir.py
M mlir/test/python/ir/dialects.py
Log Message:
-----------
[mlir][py] Enable loading only specified dialects during creation. (#121421)
Gives option post as global list as well as arg to control which
dialects are loaded during context creation. This enables setting either
a good base set or skipping in individual cases.
Commit: 976f3a078bbac1889aa9e68e297f73f111a896d6
https://github.com/llvm/llvm-project/commit/976f3a078bbac1889aa9e68e297f73f111a896d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update RISCV maintainers (#121301)
Add Philip Reames and myself as maintainers. I think between the two of
us we do a lot of the patch reviews.
Commit: 2291d0aba927b885cf39150e59fde466a2524bb5
https://github.com/llvm/llvm-project/commit/2291d0aba927b885cf39150e59fde466a2524bb5
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/neg-abs.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-neg-abs.ll
Log Message:
-----------
[DAGCombiner] Turn `(neg (max x, (neg x)))` into `(min x, (neg x))` (#120666)
This pattern was originally spotted in 429.mcf by @topperc.
We already have a DAGCombiner pattern to turn `(neg (abs x))` into `(min
x, (neg x))`. But in some cases `(neg (max x, (neg x)))` is formed by an
expanded `abs` followed by a `neg` that is generated only after the
`abs` expansion. This patch adds a separate pattern to match cases like
this, as well as its inverse pattern: `(neg (min X, (neg X))) --> (max
X, (neg X))`.
This pattern is applicable to both signed and unsigned min/max.
Commit: 3cac26f5419b68d37e1919001e1c46a765df294f
https://github.com/llvm/llvm-project/commit/3cac26f5419b68d37e1919001e1c46a765df294f
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/Target/RISCV/RISCVCombine.td
A llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
Log Message:
-----------
[GISel] Combine `(neg (min/max x, (neg x)))` into `(max/min x, (neg x))` (#120998)
This is the GISel version of #120666. Also supports both unsigned and
signed version of min & max.
Commit: 4010e0c45b87e4d073c407cae787e96d4808ad36
https://github.com/llvm/llvm-project/commit/4010e0c45b87e4d073c407cae787e96d4808ad36
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M libc/include/__llvm-libc-common.h
Log Message:
-----------
[libc] Use __attribute__((__noreturn__)) for _Noreturn in C < 11 (#121252)
When in modes like C99, the _Noreturn keyword is not available in
C. But GNU-compatible compilers have a `noreturn` attribute with
the same effect on function declarations.
Commit: 4b17a8b10ebb69d3bd30ee7714b5ca24f7e944dc
https://github.com/llvm/llvm-project/commit/4b17a8b10ebb69d3bd30ee7714b5ca24f7e944dc
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
R flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
A flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
R flang/lib/Optimizer/Transforms/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
A flang/test/Lower/CUDA/cuda-pointer-sync.cuf
Log Message:
-----------
[flang][cuda] Add operation to sync global descriptor (#121520)
Introduce cuf.sync_descriptor to be used to sync device global
descriptor after pointer association.
Also move CUFCommon so it can be used in FIRBuilder lib as well.
Commit: 6dcd2b035da34fa53693b401139a419adb7342db
https://github.com/llvm/llvm-project/commit/6dcd2b035da34fa53693b401139a419adb7342db
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/runtime/CUDA/descriptor.cpp
A flang/test/Fir/CUDA/cuda-sync-desc.mlir
Log Message:
-----------
[flang][cuda] Convert cuf.sync_descriptor to runtime call (#121524)
Convert the op to a new entry point in the runtime
`CUFSyncGlobalDescriptor`
Commit: 532a2691bc015fafdd356c10b17c466fe28c49b1
https://github.com/llvm/llvm-project/commit/532a2691bc015fafdd356c10b17c466fe28c49b1
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcicli-invalid.s
A llvm/test/MC/RISCV/xqcicli-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcicli (Conditional Load Immediate) extension (#121292)
This extension adds 12 instructions that conditionally load an immediate
value.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
Commit: 8e404509cc130d95f09f255649a87446ca81b187
https://github.com/llvm/llvm-project/commit/8e404509cc130d95f09f255649a87446ca81b187
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
A llvm/test/ExecutionEngine/JITLink/RISCV/ELF_reloc_add.s
R llvm/test/ExecutionEngine/JITLink/RISCV/riscv_reloc_add.s
Log Message:
-----------
[JITLink][RISCV] Add feature relax for addsub tests. NFC (#121204)
R_RISCV_{ADD*/SUB*} relocations are kept only when feature relax
enabled. So it is better to add relax to the test, so that relocs can be
reserved for processing by the jitlink. That's what this test really
wants to test.
Commit: 3792b36234b6c87d728f0a905543e284bf961460
https://github.com/llvm/llvm-project/commit/3792b36234b6c87d728f0a905543e284bf961460
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.cpp
M lld/wasm/InputChunks.h
M lld/wasm/InputElement.h
M lld/wasm/InputFiles.cpp
M lld/wasm/InputFiles.h
M lld/wasm/LTO.cpp
M lld/wasm/MapFile.cpp
M lld/wasm/MarkLive.cpp
M lld/wasm/OutputSections.cpp
M lld/wasm/Relocations.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld][WebAssembly] Replace config-> with ctx.arg.
Change the global variable reference to a member access of another
variable `ctx`. In the future, we may pass through `ctx` to functions to
eliminate global variables.
Pull Request: https://github.com/llvm/llvm-project/pull/119835
Commit: 7531672712b0fb517f1818d512fbdfa6feed4232
https://github.com/llvm/llvm-project/commit/7531672712b0fb517f1818d512fbdfa6feed4232
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
Log Message:
-----------
[flang][cuda][NFC] Remove unused variable (#121533)
Failed buildbot after https://github.com/llvm/llvm-project/pull/121524
Commit: c1ecc0d168ad122d858dd5fec475da391f97e959
https://github.com/llvm/llvm-project/commit/c1ecc0d168ad122d858dd5fec475da391f97e959
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Serialization/GeneratePCH.cpp
A clang/test/Modules/pcm-with-errors.cpp
Log Message:
-----------
[clang] Allow generating module interfaces with parsing errors (#121485)
Fixes a regression introduced in commit
da00c60dae0040185dc45039c4397f6e746548e9
This functionality was originally added in commit
5834996fefc937d6211dc8c8a5b200068753391a
Co-authored-by: Tomasz Kaminski <tomasz.kaminski at sonarsource.com>
Commit: e8cf41311fe6940e096d3c9e8a43338b47cb8b2a
https://github.com/llvm/llvm-project/commit/e8cf41311fe6940e096d3c9e8a43338b47cb8b2a
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-01-02 (Thu, 02 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:
-----------
Revert "[compiler-rt][rtsan] fopencookie support." (#121537)
Reverts llvm/llvm-project#120864 because it broke building compiler-rt
on Mac.
https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-mac-arm64/b8726812736235038609/overview
Commit: 510a5c7fc25b2a3c33679480131cd60049747dd1
https://github.com/llvm/llvm-project/commit/510a5c7fc25b2a3c33679480131cd60049747dd1
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/linkerscript/discard-section-dynsym.s
Log Message:
-----------
[ELF] Fix .gnu.version crash when .dynsym is discarded
Fix #88650
In addition, delete the unneeded comment.
https://sourceware.org/gnu-gabi/program-loading-and-dynamic-linking.txt
Commit: 9df375e5eae726c5a90ada70f9535a5e22e90214
https://github.com/llvm/llvm-project/commit/9df375e5eae726c5a90ada70f9535a5e22e90214
Author: YAMAMOTO Takashi <yamamoto at midokura.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
A lld/test/wasm/dylink-non-pie.s
M lld/wasm/Relocations.cpp
Log Message:
-----------
[lld][WebAssembly] Fix non-pie dynamic-linking executable (#108146)
The commit 22b7b84860d39da71964c9b329937f2ee1d875ba
made the symbols provided by shared libraries "defined",
and thus effectively made it impossible to generate non-pie
dynamically linked executables using
--unresolved-symbols=import-dynamic.
This commit, based on https://github.com/llvm/llvm-project/pull/109249,
fixes it by checking sym->isShared() explictly.
(as a bonus, you don't need to rely on
--unresolved-symbols=import-dynamic
anymore.)
Fixes https://github.com/llvm/llvm-project/issues/107387
Commit: e4372c4454c963c9f52dbf2a10229797f3f1e6fc
https://github.com/llvm/llvm-project/commit/e4372c4454c963c9f52dbf2a10229797f3f1e6fc
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for tls-desc scheduling. NFC (#121538)
Code sequence for tls-desc in large code model is not expected to be
scheduled according to psABI 2.30.
A later commit will fix it.
Commit: 56e944bede9654127cc210506a6cccdd43cd96e7
https://github.com/llvm/llvm-project/commit/56e944bede9654127cc210506a6cccdd43cd96e7
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
Log Message:
-----------
[NFC] add anonymous namespace to a couple classes (#121511)
This ensures these classes are visible only to the appropriate
translation unit and allows for more optimizations.
Commit: b6c06d1a8d9b359e7319312a2a7654f0e7c6690c
https://github.com/llvm/llvm-project/commit/b6c06d1a8d9b359e7319312a2a7654f0e7c6690c
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
Log Message:
-----------
[ORC] Fix bug in source file name finding in DebuggerSupportPlugin.
The debug section map was using MachO section names (with the "__" prefix), but
DWARFContext expects section names with the object format prefix stripped off.
This was preventing DWARFContext from accessing the debug_str section,
resulting in bogus source name strings.
Commit: 1c997feff16860ab6b21c5c03dc7ca65f300967f
https://github.com/llvm/llvm-project/commit/1c997feff16860ab6b21c5c03dc7ca65f300967f
Author: dmasloff <74042473+dmasloff at users.noreply.github.com>
Date: 2025-01-02 (Thu, 02 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/UnwrappedLineFormatter.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add option WrapNamespaceBodyWithNewlines (#106145)
It wraps the body of namespace with additional newlines, turning this code:
```
namespace N {
int function();
}
```
into the following:
```
namespace N {
int function();
}
```
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 72db3f989e499c8c5d585d3624cd563600cd2396
https://github.com/llvm/llvm-project/commit/72db3f989e499c8c5d585d3624cd563600cd2396
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
Log Message:
-----------
[RISCV] Allow tail memcmp expansion (#121460)
This optimization was introduced by #70469.
Like AArch64, we allow tail expansions for 3 on RV32 and 3/5/6
on RV64.
This can simplify the comparison and reduce the number of blocks.
Commit: 93a68a5188b6aa940f51d8ce0317299409f828ae
https://github.com/llvm/llvm-project/commit/93a68a5188b6aa940f51d8ce0317299409f828ae
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
Log Message:
-----------
[ORC] Testcase requires asserts as it depends on debugging output.
Commit: febe1a9d286df495ca342011b3134823eee37557
https://github.com/llvm/llvm-project/commit/febe1a9d286df495ca342011b3134823eee37557
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
Log Message:
-----------
[ORC] Use structured binding to improve readability. NFC.
Commit: 30b73ed7bd8934c32e4bd5430bccf52a226deabd
https://github.com/llvm/llvm-project/commit/30b73ed7bd8934c32e4bd5430bccf52a226deabd
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ORC][MachO] Avoid another race condition in MachOPlatform bootstrap.
Similar to a9e75b1d4d1: During MachOPlatform bootstrap we need to defer actions
until essential platform functionality has been loaded, but the platform itself
may be loaded under a concurrent dispatcher so we have to guard against the
deferred actions vector being accessed concurrently.
This fixes a probablistic failure in the ORC runtime regression tests on
Darwin/x86-64 that was spotted after edca1d9bad2 (which turned on concurrent
linking by default in llvm-jitlink).
Commit: 82fecab85ae2d72ffac0e44749d99f12d6f71cc0
https://github.com/llvm/llvm-project/commit/82fecab85ae2d72ffac0e44749d99f12d6f71cc0
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-02 (Thu, 02 Jan 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.h
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/code-coverage.c
M compiler-rt/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-shared-main.c.gcov
M compiler-rt/test/profile/gcov-__gcov_flush-terminate.c
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/test/Transforms/GCOVProfiling/exit-block.ll
M llvm/test/Transforms/GCOVProfiling/version.ll
Log Message:
-----------
[gcov] Bump default version to 11.1
The gcov version is set to 11.1 (compatible with gcov 9) even if
`-Xclang -coverage-version=` specified version is less than 11.1.
Therefore, we can drop producer support for version < 11.1.
Commit: 3ef78188d0d39cd00429f77f1b300be9bdf85770
https://github.com/llvm/llvm-project/commit/3ef78188d0d39cd00429f77f1b300be9bdf85770
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
Log Message:
-----------
[PowerPC] Use `RegisterClassInfo::getRegPressureSetLimit` (#120383)
`RegisterClassInfo::getRegPressureSetLimit` is a wrapper of
`TargetRegisterInfo::getRegPressureSetLimit` with some logics to
adjust the limit by removing reserved registers.
It seems that we shouldn't use
`TargetRegisterInfo::getRegPressureSetLimit`
directly, just like the comment "This limit must be adjusted
dynamically for reserved registers" said.
Separate from https://github.com/llvm/llvm-project/pull/118787
Commit: 27f30029741ecf023baece7b3dde1ff9011ffefc
https://github.com/llvm/llvm-project/commit/27f30029741ecf023baece7b3dde1ff9011ffefc
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
R llvm/utils/TableGen/ARMTargetDefEmitter.cpp
R llvm/utils/TableGen/Attributes.cpp
A llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/Attributes.cpp
M llvm/utils/TableGen/Basic/CMakeLists.txt
A llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
A llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
A llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
A llvm/utils/TableGen/Basic/TableGen.cpp
A llvm/utils/TableGen/Basic/TableGen.h
A llvm/utils/TableGen/Basic/VTEmitter.cpp
M llvm/utils/TableGen/CMakeLists.txt
R llvm/utils/TableGen/DirectiveEmitter.cpp
R llvm/utils/TableGen/IntrinsicEmitter.cpp
R llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
R llvm/utils/TableGen/TableGen.cpp
R llvm/utils/TableGen/VTEmitter.cpp
A llvm/utils/TableGen/llvm-min-tblgen.cpp
A llvm/utils/TableGen/llvm-tblgen.cpp
Log Message:
-----------
[llvm-(min-)tblgen] Avoid redundant source compilation (#114494)
All the sources of `llvm-min-tblgen` are also used for `llvm-tblgen`,
with identical compilation flags. Reuse the object files of
`llvm-min-tblgen` for `llvm-tblgen` by applying the usual source
structure of an executable: One file per executable which named after
the executable name containing the (in this case trivial) main function,
which just calls the tblgen_main in TableGen.cpp. This should also clear
up any confusion (including mine) of where each executable's main
function is.
While this slightly reduces build time, the main motivation is ccache.
Using the hard_link
option, building the object files for `llvm-tblgen` will result in a
hard link to the same object file already used for `llvm-min-tblgen`. To
signal the build system that the file is new, ccache will update the
file's time stamp. Unfortunately, time stamps are shared between all
hard-linked files s.t. this will indirectly also update the time stamps
for the object files used for `llvm-tblgen`. At the next run, Ninja will
recognize this time stamp discrepancy to the expected stamp recorded in
`.ninja_log` and rebuild those object files for `llvm-min-tblgen`, which
again will also update the stamp for the `llvm-tblgen`... . This is
especially annoying for tablegen because it means Ninja will re-run all
tablegenning in every build.
I am using the hard_link option because it reduces the cost of having
multiple build-trees of the LLVM sources and reduces the wear to the SSD
they are stored on.
Commit: 67ff11ea5b2d2d51fa634361dd88c6dc9429706a
https://github.com/llvm/llvm-project/commit/67ff11ea5b2d2d51fa634361dd88c6dc9429706a
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
Log Message:
-----------
[LoongArch] Avoid scheduling tls-desc code sequence in large code model (#121541)
Commit: 8b23ebb498bc67f03571b1d429771b28868b8932
https://github.com/llvm/llvm-project/commit/8b23ebb498bc67f03571b1d429771b28868b8932
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.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/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] true16 for v_max3/min3_num_f16 (#121510)
V_MAX3/MIN3_NUM_F16 are alias GFX12 instructions with V_MAX3/MIN3_F16 in
GFX11 and they should be updated together.
This fix a bug introduced in
https://github.com/llvm/llvm-project/pull/113603 such that only
V_MAX3/MIN3_F16 are replaced in true16 format. Also added GFX12 runlines
for CodeGen test
Commit: 9f6a1ddb43133328c90edfa29ccd4c714b289cb6
https://github.com/llvm/llvm-project/commit/9f6a1ddb43133328c90edfa29ccd4c714b289cb6
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
Log Message:
-----------
[mlir][tensor] Introduce `FoldTensorCastUnPackOp` (#121393)
This patch specializes `FoldTensorCastProducerOp` for `tensor::UnPackOp` by
introducing a dedicated pattern: `FoldTensorCastUnPackOp`. This mirrors a
similar update made for `tensor::PackOp` in #114559. Below is the updated
rationale tailored to `tensor::UnPackOp`.
ISSUE DESCRIPTION
Currently, `FoldTensorCastProducerOp` incorrectly folds the following:
```mlir
%cast = tensor.cast %dest : tensor<1x1x8x1xi32> to tensor<1x1x?x1xi32>
// Note: `%c8` and `?`.
%unpack = tensor.unpack %cast
inner_dims_pos = [0, 1]
inner_tiles = [%c8, 1]
into %res : tensor<1x1x?x1xi32> -> tensor<7x?xi32>
```
as:
```mlir
// Note: `%c8` and `8`.
%unpack = tensor.unpack %cast
inner_dims_pos = [0, 1]
inner_tiles = [%c8, 1]
into %res : tensor<1x1x8x1xi32> -> tensor<7x?xi32>
```
This triggers an Op verification failure because the folder does not
update the inner tile sizes in the unpack Op. This patch addresses the
issue by ensuring proper handling of inner tile sizes.
ADDITIONAL CHANGES
* invalid.mlir: Fixed a typo.
* TensorOps.cpp:
* Removed unnecessary `(void)tileSize`.
* Added comments following the discussion in PR #115772.
* Made minor updates to `FoldTensorCastPackOp` for consistency with the newly
introduced `FoldTensorCastUnPackOp`.
* Tensor/canonicalize.mlir: Ensured consistent usage of `test_attr` (e.g.,
replaced mixed use of `test_attr` and `some_attr`).
Commit: 258256821753504836f797e38d83a8e88daa424d
https://github.com/llvm/llvm-project/commit/258256821753504836f797e38d83a8e88daa424d
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
A mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
Log Message:
-----------
[mlir] Add missing patterns to `linalg.decompose_pack_unpack` TD Op (#121400)
This PR is a follow-up to #116373 and #116439, where a Transform Dialect
(TD) operation was introduced to collect patterns for decomposing
tensor.pack. The second patch renamed the patterns and the TD Op.
Originally, adding patterns for `tensor.unpack` was marked as a TODO,
which this PR addresses.
No new tests are introduced in this PR. Instead, existing tests from:
* "decompose-tensor-unpack.mlir"
are reused. To achieve this:
* The test is updated to use the TD operation
`transform.apply_patterns.linalg.decompose_pack_unpack` instead of the
flag `--test-linalg-transform-patterns="test-decompose-tensor-unpack"`,
avoiding artificial tests created solely for the TD Op.
* The TD sequence is saved to a new file, "decompose_unpack.mlir", and
preloaded using the option.
Commit: 2fae5bdea7c2016d4086aa7ecf3c5d0592ce95c8
https://github.com/llvm/llvm-project/commit/2fae5bdea7c2016d4086aa7ecf3c5d0592ce95c8
Author: Shao-Ce SUN <sunshaoce at outlook.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/machine-csr-names.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add support of Sdext,Sdtrig extentions (#120936)
`Sdext` and `Sdtrig` are RISC-V extensions related to debugging.
The full specification can be found at
https://github.com/riscv/riscv-debug-spec/releases/download/1.0.0-rc4/riscv-debug-specification.pdf
Commit: e4e47cef55886036651ff7f0dfd8475d3a158a4c
https://github.com/llvm/llvm-project/commit/e4e47cef55886036651ff7f0dfd8475d3a158a4c
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fix the broken llvm-tblgen build for 27f30029741ecf023baece7b3dde1ff9011ffefc
Commit: 366e836051adf5eb352b00828541197729e061e6
https://github.com/llvm/llvm-project/commit/366e836051adf5eb352b00828541197729e061e6
Author: ShihPo Hung <shihpo.hung at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll
Log Message:
-----------
[RISCV][NFC] precommit test for fcmp with f16
Commit: ad192f9f20ad48188b80855c085a0ad7266e0056
https://github.com/llvm/llvm-project/commit/ad192f9f20ad48188b80855c085a0ad7266e0056
Author: Lang Hames <lhames at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
Log Message:
-----------
[ORC] Restrict check-dwarf-filename test to Darwin for now.
This test is failing on Windows (see e.g.
https://lab.llvm.org/buildbot/#/builders/146/builds/1983), probably due to
incomplete debugger support there (the test registers debug info in-process, so
non-Darwin builds shouldn't be expected to have the right symbols).
Commit: cdad18319425a7bf93cc25b276a7961fe5b1168b
https://github.com/llvm/llvm-project/commit/cdad18319425a7bf93cc25b276a7961fe5b1168b
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaInit.cpp
M clang/test/Analysis/embed.c
Log Message:
-----------
[clang] Fix #embed "fast path" (#121479)
When a single #embed directive is used to initialize a char array, the
case is optimized via swap of EmbedExpr to underlying StringLiteral,
resulting in better performance in AST consumers.
While browsing through the code, I realized that
7122b70cfc8e23a069410215c363da76d842bda4
which changed type of EmbedExpr made the "fast path" unreachable. This
patch fixes this unfortunate situation.
Commit: e3ec5a728674fd775bb85a7d159acdb4fa1d69c2
https://github.com/llvm/llvm-project/commit/e3ec5a728674fd775bb85a7d159acdb4fa1d69c2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-03 (Fri, 03 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/pr50392.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
Log Message:
-----------
[VectorCombine] foldShuffleOfBinops - fold shuffle(binop(shuffle(x),shuffle(z)),binop(shuffle(y),shuffle(w)) -> binop(shuffle(x,z),shuffle(y,w)) (#120984)
Some patterns (in particular horizontal style patterns) can end up with shuffles straddling both sides of a binop/cmp.
Where individually the folds aren't worth it, by merging the (oneuse) shuffles we can notably reduce the net instruction count and cost.
One of the final steps towards finally addressing #34072
Commit: d3eb65f15dfda454424125b2fa675378bd350889
https://github.com/llvm/llvm-project/commit/d3eb65f15dfda454424125b2fa675378bd350889
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/test/OpenMP/irbuilder_simd_aligned.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
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/openmp-simd-aligned.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Lowering aligned clause to LLVM IR for SIMD directive (#119536)
This patch,
- Added a translation support for aligned clause in SIMD directive by passing the alignment details to "llvm.assume" intrinsic.
- Updated the insertion point for llvm.assume intrinsic call in "OMPIRBuilder.cpp".
- Added a check in aligned clause MLIR lowering, to ensure that the alignment value must be a power of 2.
Commit: 2e41489d7b1498ec8a18b99e6d7db9e946f2d786
https://github.com/llvm/llvm-project/commit/2e41489d7b1498ec8a18b99e6d7db9e946f2d786
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
Log Message:
-----------
[Clang] Fix unexpanded packs in NTTP type constraints (#121296)
In the case where a type-constraint on an NTTP contains a pack, we form
a PackExpansionType to model it. However, there are a few places
expecting it to be a non-pack expansion, and luckily only small changes
could make them work.
Fixes https://github.com/llvm/llvm-project/issues/88866
Commit: 85849917f7ba19f6906f64726dc5e7101f8984ce
https://github.com/llvm/llvm-project/commit/85849917f7ba19f6906f64726dc5e7101f8984ce
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-03 (Fri, 03 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] Reland "fopencookie support." (#120864) (#121547)
Commit: 579ced4f8266b273d15b2801067a828151a222ef
https://github.com/llvm/llvm-project/commit/579ced4f8266b273d15b2801067a828151a222ef
Author: Hugo Trachino <hugo.trachino at huawei.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/python/mlir/dialects/transform/structured.py
M mlir/test/python/dialects/transform_structured_ext.py
Log Message:
-----------
[MLIR][Python] Add structured.fuseop to python interpreter (#120601)
Implements a python interface for structured.fuseOp allowing more freedom with inputs.
Commit: f87a9db8322643ccbc324e317a75b55903129b55
https://github.com/llvm/llvm-project/commit/f87a9db8322643ccbc324e317a75b55903129b55
Author: David Green <david.green at arm.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
Log Message:
-----------
[ARM] Expand fp64 bf16 converts similarly to f32
This helps with +fp64 targets where the f64s are legal and not previously
lowered. It can treat fpextends as a shift + cvt and fptrunc can use a libcall.
Commit: 5cf138cfbaa8040100fed1d0d5e0a189759b24ab
https://github.com/llvm/llvm-project/commit/5cf138cfbaa8040100fed1d0d5e0a189759b24ab
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
Log Message:
-----------
[llvm][JITLink][LoongArch] Fix bit extraction on 32 bit platforms
This shifted `1UL` to make the mask. On 32 bit Linux UL is 32 bit,
so if Hi+1 was >= 32 then you'd get the wrong result here.
The other version of this uses 1ULL, but using the uint64_t typename
here saves someone going to check what ULL means on different platforms.
This fixes test failures seen on Linaro's 32 bit bots:
https://lab.llvm.org/buildbot/#/builders/39/builds/3700
https://lab.llvm.org/buildbot/#/builders/122/builds/781
Though I cannot say exactly why this fixes them. Does not seem
like the new code was triggering this problem, but somehow it
must be.
Commit: cba9c6ac15b462e68cf76d496ba0f832a531db8b
https://github.com/llvm/llvm-project/commit/cba9c6ac15b462e68cf76d496ba0f832a531db8b
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Fix typo in parameter name annotation comment.
Found by ClangTidyBugProne check.
Commit: b1c195cbd16adbc4dac8f4bc01b8a34e315d3e61
https://github.com/llvm/llvm-project/commit/b1c195cbd16adbc4dac8f4bc01b8a34e315d3e61
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn] port 27f30029741e (yet another tblgen reorg)
Commit: d598829375634da42910e2624f181f6b843bdc8b
https://github.com/llvm/llvm-project/commit/d598829375634da42910e2624f181f6b843bdc8b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/utils/TableGen/Common/BUILD.gn
Log Message:
-----------
[gn] make LLVMTableGenCommon a static_library again
Else TableGenTests doesn't link.
Commit: e53494c750246118c313b3cbf7479edb682f2208
https://github.com/llvm/llvm-project/commit/e53494c750246118c313b3cbf7479edb682f2208
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
Log Message:
-----------
[mlir] Fix 0 values passed to the wrong parameters.
This was found by modernize-use-nullptr ClangTidy check, which suggested
to pass nullptr instead of 0 to DIFileAttr.
However it looks like the intention was to pass the two 0 values for
line and scopeLine, and we should pass {} to DIFileAttr. Do that change.
Commit: 119fc720a19e047fee59d7f7446c911b158563e0
https://github.com/llvm/llvm-project/commit/119fc720a19e047fee59d7f7446c911b158563e0
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/test/Driver/spirv-openmp-toolchain.c
Log Message:
-----------
NFC, explicitly specify the -fopenmp lib in spirv-openmp-toolchain.c test
Don't rely on the default `CLANG_DEFAULT_OPENMP_RUNTIME` env variable
which is `libomp` by default.
Commit: 6cd171dc3330a055a8d8a1ddff63631d42150b8a
https://github.com/llvm/llvm-project/commit/6cd171dc3330a055a8d8a1ddff63631d42150b8a
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M lld/COFF/InputFiles.cpp
A lld/test/COFF/linkrepro-thin-archives.s
Log Message:
-----------
[lld/COFF] Support thin archives in /reproduce: files (#121512)
This already worked without /wholearchive; now it works with it too.
(Only for thin archives containing relative file names, matching the ELF
and Mach-O ports.)
Commit: e576c5bed79f8a9528391756c8475cc3a6276adf
https://github.com/llvm/llvm-project/commit/e576c5bed79f8a9528391756c8475cc3a6276adf
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_weak_plus_strong.s
Log Message:
-----------
Fix an incorrect -show-graph command-line flag in COFF_comdat_weak_plus_strong.s test
The flag -show-graph has been renamed to -show-graphs in 01bdd8cffcaf97636b5fb6ee4933e62c872528d3
Commit: df859f90aab261918eee26382021e8455b532f7d
https://github.com/llvm/llvm-project/commit/df859f90aab261918eee26382021e8455b532f7d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Lower/OpenMP/Todo/error.f90
M flang/test/Parser/OpenMP/error-unparse.f90
A flang/test/Parser/OpenMP/nothing.f90
Log Message:
-----------
[flang][OpenMP] Frontend support for NOTHING directive (#120606)
Create OpenMPUtilityConstruct and put the two utility directives in it
(error and nothing). Rename OpenMPErrorConstruct to OmpErrorDirective.
Commit: 62b5cf041059a90215788a0bfefb8fc180fd0b5a
https://github.com/llvm/llvm-project/commit/62b5cf041059a90215788a0bfefb8fc180fd0b5a
Author: Florian Mayer <fmayer at google.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
Log Message:
-----------
[Vectorizer] precommit test for miscompilation (#120731)
we generate GEPs that are out of bounds but mark them as "inbound"
Commit: 9d6527bc12547e28b86d180b76fe934a96aa518e
https://github.com/llvm/llvm-project/commit/9d6527bc12547e28b86d180b76fe934a96aa518e
Author: Acim Maravic <Acim.Maravic at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineMemOperand.h
M llvm/lib/CodeGen/MachineOperand.cpp
Log Message:
-----------
[CodeGen] Add MOTargetFlag4 to MachineMemOperand Flags (#120136)
Commit: 3ace685105d3b50bca68328bf0c945af22d70f23
https://github.com/llvm/llvm-project/commit/3ace685105d3b50bca68328bf0c945af22d70f23
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M mlir/docs/DialectConversion.md
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Dialect/EmitC/Transforms/TypeConversions.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorDescriptor.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Transforms/TestDialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Support 1:N mappings in `ConversionValueMapping` (#116524)
This commit updates the internal `ConversionValueMapping` data structure
in the dialect conversion driver to support 1:N replacements. This is
the last major commit for adding 1:N support to the dialect conversion
driver.
Since #116470, the infrastructure already supports 1:N replacements. But
the `ConversionValueMapping` still stored 1:1 value mappings. To that
end, the driver inserted temporary argument materializations (converting
N SSA values into 1 value). This is no longer the case. Argument
materializations are now entirely gone. (They will be deleted from the
type converter after some time, when we delete the old 1:N dialect
conversion driver.)
Note for LLVM integration: Replace all occurrences of
`addArgumentMaterialization` (except for 1:N dialect conversion passes)
with `addSourceMaterialization`.
---------
Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>
Commit: 68d265666e708bad1c63b419b6275aaba1a7dcd2
https://github.com/llvm/llvm-project/commit/68d265666e708bad1c63b419b6275aaba1a7dcd2
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang][NFC][docs] Fix typo in LanguageExtensions (#121576)
Commit: a4d92400a6db9566d84cb4b900149e36e117f452
https://github.com/llvm/llvm-project/commit/a4d92400a6db9566d84cb4b900149e36e117f452
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
Log Message:
-----------
[InstCombine] Fix GEPNoWrapFlags propagation in `foldGEPOfPhi` (#121572)
Closes https://github.com/llvm/llvm-project/issues/121459.
Commit: adeff9f63a24f60b0bf240bf13e40bbf7c1dd0e8
https://github.com/llvm/llvm-project/commit/adeff9f63a24f60b0bf240bf13e40bbf7c1dd0e8
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/test/Parser/OpenMP/error-unparse.f90
M flang/test/Parser/OpenMP/nothing.f90
A flang/test/Semantics/OpenMP/error.f90
Log Message:
-----------
[flang][OpenMP] Allow utility constructs in specification part (#121509)
Allow utility constructs (error and nothing) to appear in the
specification part as well as the execution part. The exception is
"ERROR AT(EXECUTION)" which should only be in the execution part.
In case of ambiguity (the boundary between the specification and the
execution part), utility constructs will be parsed as belonging to the
specification part. In such cases move them to the execution part in the
OpenMP canonicalization code.
Commit: faa30be101e9ae2bdb58d2acb250341f1b13031c
https://github.com/llvm/llvm-project/commit/faa30be101e9ae2bdb58d2acb250341f1b13031c
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Fix build after #116524 (#121578)
Fix build errors after #116524.
```
error: call of overloaded ‘TypeRange(ValueVector&)’ is ambiguous
```
Commit: 5137c209f0c19668d06e48cc4293e4c01a77c964
https://github.com/llvm/llvm-project/commit/5137c209f0c19668d06e48cc4293e4c01a77c964
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
A flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
M flang/test/Transforms/omp-map-info-finalization.fir
A offload/test/offloading/fortran/target-map-local-intrinisc-sized-param.f90
Log Message:
-----------
[Flang][OpenMP] Fix allocating arrays with size intrinisic (#119226)
Attempt to address the following example from causing an assert or ICE:
```
subroutine test(a)
implicit none
integer :: i
real(kind=real64), dimension(:) :: a
real(kind=real64), dimension(size(a, 1)) :: b
!$omp target map(tofrom: b)
do i = 1, 10
b(i) = i
end do
!$omp end target
end subroutine
```
Where we utilise a Fortran intrinsic (size) to calculate the size of
allocatable arrays and then map it to device.
Commit: b9482ceb97f7cf7cde707dd81a0149dc9958ae53
https://github.com/llvm/llvm-project/commit/b9482ceb97f7cf7cde707dd81a0149dc9958ae53
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
A flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir
Log Message:
-----------
[flang] Improve designate/elemental indices match in opt-bufferization. (#121371)
This pattern appears in `tonto`: `rys1%w = rys1%w * ...`, where
component `w` is a pointer. Due to the computations transforming
the elemental's one-based indices to the array indices,
the indices match check did not pass in opt-bufferization.
This patch recognizes this indices adjusting pattern,
and returns the one-based indices for the designator.
Commit: 3c700d131a35ce4b0063a4688dce4a0cb739ca83
https://github.com/llvm/llvm-project/commit/3c700d131a35ce4b0063a4688dce4a0cb739ca83
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.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/inline-hlfir-assign.fir
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
M flang/test/HLFIR/opt-bufferization.fir
R flang/test/HLFIR/opt-variable-assign.fir
Log Message:
-----------
[flang] Extract hlfir.assign inlining from opt-bufferization. (#121544)
Optimized bufferization can transform hlfir.assign into a loop
nest doing element per element assignment, but it avoids
doing so for RHS that is hlfir.expr. This is done to let
ElementalAssignBufferization pattern to try to do a better job.
This patch moves the hlfir.assign inlining after opt-bufferization,
and enables it for hlfir.expr RHS.
The hlfir.expr RHS cases are present in tonto, and this patch
results in some nice improvements. Note that those cases
are handled by other compilers also using array temporaries,
so this patch seems to just get rid of the Assign runtime
overhead/inefficiency.
Commit: 322f16e6246ada7cd53e71e927ee68273e819f78
https://github.com/llvm/llvm-project/commit/322f16e6246ada7cd53e71e927ee68273e819f78
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_sat_pk_u8_i16 (#120634)
Support true16 format for v_sat_pk_u8_i16 in MC
Commit: e5acb167b72a6d2a6e29bcd29d6be57e15224c24
https://github.com/llvm/llvm-project/commit/e5acb167b72a6d2a6e29bcd29d6be57e15224c24
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_trunc_f16 (#120693)
Support true16 format for v_trunc_f16 in MC
Commit: c50370c67afddf557ba30d58143b30ffb7203935
https://github.com/llvm/llvm-project/commit/c50370c67afddf557ba30d58143b30ffb7203935
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Use InstructionsState::valid if users just want to know whether VL has same opcode. (#120217)
Add assert for InstructionsState::getOpcode.
Use InstructionsState::getOpcode only when necessary.
Commit: c744ed53a84f90598751cdcda4c68900113587ab
https://github.com/llvm/llvm-project/commit/c744ed53a84f90598751cdcda4c68900113587ab
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
Log Message:
-----------
[AMDGPU][True16][MC] disable incorrect VOPC t16 instruction (#120271)
The current VOPC t16 instructions are not implemented with the correct
t16 pseudo. Thus the current t16/fake16 instructions are all in fake16
format.
The plan is to remove the incorrect t16 instructions and refactor them.
The first step is to remove them in this patch. The next step will be
updating the t16/fake16 pseudo to the correct format and add back true16
instruction one by one in the upcoming patches.
Commit: fa56e8bb6451bdf24be6c2a8737dab5fe6a2039c
https://github.com/llvm/llvm-project/commit/fa56e8bb6451bdf24be6c2a8737dab5fe6a2039c
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/omptarget-threadprivate-device-lowering.mlir
A offload/test/offloading/fortran/target-with-threadprivate.f90
Log Message:
-----------
[OpenMP][MLIR] Fix threadprivate lowering when compiling for target when target operations are in use (#119310)
Currently the compiler will ICE in programs like the following on the
device lowering pass:
```
program main
implicit none
type i1_t
integer :: val(1000)
end type i1_t
integer :: i
type(i1_t), pointer :: newi1
type(i1_t), pointer :: tab=>null()
integer, dimension(:), pointer :: tabval
!$omp THREADPRIVATE(tab)
allocate(newi1)
tab=>newi1
tab%val(:)=1
tabval=>tab%val
!$omp target teams distribute parallel do
do i = 1, 1000
tabval(i) = i
end do
!$omp end target teams distribute parallel do
end program main
```
This is due to the fact that THREADPRIVATE returns a result operation,
and this operation can actually be used by other LLVM dialect (or other
dialect) operations. However, we currently skip the lowering of
threadprivate, so we effectively never generate and bind an LLVM-IR
result to the threadprivate operation result. So when we later go on to
lower dependent LLVM dialect operations, we are missing the required
LLVM-IR result, try to access and use it and then ICE. The fix in this
particular PR is to allow compilation of threadprivate for device as
well as host, and simply treat the device compilation as a no-op,
binding the LLVM-IR result of threadprivate with no alterations and
binding it, which will allow the rest of the compilation to proceed,
where we'll eventually discard the host segment in any case.
The other possible solution to this I can think of, is doing something
similar to Flang's passes that occur prior to CodeGen to the LLVM
dialect, where they erase/no-op certain unrequired operations or
transform them to lower level series of operations. And we would
erase/no-op threadprivate on device as we'd never have these in target
regions.
The main issues I can see with this are that we currently do not
specialise this stage based on wether we're compiling for device or
host, so it's setting a precedent and adding another point of having to
understand the separation between target and host compilation. I am also
not sure we'd necessarily want to enforce this at a dialect level incase
someone else wishes to add a different lowering flow or translation
flow. Another possible issue is that a target operation we have/utilise
would depend on the result of threadprivate, meaning we'd not be allowed
to entirely erase/no-op it, I am not sure of any situations where this
may be an issue currently though.
Commit: 1cade8699719c934a8debb7bef9fdc3ff11e9602
https://github.com/llvm/llvm-project/commit/1cade8699719c934a8debb7bef9fdc3ff11e9602
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Fold `(a * b) / b -> a` (#121534)
If overflow flags allow it.
Alive2 check: https://alive2.llvm.org/ce/z/5XWjWE
Commit: 4dfea22e771a0944b3b313f2790a616fa79257e1
https://github.com/llvm/llvm-project/commit/4dfea22e771a0944b3b313f2790a616fa79257e1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
M llvm/test/CodeGen/AArch64/memcmp.ll
M llvm/test/CodeGen/PowerPC/memcmp.ll
M llvm/test/CodeGen/PowerPC/memcmpIR.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
M llvm/test/CodeGen/X86/memcmp-x32.ll
M llvm/test/CodeGen/X86/memcmp.ll
M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll
Log Message:
-----------
[ExpandMemCmp][AArch64][PowerPC][RISCV][X86] Use llvm.ucmp instead of (sub (zext (icmp ugt)), (zext (icmp ult))). (#121530)
AArch64 and PowerPC look like a improvements.
RISC-V is neutral.
X86 trades a dependency breaking xor before a seta for a movsx after a
sbbb. Depending on how the result is used, this movsx might go away.
Commit: 715dcb2310a4378fdf324cd3d3b47d6f160842aa
https://github.com/llvm/llvm-project/commit/715dcb2310a4378fdf324cd3d3b47d6f160842aa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/ExpandMemCmp.cpp
Log Message:
-----------
[ExpandMemCmp] Use m_SpecificInt to simplify code. NFC (#121532)
Commit: c19f0f005a1ccf21bd2f0656f90455a55413a32f
https://github.com/llvm/llvm-project/commit/c19f0f005a1ccf21bd2f0656f90455a55413a32f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
Log Message:
-----------
[PatternMatch] Make m_SpecificMask pass expected mask by Value. NFC (#121527)
Unlike m_Mask, we don't need to modify a variable owned by the caller so
we should pass the ArrayRef by value or const reference.
Commit: e6f76378c20bebec85f66c1574bb6bb928a79025
https://github.com/llvm/llvm-project/commit/e6f76378c20bebec85f66c1574bb6bb928a79025
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
M llvm/test/Transforms/EntryExitInstrumenter/mcount.ll
Log Message:
-----------
EntryExitInstrumenter: skip available_externally linkage
gnu::always_inline functions, which lower to available_externally, may
not have definitions external to the module. -finstrument-function
family options instrumentating the function (which takes the function
address) may lead to a linker error if the function is not optimized
out, e.g.
```
// -std=c++17 or above with libstdc++
#include <string>
std::string str;
int main() {}
```
Simplified reproduce:
```
template <typename T>
struct A {
[[gnu::always_inline]] T bar(T a) { return a * 2; }
};
extern template class A<int>;
int main(int argc, char **argv) {
return A<int>().bar(argc);
}
```
GCC's -finstrument-function instrumentation skips such functions
(https://gcc.gnu.org/PR78333). Let's skip such functions
(available_externally) as well.
Fix #50742
Pull Request: https://github.com/llvm/llvm-project/pull/121452
Commit: ee9be864bcc5e3cc89f5f23485db2285ad7119f7
https://github.com/llvm/llvm-project/commit/ee9be864bcc5e3cc89f5f23485db2285ad7119f7
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M lld/ELF/InputSection.h
Log Message:
-----------
[NFC] Fix a typo (#121545)
`InputSectionBase::relsOrRelas` make at most one array-ref non-empty. One-off counter (as debugging log) shows the number of empty member containers is 2 or 3 in a real build.
Fix the typo.
Commit: 82fdd103f9484ce85ec64e3d013cfd8000e22fea
https://github.com/llvm/llvm-project/commit/82fdd103f9484ce85ec64e3d013cfd8000e22fea
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
A llvm/test/CodeGen/X86/pr107423.ll
Log Message:
-----------
[X86] Add test coverage for #107423
Commit: 13cf5c9c227a502f86f8c0e3c7d5fe147bc91b8b
https://github.com/llvm/llvm-project/commit/13cf5c9c227a502f86f8c0e3c7d5fe147bc91b8b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
Log Message:
-----------
[RISCV] Re-generate memcmp test checks missed in #121530. NFC
A patch landed to these tests while #121530 was in review and I
forgot to rebase.
Commit: bad0f98bda1ca0b8a106b14b9cce98bf1dbc15cc
https://github.com/llvm/llvm-project/commit/bad0f98bda1ca0b8a106b14b9cce98bf1dbc15cc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/memcmp.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/X86/memcmp.ll
Log Message:
-----------
[ExpandMemCmp][AArch][RISCV][X86] Pre-commit tests for recognizing canonical form of (icmp sle/sge X, 0). NFC
Pre-commit for #121540.
Commit: 6d321530af6e83e51c2ed08463593af07ead9448
https://github.com/llvm/llvm-project/commit/6d321530af6e83e51c2ed08463593af07ead9448
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
Log Message:
-----------
[CG][RISCV]Add more RVV tests with exact vlen and linear/quadratic number of shuffles
Commit: d37aa5135c732b37ae3daab9d9bdcc4c45f7a17d
https://github.com/llvm/llvm-project/commit/d37aa5135c732b37ae3daab9d9bdcc4c45f7a17d
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_not_b16 (#120659)
Support true16 format for v_not_b16 in MC
Commit: a4e47586b9c0566761b7fb704011da6ded823398
https://github.com/llvm/llvm-project/commit/a4e47586b9c0566761b7fb704011da6ded823398
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/test/CodeGen/AArch64/memcmp.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/X86/memcmp.ll
Log Message:
-----------
[ExpandMemCmp] Recognize canonical form of (icmp sle/sge X, 0) in getMemCmpOneBlock. (#121540)
This code recognizes special cases where the result of memcmp is
compared with 0. If the compare is sle/sge, then InstCombine
canonicalizes to (icmp slt X, 1) or (icmp sgt X, -1). We should
recognize those patterns too.
Commit: 39a9073f9eb71ac610cbafe7eed05ca668871b5c
https://github.com/llvm/llvm-project/commit/39a9073f9eb71ac610cbafe7eed05ca668871b5c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-allocate.cpp
M flang/test/Semantics/cuf07.cuf
Log Message:
-----------
[flang][cuda] Downgrade allocate pinned error to a warning (#121589)
To be in accordance with the reference compiler.
Commit: 0844f83fea66332943deed7cdf97b686b2c7c37b
https://github.com/llvm/llvm-project/commit/0844f83fea66332943deed7cdf97b686b2c7c37b
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/test/Analysis/dump_egraph.cpp
M clang/test/Analysis/expr-inspection-printState-diseq-info.c
M clang/test/Analysis/expr-inspection-printState-eq-classes.c
M clang/test/Analysis/ptr-arith.cpp
M clang/test/Analysis/symbol-simplification-disequality-info.cpp
M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
M clang/test/Analysis/unary-sym-expr.c
Log Message:
-----------
[clang][analyzer] Stable order for SymbolRef-keyed containers (#121551)
Generalize the `SymbolID`s used for `SymbolData` to all `SymExpr`s and
use these IDs for comparison `SymbolRef` keys in various containers,
such as `ConstraintMap`. These IDs are superior to raw pointer values
because they are more controllable and are not randomized across
executions (unlike
[pointers](https://en.wikipedia.org/wiki/Address_space_layout_randomization)).
These IDs order is stable across runs because SymExprs are allocated in
the same order.
Stability of the constraint order is important for the stability of the
analyzer results. I evaluated this change on a set of 200+ open-source C
and C++ projects with the total number of ~78 000 symbolic-execution
issues passing Z3 refutation.
This patch reduced the run-to-run churn (flakiness) in SE issues from
80-90 to 30-40 (out of 78K) in our CSA deployment (in our setting flaky
issues are mostly due to Z3 refutation instability).
Note, most of the issue churn (flakiness) is caused by the mentioned Z3
refutation. With Z3 refutation disabled, issue churn goes down to ~10
issues out of 83K and this patch has no effect on appearing/disappearing
issues between runs. It however, seems to reduce the volatility of the
execution flow: before we had 40-80 issues with changed execution flow,
after - 10-30.
Importantly, this change is necessary for the next step in stabilizing
analysis results by caching Z3 query outcomes between analysis runs
(work in progress).
Across our admittedly noisy CI runs, I detected no significant effect on
memory footprint or analysis time.
CPP-5919
Commit: a106ad0f1d0f74fde3591149c63f3e94ec780fef
https://github.com/llvm/llvm-project/commit/a106ad0f1d0f74fde3591149c63f3e94ec780fef
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/test/Analysis/dump_egraph.cpp
M clang/test/Analysis/expr-inspection-printState-diseq-info.c
M clang/test/Analysis/expr-inspection-printState-eq-classes.c
M clang/test/Analysis/ptr-arith.cpp
M clang/test/Analysis/symbol-simplification-disequality-info.cpp
M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
M clang/test/Analysis/unary-sym-expr.c
Log Message:
-----------
Revert "[clang][analyzer] Stable order for SymbolRef-keyed containers" (#121592)
Reverts llvm/llvm-project#121551
We had a bunch of build errors caused by this PR.
https://lab.llvm.org/buildbot/#/builders/144/builds/14875
Commit: e32afded9227635108fad003e5c6d3bd88e5e3c1
https://github.com/llvm/llvm-project/commit/e32afded9227635108fad003e5c6d3bd88e5e3c1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
Log Message:
-----------
[LegalizeVectorOps] Use getBoolConstant instead of getAllOnesConstant in VectorLegalizer::UnrollVSETCC. (#121526)
This code should follow the target preference for boolean contents of a
vector type. We shouldn't assume that true is negative one.
Commit: 34d2c3b9349b151bd69defa4880ecf56fb017287
https://github.com/llvm/llvm-project/commit/34d2c3b9349b151bd69defa4880ecf56fb017287
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_sin_f16 (#120692)
Support true16 format for v_sin_f16 in MC
Commit: 5ee8418057646f4640cd1bb60e73f9e5129ea12e
https://github.com/llvm/llvm-project/commit/5ee8418057646f4640cd1bb60e73f9e5129ea12e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/docs/TableGen/BackEnds.rst
Log Message:
-----------
[Docs][TableGen] Remove ReturnRange from the SearchIndex documentation. NFC
SearchIndex doesn't support ReturnRange. It is only supported for
the primary key.
Commit: 432a871ba8f6a62272a7ef1162305328b0de7802
https://github.com/llvm/llvm-project/commit/432a871ba8f6a62272a7ef1162305328b0de7802
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/clang_f_opts.c
Log Message:
-----------
Deprecate order file instrumentation (#121514)
Commit: 11c6af666b75d03ac67dfdf9ba190587b7efbcd8
https://github.com/llvm/llvm-project/commit/11c6af666b75d03ac67dfdf9ba190587b7efbcd8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Fix name ExitVPBB -> MiddleVPBB (NFC).
ExitVPBB actually refers to the middle block, clarify name.
Commit: cb2eafe6ac72064529da5219434e351851a2b68f
https://github.com/llvm/llvm-project/commit/cb2eafe6ac72064529da5219434e351851a2b68f
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
Log Message:
-----------
[TableGen] Use SmallVectors for preprocessor include stack. NFC. (#121571)
This is just a minor cleanup and a small step in the direction of using
LLVM containers in preference to STL containers in lib/TableGen.
Commit: f7420a9dff6d09715042b60c9e26a40a1b2a3147
https://github.com/llvm/llvm-project/commit/f7420a9dff6d09715042b60c9e26a40a1b2a3147
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Integration/debug-116525.f90
Log Message:
-----------
[flang][debug] Fix issue with argument numbering. (#120726)
Currently fir::isDummyArgument is being used to check if a DeclareOp
represents a dummy argument. The argument passed to the function is
declOp.getMemref(). This bypasses the code in isDummyArgument that
checks for dummy_scope because the `Value` returned by the getMemref()
may not have DeclareOp as its defining op.
This bypassing mean that sometime a variable will be marked as argument
when it should not. This happened in this case where same arg was being
used for 2 different result variables with use of `entry` in the
function.
The solution is to check directly if the declOp has a dummy_scope. If
yes, we know this is dummy argument. We can now check if the memref
points to the BlockArgument and use its number. This will still miss
arguments where memref does not directly point to a BlockArgument but
that is missed currently too. Note that we can still evaluate those
variable in debugger. It is just that they are not marked as arguments.
Fixes #116525.
Commit: 3b72c62e7faa918d9a7e7439a4aa86d00921b0b8
https://github.com/llvm/llvm-project/commit/3b72c62e7faa918d9a7e7439a4aa86d00921b0b8
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_frexp_mant_f16 (#120653)
Support true16 format for v_frexp_mant_f16 in MC
Commit: 9d8e634e85ca46fbec07733d3e69d34c0d7814ac
https://github.com/llvm/llvm-project/commit/9d8e634e85ca46fbec07733d3e69d34c0d7814ac
Author: Jeff Niu <jeffniu22 at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
[mlir][scf] Always remove for iter args that are loop invariant (#121555)
This alters the condition in ForOpIterArgsFolder to always remove iter
args when their initial value equals the yielded value, not just when
the arg has no use.
Commit: b2adeae8650fb720873ad7fa39153beaa8194afc
https://github.com/llvm/llvm-project/commit/b2adeae8650fb720873ad7fa39153beaa8194afc
Author: Jun Wang <jwang86 at yahoo.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s
A llvm/test/MC/AMDGPU/gfx10_asm_mtbuf_err.s
A llvm/test/MC/AMDGPU/gfx10_asm_mubuf_err.s
M llvm/test/MC/AMDGPU/gfx10_asm_smem.s
A llvm/test/MC/AMDGPU/gfx10_asm_smem_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_mimg_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_mtbuf_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_smem.s
A llvm/test/MC/AMDGPU/gfx11_asm_smem_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_mimg_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
A llvm/test/MC/AMDGPU/gfx12_asm_smem_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mtbuf_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
Log Message:
-----------
[AMDGPU][MC] Allow null where 128b or larger dst reg is expected (#115200)
For GFX10+, currently null cannot be used as dst reg in instructions
that expect the dst reg to be 128b or larger (e.g., s_load_dwordx4).
This patch fixes this problem while ensuring null cannot be used as S#,
T#, or V#.
Commit: 20d491bb993218eae6a13e4901da943ebd804f7a
https://github.com/llvm/llvm-project/commit/20d491bb993218eae6a13e4901da943ebd804f7a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Remove re-using vector PH in VPBasicBlock::execute (NFC).
Remove logic to re-use the previous basic block for the vector pre
header from VPBasicBlock::execute. The preheader is now modeled as
VPIRBasicBlock, so the code is no longer needed.
Split off from https://github.com/llvm/llvm-project/pull/108378.
Commit: dc307be1b573c1bd6c2f8a3af9edd3455508dc7c
https://github.com/llvm/llvm-project/commit/dc307be1b573c1bd6c2f8a3af9edd3455508dc7c
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_fract_f16 (#120647)
Support true16 format for v_fract_f16 in MC
Commit: b71a6fd042173098977e97a47ee0bedb4040069a
https://github.com/llvm/llvm-project/commit/b71a6fd042173098977e97a47ee0bedb4040069a
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cvt_i32_i16 (#120645)
Support true16 format for v_cvt_i32_i16 in MC
Commit: bf274b3d8044cab8478bef50ccf96313e4dbf21e
https://github.com/llvm/llvm-project/commit/bf274b3d8044cab8478bef50ccf96313e4dbf21e
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cos_f16 (#120639)
Support true16 format for v_cos_f16 in MC
Commit: 9f5cefebb482331796ceaebbfcebcd5aee1eb339
https://github.com/llvm/llvm-project/commit/9f5cefebb482331796ceaebbfcebcd5aee1eb339
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/canonicalize.mlir
Log Message:
-----------
[mlir][Affine] Generalize the linearize(delinearize()) simplifications (#117637)
The existing canonicalization patterns would only cancel out cases where
the entire result list of an affine.delineraize_index was passed to an
affine.lineraize_index and the basis elements matched exactly (except
possibly for the outer bounds).
This was correct, but limited, and left open many cases where a
delinearize_index would take a series of divisions and modulos only for
a subsequent linearize_index to use additions and multiplications to
undo all that work.
This sort of simplification is reasably easy to observe at the level of
splititng and merging indexes, but difficult to perform once the
underlying arithmetic operations have been created.
Therefore, this commit generalizes the existing simplification logic.
Now, any run of two or more delinearize_index results that appears
within the argument list of a linearize_index operation with the same
basis (or where they're both at the outermost position and so can be
unbonded, or when `linearize_index disjoint` implies a bound not present
on the `delinearize_index`) will be reduced to one signle
delinearize_index output, whose basis element (that is, size or length)
is equal to the product of the sizes that were simplified away.
That is, we can now simplify
%0:2 = affine.delinearize_index %n into (8, 8) : inde, index
%1 = affine.linearize_index [%x, %0#0, %0#1, %y] by (3, 8, 8, 5) : index
to the simpler
%1 = affine.linearize_index [%x, %n, %y] by (3, 64, 5) : index
This new pattern also works with dynamically-sized basis values.
While I'm here, I fixed a bunch of typos in existing tests, and added a
new getPaddedBasis() method to make processing
potentially-underspecified basis elements simpler in some cases.
Commit: 18b47373cb47f1f63ab1f6e126ccfb22cc52963c
https://github.com/llvm/llvm-project/commit/18b47373cb47f1f63ab1f6e126ccfb22cc52963c
Author: jmriesen <20286401+jmriesen at users.noreply.github.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/docs/ProgrammersManual.rst
M llvm/include/llvm/IR/PassManager.h
Log Message:
-----------
Updating broken/outdated links in the ProgrammerManual (#119472)
Fixes llvm/llvm-project#117897
Commit: d85b22ed5dbb794835fd4b5166d5bb79ad9e09f2
https://github.com/llvm/llvm-project/commit/d85b22ed5dbb794835fd4b5166d5bb79ad9e09f2
Author: kefan cao <45958009+caokefan at users.noreply.github.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
Log Message:
-----------
[Clang][ASTMatcher] Add `dependentTemplateSpecializationType` matcher (#121435)
Fixes https://github.com/llvm/llvm-project/issues/121307
Commit: d7acf03cecef0bc62240c97a890077755323424f
https://github.com/llvm/llvm-project/commit/d7acf03cecef0bc62240c97a890077755323424f
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_rndne_f16 (#120691)
Support true16 format for v_rndne_b16 in MC
Commit: 78f04477d658ae3de3cd416947c5bac65262a9ec
https://github.com/llvm/llvm-project/commit/78f04477d658ae3de3cd416947c5bac65262a9ec
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M mlir/cmake/modules/AddMLIRPython.cmake
Log Message:
-----------
[mlir][python] declare `_PyClassMethod_New` undefined at link time (#121597)
`NanobindAdaptors.h` uses `PyClassMethod_New` to build `pure_subclass`es
but nanobind doesn't declare this API as undefined in its linker flags.
So we need to declare it as such for downstream users that do not do
something like `-undefined dynamic_lookup`
Commit: 9165848c8285884938583f5c3a35c97ec03ee486
https://github.com/llvm/llvm-project/commit/9165848c8285884938583f5c3a35c97ec03ee486
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/test/Lower/CUDA/cuda-pointer-sync.cuf
Log Message:
-----------
[flang][cuda] Sync global descriptor when nullifying pointer (#121595)
Commit: 1b5deaeb2ad0a7ea643f24899e4aad9461d3d426
https://github.com/llvm/llvm-project/commit/1b5deaeb2ad0a7ea643f24899e4aad9461d3d426
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M .github/workflows/build-ci-container.yml
Log Message:
-----------
workflows/build-ci-container: Make sure to only test local containers (#120827)
The container test is run before we create the :latest tag, so we should
not try testing this, otherwise it will pull the :latest tag from the
github registry, and won't test the container we just built.
Commit: 06cf4f970446ce3c4be0a7104115b82c2fae6448
https://github.com/llvm/llvm-project/commit/06cf4f970446ce3c4be0a7104115b82c2fae6448
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M .github/workflows/new-issues.yml
Log Message:
-----------
workflows/new-issues: Use an llvmbot token to add labels (#120840)
There is a separate job that mentions teams based on the label added,
and this job won't run if we use the default github token.
Commit: dfa4312c9b092c23b9b2ec366a8851be729953c4
https://github.com/llvm/llvm-project/commit/dfa4312c9b092c23b9b2ec366a8851be729953c4
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Replace some workflow interpolations with env vars (#120860)
This is recommended by the GitHub Actions security hardening guide:
https://docs.github.com/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
Commit: ee1adc5aab4fb517314358ce03cfda426da9c4ce
https://github.com/llvm/llvm-project/commit/ee1adc5aab4fb517314358ce03cfda426da9c4ce
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M lldb/docs/resources/formatterbytecode.rst
M lldb/examples/python/formatter_bytecode.py
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/FormatterBytecode.def
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
Log Message:
-----------
[lldb] Add a return opcode to the formatter bytecode (#121602)
In LLVM we love our early exists and this opcode allows for simpler code
generation.
Commit: b7637a855722b608ce2fb5aa860149db9b881197
https://github.com/llvm/llvm-project/commit/b7637a855722b608ce2fb5aa860149db9b881197
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/lib/Lower/Allocatable.cpp
M flang/test/Lower/CUDA/cuda-allocatable.cuf
Log Message:
-----------
[flang][cuda] Set PINNED variable to false in ALLOCATE (#121593)
When `PINNED=` is used with variables that don't have the `PINNED`
attribute, the logical value must be set to false when host allocation
is performed.
Commit: 54246a39e4cb06cec7d4bafb014e3cad73b1e4df
https://github.com/llvm/llvm-project/commit/54246a39e4cb06cec7d4bafb014e3cad73b1e4df
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV] Pass VSETVLIInfo by const reference. NFC
Commit: 82c0f68c041229eb48a7d018f7aa81d576d456a9
https://github.com/llvm/llvm-project/commit/82c0f68c041229eb48a7d018f7aa81d576d456a9
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M libc/src/unistd/linux/dup2.cpp
Log Message:
-----------
[libc] Remove assert to fix rv32 buildbot
Commit: e3dafa88a8f651825ac65aad9b273983598279dd
https://github.com/llvm/llvm-project/commit/e3dafa88a8f651825ac65aad9b273983598279dd
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow GOTO, EXIT, CYCLE and SELECT CASE in device procedures (#121612)
Commit: 7c86ab8a18897c434fdb1ee3cd5ff2a71e6aae5a
https://github.com/llvm/llvm-project/commit/7c86ab8a18897c434fdb1ee3cd5ff2a71e6aae5a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
Log Message:
-----------
[flang] Fixed the missing dependency. (#121370)
My local build with the shared libraries is broken.
I suppose this was introduced by #120374.
`flang/include/flang/Evaluate/constant.h` ends up being included
by `MapInfoFinalization.cpp` via `flang/Lower/DirectivesCommon.h`.
The undefined references are related to `ConstantBase` classes.
Commit: a2b9058c392995660956e56c2ac8695a44dc2e4e
https://github.com/llvm/llvm-project/commit/a2b9058c392995660956e56c2ac8695a44dc2e4e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
Log Message:
-----------
[RISCV] Reduce size of CSR lookup tables. NFC (#121606)
Instead of storing 3 different names in each row of the table, use a
separate row for each name and use a flag to indicate what type of name
it is. The AltName and DeprecatedName weren't used often enough to
justify storing them as a possibility for every register.
This reduces the .rodata size by 27k and reduces the number of dynamic
relocations since we now only need 1 lookup by name function. The lookup
by name function each contained a ~400 entry table of const char*
pointing to constant strings. Each of those requires a dynamic
relocation.
I also capitalized IsRV32Only in the C++ code to match coding
standards.
Commit: dc3cd2e95ee56cdb75f4d0d0742626f912b5c6f3
https://github.com/llvm/llvm-project/commit/dc3cd2e95ee56cdb75f4d0d0742626f912b5c6f3
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/Basic/Builtins.cpp
Log Message:
-----------
Factor common code for quoting a builtin name (#120835)
This shows up in several places in order to match the quoting of other
uses of the same diagnostic. Handling it centrally simplifies the code
and reduces changes if the storage for builtin names changes.
This refactoring is extracted out of #120534 as requested in code
review.
Commit: 34f0611bc36db40789823030a3748a8595198719
https://github.com/llvm/llvm-project/commit/34f0611bc36db40789823030a3748a8595198719
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format][doc] Minor cleanup
Commit: aa0f3343a60c6132d9f6adfb8f62234a95519918
https://github.com/llvm/llvm-project/commit/aa0f3343a60c6132d9f6adfb8f62234a95519918
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-03 (Fri, 03 Jan 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
Log Message:
-----------
[TableGen] Add 'final' to all of the *Init classes.
Classes that used TrailingObjects were already 'final'. Add to the
rest for consistency.
Commit: 2d424765f496410d6ab95a80c90d2eda933d66d4
https://github.com/llvm/llvm-project/commit/2d424765f496410d6ab95a80c90d2eda933d66d4
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/Dominance.h
M mlir/lib/IR/Dominance.cpp
Log Message:
-----------
[mlir][IR][NFC] `DominanceInfo`: Share same impl for block/op dominance (#115587)
The `properlyDominates` implementations for blocks and ops are very
similar. This commit replaces them with a single implementation that
operates on block iterators. That implementation can be used to
implement both `properlyDominates` variants.
Before:
```c++
template <bool IsPostDom>
bool DominanceInfoBase<IsPostDom>::properlyDominatesImpl(Block *a,
Block *b) const;
template <bool IsPostDom>
bool DominanceInfoBase<IsPostDom>::properlyDominatesImpl(
Operation *a, Operation *b, bool enclosingOpOk) const;
```
After:
```c++
template <bool IsPostDom>
bool DominanceInfoBase<IsPostDom>::properlyDominatesImpl(
Block *aBlock, Block::iterator aIt, Block *bBlock, Block::iterator bIt,
bool enclosingOk) const;
```
Note: A subsequent commit will add a new public `properlyDominates`
overload that accepts block iterators. That functionality can then be
used to find a valid insertion point at which a range of values is
defined (by utilizing post dominance).
Commit: 95c5c5d4badf7c2128d098be325356e15c2197be
https://github.com/llvm/llvm-project/commit/95c5c5d4badf7c2128d098be325356e15c2197be
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/Dominance.h
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Use `DominanceInfo` to compute materialization insertion point (#120746)
In the dialect conversion driver, use `DominanceInfo` to compute a
suitable insertion point for N:1 source materializations.
Commit: fac46469977da9c4e9c6eeaac21103c971190577
https://github.com/llvm/llvm-project/commit/fac46469977da9c4e9c6eeaac21103c971190577
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-gep.ll
Log Message:
-----------
[InstCombine] Check no wrap flags before folding icmp of GEPs with same indices (#121628)
Alive2: https://alive2.llvm.org/ce/z/Dr3Sbe
Closes https://github.com/llvm/llvm-project/issues/121581.
Commit: 2529a8df53af9bc6cecfd6c83404ffa5e89e3370
https://github.com/llvm/llvm-project/commit/2529a8df53af9bc6cecfd6c83404ffa5e89e3370
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsBase.td
R clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/TargetBuiltins.h
M clang/lib/Basic/Targets/X86.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
Mechanically port bulk of x86 builtins to TableGen (#120831)
The goal is to make incremental (if small) progress towards fully
TableGen'ed builtins, and to unblock #120534 by gaining access to more
powerful TableGen-based representations.
The bulk `.td` file addition was generated with the help of a very rough
Python script. That script made no attempt to be robust or reusable, it
specifically handled only the cases in the X86 `.def` file.
Four entries from the `.def` file were not handled automatically as they
used `BUILTIN` rather than `TARGET_BUILTIN`. These were ported by hand
to an empty-feature `TargetBuiltin` entry, which seems like a better
match.
For all the automatically ported entries, the results were compared by
sorting and diffing the `.def` file and the generated `.inc` file. The
only differences were:
- Different horizontal whitespace
- Additional entries that had already been ported to the `.td` file.
- More systematically using `Oi` instead of `LLi` for the type `long
long int` in the fully general `__builtin_ia32_...` builtins for OpenCL
support. The `.def` file was only partially moved to this it seems, and
the systematic migration has updated a few missed builtins.
Commit: 95db1116c5718004e0bd7c3b79d39987fdbbff32
https://github.com/llvm/llvm-project/commit/95db1116c5718004e0bd7c3b79d39987fdbbff32
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-04 (Sat, 04 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 setbuf, setvbuf, setlinebuf and setbuffer (#121616)
Commit: c7fa3cf620f62d87dc7753f5d341ae3f63da87f4
https://github.com/llvm/llvm-project/commit/c7fa3cf620f62d87dc7753f5d341ae3f63da87f4
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-04 (Sat, 04 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:
-----------
Revert "[compiler-rt][rtsan] intercept setbuf, setvbuf, setlinebuf an… (#121639)
…d setbuffer (#121616)"
This reverts commit 95db1116c5718004e0bd7c3b79d39987fdbbff32.
Commit: 914fd916d5456e15cf9baaf617edaac6b7334d09
https://github.com/llvm/llvm-project/commit/914fd916d5456e15cf9baaf617edaac6b7334d09
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M libcxx/include/__ostream/basic_ostream.h
Log Message:
-----------
[libc++][NFC] Simplify basic_ostream by combining operator<<(Arithmetic) (#121011)
The bodies of all the `operator<<` for arithmetic types have very
similar or even identical bodies. This introduces two new functions to
avoid all the duplication.
Commit: c9d61cde2ba3521c7604c8ee0c3e1ba4dfc4d406
https://github.com/llvm/llvm-project/commit/c9d61cde2ba3521c7604c8ee0c3e1ba4dfc4d406
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Delete unused `nTo1TempMaterializations` (#121647)
`nTo1TempMaterializations` is no longer used since the conversion value
mapping supports 1:N mappings.
Commit: 47ac7fa8619c1f1e29ee4aafded2ae990ffa319e
https://github.com/llvm/llvm-project/commit/47ac7fa8619c1f1e29ee4aafded2ae990ffa319e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/induction-step.ll
Log Message:
-----------
[LV] Add tests with wide inductions and live-in step.
Also regenerate check lines and simplify existing tests and names.
Commit: da2a9ede81a88bea0bba28a543441197772e4727
https://github.com/llvm/llvm-project/commit/da2a9ede81a88bea0bba28a543441197772e4727
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg12xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang] Update C++ DR status page (#121642)
This patch brings our C++ DR status page up to date with WG21 updates.
[CWG1223](https://cplusplus.github.io/CWG/issues/1223.html) "Syntactic
disambiguation and _trailing-return-types_" is resolved by
[P2915R0](https://wg21.link/p2915r0) "Proposed resolution for CWG1223".
Both the test and the paper were written by @cor3ntin, so I presume no
updates are needed.
[CWG2819](https://cplusplus.github.io/CWG/issues/2819.html) "Cast from
null pointer value in a constant expression" was revisited and marked as
not a DR, so I updated the test to ensure that the example is not
accepted in C++23 and earlier modes. CC @offsetof.
Tentantive resolutions to the following issues were simply promoted to
actual resolutions, so tests don't require any meaningful changes:
- [CWG2913](https://cplusplus.github.io/CWG/issues/2913.html) "Grammar
for deduction-guide has requires-clause in the wrong position"
(@zyn0217)
- [CWG2915](https://cplusplus.github.io/CWG/issues/2915.html) "Explicit
object parameters of type void" (@MitalAshok)
- [CWG2922](https://cplusplus.github.io/CWG/issues/2922.html) "constexpr
placement-new is too permissive" (@cor3ntin)
As a drive-by fix, I updated the `make_cxx_dr_status` script to
accommodate for `C++23 onwards` and `C++26 onwards` statuses, which are
useful for Core issues that are not DRs.
Commit: 4a7c0b8afe6bf616cd6bb4f13b5b706a43c10e74
https://github.com/llvm/llvm-project/commit/4a7c0b8afe6bf616cd6bb4f13b5b706a43c10e74
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
Log Message:
-----------
[LV] Add X86-specific induction step tests.
Adds additional test coverage for induction codegen.
Commit: 24c2ba07ce65a5bf7d1113e05c517169d950b663
https://github.com/llvm/llvm-project/commit/24c2ba07ce65a5bf7d1113e05c517169d950b663
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/test/Transforms/InstCombine/rem-mul-shl.ll
Log Message:
-----------
[InstCombine] Drop NSW when converting `shl X, BW - 1` back into mul (#121633)
`X <<s BW - 1` and `X *s INT_MIN` are not equivalent.
Alive2: https://alive2.llvm.org/ce/z/MKKFrj
Closes https://github.com/llvm/llvm-project/issues/121584
Commit: ce6251540d7af30585d4ca753ca2a0ab34d32be2
https://github.com/llvm/llvm-project/commit/ce6251540d7af30585d4ca753ca2a0ab34d32be2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/vec_saddo.ll
M llvm/test/CodeGen/X86/vec_ssubo.ll
M llvm/test/CodeGen/X86/vec_uaddo.ll
M llvm/test/CodeGen/X86/vec_usubo.ll
Log Message:
-----------
[X86] vector overflow tests - regenerate VPTERNLOG comments
Commit: 9a95c097d0466c594f40a4ba9ced8a155574fdff
https://github.com/llvm/llvm-project/commit/9a95c097d0466c594f40a4ba9ced8a155574fdff
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/sincosf16_utils.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Remove some unused includes from headers under src/math/generic. (#121632)
These were indicated by Clang include-cleaner.
Commit: c19e0d63b45f9c97157060c662396820ce2a1621
https://github.com/llvm/llvm-project/commit/c19e0d63b45f9c97157060c662396820ce2a1621
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/test/Transforms/GCOVProfiling/exit-block.ll
Log Message:
-----------
[gcov,test] Update exit-block.ll now that exit block is always the second
Follow-up to 82fecab85ae2d72ffac0e44749d99f12d6f71cc0
Commit: b95cce99049d6b79c418c9981dc39ede2850994e
https://github.com/llvm/llvm-project/commit/b95cce99049d6b79c418c9981dc39ede2850994e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
Log Message:
-----------
[VPlan] Update wide induction inc recipes to use same step as Wide IV.
Update wide induction increments to use the same step as the corresponding
wide induction. This enables detecting induction increments directly in
VPlan and removes redundant splats.
Commit: 1fa0036226d0ffad624bfb43595d00885db546b9
https://github.com/llvm/llvm-project/commit/1fa0036226d0ffad624bfb43595d00885db546b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
Log Message:
-----------
[AArch64] Remove one unnecesssary include of AArch64GenSystemOperands.inc. NFC
GET_PRCTX_DECL and GET_PRCTX_IMPl don't exist in AArch64GenSystemOperands.inc
so this include does nothing. It looks like it was removed in
2050e7ebe18cc4cf906d9b54d17ee885cd868327.
Commit: 59354a865fe408749634456e10bd76a50d785c2b
https://github.com/llvm/llvm-project/commit/59354a865fe408749634456e10bd76a50d785c2b
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-04 (Sat, 04 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 fflush. (#121643)
Commit: afef716e839bf7dd96ebce5264779b1d316db58e
https://github.com/llvm/llvm-project/commit/afef716e839bf7dd96ebce5264779b1d316db58e
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Fix build after #116524 (part 2) (#121662)
Since #116524, an integration test started to become flaky (failure rate
~15%).
```
bin/mlir-opt mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir --sparsifier="enable-arm-sve=true enable-runtime-library=false vl=2 reassociate-fp-reductions=true enable-index-optimizations=true" | mlir-cpu-runner --march=aarch64 --mattr="+sve" -e main -entry-point-result=void -shared-libs=./lib/libmlir_runner_utils.so,./lib/libmlir_c_runner_utils.so | bin/FileCheck mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
# executed command: bin/mlir-opt mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir '--sparsifier=enable-arm-sve=true enable-runtime-library=false vl=2 reassociate-fp-reductions=true enable-index-optimizations=true'
# .---command stderr------------
# | mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir:71:10: error: null operand found
# | %0 = linalg.generic #trait_mul
# | ^
# | mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir:71:10: note: see current operation: %70 = "arith.mulf"(<<NULL VALUE>>, %69) <{fastmath = #arith.fastmath<none>}> : (<<NULL TYPE>>, vector<[2]xf64>) -> vector<[2]xf64>
# `-----------------------------
# error: command failed with exit status: 1
```
I traced the issue back to the `DenseMap<ValueVector, ValueVector,
ValueVectorMapInfo> mapping;` data structure: previously, some
`mapping.erase(foo)` calls were unsuccessful (returning `false`), even
though the `mapping` contains `foo` as a key.
Commit: fd38a95586477f8f60330ef723406d69b33b91f6
https://github.com/llvm/llvm-project/commit/fd38a95586477f8f60330ef723406d69b33b91f6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/lib/TargetParser/Host.cpp
Log Message:
-----------
[TargetParser] Use StringRef::split that takes a char separator instead of StringRef separator. NFC
Commit: c56b74315f57acb1b285ddc77b07031b773549b7
https://github.com/llvm/llvm-project/commit/c56b74315f57acb1b285ddc77b07031b773549b7
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[TableGen][GISel] Reuse `importNodeRenderer` for `OperandWithDefaultOps` (#121285)
This avoids some code duplication (handling `Register`, `zero_reg` and
immediate operands).
Commit: f855ceeefc97220a052cc76a52a45c6907eac1f8
https://github.com/llvm/llvm-project/commit/f855ceeefc97220a052cc76a52a45c6907eac1f8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M libc/shared/rpc_util.h
Log Message:
-----------
[libc][NFC] use `__has_builtin` instead of checking macros.
Commit: d1d400372adc9ae78d8ee9c2387b2c6b062b0dc0
https://github.com/llvm/llvm-project/commit/d1d400372adc9ae78d8ee9c2387b2c6b062b0dc0
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] fix unit tests by sanitizer-aarch64-linux report. (#121666)
Commit: 7db0a606a294bc788563b8363261efa0c13e3062
https://github.com/llvm/llvm-project/commit/7db0a606a294bc788563b8363261efa0c13e3062
Author: Billy Laws <blaws05 at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
A llvm/test/tools/llvm-objcopy/COFF/Inputs/i386-debug-rdata.yaml
A llvm/test/tools/llvm-objcopy/COFF/only-keep-debug-rdata.test
Log Message:
-----------
[objcopy][COFF] Do not strip .rdata section with --only-keep-debug (#121653)
When not in MinGW mode, the PE debug directory is placed in .rdata by
the linker instead of .buildid. In addition to .buildid always
explicitly preserve the section containing the debug directory to avoid
causing errors later in patchDebugDirectory.
Commit: 7a761100960c0c9e2b2fa8a9ee233b137270bd73
https://github.com/llvm/llvm-project/commit/7a761100960c0c9e2b2fa8a9ee233b137270bd73
Author: Zhengxing li <zhengxingli at microsoft.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupID.ll
Log Message:
-----------
[HLSL][SPIR-V] implement SV_GroupID semantic lowering (#121521)
The HLSL SV_GroupID semantic attribute is lowered into
@llvm.spv.group.id intrinsic in LLVM IR for SPIR-V target.
In the SPIR-V backend, this is now translated to a `WorkgroupId` builtin
variable.
Fixes #118700 which's a follow-up work to #70120
Commit: a738d81cd2822698539b0482af48d49d91ea5a2e
https://github.com/llvm/llvm-project/commit/a738d81cd2822698539b0482af48d49d91ea5a2e
Author: Lukas Bergdoll <lukas.bergdoll at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M libc/fuzzing/stdlib/CMakeLists.txt
M libc/fuzzing/stdlib/heap_sort_fuzz.cpp
R libc/fuzzing/stdlib/qsort_fuzz.cpp
A libc/fuzzing/stdlib/quick_sort_fuzz.cpp
M libc/src/stdlib/heap_sort.h
M libc/src/stdlib/qsort.cpp
M libc/src/stdlib/qsort_data.h
A libc/src/stdlib/qsort_pivot.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_util.h
M libc/src/stdlib/quick_sort.h
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/SortingTest.h
M libc/test/src/stdlib/heap_sort_test.cpp
M libc/test/src/stdlib/qsort_r_test.cpp
R libc/test/src/stdlib/qsort_test.cpp
M libc/test/src/stdlib/quick_sort_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[libc] Improve qsort (with build fix) (#121482)
Commit: 2bbdce9a42f58af4ca917eaba1bf1019ba658fd5
https://github.com/llvm/llvm-project/commit/2bbdce9a42f58af4ca917eaba1bf1019ba658fd5
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GlobalISel] Support physical register inputs in nested patterns (#121239)
When importing nested patterns, we create InsnMatcher for each pattern
and miss them if consider only the top level InsnMatcher. Iterate
PhysRegOperands instead.
Change the type of PhysRegOperands from DenseMap to SmallMapVector to
have stable generation. Also drop PhysRegInputs member from InsnMatcher
as there are no users of it.
Commit: 66f16e682f84551552099a45e608fa260b14e3ab
https://github.com/llvm/llvm-project/commit/66f16e682f84551552099a45e608fa260b14e3ab
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format][NFC] Add missing config tests for List of Strings (#121451)
Also, simplify the existing test for NamespaceMacros. Like the options
tested by the added tests, it's also a list of arbitrary strings and
initialized to an empty list. (The other existing tests for list of
strings either are initialized to a list of one or more strings or
require specific strings.)
Commit: 04610b901f41c4abec169b9a38f1b0a2fde976c1
https://github.com/llvm/llvm-project/commit/04610b901f41c4abec169b9a38f1b0a2fde976c1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/lib/Format/AffectedRangeManager.cpp
M clang/lib/Format/AffectedRangeManager.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
Log Message:
-----------
[clang-format][NFC] Replace SmallVectorImpl with ArrayRef (#121621)
Commit: 44b83e81b5a48d543bf718907f00a21179ec03a4
https://github.com/llvm/llvm-project/commit/44b83e81b5a48d543bf718907f00a21179ec03a4
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add TT_AfterPPDirective for better annotation (#121622)
For now, we only need to annotate the token after #error or #warning.
Fixes #117706.
Commit: c1ea05eaf0fbe4b539952689dbf9f0df716c72e7
https://github.com/llvm/llvm-project/commit/c1ea05eaf0fbe4b539952689dbf9f0df716c72e7
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't break short macro call followed by l_paren (#121626)
Fixes #105658.
Commit: a774adb017256ceae85ec92ce5148ed47e517540
https://github.com/llvm/llvm-project/commit/a774adb017256ceae85ec92ce5148ed47e517540
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
A clang/include/clang/Basic/BuiltinsX86Base.td
R clang/include/clang/Basic/BuiltinsX86_64.def
A clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/lib/Basic/Targets/X86.cpp
Log Message:
-----------
Bulk port 64-bit x86 builtins to TableGen (#121043)
This PR follows https://github.com/llvm/llvm-project/pull/120831 for
x86-64.
Similar to that PR, this does a very mechanical port of X86 builtins to
TableGen. There is a *lot* of improvement available here to use TableGen
more effectively and collapse repeated structures. But those can now be
follow-up PRs that restructure *within* the `.td` file.
The current structure produces a file that exactly matches the original
X-macros except for the differences outlined in
https://github.com/llvm/llvm-project/pull/120831:
- Horizontal whitespace
- `long long` types now use `long long` outside of OpenCL, but switch to
`long` in OpenCL where relevant.
Otherwise, only the order of builtins change, and no tests regress.
Commit: ddba0365b33da70543f9add3037d7402371014c9
https://github.com/llvm/llvm-project/commit/ddba0365b33da70543f9add3037d7402371014c9
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M lld/test/COFF/cgprofile-obj.s
M lld/test/ELF/cgprofile-obj.s
Log Message:
-----------
[LLD] Track cg_profile from combination of obj and ordering file (#121324)
Add tests to track section reordering when both cg_profile section
and call-graph-ordering-file were given.
Commit: 36dd421355791c9c9f6552f8730b36b8953ce5db
https://github.com/llvm/llvm-project/commit/36dd421355791c9c9f6552f8730b36b8953ce5db
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
A llvm/test/CodeGen/X86/avx10_2_512fptosi_satcvtds.ll
M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll
Log Message:
-----------
[X86][AVX10.2] Map vector saturated converts to public intrinsics (#121483)
We already have support for saturated convert ISA in llvm. With this
patch we mapped public llvm intrinsic onto saturated convert ISA. It
includes support for float, double into sign and unsigned int.
Commit: 2d9d291da0fb94c05b31de0b08ccb881dbead798
https://github.com/llvm/llvm-project/commit/2d9d291da0fb94c05b31de0b08ccb881dbead798
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M lld/test/COFF/cgprofile-obj.s
M lld/test/ELF/cgprofile-obj.s
Log Message:
-----------
[LLD] Do not combine cg_profile from obj and ordering file (#121325)
cg_profile in object is from CGProfilePass and it is often inaccurate.
While call-graph-ordering-file is provided by user. It is weird to
aggregate them together especially when call-graph-ordering-file is
accurate enough.
Commit: 96eced624e0f120155256033fdcb8342e7e58d6e
https://github.com/llvm/llvm-project/commit/96eced624e0f120155256033fdcb8342e7e58d6e
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/Template.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
M clang/test/SemaTemplate/concepts-recursive-inst.cpp
M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[Clang] Implement CWG2369 "Ordering between constraints and substitution" (#102857)
This patch partially implements CWG2369 for non-lambda-constrained
functions.
Lambdas are left intact at this point because we need extra work to
correctly instantiate captures before the function instantiation.
As a premise of CWG2369, this patch also implements CWG2770 to ensure
the function parameters are instantiated on demand.
Closes https://github.com/llvm/llvm-project/issues/54440
Commit: 3092ebcd1e2746ee8db22bf3746b2ad2fb7534dd
https://github.com/llvm/llvm-project/commit/3092ebcd1e2746ee8db22bf3746b2ad2fb7534dd
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M lld/test/COFF/cgprofile-obj.s
M lld/test/ELF/cgprofile-obj.s
Log Message:
-----------
[LLD] Add CHECK-NEXT for cgprofile-obj.s tests (#121677)
Commit: 7700695739d078eff01aad6f4d40c933419d08bc
https://github.com/llvm/llvm-project/commit/7700695739d078eff01aad6f4d40c933419d08bc
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
Log Message:
-----------
[VPlan] Fix crash with EVL tail folding intrinsic with no corresponding VP (#121542)
This fixes a crash when building SPEC CPU 2017 with EVL tail folding
when widening @llvm.log10 intrinsics.
@llvm.log10 and some other intrinsics don't have a corresponding VP
intrinsic, so this fixes the crash by removing the assert and bailing
instead.
Commit: 743aee4951d452c7795e4e829a6cbf704340cd1c
https://github.com/llvm/llvm-project/commit/743aee4951d452c7795e4e829a6cbf704340cd1c
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Fixup for #121043
Commit: 00934505d44e28f3c1d5739d6369648e87f10cf5
https://github.com/llvm/llvm-project/commit/00934505d44e28f3c1d5739d6369648e87f10cf5
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add `TT_CompoundRequirementLBrace` for better annotation (#121539)
Also, add `ST_CompoundRequirement` to help annotating */&/&& in compound
requirement expressions as `TT_BinaryOperator`.
Fixes #121471.
Commit: 267ab1cf574bd51d67f3f88c1c4f28a44fca2c8a
https://github.com/llvm/llvm-project/commit/267ab1cf574bd51d67f3f88c1c4f28a44fca2c8a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg1xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG190 "Layout-compatible POD-struct types" (#121668)
This patch adds test for
[CWG190](https://cplusplus.github.io/CWG/issues/190.html), leveraging
`__is_layout_compatible` intrinsic added for C++20
`std::is_layout_compatible`. I conservatively set the status to Clang
19, as it's the first release that implemented said intrinsic.
Commit: 6f69f8c9fe57a44939fd111f52b6d8e267a46602
https://github.com/llvm/llvm-project/commit/6f69f8c9fe57a44939fd111f52b6d8e267a46602
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M llvm/lib/IR/ConstantsContext.h
Log Message:
-----------
[IR] Use Instruction::isBinaryOp to simplify code. NFC
Commit: c983ae8f26334279cfe7846bdc9b395abe415e65
https://github.com/llvm/llvm-project/commit/c983ae8f26334279cfe7846bdc9b395abe415e65
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Object/WindowsMachineFlag.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
A llvm/test/tools/llvm-lib/Inputs/mips.ll
A llvm/test/tools/llvm-lib/infer-machine.test
A llvm/test/tools/llvm-lib/machine-opt.test
Log Message:
-----------
[llvm-lib] Handle MIPS architecture (#121254)
- add a test to check values for /machine argument
- add a test to check if machine is correctly inferred from inputs
Commit: 8267bea9a35c3c3f866b942a50c2b98ac462ce35
https://github.com/llvm/llvm-project/commit/8267bea9a35c3c3f866b942a50c2b98ac462ce35
Author: Hervé Poussineau <hpoussin at reactos.org>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/test/Driver/mingw.cpp
Log Message:
-----------
[Clang][MIPS] Send correct architecture for MinGW toolchains (#121042)
'mipspe' name was chosen by binutils, when the project was able to
create executables for Windows CE/MIPS.
Commit: fbc198c548cf21bb2be29509a46913a57f95e610
https://github.com/llvm/llvm-project/commit/fbc198c548cf21bb2be29509a46913a57f95e610
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg1xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG192 "Name lookup in parameters" (#121679)
This patch adds a rather simple test for
[CWG192](https://cplusplus.github.io/CWG/issues/192.html). Parameter
declarations of member functions are not complete-class contexts (unlike
default arguments), so the example in the issue is ill-formed. Changes
in [CWG1352](https://cplusplus.github.io/CWG/issues/1352.html) which
resolved the issue, are superseded by the notion of complete-class
context (https://eel.is/c++draft/class.mem#def:complete-class_context).
Commit: 3321c2d72ab7757dbdd38bdd99a76d89293dac8a
https://github.com/llvm/llvm-project/commit/3321c2d72ab7757dbdd38bdd99a76d89293dac8a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg7xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG794 "Base-derived conversion in member type of pointer-to-member conversion" (#121660)
This patch adds a test for
[CWG794](https://cplusplus.github.io/CWG/issues/794.html), which is an
NB comment closed as NAD. Author was asked to bring a paper to
Evolution, which never happened. So we test for the absence of
base-derived conversion in pointer-to-member conversion.
Commit: ba93eccded30862969a3c5f547d837d6d102c863
https://github.com/llvm/llvm-project/commit/ba93eccded30862969a3c5f547d837d6d102c863
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M lld/MachO/SyntheticSections.cpp
Log Message:
-----------
[lld][MachO] Fix warning while building for wasm (#120889)
While building clang & lld against emscripten for wasm, I see the
following
```
│ │ /home/runner/work/recipes/recipes/output/bld/rattler-build_llvm_1734801187/work/lld/MachO/SyntheticSections.cpp:2075:25: warning: comparison of integers of
│ │ different signs: 'long' and 'const uint32_t' (aka 'const unsigned int') [-Wsign-compare]
│ │ 2075 | assert(buf - bufStart == sectionSize &&
│ │ | ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~
│ │ $BUILD_PREFIX/opt/emsdk/upstream/emscripten/cache/sysroot/include/assert.h:8:28: note: expanded from macro 'assert'
│ │ 8 | #define assert(x) ((void)((x) || (__assert_fail(#x, __FILE__, __LINE__, __func__),0)))
│ │ | ^
```
Casting `sectionSize` should be enough I think
Commit: df4a615c988f3ae56f7e68a7df86acb60f16493a
https://github.com/llvm/llvm-project/commit/df4a615c988f3ae56f7e68a7df86acb60f16493a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
Log Message:
-----------
[VPlan] Convert induction increment check to be VPlan-based.
Check the VPlan directly to determine if a VPValue is an optimiziable IV
or IV use instead of checking the underlying IR instructions.
Split off from https://github.com/llvm/llvm-project/pull/112147. This
refactoring enables moving IV end value creation from the legacy
fixupIVUsers to a VPlan-based transform.
There is one case we now won't optimize, that is IVs with subtracts and
non-constant steps. But as this is a minor optimization and doesn't
impact correctness, the benefits of performing the check in VPlan should
outweigh the missed case.
Commit: 64e8d5b1baaa478c40931d290bf30687a6c93dac
https://github.com/llvm/llvm-project/commit/64e8d5b1baaa478c40931d290bf30687a6c93dac
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add tests from CWG156 to CWG1111 (dual-scope lookup for conversion-function-ids) (#121654)
This patch adds test from
[CWG156](https://cplusplus.github.io/CWG/issues/156.html) to
[CWG1111](https://cplusplus.github.io/CWG/issues/1111.html) test, and
downgrades the latter to partial availability. The most relevant piece
of current wording is
[[basic.lookup.unqual]/5](https://eel.is/c++draft/basic.lookup#unqual-5):
> An unqualified name that is a component name
([[expr.prim.id.unqual]](https://eel.is/c++draft/expr.prim.id.unqual))
of a
[type-specifier](https://eel.is/c++draft/dcl.type.general#nt:type-specifier)
or
[ptr-operator](https://eel.is/c++draft/dcl.decl.general#nt:ptr-operator)
of a
[conversion-type-id](https://eel.is/c++draft/class.conv.fct#nt:conversion-type-id)
is looked up in the same fashion as the
[conversion-function-id](https://eel.is/c++draft/class.conv.fct#nt:conversion-function-id)
in which it
appears[.](https://eel.is/c++draft/basic.lookup#unqual-5.sentence-1)
If that lookup finds nothing, it undergoes unqualified name lookup; in
each case, only names that denote types or templates whose
specializations are types are
considered[.](https://eel.is/c++draft/basic.lookup#unqual-5.sentence-2)
Per resolution of
[CWG1111](https://cplusplus.github.io/CWG/issues/1111.html), additional
lookup in the context of the entire postfix-expression, which originally
was intended to cross-check lookup in the context of object-expression,
was effectively turned into a fallback for it.
Check out "Calling a conversion function" example in
[P1787R6](https://wg21.link/p1787r6) for step-by-step explanation of the
current lookup mechanics for conversion functions.
Clang rejects one of the well-formed examples, hence partial status.
Clang is the only implementation which rejects it:
https://godbolt.org/z/ohhbx8Mfs
Commit: 327e2b7c7659e2fff2e644850b767ca77234bef4
https://github.com/llvm/llvm-project/commit/327e2b7c7659e2fff2e644850b767ca77234bef4
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg10xx.cpp
M clang/test/CXX/drs/cwg118.cpp
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg12xx.cpp
M clang/test/CXX/drs/cwg158.cpp
M clang/test/CXX/drs/cwg1748.cpp
M clang/test/CXX/drs/cwg177x.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg2771.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
A clang/test/CXX/drs/cwg593.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/drs/cwg9xx.cpp
R clang/test/CXX/drs/cwgr593.cpp
Log Message:
-----------
[clang][NFC] Make all C++ DR tests run in full range of language modes (#121688)
This patch plugs holes in RUN lines in C++ DR tests, making sure they
are run in C++98 through C++26, with the exception of C++03, which in
Clang is synonymous to C++98.
Commit: 054e7c59713c67ad7b65a92e4b8887076d3881b9
https://github.com/llvm/llvm-project/commit/054e7c59713c67ad7b65a92e4b8887076d3881b9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll
Log Message:
-----------
[VectorCombine] foldInsExtVectorToShuffle - ignore shuffle costs for 'identity' insertion masks
<u,1,u,u> 'inplace' single src shuffles can be treated as free identity shuffles - ignore any shuffle cost (similar to what we already do in other folds like foldShuffleOfShuffles) - eventually getShuffleCost should just return TCC_Free in these cases but in a lot of the targets' shuffle cost logic this currently ends up treated as a generic SK_PermuteSingleSrc.
We still want to generate the shuffle as it will help further shuffle folds with the additional PoisonMaskElem 'undemanded' elements.
Commit: 1d155412547b0073ecbbdccb02acc31273f3be49
https://github.com/llvm/llvm-project/commit/1d155412547b0073ecbbdccb02acc31273f3be49
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M libcxx/include/__vector/vector_bool.h
Log Message:
-----------
[libc++] Remove abandoned __append declaration in vector<bool> (#121673)
The `vector<bool>` implementation in libcxx contains a declaration of a
private `__append` function, which is neither defined nor used anywhere
in the codebase. This PR aims to remove this abandoned declaration, as
its presence is misleading and could lead to confusion during future
maintenance.
I have no idea why we have a declaration without a definition. My guess
is that the declaration might be inherited from the implementation of
`vector<T>`, where `__append` is both necessary and properly defined.
The declaration may have been inadvertently copied from `vector<T>` to
`vector<bool>` and subsequently abandoned, as `vector<bool>` never needs
it.
Commit: 2adcec7780f3d3027f76c80dbd73085fdee144d7
https://github.com/llvm/llvm-project/commit/2adcec7780f3d3027f76c80dbd73085fdee144d7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/overflow.ll
Log Message:
-----------
[InstCombine] Simplify with.overflow intrinsics with assumption information (#84016)
This patch recognizes never-overflow assumptions generated by rustc to
improve the codegen.
Please refer to https://github.com/rust-lang/hashbrown/issues/509 for
more details.
Closes https://github.com/rust-lang/hashbrown/issues/509
Closes https://github.com/llvm/llvm-project/issues/80637
Commit: f48884ded884d982a7fd13394b0e93e6588f4143
https://github.com/llvm/llvm-project/commit/f48884ded884d982a7fd13394b0e93e6588f4143
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-05 (Sun, 05 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/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/pr34438.ll
M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
Log Message:
-----------
[VPlan] Remove loop region in optimizeForVFAndUF. (#108378)
Update optimizeForVFAndUF to completely remove the vector loop region
when possible. At the moment, we cannot remove the region if it contains
* widened IVs: the recipe is needed to generate the step vector
* reductions: ComputeReductionResults requires the reduction phi recipe
for codegen.
Both cases can be addressed by more explicit modeling.
The patch also includes a number of updates to allow executing VPlans
without a vector loop region.
Depends on https://github.com/llvm/llvm-project/pull/110004
Commit: b5f21671ef04984bc00770263234dfb94833a274
https://github.com/llvm/llvm-project/commit/b5f21671ef04984bc00770263234dfb94833a274
Author: William Moses <gh at wsmoses.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/Import/instructions.ll
Log Message:
-----------
MLIR: Enable importing inlineasm calls (#121624)
Commit: a37dbc1f51c70d92fd209c2e52a9d794eb15e4e7
https://github.com/llvm/llvm-project/commit/a37dbc1f51c70d92fd209c2e52a9d794eb15e4e7
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
Log Message:
-----------
[InstCombine] Drop noundef in `foldSelectCttzCtlz` (#121692)
Close https://github.com/llvm/llvm-project/issues/121428
Commit: b48e5f0ff3f25e8bdd3ae473dca00511336cbd6f
https://github.com/llvm/llvm-project/commit/b48e5f0ff3f25e8bdd3ae473dca00511336cbd6f
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
Log Message:
-----------
[RISCV][VLOPT] Add Vector FP instructions to getOperandInfo (#121609)
Although we cannot reduce the VL of these instructions (i.e. add to
isSupported) we can add them to getOperandInfo to enable optimization
where the FP vector instruction are users. Most of the instructions are
covered by existing tests, and I added tests for the narrowing
conversions because I was a little unsure whether the dest or the source
was 2*SEW and 2*LMUL.
Commit: 8b577043b1f770d72e59738382ac32d212497a6d
https://github.com/llvm/llvm-project/commit/8b577043b1f770d72e59738382ac32d212497a6d
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Add vmv.x.s and vfmv.f.s to isVectorOpUsedAsScalarOp (#121588)
Commit: 486f83faa31ae5356523da868a557619601a0e3e
https://github.com/llvm/llvm-project/commit/486f83faa31ae5356523da868a557619601a0e3e
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Simplify `buildUnresolvedMaterialization` implementation (#121651)
The `buildUnresolvedMaterialization` implementation used to check if a
materialization is necessary. A materialization is not necessary if the
desired types already match the input. However, this situation can never
happen: we look for mapped values with the desired type at the call
sites before requesting a new unresolved materialization.
The previous implementation seemed incorrect because
`buildUnresolvedMaterialization` created a mapping that is never rolled
back. (When in reality that code was never executed, so it is
technically not incorrect.)
Also fix a comment that in `findOrBuildReplacementValue` that was
incorrect.
Commit: 2dcb3b9f377de428f7d9d103c80226b9007c72a9
https://github.com/llvm/llvm-project/commit/2dcb3b9f377de428f7d9d103c80226b9007c72a9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
Log Message:
-----------
[mlir][ArmSME] Remove func patterns from vector lowering (#121640)
Remove `func.call` and `func.return` patterns from
`populateArmSVELegalizeForLLVMExportPatterns`. This function is called
from `ConvertVectorToLLVMPass::runOnOperation`. That pass should lower
only `vector` dialect ops, not `func` dialect ops. These patterns also
seem to be unnecessary, as no test cases are failing without them. Also
note that there is no `func.func` pattern, so any application of the
above-mentioned patterns produces invalid IR.
Commit: 463e61a0013253bec1b5e7f07e7b1803b68e2b3d
https://github.com/llvm/llvm-project/commit/463e61a0013253bec1b5e7f07e7b1803b68e2b3d
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg10xx.cpp
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg12xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg177x.cpp
M clang/test/CXX/drs/cwg17xx.cpp
M clang/test/CXX/drs/cwg1807.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg21xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg2504.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg492.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg571.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg722.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/drs/cwg9xx.cpp
Log Message:
-----------
[clang][NFC] Add end namespace comments to C++ DR tests
Commit: de7f5311061d50ef54ec56a783aa6147c5d09526
https://github.com/llvm/llvm-project/commit/de7f5311061d50ef54ec56a783aa6147c5d09526
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M libc/test/src/stdlib/SortingTest.h
Log Message:
-----------
[libc][fuzz] workaround gcc's constexpr capture issue in sort fuzzer (#121684)
Fix the build problem at
https://lab.llvm.org/buildbot/#/builders/131/builds/13255
Commit: 743c84bb9b79ed70d9bed926c2a173db3b30f587
https://github.com/llvm/llvm-project/commit/743c84bb9b79ed70d9bed926c2a173db3b30f587
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
A clang/test/CXX/drs/cwg2353.cpp
M clang/test/CXX/drs/cwg23xx.cpp
Log Message:
-----------
[clang][NFC] Move CWG2353 test to its own file
Commit: f53abc2db07abfa38af9365bc15572112adbe040
https://github.com/llvm/llvm-project/commit/f53abc2db07abfa38af9365bc15572112adbe040
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg28xx.cpp
Log Message:
-----------
[clang][NFC] Refactor expected directives in CWG2881 test
Commit: 747f7f38bddaa4ae60c8d1380c9b28d81fc13e8a
https://github.com/llvm/llvm-project/commit/747f7f38bddaa4ae60c8d1380c9b28d81fc13e8a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
Log Message:
-----------
[LV] Add test with conditional load from invariant addr and assumption.
This adds missing test coverage for isDereferenceableAndAlignedInLoop,
related to https://github.com/llvm/llvm-project/pull/96752.
Commit: 0fc8fc75a9d505dde92c0d6d8826b6384dfb5e2a
https://github.com/llvm/llvm-project/commit/0fc8fc75a9d505dde92c0d6d8826b6384dfb5e2a
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/test/MC/AsmParser/macro-def-in-instantiation.s
A llvm/test/MC/AsmParser/macro-nesting.s
Log Message:
-----------
[MC,test] Improve nesting macro test
9d94a4eee9d30487c5d6b1478a7195523f6db1ca added support for nested .macro .
Mov the test to macro-nesting.s and add another test to test \+ and \@.
Commit: f4230b4332262dffb0bd3b7a2f8d6deb2e96488e
https://github.com/llvm/llvm-project/commit/f4230b4332262dffb0bd3b7a2f8d6deb2e96488e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
Log Message:
-----------
[VPlan] Add and use debug location for VPScalarCastRecipe.
Update the recipe it always take a debug location and set it.
Commit: c2f7745b4ef7a79ca0789efee997e973ed896380
https://github.com/llvm/llvm-project/commit/c2f7745b4ef7a79ca0789efee997e973ed896380
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M lld/Common/BPSectionOrdererBase.cpp
M lld/MachO/BPSectionOrderer.h
M lld/include/lld/Common/BPSectionOrdererBase.h
Log Message:
-----------
[lld-macho] Remove redundant hasValidData. NFC
lld::macho::runBalancedPartitioning ensures that all sections satisfy
`hasValidData`.
Commit: 8d2b070f07969f8358c93b9cf56834806fdc3efa
https://github.com/llvm/llvm-project/commit/8d2b070f07969f8358c93b9cf56834806fdc3efa
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M lld/ELF/CallGraphSort.cpp
M lld/ELF/CallGraphSort.h
M lld/ELF/Writer.cpp
Log Message:
-----------
[ELF] Internalize computeCacheDirectedSortOrder. NFC
and delete an incorremtn comment about ctx.arg.callGraphProfile
Commit: bcc1e584483c8246b651290b0c2d696bd57006a9
https://github.com/llvm/llvm-project/commit/bcc1e584483c8246b651290b0c2d696bd57006a9
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M lld/ELF/CallGraphSort.cpp
M lld/ELF/Driver.cpp
M lld/ELF/Writer.cpp
A lld/test/ELF/cgprofile-orderfile.s
Log Message:
-----------
[ELF] Allow --symbol-ordering-file and call graph profile to be used together
Port https://reviews.llvm.org/D117354 from the MachO port.
If both --symbol-ordering-file and call graph profile are present, the
--symbol-ordering-file takes precedence, but the call graph profile is
still used for symbols that don't appear in the order file.
In addition, call graph profile described sections are now ordered
before other sections.
Commit: 9d0fa42fbbffe3ff584b26f3a48f8f786f68da72
https://github.com/llvm/llvm-project/commit/9d0fa42fbbffe3ff584b26f3a48f8f786f68da72
Author: Vishakh Prakash <vishakhpro2002 at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M mlir/docs/Tutorials/Toy/Ch-2.md
Log Message:
-----------
[mlir] Update Ch-2.md (#121379)
line 265 in the file llvm-project/mlir/docs/Tutorials/Toy/Ch-2.md
changed mlir::OpTraits to mlir::OpTrait
Commit: 510263a969291749ba2b627839249b2bb101ca35
https://github.com/llvm/llvm-project/commit/510263a969291749ba2b627839249b2bb101ca35
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port a774adb01725 (BuiltinsX86_64.td)
Commit: f3590c16da9e6bb5c3b22f4593ef794a43dc8b5d
https://github.com/llvm/llvm-project/commit/f3590c16da9e6bb5c3b22f4593ef794a43dc8b5d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
Log Message:
-----------
[Clang][ASTMatcher] Add a matcher for the name of a DependentScopeDeclRefExpr (#121656)
Add the `hasDependentName` matcher to match the name of
`DependentScopeDeclRefExpr`
Fixes https://github.com/llvm/llvm-project/issues/121610
Commit: d34f7ead886aaaca50f672c47e4f97e078d574db
https://github.com/llvm/llvm-project/commit/d34f7ead886aaaca50f672c47e4f97e078d574db
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AMDGPU/issue121601-combine-concat-vectors-assumes-f16.ll
Log Message:
-----------
DAG: Fix assuming f16 is the only 16-bit fp type in concat vector combine (#121637)
This would see if there are mixed integer and FP types and pick an
equivalently sized FP type to use as the vector element type, and only
cast if there were mixed integers. We need to insert a cast if the types
are mixed, which may include different FP types.
Fixes #121601
Commit: 0bd1c879966cfdf145b1f96292a2632628fab3fb
https://github.com/llvm/llvm-project/commit/0bd1c879966cfdf145b1f96292a2632628fab3fb
Author: Aaditya <115080342+easyonaadit at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
R llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
Log Message:
-----------
[AMDGPU] Support divergent sized dynamic alloca (#121148)
Currently, AMDGPU backend can handle uniform-sized dynamic allocas.
This patch extends support for divergent-sized dynamic allocas.
When the size argument of a dynamic alloca is divergent,
a wave-wide reduction is performed to get the required stack space.
`@llvm.amdgcn.wave.reduce.umax` is used to perform the
wave reduction.
Dynamic allocas are not completely supported yet,
as the stack is not properly restored on function exit.
This patch doesn't attempt to address the aforementioned issue.
Note: Compiler already Zero-Extends or Truncates all other
types(of alloca size arg) to i32.
Commit: 7e3180a2c2ca2383688d4b8a74c99ce486dd8486
https://github.com/llvm/llvm-project/commit/7e3180a2c2ca2383688d4b8a74c99ce486dd8486
Author: Amara Emerson <amara at apple.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-store-vector-bools.mir
Log Message:
-----------
[AArch64][GlobalISel] Add support for widening vector store elements to s8.
Reviewers: topperc, arsenm, davemgreen
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/121170
Commit: 41ebbed280e9e4e8fa3b394486fad70d1af4c797
https://github.com/llvm/llvm-project/commit/41ebbed280e9e4e8fa3b394486fad70d1af4c797
Author: Amara Emerson <amara at apple.com>
Date: 2025-01-05 (Sun, 05 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir
Log Message:
-----------
[AArch64][GlobalISel] Legalize vector boolean bitcasts to scalars by lowering via stack.
Reviewers: davemgreen, topperc, arsenm
Reviewed By: arsenm
Pull Request: https://github.com/llvm/llvm-project/pull/121171
Commit: 34e8aff480dd9cd0372a7c14d13dfca5d3cd1a24
https://github.com/llvm/llvm-project/commit/34e8aff480dd9cd0372a7c14d13dfca5d3cd1a24
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/include/llvm/Support/Recycler.h
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/RecyclerTest.cpp
Log Message:
-----------
[Support] Recycler: Enforce minimum allocation size (#121425)
Recycler uses reinterpret_cast to an internal structure of size 8.
Invalid write occurs if Recycler is used for objects with sizes less
than 8.
Commit: 483832b37a7dd98542dce2ad764ecddc3f0c85b9
https://github.com/llvm/llvm-project/commit/483832b37a7dd98542dce2ad764ecddc3f0c85b9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port 34e8aff480dd
Commit: a77346bad0d80a7f7e184f3d6e12c7f532101136
https://github.com/llvm/llvm-project/commit/a77346bad0d80a7f7e184f3d6e12c7f532101136
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[IRBuilder] Refactor FMF interface (#121657)
Up to now, the only way to set specified FMF flags in IRBuilder is to
use `FastMathFlagGuard`. It makes the code ugly and hard to maintain.
This patch introduces a helper class `FMFSource` to replace the original
parameter `Instruction *FMFSource` in IRBuilder. To maximize the
compatibility, it accepts an instruction or a specified FMF.
This patch also removes the use of `FastMathFlagGuard` in some simple
cases.
Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=f87a9db8322643ccbc324e317a75b55903129b55&to=9397e712f6010be15ccf62f12740e9b4a67de2f4&stat=instructions%3Au
Commit: 5f7568a32c5572e10c8818192a985d7278a261e2
https://github.com/llvm/llvm-project/commit/5f7568a32c5572e10c8818192a985d7278a261e2
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Fix mapping in `findOrBuildReplacementValue` (#121644)
Fixes two minor issues in `findOrBuildReplacementValue`:
* Remove a redundant `mapping.map`.
* Map `repl` instead of `value`. We used to overwrite an existing
mapping, which could introduce extra materializations.
Note: We generally do not want to overwrite mappings, but create a chain
of mappings. There are still a few more places, where a mapping is
overwritten. Once those are fixed, I will put an assertion into
`ConversionValueMapping::map`.
Commit: b51a082e1afd707f8cf1473e4c49374e7e951d2d
https://github.com/llvm/llvm-project/commit/b51a082e1afd707f8cf1473e4c49374e7e951d2d
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/include/llvm/Support/Recycler.h
M llvm/unittests/Support/CMakeLists.txt
R llvm/unittests/Support/RecyclerTest.cpp
Log Message:
-----------
Revert "[Support] Recycler: Enforce minimum allocation size" (#121735)
Reverts llvm/llvm-project#121425
Commit: c05599966cd594c15834378f57669719d221c4d4
https://github.com/llvm/llvm-project/commit/c05599966cd594c15834378f57669719d221c4d4
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/copysign.ll
Log Message:
-----------
[InstCombine] Fix FMF propagation in `copysign Mag, (copysign ?, X) -> copysign Mag, X` (#121574)
Closes https://github.com/llvm/llvm-project/issues/121432.
Commit: f99b1907570aa1ac3c8c0ff886563766bbdbc1c8
https://github.com/llvm/llvm-project/commit/f99b1907570aa1ac3c8c0ff886563766bbdbc1c8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port b51a082e1afd
Commit: 2b63077cfa13095b3e64f79fe825cc85ca9da7be
https://github.com/llvm/llvm-project/commit/2b63077cfa13095b3e64f79fe825cc85ca9da7be
Author: Lee Wei <lee10202013 at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/2011-06-03-x87chain.ll
M llvm/test/CodeGen/X86/2020_12_02_decrementing_loop.ll
M llvm/test/CodeGen/X86/AMX/amx-combine-undef.ll
M llvm/test/CodeGen/X86/AMX/lat-combine-amx-bitcast.ll
M llvm/test/CodeGen/X86/AMX/lat-transform-amx-bitcast.ll
M llvm/test/CodeGen/X86/StackColoring.ll
M llvm/test/CodeGen/X86/asm-label.ll
M llvm/test/CodeGen/X86/avx-select.ll
M llvm/test/CodeGen/X86/avx512-i1test.ll
M llvm/test/CodeGen/X86/block-placement.ll
M llvm/test/CodeGen/X86/clobber_frame_ptr.ll
M llvm/test/CodeGen/X86/codegen-prepare-replacephi.mir
M llvm/test/CodeGen/X86/codegen-prepare-replacephi2.mir
M llvm/test/CodeGen/X86/combine-concatvectors.ll
M llvm/test/CodeGen/X86/crash.ll
M llvm/test/CodeGen/X86/domain-reassignment-test.ll
M llvm/test/CodeGen/X86/fast-isel-cmp-branch.ll
M llvm/test/CodeGen/X86/fold-vector-shuffle-crash.ll
M llvm/test/CodeGen/X86/hoist-spill.ll
M llvm/test/CodeGen/X86/implicit-null-checks.mir
M llvm/test/CodeGen/X86/interval-update-remat.ll
M llvm/test/CodeGen/X86/jump_sign.ll
M llvm/test/CodeGen/X86/loop-strength-reduce-crash.ll
M llvm/test/CodeGen/X86/lsr-crash-empty-uses.ll
M llvm/test/CodeGen/X86/lsr-delayed-fold.ll
M llvm/test/CodeGen/X86/machine-trace-metrics-crash.ll
M llvm/test/CodeGen/X86/merge-vector-stores-scale-idx-crash.ll
M llvm/test/CodeGen/X86/misched-crash.ll
M llvm/test/CodeGen/X86/pr10475.ll
M llvm/test/CodeGen/X86/pr11998.ll
M llvm/test/CodeGen/X86/pr32108.ll
M llvm/test/CodeGen/X86/pr50254.ll
M llvm/test/CodeGen/X86/pr57673.ll
M llvm/test/CodeGen/X86/ragreedy-hoist-spill.ll
M llvm/test/CodeGen/X86/shift-combine.ll
M llvm/test/CodeGen/X86/shuffle-combine-crash.ll
M llvm/test/CodeGen/X86/stackmap.ll
M llvm/test/CodeGen/X86/swifterror.ll
M llvm/test/CodeGen/X86/switch.ll
M llvm/test/CodeGen/X86/tail-merge-unreachable.ll
M llvm/test/CodeGen/X86/unreachable-loop-sinking.ll
M llvm/test/CodeGen/X86/update-terminator.mir
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/x86-shrink-wrapping.ll
Log Message:
-----------
[llvm] Remove `br i1 undef` from CodeGen/X86 tests (#121733)
This PR removes tests with `br i1 undef` under `llvm/tests/CodeGen/X86`.
There will be more PRs in the future for this directory.
Replacing `undef` with a new function argument doesn't work in some of
the tests, instead, I've replaced them with `poison`.
Commit: efd929efa589d863611473b99c3249c9d0f3f5ed
https://github.com/llvm/llvm-project/commit/efd929efa589d863611473b99c3249c9d0f3f5ed
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
A libclc/Maintainers.md
M llvm/Maintainers.md
Log Message:
-----------
[libclc] Add Maintainers.md for libclc (#118309)
This adds a Maintainers.md files to libclc. Recently I needed to find a
libclc maintainer and I had no idea there was one listed in llvm/
instead of in libclc/.
Commit: b0c0a148dbad9f4d9a2e855deec05669269d30c7
https://github.com/llvm/llvm-project/commit/b0c0a148dbad9f4d9a2e855deec05669269d30c7
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M lldb/docs/use/map.rst
Log Message:
-----------
[lldb][Docs] Add equivalents of GDB's "skip" to command map (#120740)
https://sourceware.org/gdb/current/onlinedocs/gdb.html/Skipping-Over-Functions-and-Files.html
We can't emulate all the features of that command but we can skip a
function by name with some extra steps.
As far as I know this only matches function name unlike GDB that can
filter on file and line and so on:
```
target.process.thread.step-avoid-regexp -- A regular expression defining functions step-in won't stop in.
```
It's likely it's got some corner cases that don't work, maybe inlining,
but it doesn't seem worth going into it here.
I don't think we can chain lldb interpreter commands, so I have shown
the steps separately.
I have also mentioned `thread step-in` and its alias `sif`. Which were
new to me too.
Commit: 7a62a3a8dc91cb5bfebccac3fe509af009383799
https://github.com/llvm/llvm-project/commit/7a62a3a8dc91cb5bfebccac3fe509af009383799
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Fix formatting mistakes in Maintainers.md (NFC)
Commit: 6b81e746bff0c59bfa20fc490c852376092adc1c
https://github.com/llvm/llvm-project/commit/6b81e746bff0c59bfa20fc490c852376092adc1c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update AliasAnalysis maintainers (#120447)
Currently hfinkel is listed as the AliasAnalysis maintainer, but I
believe he hasn't been actively working on LLVM in the last couple of
years, so I'd like to update this information.
I'd like to nominate fhahn and myself as the new maintainers for AA.
While here, I'd also like to nominate alinas as the maintainer for
MemorySSA.
Commit: 2a593bbcf3b022a4ac11a76e03883d6aae2f000c
https://github.com/llvm/llvm-project/commit/2a593bbcf3b022a4ac11a76e03883d6aae2f000c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg29xx.cpp
Log Message:
-----------
[clang][NFC] Stop testing CWG2917 in C++98 mode
Commit: eff126501efc3981727ef0e918c4dca0fa2eb778
https://github.com/llvm/llvm-project/commit/eff126501efc3981727ef0e918c4dca0fa2eb778
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg2335.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
Log Message:
-----------
[clang][NFC] Fix expected directives in C++ DRs
If directive is put inside `#if __cplusplus`, it should reflect the condition, instead of being generic `expected`.
Commit: 3c8344f7ba7e33febb93dec40374d55119c8571b
https://github.com/llvm/llvm-project/commit/3c8344f7ba7e33febb93dec40374d55119c8571b
Author: Amara Emerson <amara at apple.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
Log Message:
-----------
[AArch64][SME] Fix broken compiler check for SME2 support in compiler-rt (#121625)
This compile time test uses inline asm with `.arch` directives to set
the target feature. It is however broken and always fails, since each
`asm()` construct in LLVM sets up a new AsmParser, and therefore the
`.arch` directive has no effect on later `asm()` contents. To fix this
we need to use a single inline `asm()` call with the entire code chunk
to emit contained inside.
Commit: 0b73b5af60f2c544892b9dd68b4fa43eeff52fc1
https://github.com/llvm/llvm-project/commit/0b73b5af60f2c544892b9dd68b4fa43eeff52fc1
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
Log Message:
-----------
[AArch64] Correct position of CFI Instruction for Pointer Authentication (#121559)
As part #112171, support for FEAT_PAuthLR's CFI instructions was added.
However, the CFI instructions are emitted in the incorrect location. This
leads to incorrect CodeGen being generated and possible issues when
running a program. According to the ABI, the CFI instructions should be
emitted before the signing instruction. This is now done properly.
ABI information can be found here:
https://github.com/ARM-software/abi-aa/blob/bf0e2c8047c70987165f3e05e571d7836370ade9/aadwarf64/aadwarf64.rst#44call-frame-instructions
Commit: 9e4774b934a26489e0e3ae60def3aefb5c73edd3
https://github.com/llvm/llvm-project/commit/9e4774b934a26489e0e3ae60def3aefb5c73edd3
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Add LT_RequiresExpression and LT_SimpleRequirement (#121681)
The new line types help to annotate */&/&& in simple requirements as
binary operators.
Fixes #121675.
Commit: f6bfbc87779ef2079e9b1356ac21381659f13fbb
https://github.com/llvm/llvm-project/commit/f6bfbc87779ef2079e9b1356ac21381659f13fbb
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
Log Message:
-----------
[mlir] flush output in transform.print (#121382)
Print operations are often used for debugging, immediately before the
compiler aborts. In such cases, it is sometimes possible that the output
isn't fully produced yet. Make sure it is by explicitly flushing the
output.
Commit: 3c5f2698b02ae3cec13551226f083984ab41f0f3
https://github.com/llvm/llvm-project/commit/3c5f2698b02ae3cec13551226f083984ab41f0f3
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg21xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
Log Message:
-----------
[clang][NFC] Stop using atypical compiler arguments in C++ DR tests
Commit: 8e1b49c38edc667b0d740f19b24c9796b948c274
https://github.com/llvm/llvm-project/commit/8e1b49c38edc667b0d740f19b24c9796b948c274
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-crash.ll
Log Message:
-----------
Complex deinterleaving/single reductions build fix Reapply "Add support for single reductions in ComplexDeinterleavingPass (#112875)" (#120441)
This reverts commit 76714be5fd4ace66dd9e19ce706c2e2149dd5716, fixing the
build failure that caused the revert.
The failure stemmed from the complex deinterleaving pass identifying a
series of add operations as a "complex to single reduction", so when it
tried to transform this erroneously identified pattern, it faulted. The
fix applied is to ensure that complex numbers (or patterns that match
them) are used throughout, by checking if there is a deinterleave node
amidst the graph.
Commit: a3fff3a14daefd99760f4a848985b6e971ff4496
https://github.com/llvm/llvm-project/commit/a3fff3a14daefd99760f4a848985b6e971ff4496
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/arith-fp-frem-costs.ll
Log Message:
-----------
[LoopVectorize][NFC] Fix arith-fp-frem-costs.ll test to use new vplan cost model (#120742)
Commit: 3a7a9c928671adc17046acc3a25e2d9bd5c80fcc
https://github.com/llvm/llvm-project/commit/3a7a9c928671adc17046acc3a25e2d9bd5c80fcc
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
A lldb/include/lldb/Host/aix/HostInfoAIX.h
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/aix/HostInfoAIX.cpp
Log Message:
-----------
[lldb][AIX] HostInfoAIX Support (#117906)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Added a HostInfoAIX file for the AIX platform.
Most of the common functionalities are handled by the parent
HostInfoPosix now,
So we just have some basic functions implemented here.
Commit: d3b77a960dd9edf34a9143003ee2813926c31a7e
https://github.com/llvm/llvm-project/commit/d3b77a960dd9edf34a9143003ee2813926c31a7e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn build] Port 3a7a9c928671
Commit: 1feeeb47e56f8551dcd813fbb987bec628970f0d
https://github.com/llvm/llvm-project/commit/1feeeb47e56f8551dcd813fbb987bec628970f0d
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LoopVectorize][NFC] Move "LV: Selecting VF" debug output (#120744)
Move the debug output that prints out the selected VF from
selectVectorizationFactor -> computeBestVF. This means that the output
will still be written even after removing the assert for the legacy and
vplan cost models matching.
Commit: 31340457399d218c27a7a74770eb9fa03e6ae92b
https://github.com/llvm/llvm-project/commit/31340457399d218c27a7a74770eb9fa03e6ae92b
Author: James Chesterman <James.Chesterman at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64][SVE] Add dot product codegen for partial reductions with no binary operation on input (#120207)
Add codegen for when the input type has 4 times as many elements as the
output type and the input to the partial reduction does not have a
binary operation performed on it.
Commit: a13bcf3ced35b0df89ac13670690b4482052e47f
https://github.com/llvm/llvm-project/commit/a13bcf3ced35b0df89ac13670690b4482052e47f
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/missing-body-in-import.cpp
Log Message:
-----------
[clang] Do not serialize function definitions without a body (#121550)
An instantiated templated function definition may not have a body due to
parsing errors inside the templated function. When serializing, an
assert is triggered inside `ASTRecordWriter::AddFunctionDefinition`.
The instantiation may happen on an intermediate module.
The test case was reduced from `mp-units`.
Commit: 599c73990532333e62edf8ba19a5302b543f976f
https://github.com/llvm/llvm-project/commit/599c73990532333e62edf8ba19a5302b543f976f
Author: Matthias Springer <me at m-sp.org>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
M mlir/include/mlir/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.h
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
A mlir/test/Integration/GPU/CUDA/assert.mlir
Log Message:
-----------
[mlir][GPU] Add NVVM-specific `cf.assert` lowering (#120431)
This commit add an NVIDIA-specific lowering of `cf.assert` to to
`__assertfail`.
Note: `getUniqueFormatGlobalName`, `getOrCreateFormatStringConstant` and
`getOrDefineFunction` are moved to `GPUOpsLowering.h`, so that they can
be reused.
Commit: 4df366cd8080851f83628cedf85f9f84c2db317d
https://github.com/llvm/llvm-project/commit/4df366cd8080851f83628cedf85f9f84c2db317d
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
A flang/test/Parser/OpenMP/allocate-align-tree.f90
M flang/test/Parser/OpenMP/allocate-unparse.f90
A flang/test/Semantics/OpenMP/allocate-align01.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[FLANG][OpenMP]Add support for ALIGN clause on OMP ALLOCATE (#120791)
This is trivially additional support for the existing ALLOCATE
directive, which allows an ALIGN clause.
The ALLOCATE directive is currently not implemented, so this is just
addding the necessary parser parts to allow the compiler to not say
"Huh? I don't get this" [or "Expected OpenMP construct"] when it
encounters the ALIGN clause.
Some parser testing is updated and a new todo test, just in case the
feature of align clause is not supported by the initial support for
ALLOCATE.
Commit: e4e2f5369301d0965343406089d63ddfba4c08d0
https://github.com/llvm/llvm-project/commit/e4e2f5369301d0965343406089d63ddfba4c08d0
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/OpenMP/declare_simd_aarch64.c
Log Message:
-----------
[clang] Add sincos builtin using `llvm.sincos` intrinsic (#114086)
This registers `sincos[f|l]` as a clang builtin and updates GCBuiltin to
emit the `llvm.sincos.*` intrinsic when `-fno-math-errno` is set. Note:
`llvm.sincos.*` is only emitted by `__builtin_sincos[f|l]` functions in
this initial patch.
Commit: ef2afa1e83fad5f813e5d12f4a88acbaf8cf85fe
https://github.com/llvm/llvm-project/commit/ef2afa1e83fad5f813e5d12f4a88acbaf8cf85fe
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M libcxx/include/__type_traits/unwrap_ref.h
M libcxx/include/__utility/pair.h
M libcxx/include/tuple
Log Message:
-----------
[libc++] Simplify unwrap_ref_decay a bit (#121623)
Commit: b359c84f3ad68457048740b3d259258d3722eeed
https://github.com/llvm/llvm-project/commit/b359c84f3ad68457048740b3d259258d3722eeed
Author: Luke Lau <luke at igalia.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/add_sext_shl_constant.ll
M llvm/test/CodeGen/RISCV/add_shl_constant.ll
Log Message:
-----------
[RISCV] Don't commute with shift if it would break sh{1,2,3}add pattern (#119527)
This fixes a regression from #101294 by checking if we might be
clobbering a sh{1,2,3}add pattern.
Only do this is the underlying add isn't going to be folded away into an
address offset.
Commit: 3bd494dfa6d520e25dc03047c92f28c121293a75
https://github.com/llvm/llvm-project/commit/3bd494dfa6d520e25dc03047c92f28c121293a75
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M lldb/source/Host/posix/DomainSocket.cpp
Log Message:
-----------
[lldb][POSIX] Replace bzero with memset in domain socket code (#121747)
Replace `bzero` with the standard `memset` so that it is common to all platforms.
Commit: 266bb4971b7cb8481bf9f3aa7a9fbba08ec89d98
https://github.com/llvm/llvm-project/commit/266bb4971b7cb8481bf9f3aa7a9fbba08ec89d98
Author: staz <alyystaz at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M polly/docs/UsingPollyWithClang.rst
Log Message:
-----------
[docs] fix grammar mistake (#121695)
Fix a grammar mistake in Polly docs.
Co-authored-by: hstk30-hw <hanwei62 at huawei.com>
Commit: 648e256e541d6421eca72df733f888787485bda8
https://github.com/llvm/llvm-project/commit/648e256e541d6421eca72df733f888787485bda8
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/test/Analysis/dump_egraph.cpp
M clang/test/Analysis/expr-inspection-printState-diseq-info.c
M clang/test/Analysis/expr-inspection-printState-eq-classes.c
M clang/test/Analysis/ptr-arith.cpp
M clang/test/Analysis/symbol-simplification-disequality-info.cpp
M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
M clang/test/Analysis/unary-sym-expr.c
Log Message:
-----------
Reapply "[clang][analyzer] Stable order for SymbolRef-keyed containers" (#121749)
Generalize the SymbolIDs used for SymbolData to all SymExprs and use
these IDs for comparison SymbolRef keys in various containers, such as
ConstraintMap. These IDs are superior to raw pointer values because they
are more controllable and are not randomized across executions (unlike
[pointers](https://en.wikipedia.org/wiki/Address_space_layout_randomization)).
These IDs order is stable across runs because SymExprs are allocated in
the same order.
Stability of the constraint order is important for the stability of the
analyzer results. I evaluated this change on a set of 200+ open-source C
and C++ projects with the total number of ~78 000 symbolic-execution
issues passing Z3 refutation.
This patch reduced the run-to-run churn (flakiness) in SE issues from
80-90 to 30-40 (out of 78K) in our CSA deployment (in our setting flaky
issues are mostly due to Z3 refutation instability).
Note, most of the issue churn (flakiness) is caused by the mentioned Z3
refutation. With Z3 refutation disabled, issue churn goes down to ~10
issues out of 83K and this patch has no effect on appearing/disappearing
issues between runs. It however, seems to reduce the volatility of the
execution flow: before we had 40-80 issues with changed execution flow,
after - 10-30.
Importantly, this change is necessary for the next step in stabilizing
analysis results by caching Z3 query outcomes between analysis runs
(work in progress).
Across our admittedly noisy CI runs, I detected no significant effect on
memory footprint or analysis time.
This PR reapplies https://github.com/llvm/llvm-project/pull/121551 with
a fix to a g++ compiler error reported on some build bots
CPP-5919
Commit: d8d4c187619098ee7b0497b4f40311e3ee1f9259
https://github.com/llvm/llvm-project/commit/d8d4c187619098ee7b0497b4f40311e3ee1f9259
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
M clang/test/CodeGen/AArch64/sme-inline-streaming-attrs.c
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
Log Message:
-----------
[AArch64][SME] Disable inlining of callees with new ZT0 state (#121338)
Inlining must be disabled for new-ZT0 callees as the callee is required
to save ZT0 and toggle PSTATE.ZA on entry.
Commit: 9ce8f4b70b31b031ac9b4818a268bfc8c67a7a8e
https://github.com/llvm/llvm-project/commit/9ce8f4b70b31b031ac9b4818a268bfc8c67a7a8e
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/Dialect.h
Log Message:
-----------
[mlir] DCE `friend Dialect::registerDialect` (#121728)
Commit: fd6f8b3ce33cc2cbe378f8f1b391f3f40fa7bd54
https://github.com/llvm/llvm-project/commit/fd6f8b3ce33cc2cbe378f8f1b391f3f40fa7bd54
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
Log Message:
-----------
[AMDGPU] [GlobalIsel] Combine Fmul with Select into ldexp instruction. (#120104)
This combine pattern perform the below transformation.
fmul x, select(y, A, B) -> fldexp (x, select i32 (y, a, b))
fmul x, select(y, -A, -B) -> fldexp ((fneg x), select i32 (y, a, b))
where, A=2^a & B=2^b ; a and b are integers.
It is a follow-up PR to implement the above combine for globalIsel, as
the corresponding DAG combine has been done for SelectionDAG Isel
(#111109)
Commit: 0c1cf753008f375169c4d3a113b7b4f1120dddba
https://github.com/llvm/llvm-project/commit/0c1cf753008f375169c4d3a113b7b4f1120dddba
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
[mlir] DCE `RegisteredOperationName::parseAssembly` decl (#121730)
Commit: 67652a3d9fa80dcd940ce8863e32d0a274f7f8e1
https://github.com/llvm/llvm-project/commit/67652a3d9fa80dcd940ce8863e32d0a274f7f8e1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
Log Message:
-----------
[PhaseOrdering][X86] Add horizontal-sub test coverage for #34072
Matches the existing horizontal-add tests, with the additional non-commutable constraint
Commit: 3edbe36c3eb01d1c35ac1761da108e3a493258ee
https://github.com/llvm/llvm-project/commit/3edbe36c3eb01d1c35ac1761da108e3a493258ee
Author: Yihe Li <winmikedows at hotmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/test/SemaCXX/warn-unused-result.cpp
Log Message:
-----------
[clang] Fix missing check for nullptr in CallExpr::getUnusedResultAttr (#118636)
Fixes #117975, a regression introduced by #112521 due to forgetting
to check for `nullptr` before dereferencing in
`CallExpr::getUnusedResultAttr`.
Commit: 8f17c908e3858c0a2a9b1bed3f6506fec3c6f910
https://github.com/llvm/llvm-project/commit/8f17c908e3858c0a2a9b1bed3f6506fec3c6f910
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/cl-options.c
Log Message:
-----------
[clang] Expose -f(no-)wrapv as clang-cl option (#120787)
Also move the -fno-wrapv option definition next to the -fwrapv one while
here.
Commit: 346185c42c59c344fcf0d9fd476c85d287181baf
https://github.com/llvm/llvm-project/commit/346185c42c59c344fcf0d9fd476c85d287181baf
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
A llvm/test/CodeGen/AArch64/reduce-or-opt.ll
A llvm/test/Transforms/CodeGenPrepare/AArch64/reduce-or-opt.ll
Log Message:
-----------
[AArch64] Improve codegen of vectorised early exit loops (#119534)
Once PR #112138 lands we are able to start vectorising more loops
that have uncountable early exits. The typical loop structure
looks like this:
vector.body:
...
%pred = icmp eq <2 x ptr> %wide.load, %broadcast.splat
...
%or.reduc = tail call i1 @llvm.vector.reduce.or.v2i1(<2 x i1> %pred)
%iv.cmp = icmp eq i64 %index.next, 4
%exit.cond = or i1 %or.reduc, %iv.cmp
br i1 %exit.cond, label %middle.split, label %vector.body
middle.split:
br i1 %or.reduc, label %found, label %notfound
found:
ret i64 1
notfound:
ret i64 0
The problem with this is that %or.reduc is kept live after the loop,
and since this is a boolean it typically requires making a copy of
the condition code register. For AArch64 this requires an additional
cset instruction, which is quite expensive for a typical find loop
that only contains 6 or 7 instructions.
This patch attempts to improve the codegen by sinking the reduction
out of the loop to the location of it's user. It's a lot cheaper to
keep the predicate alive if the type is legal and has lots of
registers for it. There is a potential downside in that a little
more work is required after the loop, but I believe this is worth
it since we are likely to spend most of our time in the loop.
Commit: f0247081faac6b4c0cbaa1540fc9c10756e5a42e
https://github.com/llvm/llvm-project/commit/f0247081faac6b4c0cbaa1540fc9c10756e5a42e
Author: JoelWee <32009741+JoelWee at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M libc/src/stdlib/qsort_pivot.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Fix after #121482 (#121764)
Commit: 1547382033ca156c13fc16c3b2baed7350b6de8e
https://github.com/llvm/llvm-project/commit/1547382033ca156c13fc16c3b2baed7350b6de8e
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
A llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
Log Message:
-----------
[X86] Support lowering of FMINIMUMNUM/FMAXIMUMNUM (#121464)
Commit: 7cdbde70fad454be6a07464befdfd3995287b0fb
https://github.com/llvm/llvm-project/commit/7cdbde70fad454be6a07464befdfd3995287b0fb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/alternate-shuffle-cost.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/VectorCombine/X86/extract-fneg-insert.ll
Log Message:
-----------
[CostModel][X86] getShuffleCost - use processShuffleMasks for all shuffle kinds to legal types (#120599) (#121760)
Now that processShuffleMasks can correctly handle 2 src shuffles, we can completely remove the shuffle kind limits and correctly recognize the number of active subvectors per legalized shuffle - improveShuffleKindFromMask will determine the shuffle kind for each split subvector.
Commit: c630e13676009757400d5c2c22ba3e1f842cf925
https://github.com/llvm/llvm-project/commit/c630e13676009757400d5c2c22ba3e1f842cf925
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstSimplify] Simplify both operands of select before comparing (#121753)
In the simplifySelectWithEquivalence fold, simplify both operands before
comparing them, instead of comparing one simplified operand with a
non-simplified operand. This is slightly more powerful.
Commit: 69ba565734a64bea91062bfd0c5988276b73eb87
https://github.com/llvm/llvm-project/commit/69ba565734a64bea91062bfd0c5988276b73eb87
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add-shl-sdiv-to-srem.ll
Log Message:
-----------
[InstCombine] Handle commuted pattern for `((X s/ C1) << C2) + X` (#121737)
Closes https://github.com/llvm/llvm-project/issues/121700
Commit: 3f7905733820851bc4f65cb4af693c3101cbf20d
https://github.com/llvm/llvm-project/commit/3f7905733820851bc4f65cb4af693c3101cbf20d
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/type-traits.cpp
Log Message:
-----------
[Clang] Make passing incomplete types to builtin type-traits a non-sfinae-friendly error (#121333)
LWG3929 suggests that passing incomplete types to __is_base_of and other
builtins supporting [meta.unary] should result in a non-sfinaeable
error.
This is consistent with GCC's behavior and avoid inconsistency when
using a builtin instead of a standard trait in a concept-definition.
Fixes #121278
Commit: 81fae0d5e3d3378959483ccd7709a212731bff3f
https://github.com/llvm/llvm-project/commit/81fae0d5e3d3378959483ccd7709a212731bff3f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/scoped-fence-ops.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/atomic-ops.cu
Log Message:
-----------
[Clang][AMDGPU] Stop defaulting to `one-as` for all atomic scopes (#120095)
Summary:
The documentation at
https://llvm.org/docs/AMDGPUUsage.html#memory-scopes states that these
'one-as' modifiers are more specific versions of the scopes that only
apply to a specific address space. This doesn't make sense for fences
which have no associated address space to use, and it's a more
restrictive version the normal scope. This should not tbe the default
behavior, but it is currently emitted in all cases except for
sequentially consistent.
Commit: b79d3b9519620e34f0e223fdb4a6731db6cda88f
https://github.com/llvm/llvm-project/commit/b79d3b9519620e34f0e223fdb4a6731db6cda88f
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
A clang/test/CXX/drs/cwg273.cpp
M clang/test/CXX/drs/cwg2xx.cpp
Log Message:
-----------
[clang][NFC] Move CWG273 test into its own file
Commit: d68ea317ae056d6b8b66ced620eb3d83a4ac13a4
https://github.com/llvm/llvm-project/commit/d68ea317ae056d6b8b66ced620eb3d83a4ac13a4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/phi.ll
Log Message:
-----------
[InstCombine] Add additional tests for icmp of phi of zext (NFC)
Commit: 14ba3f9d07ea1664497c5d117120fb243ca221aa
https://github.com/llvm/llvm-project/commit/14ba3f9d07ea1664497c5d117120fb243ca221aa
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg17xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg21xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg273.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/drs/cwg9xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Fill in historical data for C++ DRs with 'yes' availability
Commit: 05bd7d22b6754aeb0c781d4ba002357d5de3ec57
https://github.com/llvm/llvm-project/commit/05bd7d22b6754aeb0c781d4ba002357d5de3ec57
Author: arthurqiu <arthurq at nvidia.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Linker/IRMover.cpp
A llvm/test/Linker/Inputs/libdevice-with-wrong-dl.ll
M llvm/test/Linker/cuda-libdevice.ll
Log Message:
-----------
[MLIR] Fix triple mismatch warning for embedded libdevice (#121447)
IRLinker emits warning when linking two modules of different target
triples. The warning is disabled if the source module is libdevice. When
using libdevice embedded in LLVM library via MLIR_NVVM_EMBED_LIBDEVICE,
IRLinker can no longer tell whether the source module is libdevice via
module identifier.
Since `nvptx64-nvidia-gpulibs` is a magic triple that identifies the
libdevice module already, the libdevice filename check is redundant.
This patch fixes the triple mismatch warning by just removing the
filename check.
Commit: 7cb6e6bced8ca5767c3e609f4826982638fd9543
https://github.com/llvm/llvm-project/commit/7cb6e6bced8ca5767c3e609f4826982638fd9543
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M libc/test/src/stdlib/SortingTest.h
Log Message:
-----------
[libc] Fix sort test failing on NVPTX
Summary:
This test uses too much stack and crashes, make the buffer `static` to
push it to `.bss`. This shouldn't change behavior because the tests are
all run single threaded.
Commit: 1229b78f1676d56d0d386a5c4cde8f98a78d0989
https://github.com/llvm/llvm-project/commit/1229b78f1676d56d0d386a5c4cde8f98a78d0989
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg23xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Clean up CWG2396 test
Commit: d993b11b86dcae75b582939337770eaf1c1a228b
https://github.com/llvm/llvm-project/commit/d993b11b86dcae75b582939337770eaf1c1a228b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] Remove superfluous whitespace from debug log comment. NFC.
Commit: 27751c39d41dc937f6b8a127ca562edbba161584
https://github.com/llvm/llvm-project/commit/27751c39d41dc937f6b8a127ca562edbba161584
Author: JoelWee <32009741+JoelWee at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
Update BUILD.bazel after #121482
Commit: 4ebfd43cf008b941d88a61a2c549e9a5291ee017
https://github.com/llvm/llvm-project/commit/4ebfd43cf008b941d88a61a2c549e9a5291ee017
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/bit-checks.ll
Log Message:
-----------
[InstCombine] Always treat inner and/or as bitwise (#121766)
In https://github.com/llvm/llvm-project/pull/116065, we pass `IsLogical`
into `foldBooleanAndOr` when folding inner and/or ops. But it is always
safe to treat them as bitwise if the outer ops are bitwise.
Alive2: https://alive2.llvm.org/ce/z/hULrgH
Closes https://github.com/llvm/llvm-project/issues/121701.
Commit: df67e37e37a7862e1e67f52e01f0c9a019477930
https://github.com/llvm/llvm-project/commit/df67e37e37a7862e1e67f52e01f0c9a019477930
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
Log Message:
-----------
[clang][NFC] clean up the handling of convergence control tokens (#121738)
Commit: 10fb5d2b4be54c779eda80b65a737b9dae2d959b
https://github.com/llvm/llvm-project/commit/10fb5d2b4be54c779eda80b65a737b9dae2d959b
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/test/CXX/drs/cwg2xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Add test for CWG203 "Type of address-of-member expression" (#121687)
This patch adds test for
[CWG203](https://cplusplus.github.io/CWG/issues/203.html). Author was
asking to change the type of pointer-to-member expression to be closer
to how it's written as opposed to where the resulting member belongs to,
but was turned down due to backwards compatibility concerns, so we're
testing the status quo.
There are a total of 6 examples in the filing, so I decided to just
throw all of them into the test. I had to turn example 2 into
`constexpr` test that unfortunately requires C++20. Outcomes in example
5 that Tomasz expected are not in line with implementation behavior and
my reading of the Standard. I think he got confused by the fact that
unlike regular pointers, pointers-to-members can be implicitly
_downcasted_, but not upcasted. I left comments in the example.
Commit: 93220e7e06473a11bf48fee26bcea16cc527e5dc
https://github.com/llvm/llvm-project/commit/93220e7e06473a11bf48fee26bcea16cc527e5dc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
A llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
A llvm/test/CodeGen/AMDGPU/swdev502267-use-after-free-last-chance-recoloring-alloc-succeeds.mir
Log Message:
-----------
RegAllocGreedy: Fix use after free during last chance recoloring (#120697)
Last chance recoloring can delete the current fixed interval
during recursive assignment of interfering live intervals. Check
if the virtual register value was assigned before attempting the
unassignment, as is done in other scenarios. This relies on the fact
that we do not recycle virtual register numbers.
I have only seen this occur in error situations where the allocation
will fail, but I think this can theoretically happen in working
allocations.
This feels very brute force, but I've spent over a week debugging
this and this is what works without any lit regressions. The surprising
piece to me was that unspillable live ranges may be spilled, and
a number of tests rely on optimizations occurring on them. My other
attempts to fixed this mostly revolved around not identifying unspillable
live ranges as snippet copies. I've also discovered we're making some
unproductive live range splits with subranges. If we avoid such splits,
some of the unspillable copies disappear but mandating that be precise
to fix a use after free doesn't sound right.
Commit: ca603d2536f039194141bf3a01e9ee7f60e37406
https://github.com/llvm/llvm-project/commit/ca603d2536f039194141bf3a01e9ee7f60e37406
Author: David Green <david.green at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/test/CodeGen/AArch64/neon-vcmla.c
Log Message:
-----------
[AArch64] Regenerate neon-vcmla.c test. NFC
This removes -O1 from the opt pipeline, using just mem2reg,instsimplify
instead. The target is changed so that the auto update script will apply.
Commit: 21edac25f09faee23015c6a69d95fcbda287efe2
https://github.com/llvm/llvm-project/commit/21edac25f09faee23015c6a69d95fcbda287efe2
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M .github/new-prs-labeler.yml
A clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaSPIRV.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenSPIRV/Builtins/distance.c
A clang/test/SemaSPIRV/BuiltIns/distance-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/distance.ll
A llvm/test/CodeGen/SPIRV/opencl/distance.ll
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[SPIRV] Add Target Builtins using Distance ext as an example (#121598)
- Update pr labeler so new SPIRV files get properly labeled.
- Add distance target builtin to BuiltinsSPIRV.td.
- Update TargetBuiltins.h to account for spirv builtins.
- Update clang basic CMakeLists.txt to build spirv builtin tablegen.
- Hook up sema for SPIRV in Sema.h|cpp, SemaSPIRV.h|cpp, and
SemaChecking.cpp.
- Hookup sprv target builtins to SPIR.h|SPIR.cpp target.
- Update GBuiltin.cpp to emit spirv intrinsics when we get the expected
spirv target builtin.
Consensus was reach in this RFC to add both target builtins and pattern
matching:
https://discourse.llvm.org/t/rfc-add-targetbuiltins-for-spirv-to-support-hlsl/83329.
pattern matching will come in a separate pr this one just sets up the
groundwork to do target builtins for spirv.
partially resolves
[#99107](https://github.com/llvm/llvm-project/issues/99107)
Commit: 98b3191a340b03051281e1dc3655a7ffa9ab2311
https://github.com/llvm/llvm-project/commit/98b3191a340b03051281e1dc3655a7ffa9ab2311
Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M libc/docs/CMakeLists.txt
R libc/docs/headers/arpa/inet.rst
R libc/docs/headers/assert.rst
R libc/docs/headers/ctype.rst
R libc/docs/headers/errno.rst
R libc/docs/headers/fenv.rst
R libc/docs/headers/float.rst
R libc/docs/headers/inttypes.rst
R libc/docs/headers/locale.rst
R libc/docs/headers/setjmp.rst
R libc/docs/headers/signal.rst
R libc/docs/headers/stdbit.rst
R libc/docs/headers/stdio.rst
R libc/docs/headers/stdlib.rst
R libc/docs/headers/string.rst
R libc/docs/headers/strings.rst
R libc/docs/headers/sys/mman.rst
R libc/docs/headers/threads.rst
R libc/docs/headers/uchar.rst
R libc/docs/headers/wchar.rst
R libc/docs/headers/wctype.rst
M libc/utils/docgen/arpa/inet.yaml
A libc/utils/docgen/strings.yaml
M libc/utils/docgen/sys/mman.yaml
Log Message:
-----------
[libc][docgen] regen docgen via cmake (#119628)
Now, `ninja docs-libc-html` will re-run docgen.
Previously, we would run docgen offline, and commit the result.
Now we no longer need to do that; docgen is invoked from the
dependencies of the `docs-libc-html` target on demand. This
commit removes the dynamically generated .rst files (keeping
the static ones that haven't been converted to docgen), and
fixes up some mistakes I failed to cleanup recently since I
didn't have such automation in place to catch such bugs.
Commit: d00f65c6acd9f0e1ddae83391f55eb9d232d2f9e
https://github.com/llvm/llvm-project/commit/d00f65c6acd9f0e1ddae83391f55eb9d232d2f9e
Author: Michael Toguchi <michael.d.toguchi at intel.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Compilation.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Gnu.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
A clang/lib/Driver/ToolChains/SYCL.cpp
A clang/lib/Driver/ToolChains/SYCL.h
A clang/test/Driver/sycl-offload-jit.cpp
M llvm/include/llvm/TargetParser/Triple.h
Log Message:
-----------
[Driver][SYCL] Add initial SYCL offload compilation support (#117268)
Introduces the SYCL based toolchain and initial toolchain construction
when using the '-fsycl' option. This option will enable SYCL based
offloading, creating a SPIR-V based IR file packaged into the compiled
host object.
This includes early support for creating the host/device object using
the new offloading model. The device object is created using the
spir64-unknown-unknown target triple.
New/Updated Options:
-fsycl Enables SYCL offloading for host and device
-fsycl-device-only
Enables device only compilation for SYCL
-fsycl-host-only
Enables host only compilation for SYCL
RFC Reference:
https://discourse.llvm.org/t/rfc-sycl-driver-enhancements/74092
This is a reland of: https://github.com/llvm/llvm-project/pull/107493
Commit: 5e0be962feb37b224590e91879f9ac4a1fcacb85
https://github.com/llvm/llvm-project/commit/5e0be962feb37b224590e91879f9ac4a1fcacb85
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll
Log Message:
-----------
[PowerPC] Support PIC Secure PLT for CALL_RM
https://reviews.llvm.org/D111433 introduced PPCISD::CALL_RM for
-frounding-math. -msecure-plt -frounding-math {-fpic,-fPIC} codegen for
PPC32 became incorrect when a function contains function calls but no
global variable references (GlobalBaseReg).
As reported by @q66 , musl/src/dirent/closedir.c implements such a
function, which is miscompiled.
PPCISD::CALL has custom logic to set up the base register
(https://reviews.llvm.org/D42112). Add an extra case for CALL_RM.
While here, improve the test to
* actually test `case PPCISD::CALL`: we need a non-leaf function that
doesn't access global variables (global variables lead to
GlobalBaseReg, which call `getGlobalBaseReg()` as well).
* test `ExternalSymbolSDNode` with a memset.
Supersedes: #72758
Pull Request: https://github.com/llvm/llvm-project/pull/121281
Commit: 55391f85acc7e7a14ea2ef3c1a4bd8f3df990426
https://github.com/llvm/llvm-project/commit/55391f85acc7e7a14ea2ef3c1a4bd8f3df990426
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/test/Analysis/analyzer-config.c
A clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3/D83660.c
R clang/test/Analysis/z3/Inputs/MockZ3_solver_check.c
A clang/test/Analysis/z3/Inputs/MockZ3_solver_check.cpp
M clang/unittests/StaticAnalyzer/Z3CrosscheckOracleTest.cpp
Log Message:
-----------
[analyzer] Retry UNDEF Z3 queries 2 times by default (#120239)
If we have a refutation Z3 query timed out (UNDEF), allow a couple of
retries to improve stability of the query. By default allow 2 retries,
which will give us in maximum of 3 solve attempts per query.
Retries should help mitigating flaky Z3 queries.
See the details in the following RFC:
https://discourse.llvm.org/t/analyzer-rfc-retry-z3-crosscheck-queries-on-timeout/83711
Note that with each attempt, we spend more time per query.
Currently, we have a 15 seconds timeout per query - which are also in
effect for the retry attempts.
---
Why should this help?
In short, retrying queries should bring stability because if a query
runs long
it's more likely that it did so due to some runtime anomaly than it's on
the edge of succeeding. This is because most queries run quick, and the
queries that run long, usually run long by a fair amount.
Consequently, retries should improve the stability of the outcome of the
Z3 query.
In general, the retries shouldn't increase the overall analysis time
because it's really rare we hit the 0.1% of the cases when we would do
retries. But keep in mind that the retry attempts can add up if many
retries are allowed, or the individual query timeout is large.
CPP-5920
Commit: b6960e2a631df38c076cee2845978b0606cea066
https://github.com/llvm/llvm-project/commit/b6960e2a631df38c076cee2845978b0606cea066
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M lldb/bindings/python/python-swigsafecast.swig
M lldb/include/lldb/API/SBModule.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
Log Message:
-----------
[lldb][ResolveSourceFileCallback] Update SBModule (#120832)
Summary:
RFC
https://discourse.llvm.org/t/rfc-python-callback-for-source-file-resolution/83545
SBModule will be used for resolve source file callback as Python
function arguments. This diff allows these things.
Can be instantiated from SBPlatform.
Can be passed to/from Python.
Test Plan:
N/A. The next set of diffs in the stack have unittests and shell test
validation
Co-authored-by: Rahul Reddy Chamala <rachamal at fb.com>
Commit: cb5d866feea72e0a846b4e7b921aaf6e70e196f1
https://github.com/llvm/llvm-project/commit/cb5d866feea72e0a846b4e7b921aaf6e70e196f1
Author: Amara Emerson <amara at apple.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/arm_apple_sme_abi.s
Log Message:
-----------
[AArch64][SME] Add Darwin specific SME ABI routines.
Our platform has some constraints that allow us to make assumptions that
aren't generally applicable to other platforms. We keep an entirely separate
.s file for the routines.
Commit: db88071a8b24ad9302659ee88383eea69a732f11
https://github.com/llvm/llvm-project/commit/db88071a8b24ad9302659ee88383eea69a732f11
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/alternate-shuffle-cost.ll
M llvm/test/Analysis/CostModel/X86/reduction.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[CostModel][X86] Attempt to match cheap v4f32 shuffles that map to SHUFPS instruction (#121778)
Avoid always assuming the worst for v4f32 2 input shuffles, and match the SHUFPS pattern where possible - each pair of output elements must come from the same source register.
Commit: d40235ac24175e20988cc879dc515638df0c28c6
https://github.com/llvm/llvm-project/commit/d40235ac24175e20988cc879dc515638df0c28c6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
Log Message:
-----------
[TableGen] Remove unused functionality from OpInit class. NFC (#121680)
clone, getNumOperands, and getOperand haven't been used for quite some
time. The only remaining useful thing is the common implementation of
getBit.
Commit: fe42e63d7b1bfb356a5209d3ced846695823b623
https://github.com/llvm/llvm-project/commit/fe42e63d7b1bfb356a5209d3ced846695823b623
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[mlir][NFC] Refactor `eraseState` to take constant time (#121670)
Refactors `analysisStates` to use two nested maps . This prevents
`eraseState` from having to scan through every analysis state which can
be costly when there are many analysis states and/or `eraseState` is
called frequently.
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: 1401703fe42003745e6937efa13078b462a9d706
https://github.com/llvm/llvm-project/commit/1401703fe42003745e6937efa13078b462a9d706
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
Log Message:
-----------
[RISCV] Add Enum for CSR encodings. (#121674)
This allows us to use them in C++ code without needing to do a table
lookup.
Commit: 6b0807fe2b8af7361f98f0f947a3129a6ab79f7e
https://github.com/llvm/llvm-project/commit/6b0807fe2b8af7361f98f0f947a3129a6ab79f7e
Author: Amara Emerson <amara at apple.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-store-vector-bools.mir
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[AArch64][GlobalISel] Add support for lowering trunc stores of vector bools.
This is essentially a port of TargetLowering::scalarizeVectorStore(), which
is used for the case where we have something like a store of <8 x s8> truncating
to <8 x s1> in memory. The naive lowering is a sequence of extracts to compute
a scalar value to store.
AArch64's DAG implementation has some more smarts to improve this further which
we can do later.
Reviewers: topperc, davemgreen
Pull Request: https://github.com/llvm/llvm-project/pull/121169
Commit: 2d53eaff4aee73605170ce9910cde68fa7a300b2
https://github.com/llvm/llvm-project/commit/2d53eaff4aee73605170ce9910cde68fa7a300b2
Author: Amara Emerson <amara at apple.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[AArch64][GlobalISel] Fix legalization for <4 x i1> vector stores.
This case is different from the earlier <8 x i1> case handled because it triggers
a legalization failure in lowerStore() that's intended for scalar code.
It also was triggering incorrect bitcast actions in the AArch64 rules that weren't
expecting truncating stores.
With these two fixed, more cases are handled. The code is still bad, including
some missing load promotion in our combiners that result in dead stores hanging
around at the end of codegen. Again, we can fix these in separate changes.
Reviewers: davemgreen, madhur13490, topperc, arsenm
Reviewed By: davemgreen
Pull Request: https://github.com/llvm/llvm-project/pull/121185
Commit: 0d5c07285f79a2135730c919c7e7b8e2bd9118e7
https://github.com/llvm/llvm-project/commit/0d5c07285f79a2135730c919c7e7b8e2bd9118e7
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaStmtAttr.cpp
A clang/test/AST/HLSL/HLSLControlFlowHint.hlsl
A clang/test/CodeGenHLSL/HLSLControlFlowHint.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
A llvm/test/CodeGen/DirectX/HLSLControlFlowHint.ll
A llvm/test/CodeGen/SPIRV/structurizer/HLSLControlFlowHint-pass-check.ll
A llvm/test/CodeGen/SPIRV/structurizer/HLSLControlFlowHint.ll
Log Message:
-----------
[HLSL] Adding Flatten and Branch if attributes (#116331)
- adding Flatten and Branch to if stmt.
- adding dxil control flow hint metadata generation
- modifing spirv OpSelectMerge to account for the specific attributes.
Closes #70112
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 7a07d8e9dfcf9cbb659883dd539319089563ac5d
https://github.com/llvm/llvm-project/commit/7a07d8e9dfcf9cbb659883dd539319089563ac5d
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M flang/test/Driver/parse-error.ll
Log Message:
-----------
[flang][Driver] Fix flang/test/Driver/parse-error.ll
The error returned from the driver is actually "Could not scan", not
"Could not parse". The reason that the test has been passing is that
the FileCheck's regular expression "{{.*}}" was one of many sources
of problems, and was quoted in the output. The "CHECK" line matched
the quoted line instead of the actual error message.
Commit: 112793a90ec84c31ced9bdacad7ce204e2148d2c
https://github.com/llvm/llvm-project/commit/112793a90ec84c31ced9bdacad7ce204e2148d2c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Log Message:
-----------
[DAG] expandUINT_TO_FP - use getShiftAmountConstant helper. NFC.
Don't bother with separate getShiftAmountTy/getConstant calls.
Commit: 923675193b24d3123ece0a3504c7cd49fc7410e9
https://github.com/llvm/llvm-project/commit/923675193b24d3123ece0a3504c7cd49fc7410e9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
Log Message:
-----------
[DAG] VectorLegalizer::ExpandUINT_TO_FLOAT- pull out repeated getValueType calls. NFC.
Commit: f3bc8c34c98a4b1a5361c3148eaeebd51151513f
https://github.com/llvm/llvm-project/commit/f3bc8c34c98a4b1a5361c3148eaeebd51151513f
Author: Aidan Goldfarb <47676355+AidanGoldfarb at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
Add SD matchers and unit test coverage for ISD::VECTOR_SHUFFLE (#119592)
This PR resolves #118845. I aimed to mirror the implementation
`m_Shuffle()` in
[PatternMatch.h](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/IR/PatternMatch.h).
Updated
[SDPatternMatch.h](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/CodeGen/SDPatternMatch.h)
- Added `struct m_Mask` to match masks (`ArrayRef<int>`)
- Added two `m_Shuffle` functions. One to match independently of mask,
and one to match considering mask.
- Added `struct SDShuffle_match` to match `ISD::VECTOR_SHUFFLE`
considering mask
Updated
[SDPatternMatchTest.cpp](https://github.com/llvm/llvm-project/blob/main/llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp)
- Added `matchVecShuffle` test, which tests the behavior of both
`m_Shuffle()` functions
- - -
I am not sure if my test coverage is complete. I am not sure how to test
a `false` match, simply test against a different instruction? [Other
tests
](https://github.com/llvm/llvm-project/blob/main/llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp#L175),
such as for `VSelect`, test against `Select`. I am not sure if there is
an analogous instruction to compare against for `VECTOR_SHUFFLE`. I
would appreciate some pointers in this area. In general, please
liberally critique this PR!
---------
Co-authored-by: Aidan <aidan.goldfarb at mail.mcgill.ca>
Commit: 3f936251d280d039d0a227247afd6884163e8a9a
https://github.com/llvm/llvm-project/commit/3f936251d280d039d0a227247afd6884163e8a9a
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
A clang/test/CodeGenHLSL/debug/rwbuffer_debug_info.hlsl
Log Message:
-----------
[HLSL] Fix debug info generation for RWBuffer types (#119041)
This PR fix the debug infor generation for RWBuffer types.
- This implements the [same fix as
DXC](https://github.com/microsoft/DirectXShaderCompiler/pull/6296).
- Adds the HLSLAttributedResource debug info generation
Closes #118523
---------
Co-authored-by: Joao Saffran <jderezende at microsoft.com>
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 21c785d7bd84df0b9176d48e7c3e74c914aae05a
https://github.com/llvm/llvm-project/commit/21c785d7bd84df0b9176d48e7c3e74c914aae05a
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ast-print-openacc-set-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
A clang/test/SemaOpenACC/set-construct-ast.cpp
A clang/test/SemaOpenACC/set-construct.cpp
M clang/test/SemaOpenACC/unimplemented-construct.c
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[OpenACC] Implement 'set' construct sema
The 'set' construct is another fairly simple one, it doesn't have an
associated statement and only a handful of allowed clauses. This patch
implements it and all the rules for it, allowing 3 of its for clauses.
The only exception is default_async, which will be implemented in a
future patch, because it isn't just being enabled, it needs a complete
new implementation.
Commit: ff24e9a19e3db330dd6412aac9d1d6c0b416697f
https://github.com/llvm/llvm-project/commit/ff24e9a19e3db330dd6412aac9d1d6c0b416697f
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-set-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
M clang/test/SemaOpenACC/set-construct-ast.cpp
M clang/test/SemaOpenACC/set-construct.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] Implement 'default_async' sema
A fairly simple one, only valid on the 'set' construct, this clause
takes an int expression. Most of the work was already done as a part of
parsing, so this patch ends up being a lot of infrastructure.
Commit: 7d5376270ae5807a29597a91d7cf59f967ccf39e
https://github.com/llvm/llvm-project/commit/7d5376270ae5807a29597a91d7cf59f967ccf39e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
Log Message:
-----------
[AArch64] Migrate from SearchableTable to GenericTable/Enum. NFC (#121661)
SearchableTable is the legacy version that does not appear to be well
documented. Not sure if the plan was to delete it eventually.
We can eventually use the PrimaryKey feature of GenericTable to remove
one of the SearchIndex declarations. This will sort the generated table
by the primary key and remove the separately generated indexing table to
reduce .rodata size.
This patch is just the mechanical migration. The size savings will be
done in follow ups.
Commit: c388da6ed38ba8892edb90803b76bcfe759fe3cf
https://github.com/llvm/llvm-project/commit/c388da6ed38ba8892edb90803b76bcfe759fe3cf
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[libc][bazel] Simplify libc_build_rules by grouping release copts (#121630)
Extract all compiler options used to build "release" versions of libc
API functions into a separate helper function, instead of burying this
logic inside libc_function() macro.
With this change, we further split two "flavors" of cc_library()
produced for each libc public function:
* `<function>.__internal__` library used in unit tests is *not* built
with release copts and is thus indistinguishable from regular
libc_support_library(). Arguably, it's a good thing, because all sources
in a unit test are built with the same set of compiler flags, instead of
"franken-build" when a subset of sources is always built with -O3. If a
user needs to run the tests in optimized mode, they should really be
using Bazel invocation-level compile flags instead.
* `<function>` library that libc users can use to construct their own
static archive *is* built with the same release copts as before. There
is a pre-existing problem that its libc_support_library() dependencies
are not built with the same copts. We're not addressing it here now.
Commit: f4bab06c97060088922c5f6f2702bd12fb74c459
https://github.com/llvm/llvm-project/commit/f4bab06c97060088922c5f6f2702bd12fb74c459
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
A libc/config/gpu/amdgpu/config.json
A libc/config/gpu/amdgpu/entrypoints.txt
A libc/config/gpu/amdgpu/headers.txt
R libc/config/gpu/config.json
R libc/config/gpu/entrypoints.txt
R libc/config/gpu/headers.txt
A libc/config/gpu/nvptx/config.json
A libc/config/gpu/nvptx/entrypoints.txt
A libc/config/gpu/nvptx/headers.txt
Log Message:
-----------
[libc] Split AMDGPU and NVPTX configs into separate folders (#120153)
Summary:
This is a holdover from when these targets were merged. They're
basically the same but there's no reason they should be treated as
identical. I think we will live with a little duplication.
Commit: dc0e258fe4d9d97cefdfeefc932e1e9e15dc542d
https://github.com/llvm/llvm-project/commit/dc0e258fe4d9d97cefdfeefc932e1e9e15dc542d
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/waitcnt-meta-instructions.mir
M llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp
M llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp
Log Message:
-----------
[AMDGPU] Remove Dwarf encodings for subregisters (#117891)
Previously, registers and subregisters mapped to the same Dwarf
encoding. We don't really have any way to refer to subregisters directly
from Dwarf, the expression emitter should instead use DW_OPs to stencil
out the subregister from the whole register. This was also confusing
tools that need to map back to the llvm reg (e.g. dwarfdump), since
getLLVMRegNum() would arbitrarily return the _LO16 register.
Commit: 6f28b4b5e960e1c4eeebad18b48e667df1e806a8
https://github.com/llvm/llvm-project/commit/6f28b4b5e960e1c4eeebad18b48e667df1e806a8
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml
M llvm/tools/llvm-gsymutil/Opts.td
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
[GSYM] Add support for querying merged functions in llvm-gsymutil (#120991)
Adds the ability to lookup and display all merged functions for an
address in llvm-gsymutil.
Now, when `--merged-functions` is used in combination with
`--address/--addresses-from-stdin`, lookup results will contain
information about merged functions, if available.
To support printing merged function information when using the
`--verbose` option, the `LookupResult` data structure also had to be
extended with pointers to the raw function data and raw merged function
data. This is because merged functions share the same address range, so
it's not easy to look up the raw merged function data for a particular
`LookupResult` that is based on a merged function.
Commit: ce831a231a7509b558121808ab03407916bf1dff
https://github.com/llvm/llvm-project/commit/ce831a231a7509b558121808ab03407916bf1dff
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.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] true16 for v_fma_f16 (#119477)
Support true16 format for v_fma_f16 in MC.
Since we are replacing v_fma_f16 to v_fma_f16_t16/v_fma_f16_fake16 in
Post-GFX11, have to update the CodeGen pattern for v_fma_f16_fake16 to
get CodeGen test passing. There is no pattern modified/created, but just
replacing the v_fma_f16 with fake16 format.
Commit: 97ea0aba15f7f618d7a0caabf0627793563f3850
https://github.com/llvm/llvm-project/commit/97ea0aba15f7f618d7a0caabf0627793563f3850
Author: Markus Böck <markus.boeck02 at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/test/TableGen/template-args.td
A mlir/test/tblgen-lsp-server/templ-arg-check.test
Log Message:
-----------
[TableGen] Do not exit in template argument check (#121636)
The signature of `CheckTemplateArgValues` implements error handling via
the `bool` return type, yet always returned false. The single possible
error case instead used `PrintFatalError,` which exits the program
afterward.
This behavior is undesirable: It prevents any further errors from being
printed and makes TableGen less usable as a library as it crashes the
entire process (e.g. `tblgen-lsp-server`).
This PR therefore fixes the issue by using `Error` instead and returning
true if an error occurred. All callers already perform proper error
handling.
As `llvm-tblgen` exits on error, a test was also added to the LSP to
ensure it exits normally despite the error.
Commit: 40a00af3ea529aba93b87d666f3090b4686ff9d0
https://github.com/llvm/llvm-project/commit/40a00af3ea529aba93b87d666f3090b4686ff9d0
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port 21edac25f09f (BuiltinsSPIRV)
Commit: 4af3332015c8473642a454ae5f521ae709188d4d
https://github.com/llvm/llvm-project/commit/4af3332015c8473642a454ae5f521ae709188d4d
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp16_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp16_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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
Log Message:
-----------
[AMDGPU][True16][MC] true16 for v_cvt_u32_u16 (#120646)
Support true16 format for v_cvt_u32_u16 in MC
Commit: 6e6f89cba0fd70ef1ea8c9abfbdf03d8f69492c4
https://github.com/llvm/llvm-project/commit/6e6f89cba0fd70ef1ea8c9abfbdf03d8f69492c4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M flang/test/Driver/parse-error.ll
Log Message:
-----------
[flang][test] One more fix in flang/test/Driver/parse-error.ll
The file suffix .f95 remained after 7a07d8e9df, change it to .ll.
Commit: 15f30e70eb18340fc422805707870e298d93161f
https://github.com/llvm/llvm-project/commit/15f30e70eb18340fc422805707870e298d93161f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M libcxx/test/benchmarks/numeric/gcd.bench.cpp
Log Message:
-----------
[libc++] Fix the batch size used in the std::gcd benchmark (#120618)
Since that benchmark is testing n*n inputs, the batch size reported to
GoogleBenchmark should be that amount. Otherwise, GoogleBenchmark
reports the timing for calling std::gcd on the whole sequence, which is
misleading.
Commit: cb1c15639f012838ba1ef202aa9c55551e9019ff
https://github.com/llvm/llvm-project/commit/cb1c15639f012838ba1ef202aa9c55551e9019ff
Author: Jannik Glückert <jannik.glueckert at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M libcxx/src/filesystem/operations.cpp
A libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_procfs.pass.cpp
Log Message:
-----------
[libc++] Use copy_file_range for fs::copy (#109211)
This optimizes `std::filesystem::copy_file` to use the `copy_file_range`
syscall (Linux and FreeBSD) when available. It allows for reflinks on
filesystems such as btrfs, zfs and xfs, and server-side copy for network
filesystems such as NFS.
Commit: 774c22686330f3ca43e48a1b8076eb30ae03dbd8
https://github.com/llvm/llvm-project/commit/774c22686330f3ca43e48a1b8076eb30ae03dbd8
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/source/Core/Progress.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
Log Message:
-----------
[LLDB] Add external progress bit category (#120171)
As feedback on #119052, it was recommended I add a new bit to delineate
internal and external progress events. This patch adds this new
category, and sets up Progress.h to support external events via
SBProgress.
Commit: bda7c9ac79fe841d39084f73730d0b3ffa3b101b
https://github.com/llvm/llvm-project/commit/bda7c9ac79fe841d39084f73730d0b3ffa3b101b
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M libcxx/docs/Hardening.rst
M libcxx/include/forward_list
A libcxx/test/libcxx/containers/sequences/forwardlist/assert.pass.cpp
Log Message:
-----------
[libc++][hardening] Add checks to `forward_list` element access. (#120858)
In our implementation, failing these checks would result in a null
pointer access rather than an out-of-bounds access.
Commit: fbcf3cb7fe95d9d420b643ce379f7ee2106a6efc
https://github.com/llvm/llvm-project/commit/fbcf3cb7fe95d9d420b643ce379f7ee2106a6efc
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-01-06 (Mon, 06 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
Log Message:
-----------
[libclang/python] Add python binding for clang_Cursor_isAnonymousRecordDecl (#120483)
This function allows checking whether a declaration declares an
anonymous union (as opposed to clang_Cursor_isAnonymous, which just
checks if the declaration has a name).
Commit: be21bd9bbf3bc906f9b98ac3de1fc88a4a8ac4b4
https://github.com/llvm/llvm-project/commit/be21bd9bbf3bc906f9b98ac3de1fc88a4a8ac4b4
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
R bolt/test/AArch64/pad-before-funcs.s
Log Message:
-----------
Revert "[BOLT] Add --pad-funcs-before=func:n (#117924)"
14dcf8214f9c66172d17c1cfaec6aec0030748e0 introduced a subtle bug with
the static `FunctionPadding` map.
If either `opts::FunctionPadSpec` or `opts::FunctionPadBeforeSpec` are set,
the map is going to be populated with the respective spec in the first
invocation of `BinaryEmitter::emitFunction`. The subsequent invocations
will pick up the padding from the map irrespective of whether
`opts::FunctionPadSpec` or `opts::FunctionPadBeforeSpec` is passed as a
parameter.
This breaks an internal test, hence reverting the patch.
Commit: 3f1a391b5eb89e53b5d026c417ae6a508d32c808
https://github.com/llvm/llvm-project/commit/3f1a391b5eb89e53b5d026c417ae6a508d32c808
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-merged-funcs-dwarf.yaml
M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
Log Message:
-----------
[llvm-gsymutil] Fix broken tests (#121837)
Recently https://github.com/llvm/llvm-project/pull/120991 broke a couple
of tests.
Also `macho-merged-funcs-dwarf.yaml` was already flaky due to some
non-determinism issues.
Fixing the previous code to not break tests and modifying
`macho-merged-funcs-dwarf.yaml` to fix the non-determinism (which will
be resolved later).
Commit: f06d4d9ae501115c20829bab7513a977a71bf53c
https://github.com/llvm/llvm-project/commit/f06d4d9ae501115c20829bab7513a977a71bf53c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port d00f65c6acd9
Commit: ec58ad6149fb8813521973d8ba9690276e282373
https://github.com/llvm/llvm-project/commit/ec58ad6149fb8813521973d8ba9690276e282373
Author: Michael Toguchi <michael.d.toguchi at intel.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/ToolChains/SYCL.h
M clang/test/Driver/sycl-offload-jit.cpp
Log Message:
-----------
[Driver][SYCL] Address sanitizer and test issue (#121822)
The following commit:
https://github.com/llvm/llvm-project/commit/d00f65c6acd9f0e1ddae83391f55eb9d232d2f9e
Caused sanitizer build issues and also a test issue when using
%clang_cl. Address these problems.
- Use local static array
- Use '--' for clang_cl calls
---------
Co-authored-by: Vitaly Buka <vitalybuka at gmail.com>
Commit: 32d761bbec660c977322afeac1acbafd46008752
https://github.com/llvm/llvm-project/commit/32d761bbec660c977322afeac1acbafd46008752
Author: Simon Wallis <simon.wallis2 at arm.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/test/CodeGen/AArch64/machine-combiner.ll
M llvm/test/tools/llvm-mca/AArch64/Neoverse/N2-basic-instructions.s
Log Message:
-----------
[AArch64][machine-scheduler][Neoverse-N2] fdiv is blocking (#119206)
For Neoverse-N2, mark FP divide and square root instructions as blocking
their pipeline until complete.
This matches the way that blocking integer divide instructions are
marked.
>From the Software Optimization Guide, section 3.14 Notes:
1. FP divide and square root operations are performed using an iterative
algorithm and block subsequent similar operations to the same pipeline
until complete.
---------
Co-authored-by: Cullen Rhodes <cullen.rhodes at arm.com>
Commit: 4cceea1acc4029c1c2cee85205184387ac361ef7
https://github.com/llvm/llvm-project/commit/4cceea1acc4029c1c2cee85205184387ac361ef7
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/string/BUILD.bazel
Log Message:
-----------
[libc][bazel] Remove customization from several libc BUILD rules. (#121843)
Get rid of the following arguments to libc_support_library and
libc_function rules:
* `defines` (for raw_mutex.h) - it wasn't used correctly (e.g. didn't
provide actual value for spin count), and we can instead fallback to
defaults set in the header itself (or rely on library-level configure
options).
* `features` - there's no need to disable sanitization for a subset of
memory functions -- it generally should be the vendor / user
responsibility to control it (e.g. don't include instrumented libc
functions in the build, since they would be provided by sanitizer
runtimes instead).
* `local_defines` (for printf_parser) - no longer needed, since
LIBC_COPT_MOCK_ARG_LIST has been removed in
e0be78be427931e94d287002b9c3910f6bc6a22c
This also removes two ad-hoc BUILD rules (strcpy_sanitized and
printf_mock_parser) which are no longer needed and can be replaced by
strcpy and printf_parser, respectively.
Co-authored-by: Alexey Samsonov <samsonov at google.com>
Commit: c8d435f9afac73d31b53cc120678f60ac4922f97
https://github.com/llvm/llvm-project/commit/c8d435f9afac73d31b53cc120678f60ac4922f97
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/vreductions-mask.ll
Log Message:
-----------
[RISCV] Use ISD::XOR instead of RISCVISD::VMXOR_VL in lowerVectorMaskVecReduction of scalable ISD::VECREDUCE_AND (#121812)
This allows combining the XOR with earlier ISD::ANDs inserted by type
legalization.
Commit: d0c00cf07852ffcd3c3a08126bd85cc119e8de3b
https://github.com/llvm/llvm-project/commit/d0c00cf07852ffcd3c3a08126bd85cc119e8de3b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
Log Message:
-----------
[LV] Add test case for #121745.
Test for https://github.com/llvm/llvm-project/issues/121745.
Commit: 3874c64418d2a7e36eab9af9253d905b48b36078
https://github.com/llvm/llvm-project/commit/3874c64418d2a7e36eab9af9253d905b48b36078
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M flang/lib/Common/Fortran.cpp
M flang/test/Semantics/cuf10.cuf
Log Message:
-----------
[flang][cuda] Allow constant actual argument for device dummy (#121845)
The reference compiler allows this use case. Note that writing to this
variable would result in CUDA error.
Commit: f9369cc602272796c15de1065a782f812e791df3
https://github.com/llvm/llvm-project/commit/f9369cc602272796c15de1065a782f812e791df3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
Log Message:
-----------
[VPlan] Make sure last IV increment value is available if needed.
Legalize extract-from-ends using uniform VPReplicateRecipe of wide
inductions to use regular VPReplicateRecipe, so the correct end value
is available.
Fixes https://github.com/llvm/llvm-project/issues/121745.
Commit: 1a435feffcd85c1e7fe30daf1a3995e95860b300
https://github.com/llvm/llvm-project/commit/1a435feffcd85c1e7fe30daf1a3995e95860b300
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
Log Message:
-----------
[HLSL] Fix build warning after #116331 (#121852)
After #116331 is always SpellingNotCalculated,
so I assume doing nothing is expected.
Commit: 8cd94e0b6d18b6b454431ba9481c2489b480baf4
https://github.com/llvm/llvm-project/commit/8cd94e0b6d18b6b454431ba9481c2489b480baf4
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/test/Conversion/AffineToStandard/lower-affine-to-vector.mlir
M mlir/test/Conversion/AffineToStandard/lower-affine.mlir
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Dialect/LLVM/lower-to-llvm-e2e-with-target-tag.mlir
M mlir/test/Dialect/LLVM/lower-to-llvm-e2e-with-top-level-named-sequence.mlir
Log Message:
-----------
[mlir][Affine] Add nsw to lowering of `AffineMulExpr`. (#121535)
Since index operations have no set bitwidth, it is ill-defined to use
signed/unsigned wrapping behavior. The corollary to which is that it is
always safe to add nsw/nuw to lowering of affine ops.
Also add a folder to fold `div(s|u)i (mul (a, v), v) -> a`
Signed-off-by: MaheshRavishankar <mravisha at amd.com>
Commit: 4312075efa02ad861db0a19a0db8e6003aa06965
https://github.com/llvm/llvm-project/commit/4312075efa02ad861db0a19a0db8e6003aa06965
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/tools/llvm-link/llvm-link.cpp
Log Message:
-----------
[nfc][thinlto] remove unnecessary return from `renameModuleForThinLTO` (#121851)
Same goes for `FunctionImportGlobalProcessing::run`.
The return value was used, but it was always `false`.
Commit: 01e980e792651391dfc3b399dbe300eddbbd0997
https://github.com/llvm/llvm-project/commit/01e980e792651391dfc3b399dbe300eddbbd0997
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M lldb/source/Plugins/InstrumentationRuntime/ASanLibsanitizers/InstrumentationRuntimeASanLibsanitizers.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
Log Message:
-----------
[lldb] Use `Address` to setup breakpoint (#94794)
Use `Address` (instead of `addr_t`) to setup
breakpoint in `ReportRetriever::SetupBreakpoint`.
This is cleaner and the breakpoint should now
survive re-running of the binary.
rdar://124399066
Commit: 4dc34b0d660a52744164a37466ce245764126296
https://github.com/llvm/llvm-project/commit/4dc34b0d660a52744164a37466ce245764126296
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add BuiltinsSPIRV (for #121598)
Commit: 97097958fdf525e8c14fcdde94231bae72ea2673
https://github.com/llvm/llvm-project/commit/97097958fdf525e8c14fcdde94231bae72ea2673
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
Log Message:
-----------
[Coverage] MCDC: Move findIndependencePairs deferred into MCDCRecord (#121188)
The result of "Independence pairs" is not mergeable. This change makes
defers re-calculation of "Independence pairs" after merging test
vectors.
No apparent behavior changes.
Commit: 90b04bf84ec3315f803a88882ba846e3086ba5e3
https://github.com/llvm/llvm-project/commit/90b04bf84ec3315f803a88882ba846e3086ba5e3
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRV.td
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cross.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/length.ll
M llvm/test/CodeGen/SPIRV/opencl/degrees.ll
M llvm/test/CodeGen/SPIRV/opencl/radians.ll
Log Message:
-----------
[NFC] fix up typos (#121842)
Fix Tablegen typo to indicate SPIRV and not HLSL
Fix miscellaneous test case typos.
Commit: 7e2ed35104adbf062119c39c4293eb3bc16bc51b
https://github.com/llvm/llvm-project/commit/7e2ed35104adbf062119c39c4293eb3bc16bc51b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
AMDGPU: Reduce AddedComplexity on canonicalize pattern (#119796)
Pick the minimum complexity required for tests to pass instead of
a giant debug value of 1000.
Commit: f6365a47a1ad9ab6d432f6e40d14a11419e21282
https://github.com/llvm/llvm-project/commit/f6365a47a1ad9ab6d432f6e40d14a11419e21282
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/swdev503538-move-to-valu-stack-srd-physreg.ll
Log Message:
-----------
AMDGPU: Fix assert on physreg MUBUF rsrc operand (#120815)
The stack case uses a physical register and should not ordinarily
reach here, but strange things happen at -O0. The testcase still
errors because we do not yet attempt to handle arbitrary dynamic
sized allocas yet.
Fixes: SWDEV-503538
Commit: a8f3ebaf11c3745e5123054776eb71755d16f2f9
https://github.com/llvm/llvm-project/commit/a8f3ebaf11c3745e5123054776eb71755d16f2f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/swdev502267-use-after-free-last-chance-recoloring-alloc-succeeds.mir
Log Message:
-----------
AMDGPU: Mark test as XFAIL in expensive_checks builds
One of the tests added in 93220e7e06473a11bf48fee26bcea16cc527e5dc
fails the machine verifier after allocation, but this is a separate
issue.
Commit: 737d6ca44d383bcf33a0605a7d9014027296269a
https://github.com/llvm/llvm-project/commit/737d6ca44d383bcf33a0605a7d9014027296269a
Author: quic_hchandel <165007698+hchandel at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcicm-invalid.s
A llvm/test/MC/RISCV/xqcicm-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcicm (Conditional Move) extension (#121752)
The Qualcomm uC Xqcicm extension adds 13 conditional move instructions.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
---------
Co-authored-by: Harsh Chandel <hchandel at qti.qualcomm.com>
Commit: 93e63460a2958c253dcbb7681faa532962a306bc
https://github.com/llvm/llvm-project/commit/93e63460a2958c253dcbb7681faa532962a306bc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/swdev502267-use-after-free-last-chance-recoloring-alloc-succeeds.mir
Log Message:
-----------
RegAllocGreedy: Un-disable test in expensive_checks builds
This reverts a8f3ebaf11c3745e5123054776eb71755d16f2f9. You need to
use -verify-regalloc to get a MachineVerifier run with LiveIntervals,
otherwise cases not covered by the basic liveness implementation
in the verifier are passed through (which covers most use of undefined
subrange errors).
Commit: 8c0483bba2d25ae7e4b6cac150dba9447dfed59c
https://github.com/llvm/llvm-project/commit/8c0483bba2d25ae7e4b6cac150dba9447dfed59c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
A llvm/test/CodeGen/AMDGPU/remat-physreg-copy-subreg-extract-already-live-at-def-issue120970.mir
Log Message:
-----------
RegisterCoalescer: Fix assert on remat to copy-to-physreg with subregs (#121734)
Do not try to rematerialize a super-register def used by a subregister
extract copy into a copy to a physical register if the other pieces of
the
full physreg are live at the rematerialization point. It would insert
the
super-register def at the rematerialization point, and assert since the
other half of the register was already live.
This is analagous to the undef subregister def handling above,
which handled the virtual register case.
Fixes #120970
Commit: 653a54727eaa18c43447ad686c987db67f1dda74
https://github.com/llvm/llvm-project/commit/653a54727eaa18c43447ad686c987db67f1dda74
Author: Ian Anderson <iana at apple.com>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
A clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/include/.keep
A clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/local/include/.keep
A clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include/c++/v1/.keep
A clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include/.keep
A clang/test/Driver/darwin-embedded-search-paths.c
M clang/test/Preprocessor/macho-embedded-predefines.c
M llvm/include/llvm/TargetParser/Triple.h
Log Message:
-----------
[Darwin][Driver][clang] apple-none-macho orders the resource directory after internal-externc-isystem when nostdlibinc is used (#120507)
Embedded development often needs to use a different C standard library,
replacing the existing one normally passed as -internal-externc-isystem.
This works fine for an apple-macos target, but apple-none-macho doesn't
work because the MachO driver doesn't implement
AddClangSystemIncludeArgs to add the resource directory as
-internal-isystem like most other drivers do. Move most of the search
path logic from Darwin and DarwinClang down into an AppleMachO toolchain
between the MachO and Darwin toolchains.
Also define \_\_MACH__ for apple-none-macho, as Swift expects all MachO
targets to have that defined.
Commit: 8d2e611802d5f3bdd681d308ceb293e5ace8a894
https://github.com/llvm/llvm-project/commit/8d2e611802d5f3bdd681d308ceb293e5ace8a894
Author: choikwa <5455710+choikwa at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
Log Message:
-----------
[AMDGPU] Calculate getDivNumBits' AtLeast using bitwidth (#121758)
Previously in shrinkDivRem64, it used fixed value 32 for AtLeast which
meant that <64bit divisions would be rejected from shrinking since logic
depended only on number of sign bits. I.e. 'idiv i48 %0, %1' would
return 24 for number of sign bits if %0,%1 both had 24 division bits,
and was rejected.
Commit: 5aef8ab6ec3a5bcb224fee764bbc6914a76d7dbb
https://github.com/llvm/llvm-project/commit/5aef8ab6ec3a5bcb224fee764bbc6914a76d7dbb
Author: Fangrui Song <i at maskray.me>
Date: 2025-01-06 (Mon, 06 Jan 2025)
Changed paths:
M lld/COFF/Driver.h
M lld/ELF/SymbolTable.cpp
Log Message:
-----------
[lld,NFC] Fix stale comments related to config->
Commit: 5656cbca52545e608f6fb8b7c9a778c7c9b4b468
https://github.com/llvm/llvm-project/commit/5656cbca52545e608f6fb8b7c9a778c7c9b4b468
Author: William Moses <gh at wsmoses.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/LLVM.h
M mlir/lib/CAPI/Dialect/LLVM.cpp
Log Message:
-----------
[MLIR][CAPI] export LLVMFunctionType param getter and setters (#121888)
Commit: a8072a0b4ebd5cd1fb3958629cd453910691f6d3
https://github.com/llvm/llvm-project/commit/a8072a0b4ebd5cd1fb3958629cd453910691f6d3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/phi.ll
Log Message:
-----------
[InstCombine] Eliminate icmp+zext pairs over phis more aggressively (#121767)
When folding icmp over phi, add a special case for `icmp eq (zext(bool),
0)`, which is known to fold to `!bool` and thus won't increase the
instruction count. This helps convert more phis to i1, esp. in loops.
This is based on existing logic we have to support this for icmp of
ucmp/scmp.
Commit: 9c1fecf9b9a9f39c2e8ffaed9ba161bf7d4bbe0c
https://github.com/llvm/llvm-project/commit/9c1fecf9b9a9f39c2e8ffaed9ba161bf7d4bbe0c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[LLVM] Update debuginfo maintainers (#120231)
Update the list of debuginfo maintainers. These are the clang debuginfo
maintainers, plus a few additional people for LLVM-specific parts.
Commit: 7810e6a3a81031fb2511f35ca0f173176b529527
https://github.com/llvm/llvm-project/commit/7810e6a3a81031fb2511f35ca0f173176b529527
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
A llvm/test/CodeGen/ARM/sink-store-pre-load-dependency.mir
Log Message:
-----------
[ARM] Introduce test for PR121565 (NFC)
Commit: 446a426436c0b7e457992981d3a1f2b4fda19992
https://github.com/llvm/llvm-project/commit/446a426436c0b7e457992981d3a1f2b4fda19992
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/test/CodeGen/ARM/sink-store-pre-load-dependency.mir
M llvm/test/tools/llvm-mca/ARM/cortex-a57-memory-instructions.s
Log Message:
-----------
[ARM] Record store with pre/post-indexed addressing as `mayStore`
A miscompilation issue observed during machine sinking has been
addressed with improved handling.
Fixes: https://github.com/llvm/llvm-project/issues/121299.
Commit: 93011fe2a5268aab9bf59e71b9d21a3818d1e199
https://github.com/llvm/llvm-project/commit/93011fe2a5268aab9bf59e71b9d21a3818d1e199
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/AArch64/fmv-dependencies.c
A clang/test/CodeGen/AArch64/fmv-features.c
M clang/test/CodeGen/AArch64/fmv-streaming.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
Log Message:
-----------
[FMV][AArch64][clang] Emit fmv-features metadata in LLVM IR. (#118544)
We need to be able to propagate information about FMV attribute strings
from C/C++ source to LLVM IR. This is necessary so that we can
distinguish which target-features are coming from the cmdline, which are
coming from the target attribute, and which are coming from feature
dependency expansion. We need this for static resolution of calls in
LLVM. Here's a motivating example:
Suppose you have target_version("i8mm+dotprod") and
target_version("fcma"). The first version clearly has higher priority.
Now suppose you specify -march=armv8-a+i8mm on the command line. Then
the versions would have target-features "+i8mm,+dotprod" and
"+i8mm,+fcma" respectively. If you are using those to deduce version
priority, then you would incorrectly deduce that the second version was
higher priority than the first.
Commit: 064da423c3b46907f5011a4537a88fbae9ac03d4
https://github.com/llvm/llvm-project/commit/064da423c3b46907f5011a4537a88fbae9ac03d4
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/lib/Format/MatchFilePath.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
Log Message:
-----------
[clang-format][NFC] Remove unneeded ST_ChildBlock in annotator
Also, remove redundant llvm:: in the annotator and return early for globstar
in matchFilePath().
Commit: 21b531ead174b32cdc610e9003de342034368ee1
https://github.com/llvm/llvm-project/commit/21b531ead174b32cdc610e9003de342034368ee1
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_state_funs.c
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sme-intrinsics-state.ll
Log Message:
-----------
[clang][llvm][aarch64] Add aarch64_sme_in_streaming_mode intrinsic (#120265)
Replacing the extant streaming mode function call with an intrinsic
allows us to make further optimisations around it. For example, if it's
called within a function that has a known streaming mode, we can remove
the dead code, and avoid the redundant conditional branch.
Commit: d82d53b2e3d7fb2f44f91dc1ca9ce8bb5487da57
https://github.com/llvm/llvm-project/commit/d82d53b2e3d7fb2f44f91dc1ca9ce8bb5487da57
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
A flang/test/Lower/OpenMP/firstprivate-alloc-comp.f90
Log Message:
-----------
[flang][openmp] initialize allocatable components of firstprivate copies (#121808)
Descriptors of allocatable components of firstprivate derived type
copies need to be set-up. Otherwise the program later die when
manipulating them inside OpenMP region.
Commit: 231d113c7e172a59ec02d33a248d7b44109245d6
https://github.com/llvm/llvm-project/commit/231d113c7e172a59ec02d33a248d7b44109245d6
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-divrem.ll
Log Message:
-----------
[InstCombine] Handle commuted patterns in `foldSelectWithSRem` (#121896)
Closes https://github.com/llvm/llvm-project/issues/121771.
Commit: 0fa59c636278324aaea55c3bc60489af88646a32
https://github.com/llvm/llvm-project/commit/0fa59c636278324aaea55c3bc60489af88646a32
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/docs/GettingStarted.rst
Log Message:
-----------
[llvm][Docs] Update supported hardware (#121743)
Since someone on Discord asked why macOS arm64 was not listed.
https://llvm.org/docs/GettingStarted.html#hardware
Add a few known platforms:
* Linux AArch64
* FreeBSD AArch64
* macOS arm64 (Clang build only, there might be a GCC port but I've not
used it myself)
* Windows on Arm (ARM64 as Microsoft refers to it)
Commit: 2db7b314da367e1a6bf8cf34df16f9ad5ad62f5e
https://github.com/llvm/llvm-project/commit/2db7b314da367e1a6bf8cf34df16f9ad5ad62f5e
Author: David Green <david.green at arm.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cast.ll
Log Message:
-----------
[AArch64] Add BF16 fpext and fptrunc costs. (#119524)
This expands the recently added fp16 fpext and fpround costs to bf16.
Some of the costs are taken from the rough number of instructions
needed, some are a little aspirational.
https://godbolt.org/z/bGEEd1vsW
Commit: cf23549edd0ac971600ceea1bb7f1454566b00a3
https://github.com/llvm/llvm-project/commit/cf23549edd0ac971600ceea1bb7f1454566b00a3
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang] Improve `make_cxx_dr_status` behavior when error occurs (#121785)
One of our contributors got confused by the behavior of the script when
they incorrectly specified the status of a CWG issue
(https://github.com/llvm/llvm-project/pull/102857/files#r1904264872),
and this is an attempt to reduce the confusion:
- script doesn't write anything to disk unless everything is good;
- error messages are prefixed with (a very familiar) `error:` to make it
more obvious that a fatal error occurred.
Commit: 83c1d003118a2cb8136fe49e2ec43958c93d9d6b
https://github.com/llvm/llvm-project/commit/83c1d003118a2cb8136fe49e2ec43958c93d9d6b
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
R llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
M llvm/test/CodeGen/SPIRV/event-zero-const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp-simple-hierarchy.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/inline_asm.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll
M llvm/test/CodeGen/SPIRV/iaddcarry-builtin.ll
M llvm/test/CodeGen/SPIRV/image-unoptimized.ll
M llvm/test/CodeGen/SPIRV/isubborrow-builtin.ll
M llvm/test/CodeGen/SPIRV/keep-tracked-const.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fshl.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fshr.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memset.ll
M llvm/test/CodeGen/SPIRV/logical-access-chain.ll
M llvm/test/CodeGen/SPIRV/pointers/PtrCast-null-in-OpSpecConstantOp.ll
M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
M llvm/test/CodeGen/SPIRV/transcoding/SampledImage.ll
M llvm/test/CodeGen/SPIRV/transcoding/cl-types.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_arithmetic.ll
M llvm/test/CodeGen/SPIRV/unnamed-global.ll
Log Message:
-----------
[SPIR-V] Overhaul module analysis to improve translation speed and simplify the underlying logics (#120415)
This PR is to address legacy issues with module analysis that currently
uses a complicated and not so efficient approach to trace dependencies
between SPIR-V id's via a duplicate tracker data structures and an
explicitly built dependency graph. Even a quick performance check
without any specialized benchmarks points to this part of the
implementation as a biggest bottleneck.
This PR specifically:
* eliminates a need to build a dependency graph as a data structure,
* updates the test suite (mainly, by fixing incorrect CHECK's referring
to a hardcoded order of definitions, contradicting the spec requirement
to allow certain definitions to go "in any order", see
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_logical_layout_of_a_module),
* improves function pointers implementation so that it now passes
EXPENSIVE_CHECKS (thus removing 3 XFAIL's in the test suite).
As a quick sanity check of whether goals of the PR are achieved, we can
measure time of translation for any big LLVM IR. While testing the PR in
the local development environment, improvements of the x5 order have
been observed.
For example, the SYCL test case "group barrier" that is a ~1Mb binary IR
input shows the following values of the naive performance metric that we
can nevertheless apply here to roughly estimate effects of the PR.
before the PR:
```
$ time llc -O0 -mtriple=spirv64v1.6-unknown-unknown _group_barrier_phi.bc -o 1 --filetype=obj
real 3m33.241s
user 3m14.688s
sys 0m18.530s
```
after the PR
```
$ time llc -O0 -mtriple=spirv64v1.6-unknown-unknown _group_barrier_phi.bc -o 1 --filetype=obj
real 0m42.031s
user 0m38.834s
sys 0m3.193s
```
Next work should probably address Duplicate Tracker further, as it needs
analysis now from the perspective of what parts of it are not necessary
now, after changing the approach to implementation of the module
analysis step.
Commit: b0e05a5f04d3225b8ff1319064c88d0249e683d2
https://github.com/llvm/llvm-project/commit/b0e05a5f04d3225b8ff1319064c88d0249e683d2
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Add missing check before accessing pointer
C2 can be null here, so we need to check it or clang may crash.
Commit: 5514865147c3bca1c819d2658ce3bf113aeffa00
https://github.com/llvm/llvm-project/commit/5514865147c3bca1c819d2658ce3bf113aeffa00
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
Log Message:
-----------
[Coalescer] Move code added in #116191 (#121779)
By moving the code a bit later, we can factor out some of the conditions
as those are now already tested.
This will also be useful when adding another fix on top that uses
`NewMI`'s subreg index (to follow as a separate PR).
The change is intended to be NFC.
Commit: 7ce15f3ba76e1780935715cfdd9dd368ebd23163
https://github.com/llvm/llvm-project/commit/7ce15f3ba76e1780935715cfdd9dd368ebd23163
Author: Kristóf Umann <dkszelethus at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[NFC][analyzer][docs] Document MallocChecker's ownership attributes (#121759)
Exactly what it says on the tin! These were written ages ago (2010s),
but are still functional, only the docs are missing.

---------
Co-authored-by: Donát Nagy <donat.nagy at ericsson.com>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Co-authored-by: isuckatcs <65320245+isuckatcs at users.noreply.github.com>
Commit: 66acb2694655321b37a1ee3ff19207a111756562
https://github.com/llvm/llvm-project/commit/66acb2694655321b37a1ee3ff19207a111756562
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
Log Message:
-----------
[clang][CodeGen][SPIRV] Translate `amdgpu_flat_work_group_size` into `max_work_group_size`. (#116820)
HIPAMD relies on the `amdgpu_flat_work_group_size` attribute to
implement key functionality such as the `__launch_bounds__` `__global__`
function annotation. This attribute is not available / directly
translatable to SPIR-V, hence as it is AMDGCN flavoured SPIR-V suffers
from information loss.
This patch addresses that limitation by converting the unsupported
attribute into the `max_work_group_size` attribute which maps to
[`MaxWorkgroupSizeINTEL`](https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_kernel_attributes.asciidoc),
which is available in / handled by SPIR-V. When reverse translating from
SPIR-V to AMDGCN LLVMIR we invert the map and add the original AMDGPU
attribute.
Commit: a774e7f7b15dbc1a7d4811f155b3a8834b6b7ff8
https://github.com/llvm/llvm-project/commit/a774e7f7b15dbc1a7d4811f155b3a8834b6b7ff8
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/global-var-name-linkage.ll
Log Message:
-----------
[SPIR-V] Fix OpName and LinkageAttributes decoration of global variables (#120492)
This PR changes `getGlobalIdentifier()` into `getName()` value when
creating a name of a global variable, and fixes generation of
LinkageAttributes decoration of global variables by taking into account
Private Linkage in addition to Internal.
Previous implementation led to an issue with back translation of SPIR-V
to LLVM IR, e.g.:
```
@__const.G1 = private unnamed_addr addrspace(1) constant %my_type undef
...
Fails to verify module: 'common' global may not be marked constant!
ptr addrspace(1) @"llvm-link;__const.G1"
```
A reproducer is included as a new test case.
Commit: bc51a2e3940a12617bc3391f8577ef2d6fa349e8
https://github.com/llvm/llvm-project/commit/bc51a2e3940a12617bc3391f8577ef2d6fa349e8
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/include/llvm/Support/Recycler.h
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/RecyclerTest.cpp
Log Message:
-----------
[Support] Recycler: Implement move constructor (#120555)
Discovered missing while running RAGreedy through the NPM which relies on moving analyses to the cache.
Commit: 19c93483adf3e818afb3d3be77d01b8ec12c2215
https://github.com/llvm/llvm-project/commit/19c93483adf3e818afb3d3be77d01b8ec12c2215
Author: kd0608 <42680371+Karthikdhondi at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Parser/OpenMP/compiler-directive-continuation.f90
Log Message:
-----------
[FLANG][OPENMP] Fix handling of continuation lines in mixed OpenMP an… (#120714)
…d Fortran free-form
OpenMP feature was not enabled in the flang-new for the continuation
line, when we used the continuation line marker in combination of
free-form and OpenMP directive, it was throwing an error. PR is the fix
for that issue.
Added a fix for the following issue
https://github.com/llvm/llvm-project/issues/89559
Commit: 4a42658c1be47ea8cb6f26f7cb1d1aed258845fe
https://github.com/llvm/llvm-project/commit/4a42658c1be47ea8cb6f26f7cb1d1aed258845fe
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/test/Transforms/VectorCombine/X86/shuffle-of-cmps.ll
Log Message:
-----------
[VectorCombine][X86] shuffle-of-cmps.ll - tweak shuf_fcmp_oeq_v4i32 shuffle to be not so cheap
An upcoming patch will recognise this as a cheap INSERTPS shuffle - alter the shuffle to ensure the 2 x FCMP is still cheaper on SSE4 targets
Commit: 63d4e0fb66b75dd1c60acaa81ff8f8a4327cffcc
https://github.com/llvm/llvm-project/commit/63d4e0fb66b75dd1c60acaa81ff8f8a4327cffcc
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-add.ll
Log Message:
-----------
[InstCombine] Compute result directly on APInts
If the bitwidth is 2 and we add two 1s, the result may overflow.
This is fine in terms of correctness, but triggers the APInt ctor
assertion. Fix this by performing the calculation directly on APInts.
Fixes the issue reported in:
https://github.com/llvm/llvm-project/pull/114539#issuecomment-2574845003
Commit: 647cadb60af60f9748b0a2f02d7d6421588b099f
https://github.com/llvm/llvm-project/commit/647cadb60af60f9748b0a2f02d7d6421588b099f
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/test/Driver/spirv-openmp-toolchain.c
Log Message:
-----------
explicitly specify the -fopenmp lib in spirv-openmp-toolchain.c test
Don't rely on the default `CLANG_DEFAULT_OPENMP_RUNTIME` env variable
which is `libomp` by default.
This was missed in 119fc720a19e047fee59d7f7446c911b158563e0
Commit: 1fb98b5a7e964efd77a735148e8c8704ca8728db
https://github.com/llvm/llvm-project/commit/1fb98b5a7e964efd77a735148e8c8704ca8728db
Author: Michael Jungmair <michael.jungmair at cs.tum.edu>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/Transforms/LocationSnapshot.h
M mlir/include/mlir/Transforms/Passes.td
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/Transforms/LocationSnapshot.cpp
M mlir/test/Transforms/location-snapshot.mlir
Log Message:
-----------
[mlir][Transforms] Make LocationSnapshotPass respect OpPrintingFlags (#119373)
The current implementation of LocationSnapshotPass takes an
OpPrintingFlags argument and stores it as member, but does not use it
for printing.
Properly implement the printing flags, also supporting command line args.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 4ecd9bd03b8b0e2ceba5c6c8525227be8d8ab215
https://github.com/llvm/llvm-project/commit/4ecd9bd03b8b0e2ceba5c6c8525227be8d8ab215
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M lldb/source/Host/posix/FileSystemPosix.cpp
Log Message:
-----------
[lldb][Posix] Remove unused includes in file system (#121913)
You could remove unistd.h and it will still build, but only because
something else included it. So I've left it in in the spirit of "include
what you use".
Tested on Linux and FreeBSD.
Commit: 5a7dfb46598ebe21318312eca5f407a1575f87e0
https://github.com/llvm/llvm-project/commit/5a7dfb46598ebe21318312eca5f407a1575f87e0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll
M llvm/test/Transforms/VectorCombine/X86/extract-binop.ll
Log Message:
-----------
[CostModel][X86] Attempt to match v4f32 shuffles that map to MOVSS/INSERTPS instruction
improveShuffleKindFromMask matches this as a SK_InsertSubvector of a v1f32 (which legalises to f32) into a v4f32 base vector, making it easy to recognise. MOVSS is limited to index0.
Commit: 1729e6e742ba9f6f210550000ace4bec72530c2e
https://github.com/llvm/llvm-project/commit/1729e6e742ba9f6f210550000ace4bec72530c2e
Author: David Green <david.green at arm.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
Log Message:
-----------
[AArch64] Improve bf16 fp_extend lowering. (#118966)
A bf16 fp_extend is just a shift into the higher bits. This changes the
lowering from using a relatively ugly tablegen pattern, to ISel
generating the shift using an extended vector. This is cleaner and
should optimize better. StrictFP goes through the same route as it
cannot round or set flags.
Commit: 1eed780a6a01b5b10de8a723318f0153b5adea0a
https://github.com/llvm/llvm-project/commit/1eed780a6a01b5b10de8a723318f0153b5adea0a
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[bazel] Update dependency for a738d81cd2822698539b0482af48d49d91ea5a2e
Commit: a5e129ccdedf5c269a8e0fcad5e21381a7f0342c
https://github.com/llvm/llvm-project/commit/a5e129ccdedf5c269a8e0fcad5e21381a7f0342c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/X86/vector-insert-value.ll
Log Message:
-----------
[CostModel][X86] getVectorInstrCost - correctly cost v4f32 insertelement into index 0
This is just the MOVSS instruction (SSE41 INSERTPS is still necessary for index != 0)
This exposed an issue in VectorCombine::foldInsExtFNeg - we need to use the more general SK_PermuteTwoSrc shuffle kind to allow getShuffleCost to match other shuffle kinds (not just SK_Select).
Commit: ca5fd06366448c94e1da085984e9e69f8d6398c3
https://github.com/llvm/llvm-project/commit/ca5fd06366448c94e1da085984e9e69f8d6398c3
Author: 天音あめ <i at amane-a.me>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CodeGen/xcore-abi.c
M clang/test/Sema/varargs.c
Log Message:
-----------
[clang] Fix crashes when passing VLA to va_arg (#119563)
Closes #119360.
This bug occurs when passing a VLA to `va_arg`. Since the return value
is inferred to be an array, it triggers
`ScalarExprEmitter::VisitCastExpr`, which converts it to a pointer and
subsequently calls `CodeGenFunction::EmitAggExpr`. At this point,
because the inferred type is an `AggExpr` instead of a `ScalarExpr`,
`ScalarExprEmitter::VisitVAArgExpr` is not invoked, and as a result,
`CodeGenFunction::EmitVariablyModifiedType` is also not called, leading
to the size of the VLA not being retrieved.
The solution is to move the call to
`CodeGenFunction::EmitVariablyModifiedType` into
`CodeGenFunction::EmitVAArg`, ensuring that the size of the VLA is
correctly obtained regardless of whether the expression is an `AggExpr`
or a `ScalarExpr`.
Commit: 882df0543527694e1f4976991c65712127458b33
https://github.com/llvm/llvm-project/commit/882df0543527694e1f4976991c65712127458b33
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/xor-and-or.ll
Log Message:
-----------
[InstCombine] Fold `(A | B) ^ (A & C) --> A ? ~C : B` (#121906)
Closes https://github.com/llvm/llvm-project/issues/121773.
Commit: 525f5262af81e460b4799e69e3f52701fd45f066
https://github.com/llvm/llvm-project/commit/525f5262af81e460b4799e69e3f52701fd45f066
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
A llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/MC/RISCV/custom_reloc.s
Log Message:
-----------
[RISCV] Support Parsing Nonstandard Relocations (#119909)
This allows nonstandard relocation names to be used in `.reloc` assembly
directives (giving the correct relocation number).
No translation is done by the assembler into `R_RISCV_CUSTOM<n>` names,
and the assembler does not automatically add the relevant
`R_RISCV_VENDOR` relocation with the vendor symbol. If we want, we can
have a different directive that does this later.
The first batch of relocations to be added are from [Qualcomm's RISC-V
psABI
extensions](https://github.com/quic/riscv-elf-psabi-quic-extensions/releases/tag/v0.1).
Commit: c27483763c883ad268ba61249d1c0274a719e2d6
https://github.com/llvm/llvm-project/commit/c27483763c883ad268ba61249d1c0274a719e2d6
Author: flovent <144676429+flovent at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment.cpp
Log Message:
-----------
[clang-tidy] bugprone-unhandled-self-assignment: fix smart pointer check against std::unique_ptr type (#121266)
Unlike other standard smart pointer types, std::unique_ptr has two
template arguments.
testcase need to be updated too.
Commit: a629d9e102bd3c110135d8c4a084af2eb5f49df9
https://github.com/llvm/llvm-project/commit/a629d9e102bd3c110135d8c4a084af2eb5f49df9
Author: Lewis Crawford <lcrawford at nvidia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
R llvm/include/llvm/IR/NVVMIntrinsicFlags.h
A llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
A llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2i-d2i.ll
A llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2ll-d2ll.ll
Log Message:
-----------
[NVPTX] Constant-folding for f2i, d2ui, f2ll etc. (#118965)
Add constant-folding support for the NVVM intrinsics for converting
float/double to signed/unsigned int32/int64 types, including all
rounding-modes and ftz modifiers.
Commit: 4e066b6be42f731eda3ee221d12d9c3d5d21177e
https://github.com/llvm/llvm-project/commit/4e066b6be42f731eda3ee221d12d9c3d5d21177e
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/compare-signs.ll
Log Message:
-----------
[PatternMatch] Match commuted patterns in `Signum_match` (#121911)
Closes https://github.com/llvm/llvm-project/issues/121776.
Commit: 1332db36ee23f19eacf6a84bfda0f9c03a5706e7
https://github.com/llvm/llvm-project/commit/1332db36ee23f19eacf6a84bfda0f9c03a5706e7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] TransformFPLoadStorePair - early out if we're not loading a simple type
Its never going to transform into a legal integer type, so just bail - noticed while triaging the assertion reported in #121784
Commit: 7edeeab5e0023dabd6003d6f113575a5b5b6c83b
https://github.com/llvm/llvm-project/commit/7edeeab5e0023dabd6003d6f113575a5b5b6c83b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M lldb/source/Host/posix/FileSystemPosix.cpp
Log Message:
-----------
[lldb][NetBSD] Remove unused include in FileSystemPosix.cpp (#121920)
Commit: ef391dbc29db097952e71d81cd88e9bd7e81a3fa
https://github.com/llvm/llvm-project/commit/ef391dbc29db097952e71d81cd88e9bd7e81a3fa
Author: Florian Mayer <fmayer at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
Log Message:
-----------
[LV] Drop incorrect inbounds for reverse vector pointer when folding tail (#120730)
When folding the tail, we may compute an address that we don't in the
original scalar loop and it may not be inbounds. Drop Inbounds in that
case.
Commit: 5f6b7145077386afac806eec1bb8e866c6166034
https://github.com/llvm/llvm-project/commit/5f6b7145077386afac806eec1bb8e866c6166034
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/unittests/StaticAnalyzer/Z3CrosscheckOracleTest.cpp
Log Message:
-----------
[analyzer][NFC] Simplify PositiveAnalyzerOption handling (#121910)
This simplifies #120239
Addresses my comment at:
https://github.com/llvm/llvm-project/pull/120239#issuecomment-2574600543
CPP-5920
Commit: ab5133bbc62af4686f305a3c7d85f74b9f5b949f
https://github.com/llvm/llvm-project/commit/ab5133bbc62af4686f305a3c7d85f74b9f5b949f
Author: Nico Weber <thakis at chromium.org>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
R clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/include/.keep
R clang/test/Driver/Inputs/MacOSX15.1.sdk/embedded/usr/local/include/.keep
R clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/include/c++/v1/.keep
R clang/test/Driver/Inputs/MacOSX15.1.sdk/usr/local/include/.keep
R clang/test/Driver/darwin-embedded-search-paths.c
M clang/test/Preprocessor/macho-embedded-predefines.c
M llvm/include/llvm/TargetParser/Triple.h
Log Message:
-----------
Revert "[Darwin][Driver][clang] apple-none-macho orders the resource directory after internal-externc-isystem when nostdlibinc is used (#120507)"
This reverts commit 653a54727eaa18c43447ad686c987db67f1dda74.
Breaks tests, see https://github.com/llvm/llvm-project/pull/120507#issuecomment-2575246281
Commit: faa3f752896903c2d09d389970d3d0ebf50a1073
https://github.com/llvm/llvm-project/commit/faa3f752896903c2d09d389970d3d0ebf50a1073
Author: Jannik Glückert <jannik.glueckert at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libcxx/src/filesystem/operations.cpp
Log Message:
-----------
[libc++] Fix largefile handling in fs::copy_file (#121855)
Fix for issues reported in https://github.com/llvm/llvm-project/pull/109211
Commit: 0c8efbe3a0bd8a46a27835cfefefdc05c4d679a5
https://github.com/llvm/llvm-project/commit/0c8efbe3a0bd8a46a27835cfefefdc05c4d679a5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Log Message:
-----------
[X86] Add shuffle test for #121823
Commit: c3fc41c60bdb76cda7c8b3937515f67f5d4e136e
https://github.com/llvm/llvm-project/commit/c3fc41c60bdb76cda7c8b3937515f67f5d4e136e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port bc51a2e3940a
Commit: 82ec2d6aa45fcfbfcf9f12504c10b1e457bda65c
https://github.com/llvm/llvm-project/commit/82ec2d6aa45fcfbfcf9f12504c10b1e457bda65c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
Log Message:
-----------
[Coalescer] Consider NewMI's subreg index when updating lanemask. (#121780)
The code added in #116191 that updated the lanemasks for rematerialized
values checked if `DefMI`'s destination register had a subreg index.
This seems to have missed the following case:
```
%0:gpr32 = MOVi32imm 1
%1:gpr64 = SUBREG_TO_REG 0, %0:gpr32, %subreg.sub_32
```
which during rematerialization would have the following variables set:
```
DefMI = %0:gpr32 = MOVi32imm 1
NewMI = %3.sub_32:gpr64 = MOVi32imm 1 (rematerialized value)
```
When checking whether the lanemasks need to be generated, considering
whether DefMI's destination has a subreg index is insufficient, we
should look at DefMI's subreg index instead.
The added tests are a bit more involved, because I was not able to
reconstruct the issue without having some control flow in the test.
These tests come from actual reproducers.
Commit: 473cdb93e55deeea6a7f654e192f5227d85cee08
https://github.com/llvm/llvm-project/commit/473cdb93e55deeea6a7f654e192f5227d85cee08
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/test/CodeGen/sanitize-type-globals.cpp
Log Message:
-----------
[TySan] Don't report globals with incomplete types. (#121922)
Type metadata for incomplete types should also get handled at the place
they are defined.
Fixes https://github.com/llvm/llvm-project/issues/121014.
PR: https://github.com/llvm/llvm-project/pull/121922
Commit: 71ddde8ba52af7277b8f3a8dffa570963a3069f2
https://github.com/llvm/llvm-project/commit/71ddde8ba52af7277b8f3a8dffa570963a3069f2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
A llvm/unittests/tools/llvm-exegesis/RISCV/CMakeLists.txt
A llvm/unittests/tools/llvm-exegesis/RISCV/SnippetGeneratorTest.cpp
A llvm/unittests/tools/llvm-exegesis/RISCV/TargetTest.cpp
A llvm/unittests/tools/llvm-exegesis/RISCV/TestBase.h
Log Message:
-----------
[RISCV][llvm-exegesis] Add unittests. NFC (#121862)
This is largely based on Mips and PowerPC.
Commit: 2c7c07df828e5be1480c38d2a93a82294da10b47
https://github.com/llvm/llvm-project/commit/2c7c07df828e5be1480c38d2a93a82294da10b47
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/docs/DirectX/DXILResources.rst
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/test/CodeGen/DirectX/BufferLoad.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
Log Message:
-----------
[DirectX] Remove the "checked" variants of `dx.resource.load` (#120778)
We'd introduced separate versions of `llvm.dx.resource.load` with a
struct return to handle the CheckAccessFullyMapped case without making
the IR for the common case unnecessarily complicated. However, at this
point the common case is really `resource.getpointer`, so the ergonomics
of a simplified version of `load` don't actually gain us as much as the
cost of having multiple opcodes.
Drop the `dx.resource.loadchecked` functions and have `dx.resource.load`
consistently return `{element_type, i1}`.
Commit: 8178d3c9641998c23eda22740bacae212ee5b3ef
https://github.com/llvm/llvm-project/commit/8178d3c9641998c23eda22740bacae212ee5b3ef
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/docs/DirectX/DXILResources.rst
Log Message:
-----------
[DirectX] Add getpointer docs to DXILResources.rst (#120779)
Commit: 17c8c1c5098bd1fa68809d686867d01d56d5e564
https://github.com/llvm/llvm-project/commit/17c8c1c5098bd1fa68809d686867d01d56d5e564
Author: bcahoon <59846893+bcahoon at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.ll
A llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.mir
A llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-read.mir
Log Message:
-----------
[AMDGPU] Do not fold into v_accvpr_mov/write/read (#120475)
In SIFoldOperands, leave copies for moving between agpr and vgpr
registers. The register coalescer is able to handle the copies
more efficiently than v_accvgpr_mov, v_accvgpr_write, and
v_accvgpr_read. Otherwise, the compiler generates unneccesary
instructions such as v_accvgpr_mov a0, a0.
Commit: d0812dbbff2ac839694ee1988e6af962fcd0bb1e
https://github.com/llvm/llvm-project/commit/d0812dbbff2ac839694ee1988e6af962fcd0bb1e
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/minmax.ll
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_aliases.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] true16 for v_minmax/maxmin_f16 and v_minmax/maxmin_num_f16 (#120617)
True16 support for v_minmax/maxmin_f16(GFX11) and
v_minmax/maxmin_num_f16(GFX12).
These insts are updated at the same time since we are replacing the
`v_minmax/maxmin_f16` to `v_minmax/maxmin_fake16_f16` while
`v_minmax/maxmin_num_f16` are alias insts and share the same CodeGen
pattern.
Added a GFX12 runline in minmax.ll in fake16 flow
Commit: 96f8cfe4d05049abde300480812c6a96879ccdf8
https://github.com/llvm/llvm-project/commit/96f8cfe4d05049abde300480812c6a96879ccdf8
Author: vfdev <vfdev.5 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M mlir/CMakeLists.txt
M mlir/docs/Bindings/Python.md
M mlir/test/python/execution_engine.py
Log Message:
-----------
Cosmetic fixes in the code and typos in Python bindings docs (#121791)
Description:
- removed trailing spaces in few files
- fixed markdown link definition:
Commit: a0f5bbcfb71a28cd3eaa308250af63a0889a1c85
https://github.com/llvm/llvm-project/commit/a0f5bbcfb71a28cd3eaa308250af63a0889a1c85
Author: vfdev <vfdev.5 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
Log Message:
-----------
Fixed typo in dunder get/set methods in PyAttrBuilderMap (#121794)
Description:
- fixed a typo in the method name: dunde -> dunder
Commit: 7899572c88c6516b142c35e95e911917b623e057
https://github.com/llvm/llvm-project/commit/7899572c88c6516b142c35e95e911917b623e057
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/swdev503538-move-to-valu-stack-srd-physreg.ll
Log Message:
-----------
AMDGPU: Forcibly disable verifier in test
The test added in f6365a47a1ad9ab6d432f6e40d14a11419e21282 fails the verifier
for the reason noted in the comment, but we need to skip the verifier
error in EXPENSIVE_CHECKS builds
Commit: 4e36d5b92d78822f9eeef6b62e7b037f5c2cb5b9
https://github.com/llvm/llvm-project/commit/4e36d5b92d78822f9eeef6b62e7b037f5c2cb5b9
Author: Petr Vesely <22935437+veselypeta at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
Log Message:
-----------
[NFC][Coroutines] Remove invalid coroutine intrinsic name (#114543)
Removes `llvm.coro.async.store_resume` from the list of coroutine
intrinsics. This is not a valid intrinsic name, and was likely added by
mistake with [this](https://reviews.llvm.org/D90612) change.
Commit: 785b16ad04a741dce65ebaa11ee86d9dd19dd699
https://github.com/llvm/llvm-project/commit/785b16ad04a741dce65ebaa11ee86d9dd19dd699
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/test/CodeGen/RISCV/GlobalISel/double-zfa.ll
Log Message:
-----------
[RISCV][GISel] Support G_MERGE_VALUES/G_UNMERGE_VALUES with Zfa. (#120379)
Without Zfa we use pseudos that are lowered to a stack load/store. With
Zfa we have instructions that can move a pair of registers to an FPR. Or
move the high or low half of an FPR to a GPR.
I've used a GINodeEquiv to make use of 3 of the 4 tablegen patterns. The
split case with Zfa requires 2 instructions which I'm doing through
custom isel like we do in SelectionDAG.
Commit: b7a6e9da124142a1bd28895eea768a158901a03b
https://github.com/llvm/llvm-project/commit/b7a6e9da124142a1bd28895eea768a158901a03b
Author: earnol <earnol at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M compiler-rt/lib/ubsan/ubsan_value.h
Log Message:
-----------
[ubsan] Use internal_memcpy to copy ubsan bits size (#121586)
While fetching amounts of bits used to correctly display ubsan value
reinterpret_cast was used, however as noted by Jakub Jelínek in
https://github.com/llvm/llvm-project/pull/96240 discussion it might
cause issues due to potentially unaligned memory access. The patch
addresses this problem.
Co-authored-by: Vladislav Aranov <vladislav.aranov at ericsson.com>
Commit: 619a5d3274350b87028c96cb8e8be51731d334cb
https://github.com/llvm/llvm-project/commit/619a5d3274350b87028c96cb8e8be51731d334cb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineTarge - pull out repeated getVectorNumElements calls. NFC.
Commit: 56c5a6ba836065a6e3be9d04e2c64aa8a758a3f4
https://github.com/llvm/llvm-project/commit/56c5a6ba836065a6e3be9d04e2c64aa8a758a3f4
Author: Kristóf Umann <dkszelethus at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[NFC][analyzer][docs] Crosslink MallocChecker's ownership attributes (#121939)
Forgot to mention these in the checker docs.
Commit: db81e8c42e121e62a00587b12d2b972dfcfb98c0
https://github.com/llvm/llvm-project/commit/db81e8c42e121e62a00587b12d2b972dfcfb98c0
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/include/clang-c/Index.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
A clang/test/SemaOpenACC/update-construct-ast.cpp
A clang/test/SemaOpenACC/update-construct.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[OpenACC] Initial sema implementation of 'update' construct
This executable construct has a larger list of clauses than some of the
others, plus has some additional restrictions. This patch implements
the AST node, plus the 'cannot be the body of a if, while, do, switch,
or label' statement restriction. Future patches will handle the
rest of the restrictions, which are based on clauses.
Commit: dd1e8aa09c0ab453a0566165b68e6a62fcd055e1
https://github.com/llvm/llvm-project/commit/dd1e8aa09c0ab453a0566165b68e6a62fcd055e1
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
Log Message:
-----------
[OpenACC] Enable 'if' and 'if_present' for 'update' construct
The only restriction on 'if' is that only 1 can appear on an update
construct, so this enforces that. 'if_present' has no restrictions.
Commit: 937445365aab70d47b443c53d6cdd5707f388c3d
https://github.com/llvm/llvm-project/commit/937445365aab70d47b443c53d6cdd5707f388c3d
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-01-07 (Tue, 07 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] Reland posix part of #121616 setbuf, setvbuf. (#121658)
Commit: 611c96af8cdf950f00d593ee69cce2d165457a9e
https://github.com/llvm/llvm-project/commit/611c96af8cdf950f00d593ee69cce2d165457a9e
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
Log Message:
-----------
[flang] Schedule InlineHLFIRAssign after BufferizeHLFIR. (#121863)
This helps to get rid of *some* calls to AssignTemporary runtime
that are appearing due to temporary_lhs hlfir.assign produced
in BufferizeHLFIR. I only tested it on `tonto`, and did not see
any performance changes. I will run more performance testing
before merging this.
Commit: 51c9c823ca187895478e42883ba7a8d1f3150e87
https://github.com/llvm/llvm-project/commit/51c9c823ca187895478e42883ba7a8d1f3150e87
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/add_sext_shl_constant.ll
Log Message:
-----------
[RISCV] Added test case for PR119527. NFC (#121816)
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 2e637dbbb8bc9a41f8eabd1df347ca2559b1abd7
https://github.com/llvm/llvm-project/commit/2e637dbbb8bc9a41f8eabd1df347ca2559b1abd7
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/convert-fold.fir
M flang/test/Lower/array-substring.f90
M flang/test/Lower/vector-subscript-io.f90
Log Message:
-----------
[flang] Canonicalize redundant pointer converts. (#121864)
This patch adds a canonicalization pattern for optimizing redundant
"pointer" fir.converts. Such converts prevent the StackArrays pass
to recognize fir.freemem for the corresponding fir.allocmem, e.g.:
```
%69 = fir.allocmem !fir.array<2xi32>
%71:2 = hlfir.declare %69(%70) {uniq_name = ".tmp.arrayctor"} :
(!fir.heap<!fir.array<2xi32>>, !fir.shape<1>) ->
(!fir.heap<!fir.array<2xi32>>, !fir.heap<!fir.array<2xi32>>)
%95 = fir.convert %71#1 :
(!fir.heap<!fir.array<2xi32>>) -> !fir.ref<!fir.array<2xi32>>
%100 = fir.convert %95 :
(!fir.ref<!fir.array<2xi32>>) -> !fir.heap<!fir.array<2xi32>>
fir.freemem %100 : !fir.heap<!fir.array<2xi32>>
```
I found this in `tonto`, but the change does not affect performance at all.
Anyway, it looks like a reasonable thing to do, and it makes easier
to compare the performance profiles with other compilers'.
Commit: 8557a57c4b1a228ce63f2409dd5cc4c70a25e6fc
https://github.com/llvm/llvm-project/commit/8557a57c4b1a228ce63f2409dd5cc4c70a25e6fc
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
A flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
Log Message:
-----------
[flang][OpenMP][NFC] Move reduction init and cleanup region gen to helper (#120761)
This will allow code sharing between reduction and privatization after
my (still WIP) changes to `omp.private` to use an `alloc` region similar
to the one used for reduction declarations.
Commit: 57b80e8b1a7eaa5b8b9114e4bb2395e0d05c75a5
https://github.com/llvm/llvm-project/commit/57b80e8b1a7eaa5b8b9114e4bb2395e0d05c75a5
Author: Sean Perry <perry at ca.ibm.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
A clang/test/Driver/Inputs/config-zos/clang.cfg
A clang/test/Driver/Inputs/config-zos/def.cfg
A clang/test/Driver/Inputs/config-zos/tst/def.cfg
A clang/test/Driver/config-zos.c
A clang/test/Driver/config-zos1.c
Log Message:
-----------
[SystemZ][z/OS] Add z/OS customization file (#111182)
On z/OS, the location of the system libraries and side decks (aka
equivalent to libc, etc) are not in a predefined location. The system
does have a default location but sysadmins can change this and
frequently do. See the -mzos-hlq* options we have for z/OS.
To avoid every user needing to specify these -mzos-hlq* options, we
added support for a system install default config file that is always
read independent of the usual config file. The compiler will read this
customization config file before reading the usual config files.
The customization file is called clang.cfg and is located in:
- the etc dir within the compiler installation dir.
- or specified by the CLANG_CONFIG_PATH env var. This env var can either
be a directory or the fill path name of the file.
Commit: fbd2365c467ba5c28d65451cfffcbf563df2c647
https://github.com/llvm/llvm-project/commit/fbd2365c467ba5c28d65451cfffcbf563df2c647
Author: Damien L-G <dalg24 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
Log Message:
-----------
[libc++] Improve coverage of std::atomic_ref<T>::exchange() (#121596)
Adapted from libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
as we did for testing other functionalities. Spotted that lapse in coverage when working on #121414.
Commit: 0a58a1c9a26d4fdfeaebfbcd0891bf2a844ee838
https://github.com/llvm/llvm-project/commit/0a58a1c9a26d4fdfeaebfbcd0891bf2a844ee838
Author: Nick Desaulniers <ndesaulniers at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libc/src/time/mktime.cpp
Log Message:
-----------
[libc] update todo with bug link
Commit: 5130a4ea121fa74b0fe9a0c9a44ede651f94f93a
https://github.com/llvm/llvm-project/commit/5130a4ea121fa74b0fe9a0c9a44ede651f94f93a
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/runtime/derived.cpp
M flang/test/Lower/OpenMP/derived-type-allocatable.f90
Log Message:
-----------
[flang][OpenMP] Handle pointers and allocatables in clone init (#121824)
InitializeClone(), implemented in #120295, was not handling top
level pointers and allocatables correctly.
Pointers and unallocated variables must be skipped.
This caused some regressions in the Fujitsu testsuite:
https://linaro.atlassian.net/browse/LLVM-1488
Commit: 0d9cf2671e06c9124a0b5fc753330c39c8b4a791
https://github.com/llvm/llvm-project/commit/0d9cf2671e06c9124a0b5fc753330c39c8b4a791
Author: John Harrison <harjohn at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Ensure the IO forwarding threads are managed by the DAP object lifecycle. (#120457)
This moves the ownership of the threads that forward stdout/stderr to
the DAP object itself to ensure that the threads are joined and that the
forwarding is cleaned up when the DAP connection is disconnected.
This is part of a larger refactor to allow lldb-dap to run in a
listening mode and accept multiple connections.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: aa9cc721e58f086ba6a3f9711fefdb61a184f786
https://github.com/llvm/llvm-project/commit/aa9cc721e58f086ba6a3f9711fefdb61a184f786
Author: Peter Waller <peter.waller at arm.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
A bolt/test/AArch64/pad-before-funcs.s
Log Message:
-----------
Reapply "[BOLT] Add --pad-funcs-before=func:n (#117924)" (#121918)
- **Reapply "[BOLT] Add --pad-funcs-before=func:n (#117924)"**
- **[BOLT] Fix --pad-funcs{,-before} state misinteraction**
When --pad-funcs-before was introduced, it introduced a bug whereby the
first one to get parsed could influence the other.
Ensure that each has its own state and test that they don't interact in
this manner by testing how the `_subsequent` symbol moves when both
arguments are supplied with different padding values.
Fixed by having a function (and static state) for each of before/after.
Commit: 15d3e4afd60c1c47af73816d23fbf767ff6c4542
https://github.com/llvm/llvm-project/commit/15d3e4afd60c1c47af73816d23fbf767ff6c4542
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/onehot_merge.ll
Log Message:
-----------
[InstCombine] Test for two types of bittests (NFC)
Commit: 292c1350d1509090949f037603663aa64985fe69
https://github.com/llvm/llvm-project/commit/292c1350d1509090949f037603663aa64985fe69
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
A libcxx/utils/libcxx-benchmark-json
A libcxx/utils/libcxx-compare-benchmarks
Log Message:
-----------
[libc++] Add new utilities to compare benchmark results between builds (#120743)
Also, add documentation for it.
Commit: 6192fafe9c8d287daa9d40e3adcd24220a7872af
https://github.com/llvm/llvm-project/commit/6192fafe9c8d287daa9d40e3adcd24220a7872af
Author: goldsteinn <35538541+goldsteinn at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstSimplify] Use multi-op replacement when simplify `select` (#121708)
- **[InstSimplify] Refactor `simplifyWithOpsReplaced` to allow multiple
replacements; NFC**
- **[InstSimplify] Use multi-op replacement when simplify `select`**
In the case of `select X | Y == 0 :...` or `select X & Y == -1 : ...`
we can do more simplifications by trying to replace both `X` and `Y`
with the respective constant at once.
Handles some cases for https://github.com/llvm/llvm-project/pull/121672
more generically.
Commit: afa8aeeeec9a897a35ba5c8afc024d9b10504db1
https://github.com/llvm/llvm-project/commit/afa8aeeeec9a897a35ba5c8afc024d9b10504db1
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.td
A llvm/lib/Target/RISCV/RISCVPfmCounters.td
M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
M llvm/unittests/tools/llvm-exegesis/RISCV/TargetTest.cpp
Log Message:
-----------
[RISCV][llvm-exegesis] Add default Pfm cycle counter. (#121866)
Also tested with Ubuntu on SiFive's HiFive Premier P550 board. Curiously
latency is reporting ~1.5 on basic scalar arithmetic, scalar mul is
~3.5, and div is ~36.5. This 0.5 cycles higher than I expect.
Commit: 5c7a69674f818e41c32a6535e416e4a8fa280273
https://github.com/llvm/llvm-project/commit/5c7a69674f818e41c32a6535e416e4a8fa280273
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMSystemRegister.td
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.cpp
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
Log Message:
-----------
[ARM] Migrate from SearchableTable to GenericTable. NFC (#121840)
SearchableTable is the legacy version that does not appear to be well
documented. Not sure if the plan was to delete it eventually.
The enum from SearchableTable does not appear to be used so I did not
add a GenericEnum. MClassSysReg assigned EnumValueField 3 times, but
rather than creating 3 enums, this overwrites the previous assignment.
We can eventually use the PrimaryKey feature of GenericTable to remove
one of the SearchIndex declarations. This will sort the generated table
by the primary key and remove the separately generated indexing table to
reduce .rodata size.
This patch is just the mechanical migration. The size savings will be
done in follow ups.
Commit: 478648e2c0adbafa5e4cb10eb53aadbdf7de97d9
https://github.com/llvm/llvm-project/commit/478648e2c0adbafa5e4cb10eb53aadbdf7de97d9
Author: Caslyn Tonelli <6718161+Caslyn at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M compiler-rt/lib/gwp_asan/tests/harness.h
Log Message:
-----------
[gwp_asan] Soft-transition ZXTEST_USE_STREAMABLE_MACROS removal (#121887)
Soft-transition the removal of setting ZXTEST_USE_STREAMABLE_MACROS, by
only setting the macro if not already defined. A future PR will remove
setting the macro entirely in harness.h.
Commit: 49357b22dbb26d4aa6816dee279df70f1a2cd695
https://github.com/llvm/llvm-project/commit/49357b22dbb26d4aa6816dee279df70f1a2cd695
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/smed3.ll
M llvm/test/CodeGen/AMDGPU/umed3.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen pattern for v_med3_u/i16 (#121850)
True16 codegen pattern for v_med3_u/i16
Commit: e2c1b1fed43619bdb88bb5e99b7e8c2fff9f6553
https://github.com/llvm/llvm-project/commit/e2c1b1fed43619bdb88bb5e99b7e8c2fff9f6553
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
Log Message:
-----------
[OpenACC] enable 'async' and 'wait' for 'update' construct
These work the same here as they do for every other construct, so this
is as simple as enabling them and writing tests, which this patch does.
Commit: 6c3c90b5a81a3c27dbc195d7e49dc4c89e0e604f
https://github.com/llvm/llvm-project/commit/6c3c90b5a81a3c27dbc195d7e49dc4c89e0e604f
Author: Lei Wang <wlei at fb.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
A llvm/test/tools/llvm-profgen/context-depth.test
M llvm/test/tools/llvm-profgen/recursion-compression-pseudoprobe.test
M llvm/tools/llvm-profgen/PerfReader.cpp
Log Message:
-----------
[CSSPGO]Add a flag to limit unsymbolized context depth (#121531)
Adding a new flag(`--csprof-max-unsymbolized-context-depth`) to only
limit unsymbolized context depth. Currently,`--csprof-max-context-depth`
applies to both symbolized and unsymbolized profile context, there are
scenarios where `--csprof-max-context-depth` may not be flexible enough,
e.g. if we want to limit the context but still keep all the inlinings
from the leaf frame, we could set the value
csprof-max-unsymbolized-context-depth >= 1.
Commit: a15fedc399d5d1aa07c14531e5cd8d3efc583600
https://github.com/llvm/llvm-project/commit/a15fedc399d5d1aa07c14531e5cd8d3efc583600
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
Log Message:
-----------
[lldb] Correct address calculation for reading segment data (#120655)
This commit addresses a bug introduced in commit bcf654c, which
prevented LLDB from parsing the GNU build ID for the main executable
from a core file. The fix finds the `p_vaddr` of the first `PT_LOAD`
segment as the `base_addr` and subtract this `base_addr` from the
virtual address being read.
Co-authored-by: George Hu <hyubo at meta.com>
Commit: ac604b2fa6ff0344a555954069721c0db7b874f9
https://github.com/llvm/llvm-project/commit/ac604b2fa6ff0344a555954069721c0db7b874f9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libc/src/__support/GPU/CMakeLists.txt
R libc/src/__support/GPU/amdgpu/CMakeLists.txt
R libc/src/__support/GPU/amdgpu/utils.h
R libc/src/__support/GPU/generic/CMakeLists.txt
R libc/src/__support/GPU/generic/utils.h
R libc/src/__support/GPU/nvptx/CMakeLists.txt
R libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/GPU/utils.h
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/nanosleep.cpp
Log Message:
-----------
[libc] Switch to using the generic `<gpuintrin.h>` implementations (#121810)
Summary:
This patch switches the GPU utility helpers to wrapping around the
gpuintrin.h ones with a C++ flavor.
Commit: 666eee0ef85ff8a81904b9375fc22bc48cecc6b1
https://github.com/llvm/llvm-project/commit/666eee0ef85ff8a81904b9375fc22bc48cecc6b1
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACC.cpp
M clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/SemaOpenACC/update-construct-ast.cpp
M clang/test/SemaOpenACC/update-construct.cpp
Log Message:
-----------
[OpenACC] enable 'device_type' for the 'update' construct
This has a similar restriction to 'set' in that only 'async' and 'wait'
are disallowed, so this implements that restriction and enables
'device_type'.
Commit: 68694259b298614f16f87d83a56be1207f36fa53
https://github.com/llvm/llvm-project/commit/68694259b298614f16f87d83a56be1207f36fa53
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
Log Message:
-----------
AMDGPU: Use getSignedTargetConstant for ImmOffset in SelectScratchSVAddr (#121978)
ImmOffset is signed and we will hit an assert with negative ImmOffset
when getTargetConstant is used.
Fixes: SWDEV-506453
Commit: ce33a48efdd61435e026733315f1ac960774c254
https://github.com/llvm/llvm-project/commit/ce33a48efdd61435e026733315f1ac960774c254
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libc/include/__llvm-libc-common.h
Log Message:
-----------
[libc] Keep headers compatible with -std=c89 mode (#121981)
C89 doesn't have the `restrict` keyword. When in `-std=c89`
mode, GNU-compatible compilers require the `__restrict` spelling.
Commit: cda43e1ba31346966830c01cd12120d884239128
https://github.com/llvm/llvm-project/commit/cda43e1ba31346966830c01cd12120d884239128
Author: Yi Kong <yikong at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libcxx/src/filesystem/operations.cpp
Log Message:
-----------
[libcxx] Fix build for glibc < 2.27 (#121893)
PR #109211 introduced a build break on systems with glibc < 2.27, since
copy_file_range was only introduced after that version. A version check
is added to prevent this breakage.
Commit: ea14bdb0356cdda727ac032470f6a0a2102d1281
https://github.com/llvm/llvm-project/commit/ea14bdb0356cdda727ac032470f6a0a2102d1281
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/uncountable-single-exit-loops.ll
Log Message:
-----------
[LV] Add test showing debug output for loops with uncountable BTCs.
Currently we print an early-exit related related debug message, even
though there's no early exit.
Commit: 29b5c18e466cea867e9e785e650d9ec2e5c295b9
https://github.com/llvm/llvm-project/commit/29b5c18e466cea867e9e785e650d9ec2e5c295b9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-ocl.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-opaque.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect.ll
Log Message:
-----------
[NVPTX] Do not run the NVVMReflect pass as part of the normal pipeline (#121834)
Summary:
This pass lowers the `__nvvm_reflect` builtin in the IR. However, this
currently runs in the standard optimization pipeline, not just the
backend pipeline. This means that if the user creates LLVM-IR without an
architecture set, it will always delete the reflect code even if it is
intended to be used later.
Pushing this into the backend pipeline will ensure that this works as
intended, allowing users to conditionally include code depending on
which target architecture the user ended up using. This fixes a bug in
OpenMP and missing code in `libc`.
Commit: 2ab447ad6983fb9f22f2fea480f3857522750860
https://github.com/llvm/llvm-project/commit/2ab447ad6983fb9f22f2fea480f3857522750860
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
Log Message:
-----------
Fix dangling IPOAmendableCB function_ref. (#120698)
The `IPOAmendableCB`'s type is `llvm::function_ref`, it is error-prone
to write code (e.g.
https://github.com/llvm/llvm-project/blob/5656cbca52545e608f6fb8b7c9a778c7c9b4b468/llvm/lib/Transforms/IPO/OpenMPOpt.cpp#L5812)
that assign a temporary lambda to an `IPOAmendableCB` object, which is a
use-after-free issue.
This patch changes the `IPOAmendableCB` to `std::function`, to avoid the
dangling issue.
Commit: e7a83fc74db78445c36a27f113e9b045f90f699a
https://github.com/llvm/llvm-project/commit/e7a83fc74db78445c36a27f113e9b045f90f699a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
Log Message:
-----------
[NVPTX] Fix a warning
This patch fixes:
llvm/lib/Target/NVPTX/NVVMReflect.cpp:225:18: error: object backing
the pointer will be destroyed at the end of the full-expression
[-Werror,-Wdangling-gsl]
Commit: 56936ec63dcc03f64c129ee45716431e56e5d3d1
https://github.com/llvm/llvm-project/commit/56936ec63dcc03f64c129ee45716431e56e5d3d1
Author: Sad Al Abdullah <siam9090 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
Log Message:
-----------
Fixing FindUnusedPort method tcp_socket object creation with proper constructor parameter (#121879)
### Issue:
Currently lldb `platform connect unix-connect://localhost:43045/` is
failing and showing "Failed to connect port" error message.

### Cause:
TCPSocket(bool should_close, bool child_processes_inherit) constructor
was removed in commit
[c1dff71](https://github.com/llvm/llvm-project/commit/c1dff7152592f1beee9059ee8e2cb3cc68baea4d#diff-91817651b505a466ea94ddc44eca856f62073e03b05d0d0d2f4a55dcfea0002eL20).
However, the tcp_socket object creation still passes the deleted
constructor parameters, which causes the invocation of the wrong
constructor. As a result, the `FindUnusedPort` method is unable to
resolve the local port and always returns 0.
Commit: 75325c658e1f2dc81557cf4db9206310ae90c27f
https://github.com/llvm/llvm-project/commit/75325c658e1f2dc81557cf4db9206310ae90c27f
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M compiler-rt/cmake/base-config-ix.cmake
Log Message:
-----------
[Darwin][CompilerRT] Set compiler ID to 'Clang' for Compiler RT Tests for Apple Clang (#121858)
This patch restores previous behavior. Even when the Compiler ID is set
to AppleClang, we expect Compiler RT Tests to use Clang as the compiler
ID. This impacts various make and lit commands.
Caused by: https://github.com/llvm/llvm-project/pull/117812/files
rdar://141548700
Commit: 3b19e787fc5da27dfcc9ac6552b06a763f12ea03
https://github.com/llvm/llvm-project/commit/3b19e787fc5da27dfcc9ac6552b06a763f12ea03
Author: Prabhuk <prabhukr at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libc/config/baremetal/config.json
Log Message:
-----------
[libc] Keep framepointers for baremetal (#121836)
Keep framepointers enabled by default for the default baremetal libc
builds.
Frame pointers help unwind the stack and unwinding without frame pointer
is complex and increaseis the code size. This code size increase is
potentially larger than the savings achieved by disabling frame
pointers. Retaining the original behavior of retaining frame pointers as
the default behavior.
Commit: 0eaa69eb234798774a08743b64a9aa0cf71c5356
https://github.com/llvm/llvm-project/commit/0eaa69eb234798774a08743b64a9aa0cf71c5356
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[VPlan] Handle VPExpandSCEVRecipe in isUniformAfterVectorization.
VPExpandSCEVRecipes must be placed in the entry and are alway uniform.
This fixes a crash by always identifying them as uniform, even if the
main vector loop region has been removed.
Fixes https://github.com/llvm/llvm-project/issues/121897.
Commit: 858f025a00fd107e9b8f97b630028d40c0c68725
https://github.com/llvm/llvm-project/commit/858f025a00fd107e9b8f97b630028d40c0c68725
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[ci] Bump the version of clang-format used in the CI (#119915)
The version of clang-format we use in the CI to format all PRs is a bit
outdated, leading to some confusion when the CI job produces different
output from what people have locally.
Commit: 71e9a48227a0599130b2f9ed090366bb973c57e5
https://github.com/llvm/llvm-project/commit/71e9a48227a0599130b2f9ed090366bb973c57e5
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libcxx/include/__vector/vector_bool.h
A libcxx/test/std/containers/sequences/vector.bool/at.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/at_const.pass.cpp
Log Message:
-----------
[libc++] Mark vector<bool>::at() as constexpr to conform to C++20 standard (#121848)
Closes #121844.
Commit: 841895543edcf98bd16027c6b85fe7c6419a4566
https://github.com/llvm/llvm-project/commit/841895543edcf98bd16027c6b85fe7c6419a4566
Author: Petr Hosek <phosek at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libcxx/src/include/overridable_function.h
M libcxx/src/new.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
[libcxx] Use alias for detecting overriden function (#120805)
This mechanism is preferable in environments like embedded since it
doesn't require special handling of the custom section.
This is a reland of https://github.com/llvm/llvm-project/pull/114961
which addresses the issue reported by downstream users. Specifically,
the two differences from the previous version are:
* The internal `symbol##_impl__` symbol in the Mach-O implementation is
annotated with `__attribute__((used))` to prevent LTO from deleting it
which we've seen in the previous version.
* `__is_function_overridden` is marked as `inline` so these symbols are
placed in a COMDAT (or fully inlined) to avoid duplicate symbol errors
which we've seen in the previous version.
Commit: 9612175f22146505ea871e4f60a5d701b45ffeeb
https://github.com/llvm/llvm-project/commit/9612175f22146505ea871e4f60a5d701b45ffeeb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libcxx/docs/Hardening.rst
Log Message:
-----------
[libc++][NFC] Remove stray backtick in documentation
Commit: 1855333e3a843174c0d7421d4c5e404649f6b75a
https://github.com/llvm/llvm-project/commit/1855333e3a843174c0d7421d4c5e404649f6b75a
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libcxx/docs/Hardening.rst
Log Message:
-----------
[libc++] Fix documentation for setting hardening ABI macros (#121946)
The documentation was misleading, suggesting that people could simply
define these macros, when in reality they must be passed at CMake
configuration time in a very specific way.
This was reported in #https://github.com/bitcoin/bitcoin/pull/31612.
Commit: 287a17de15d87b0d56e25841d2226f65a1973883
https://github.com/llvm/llvm-project/commit/287a17de15d87b0d56e25841d2226f65a1973883
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 0d9cf2671e06c9124a0b5fc753330c39c8b4a791
Commit: 0bfee00034ce56bd7d11e4460ffb0fc6612b7cc9
https://github.com/llvm/llvm-project/commit/0bfee00034ce56bd7d11e4460ffb0fc6612b7cc9
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Port afa8aeeeec9a897a35ba5c8afc024d9b10504db1
Commit: 2015c0a405ddb1e54d8b1494fcc06fdbf2fa2265
https://github.com/llvm/llvm-project/commit/2015c0a405ddb1e54d8b1494fcc06fdbf2fa2265
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
Log Message:
-----------
[AArch64] Remove unused AltName field from PHint GenericTable. NFC
Commit: c6f67b8e39a907fb96b715cae3ee90e4c1b248aa
https://github.com/llvm/llvm-project/commit/c6f67b8e39a907fb96b715cae3ee90e4c1b248aa
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/ValueBoundsOpInterfaceImpl.cpp
M mlir/test/Dialect/Affine/value-bounds-op-interface-impl.mlir
Log Message:
-----------
[mlir][affine] Add ValueBoundsOpInterface to [de]linearize_index (#121833)
Since a need for it came up dowstream (in proving that loops run at
least once), this commit implements the ValueBoundsOpInterface for
affine.delinearize_index and affine.linearize_index, using affine map
representations of the operations they perform.
These implementations also use information from outer bounds to impose
additional constraints when those are available.
Commit: 36e4176f1d83d04cdebb4e1870561099b2478d80
https://github.com/llvm/llvm-project/commit/36e4176f1d83d04cdebb4e1870561099b2478d80
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
A llvm/test/CodeGen/RISCV/rvv/vlopt-volatile-ld.mir
M llvm/test/CodeGen/RISCV/rvv/vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-vp.ll
Log Message:
-----------
[RISCV][VLOPT] Add strided, unit strided, and indexed loads to isSupported (#121705)
Add to getOperandInfo too since that is needed to reduce the VL.
Commit: b22551373cbde6392929325a33694f572b4fd016
https://github.com/llvm/llvm-project/commit/b22551373cbde6392929325a33694f572b4fd016
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/div.s
Log Message:
-----------
[RISCV] Add missing SiFive P400 scheduling model test for divisions. NFC
Add the missing scheduling model test for scalar divisions.
NFC.
Commit: 142787d3687eb58633c7c55a7a9f328ba4504986
https://github.com/llvm/llvm-project/commit/142787d3687eb58633c7c55a7a9f328ba4504986
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/fold-binary-reduce.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOPT] Add support for checkUsers when UserMI is a Single-Width Integer Reduction (#120345)
Reductions are weird because for some operands, they are vector
registers but only read the first lane. For these operands, we do not
need to check to make sure the EEW and EMUL ratios match. The EEWs,
however, do need to match.
Commit: 90d79ca4c769ac3e28ec4b60dd82e6a5bb5e0aae
https://github.com/llvm/llvm-project/commit/90d79ca4c769ac3e28ec4b60dd82e6a5bb5e0aae
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/mul-cpop.s
Log Message:
-----------
[RISCV] Update the latencies of MUL and CPOP in SiFive P400 scheduling model (#122007)
According to llvm-exegesis, they should have around 2 cycles of latency
on P400 cores.
Commit: 2359635457b1f2c6f2c5d33ca84d0fda7729a19d
https://github.com/llvm/llvm-project/commit/2359635457b1f2c6f2c5d33ca84d0fda7729a19d
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M .github/workflows/commit-access-review.py
Log Message:
-----------
workflows/commit-access-review: Exclude users who have recently requested access (#119102)
Now that we are accepting commit access requests via GitHub issues, we
can keep track of who has recently requested access.
Commit: 4c4364869c490600b4e33606d481fb27b438d090
https://github.com/llvm/llvm-project/commit/4c4364869c490600b4e33606d481fb27b438d090
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOpt] Kill all uses of and remove twoTimesVLMUL [NFC] (#122003)
Case analysis:
* EEW=SEW*2, getEMULEqualsEEWDivSEWTimesLMUL(EEW) returns 2 x VLMUL
* EEW=SEW, getEMULEqualsEEWDivSEWTimesLMUL(EEW) returns VLMUL
Commit: 6ad0dcf67f5dccdf8506ce5f51d793062a1c6879
https://github.com/llvm/llvm-project/commit/6ad0dcf67f5dccdf8506ce5f51d793062a1c6879
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/include/CMakeLists.txt
M libc/include/arpa/inet.yaml
M libc/include/assert.yaml
M libc/include/complex.yaml
M libc/include/ctype.yaml
M libc/include/dirent.yaml
M libc/include/dlfcn.yaml
M libc/include/elf.yaml
M libc/include/errno.yaml
M libc/include/fcntl.yaml
M libc/include/features.yaml
M libc/include/fenv.yaml
M libc/include/float.yaml
M libc/include/inttypes.yaml
M libc/include/limits.yaml
M libc/include/link.yaml
M libc/include/locale.yaml
M libc/include/malloc.yaml
M libc/include/math.yaml
M libc/include/pthread.yaml
M libc/include/sched.yaml
M libc/include/search.yaml
M libc/include/setjmp.yaml
M libc/include/signal.yaml
M libc/include/spawn.yaml
M libc/include/stdbit.yaml
M libc/include/stdckdint.yaml
M libc/include/stdfix.yaml
M libc/include/stdint.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.yaml
M libc/include/strings.yaml
M libc/include/sys/auxv.yaml
M libc/include/sys/epoll.yaml
M libc/include/sys/ioctl.yaml
M libc/include/sys/mman.yaml
M libc/include/sys/prctl.yaml
M libc/include/sys/random.yaml
M libc/include/sys/resource.yaml
M libc/include/sys/select.yaml
M libc/include/sys/sendfile.yaml
M libc/include/sys/socket.yaml
M libc/include/sys/stat.yaml
M libc/include/sys/statvfs.yaml
M libc/include/sys/syscall.yaml
M libc/include/sys/time.yaml
M libc/include/sys/types.yaml
M libc/include/sys/utsname.yaml
M libc/include/sys/wait.yaml
M libc/include/termios.yaml
M libc/include/threads.yaml
M libc/include/time.yaml
M libc/include/uchar.yaml
M libc/include/unistd.yaml
M libc/include/wchar.yaml
M libc/utils/hdrgen/header.py
A libc/utils/hdrgen/main.py
M libc/utils/hdrgen/tests/input/test_small.yaml
M libc/utils/hdrgen/tests/test_integration.py
M libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Revamp hdrgen command line and build integration (#121522)
This adds a new main command-line entry point for hdrgen, in the
new main.py. This new interface is used for generating a header.
The old ways of invoking yaml_to_classes.py for other purposes
are left there for now, but `--e` is renamed to `--entry-point`
for consistency with the new CLI.
The YAML schema is expanded with the `header_template` key where
the corresponding `.h.def` file's path is given relative to where
the YAML file is found. The build integration no longer gives
the `.h.def` path on the command line. Instead, the script now
emits a depfile that's used by the cmake rules to track that.
The output file is always explicit in the script command line
rather than sometimes being derived from a directory path.
Commit: 94c0db06ab8cf0897ff32884ea6f683f5fc5a7b9
https://github.com/llvm/llvm-project/commit/94c0db06ab8cf0897ff32884ea6f683f5fc5a7b9
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
A clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c
A clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c.expected
A clang/test/utils/update_cc_test_checks/c-symbol-mangling.test
Log Message:
-----------
[update_cc_test_checks] Add test for missing handling of mangled names
We are missing MSVC C++ functions since the name is quoted in the LLVM IR,
so we don't find them in the generated IR and therefore don't add the test
checks. Additionally, there is an issue with finding functions using NEON
types (see https://github.com/llvm/llvm-project/pull/121800).
Pull Request: https://github.com/llvm/llvm-project/pull/121976
Commit: ca3fd633691b20d780fa3a54b22abc09860e59d9
https://github.com/llvm/llvm-project/commit/ca3fd633691b20d780fa3a54b22abc09860e59d9
Author: Michael Jones <michaelrj at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libc/utils/hdrgen/README.rst
Log Message:
-----------
[libc] clean up the hdrgen docs a bit (#121974)
Since the files have been reorganized, the readme is out of date. This
patch updates it to be more accurate.
Commit: 45d46983bf7bda53bd7ee8e36a47571b3980fbd7
https://github.com/llvm/llvm-project/commit/45d46983bf7bda53bd7ee8e36a47571b3980fbd7
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
A llvm/test/CodeGen/NVPTX/fabs-fneg-free.ll
Log Message:
-----------
[NVPTX] designate fabs and fneg as free (#121513)
Commit: b8ad6fb0665b41f9f30807d895868f610d9361e7
https://github.com/llvm/llvm-project/commit/b8ad6fb0665b41f9f30807d895868f610d9361e7
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof-recursive.ll
A llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
Log Message:
-----------
[MemProf] Allow cloning of callsites in recursive cycles (#121985)
Optionally (by default) no longer mark callsite nodes as Recursive,
which means they would be automatically skipped during cloning. This was
too conservative as it prevents cloning of any callsite that showed up
in any recursive cycle, even for non-recursive contexts.
While this will enable partial cloning of recursive contexts, the
recursive calls themselves will not be updated to call the correct
clone, possibly leading to some unnecessary but benign cloning and
affecting bytes hinted reporting. To prevent this, optional support
looks for recursive cycles in contexts during cloning and removes
those contexts from cloning. This requires some additional runtime
overhead, so is disabled by default for now.
Support for correct cloning of recursive cycles is WIP.
Commit: c4387583ff79beb98ea9738469219345c13dc0d5
https://github.com/llvm/llvm-project/commit/c4387583ff79beb98ea9738469219345c13dc0d5
Author: offsake <sergey.i.zverev at intel.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
Log Message:
-----------
[NFC][SandboxVectorizer] Disable default copy CTOR/assigment for SchedBundle. (#121846)
Explicitly disable copy CTOR/assigment for SchedBundle to avoid
acsidentional
usage of default versions that do not handle Nodes copies properly.
A developer will need to implement them once required.
Commit: 00b59c8e122c9158461bfcade835d79fa2f7232b
https://github.com/llvm/llvm-project/commit/00b59c8e122c9158461bfcade835d79fa2f7232b
Author: Mingjie Xu <xumingjie.enna1 at bytedance.com>
Date: 2025-01-08 (Wed, 08 Jan 2025)
Changed paths:
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/commit-access-review.py
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/new-issues.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/release-binaries.yml
M bolt/docs/CommandLineArgumentReference.md
M bolt/include/bolt/Core/BinaryData.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/ReorderFunctions.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/AArch64/pad-before-funcs.s
M bolt/test/RISCV/call-annotations.s
M bolt/test/RISCV/relax.s
M bolt/test/RISCV/reloc-branch.s
M bolt/test/RISCV/reloc-jal.s
M bolt/test/X86/linux-alt-instruction.s
M bolt/test/X86/linux-bug-table.s
M bolt/test/X86/linux-exceptions.s
M bolt/test/X86/linux-orc.s
M bolt/test/X86/linux-parainstructions.s
M bolt/test/X86/linux-pci-fixup.s
M bolt/test/X86/linux-smp-locks.s
M bolt/test/X86/linux-static-calls.s
M bolt/test/X86/linux-static-keys.s
A bolt/test/X86/linux-version.S
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidy.h
M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/UnhandledSelfAssignmentCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.cpp
R clang-tools-extra/clang-tidy/cppcoreguidelines/NarrowingConversionsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.h
M clang-tools-extra/clang-tidy/tool/CMakeLists.txt
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/Headers.h
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/ConfigCompileTests.cpp
M clang-tools-extra/clangd/unittests/ConfigYAMLTests.cpp
M clang-tools-extra/clangd/unittests/HeadersTests.cpp
M clang-tools-extra/clangd/unittests/Matchers.h
M clang-tools-extra/clangd/unittests/TypeHierarchyTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/narrowing-conversions.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-ranges.rst
M clang-tools-extra/docs/clang-tidy/index.rst
R clang-tools-extra/test/clang-tidy/checkers/bugprone/alpha-core-identicalexpr.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/branch-clone-2.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-bitfields.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-equivalentbitwidth-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-ignoreconversionfromtypes-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-intemplates-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-long-is-32bits.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingfloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowinginteger-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-pedanticmode-option.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions-unsigned-char.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/narrowing-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/unhandled-self-assignment.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-bitfields.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-equivalentbitwidth-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-ignoreconversionfromtypes-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-intemplates-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-long-is-32bits.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingfloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowinginteger-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-narrowingintegertofloatingpoint-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-pedanticmode-option.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions-unsigned-char.cpp
R clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/narrowing-conversions.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/redundant-expression-2.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/param/parameters.txt
A clang-tools-extra/test/clang-tidy/infrastructure/deprecation-global-option.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file-error.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/read-parameters-from-file.cpp
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/docs/ClangFormat.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/ReleaseNotes.rst
M clang/docs/ThreadSafetyAnalysis.rst
M clang/docs/UndefinedBehaviorSanitizer.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/Analyses/ThreadSafety.h
A clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsBase.td
M clang/include/clang/Basic/BuiltinsHexagon.def
A clang/include/clang/Basic/BuiltinsSPIRV.td
R clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/BuiltinsX86.td
A clang/include/clang/Basic/BuiltinsX86Base.td
R clang/include/clang/Basic/BuiltinsX86_64.def
A clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/arm_immcheck_incl.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/include/clang/CIR/CMakeLists.txt
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.h
A clang/include/clang/CIR/Interfaces/CIRFPTypeInterface.td
A clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/SanitizerArgs.h
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/Utils.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/include/clang/Sema/SemaOpenACC.h
A clang/include/clang/Sema/SemaSPIRV.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntPtr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/Analysis/FlowSensitive/CMakeLists.txt
A clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/CMakeLists.txt
M clang/lib/Basic/CodeGenOptions.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/Hexagon.cpp
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/Mips.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Basic/Targets/X86.h
A clang/lib/Basic/Targets/Xtensa.cpp
A clang/lib/Basic/Targets/Xtensa.h
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
A clang/lib/CIR/Interfaces/CIRFPTypeInterface.cpp
A clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/SanitizerMetadata.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Compilation.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Gnu.h
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/Linux.h
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MSVC.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
A clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
A clang/lib/Driver/ToolChains/SPIRVOpenMP.h
A clang/lib/Driver/ToolChains/SYCL.cpp
A clang/lib/Driver/ToolChains/SYCL.h
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/UEFI.h
M clang/lib/Format/AffectedRangeManager.cpp
M clang/lib/Format/AffectedRangeManager.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/FormatTokenLexer.h
M clang/lib/Format/MacroExpander.cpp
M clang/lib/Format/MatchFilePath.cpp
M clang/lib/Format/QualifierAlignmentFixer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/DependencyFile.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/hvx_hexagon_protos.h
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
A clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
M clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
M clang/lib/StaticAnalyzer/Checkers/BitwiseShiftChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/Iterator.cpp
M clang/lib/StaticAnalyzer/Checkers/IteratorModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SVals.cpp
M clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
M clang/lib/StaticAnalyzer/Core/TextDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
M clang/test/AST/ByteCode/if.cpp
A clang/test/AST/HLSL/HLSLControlFlowHint.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
A clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
A clang/test/AST/ast-print-openacc-init-construct.cpp
A clang/test/AST/ast-print-openacc-set-construct.cpp
A clang/test/AST/ast-print-openacc-shutdown-construct.cpp
A clang/test/AST/ast-print-openacc-update-construct.cpp
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
M clang/test/Analysis/Checkers/WebKit/mock-types.h
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-find-lambda-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
A clang/test/Analysis/PR121201.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/dump_egraph.cpp
M clang/test/Analysis/embed.c
M clang/test/Analysis/expr-inspection-printState-diseq-info.c
M clang/test/Analysis/expr-inspection-printState-eq-classes.c
A clang/test/Analysis/loop-assumptions.c
M clang/test/Analysis/loop-unrolling.cpp
M clang/test/Analysis/misc-ps-region-store.m
M clang/test/Analysis/ptr-arith.cpp
M clang/test/Analysis/symbol-simplification-disequality-info.cpp
M clang/test/Analysis/symbol-simplification-fixpoint-one-iteration.cpp
M clang/test/Analysis/symbol-simplification-fixpoint-two-iterations.cpp
M clang/test/Analysis/unary-sym-expr.c
A clang/test/Analysis/z3-crosscheck-max-attempts.cpp
M clang/test/Analysis/z3/D83660.c
R clang/test/Analysis/z3/Inputs/MockZ3_solver_check.c
A clang/test/Analysis/z3/Inputs/MockZ3_solver_check.cpp
M clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/basic/basic.link/p3.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg10xx.cpp
M clang/test/CXX/drs/cwg118.cpp
M clang/test/CXX/drs/cwg11xx.cpp
M clang/test/CXX/drs/cwg12xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg158.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg16xx.cpp
M clang/test/CXX/drs/cwg1748.cpp
M clang/test/CXX/drs/cwg177x.cpp
M clang/test/CXX/drs/cwg17xx.cpp
M clang/test/CXX/drs/cwg1807.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg20xx.cpp
M clang/test/CXX/drs/cwg21xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg2335.cpp
A clang/test/CXX/drs/cwg2353.cpp
M clang/test/CXX/drs/cwg23xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg2504.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
A clang/test/CXX/drs/cwg273.cpp
M clang/test/CXX/drs/cwg2771.cpp
M clang/test/CXX/drs/cwg27xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg29xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg492.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg571.cpp
A clang/test/CXX/drs/cwg593.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
M clang/test/CXX/drs/cwg722.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/drs/cwg8xx.cpp
M clang/test/CXX/drs/cwg9xx.cpp
R clang/test/CXX/drs/cwgr593.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/temp/temp.constr/temp.constr.atomic/constrant-satisfaction-conversions.cpp
M clang/test/CodeGen/AArch64/fmv-dependencies.c
A clang/test/CodeGen/AArch64/fmv-features.c
A clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
M clang/test/CodeGen/AArch64/fmv-streaming.c
M clang/test/CodeGen/AArch64/fpm-helpers.c
M clang/test/CodeGen/AArch64/neon-vcmla.c
M clang/test/CodeGen/AArch64/pure-scalable-args.c
A clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
M clang/test/CodeGen/AArch64/sme-inline-streaming-attrs.c
M clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_state_funs.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_st1_single.c
M clang/test/CodeGen/AArch64/sve2p1-intrinsics/acle_sve2p1_store.c
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
M clang/test/CodeGen/X86/math-builtins.c
R clang/test/CodeGen/atomic-test-and-set.c
M clang/test/CodeGen/attr-target-clones-aarch64.c
M clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/bounds-checking.c
M clang/test/CodeGen/builtin-memfns.c
M clang/test/CodeGen/code-coverage.c
A clang/test/CodeGen/sanitize-type-globals.cpp
M clang/test/CodeGen/scoped-atomic-ops.c
M clang/test/CodeGen/scoped-fence-ops.c
M clang/test/CodeGen/ubsan-trap-merge.c
M clang/test/CodeGen/xcore-abi.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
M clang/test/CodeGenCUDA/atomic-ops.cu
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/test/CodeGenCXX/fmv-namespace.cpp
M clang/test/CodeGenCXX/matrix-vector-bit-int.cpp
A clang/test/CodeGenHLSL/HLSLControlFlowHint.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor-opt.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-lib.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-methods-ps.hlsl
A clang/test/CodeGenHLSL/debug/rwbuffer_debug_info.hlsl
M clang/test/CodeGenHLSL/resource-bindings.hlsl
M clang/test/CodeGenHLSL/semantics/SV_GroupID.hlsl
A clang/test/CodeGenSPIRV/Builtins/distance.c
M clang/test/CoverageMapping/single-byte-counters.cpp
A clang/test/Driver/Inputs/config-zos/clang.cfg
A clang/test/Driver/Inputs/config-zos/def.cfg
A clang/test/Driver/Inputs/config-zos/tst/def.cfg
R clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx-sm_52.bc
A clang/test/Driver/Inputs/libomptarget/libomptarget-nvptx.bc
R clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx-sm_52.bc
A clang/test/Driver/Inputs/libomptarget/subdir/libomptarget-nvptx.bc
A clang/test/Driver/Inputs/spirv-openmp/lib/libomptarget-spirv64.bc
M clang/test/Driver/cl-options.c
M clang/test/Driver/clang_f_opts.c
A clang/test/Driver/config-zos.c
A clang/test/Driver/config-zos1.c
A clang/test/Driver/dxc_options.hlsl
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/mingw.cpp
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.4-a.c
M clang/test/Driver/print-enabled-extensions/aarch64-armv9.5-a.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/sanitizer-ld.c
A clang/test/Driver/spirv-openmp-toolchain.c
A clang/test/Driver/sycl-offload-jit.cpp
A clang/test/Driver/uefi-defines.c
M clang/test/Driver/unknown-arg-drivermodes.test
M clang/test/Frontend/dependency-gen-symlink.c
M clang/test/Frontend/dependency-gen-windows-duplicates.c
M clang/test/Misc/target-invalid-cpu-note/hexagon.c
A clang/test/Modules/expose-static-inline-from-gmf-1.cppm
A clang/test/Modules/expose-static-inline-from-gmf-2.cppm
A clang/test/Modules/expose-static-inline-from-gmf-3.cppm
A clang/test/Modules/expose-static-inline-from-gmf-4.cppm
A clang/test/Modules/expose-static-inline-from-gmf-5.cppm
A clang/test/Modules/missing-body-in-import.cpp
A clang/test/Modules/pcm-with-errors.cpp
A clang/test/Modules/pr120277.cppm
A clang/test/Modules/pr121066.cpp
M clang/test/OpenMP/declare_simd_aarch64.c
M clang/test/OpenMP/irbuilder_simd_aligned.cpp
A clang/test/Parser/objc-coloncolon.m
A clang/test/Parser/objcxx-coloncolon.mm
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/Preprocessor/hexagon-predefines.c
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-win-macros.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/stdint.c
M clang/test/Sema/atomic-ops.c
M clang/test/Sema/attr-target-version.c
M clang/test/Sema/constant_builtins_vector.cpp
M clang/test/Sema/varargs.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/attr-target-version.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx20-decomposition.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2c-fold-exprs.cpp
M clang/test/SemaCXX/cxx2c-pack-indexing.cpp
M clang/test/SemaCXX/lambda-unevaluated.cpp
M clang/test/SemaCXX/type-traits.cpp
M clang/test/SemaCXX/vector-bool.cpp
M clang/test/SemaCXX/warn-thread-safety-analysis.cpp
M clang/test/SemaCXX/warn-thread-safety-parsing.cpp
M clang/test/SemaCXX/warn-unused-result.cpp
M clang/test/SemaHLSL/BuiltIns/StructuredBuffers.hlsl
M clang/test/SemaOpenACC/combined-construct-async-clause.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-wait-clause.cpp
M clang/test/SemaOpenACC/compute-construct-async-clause.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenACC/compute-construct-num_workers-clause.cpp
M clang/test/SemaOpenACC/compute-construct-private-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-vector_length-clause.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.cpp
A clang/test/SemaOpenACC/init-construct-ast.cpp
A clang/test/SemaOpenACC/init-construct.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
A clang/test/SemaOpenACC/set-construct-ast.cpp
A clang/test/SemaOpenACC/set-construct.cpp
A clang/test/SemaOpenACC/shutdown-construct-ast.cpp
A clang/test/SemaOpenACC/shutdown-construct.cpp
M clang/test/SemaOpenACC/unimplemented-construct.c
A clang/test/SemaOpenACC/update-construct-ast.cpp
A clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenACC/wait-construct.cpp
A clang/test/SemaSPIRV/BuiltIns/distance-errors.c
M clang/test/SemaTemplate/concepts-recursive-inst.cpp
M clang/test/SemaTemplate/cxx2a-constraint-exprs.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/nested-implicit-deduction-guides.cpp
M clang/test/VFS/external-names.c
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp
M clang/test/utils/update_cc_test_checks/Inputs/basic-cplusplus.cpp.expected
A clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c
A clang/test/utils/update_cc_test_checks/Inputs/c-symbol-mangling.c.expected
A clang/test/utils/update_cc_test_checks/c-symbol-mangling.test
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/include-mapping/cppreference_parser.py
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
A clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/MacroCallReconstructorTest.cpp
M clang/unittests/Format/MatchFilePathTest.cpp
M clang/unittests/Format/QualifierFixerTest.cpp
M clang/unittests/Format/SortIncludesTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/base-config-ix.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/asan/CMakeLists.txt
M compiler-rt/lib/asan/tests/CMakeLists.txt
M compiler-rt/lib/builtins/CMakeLists.txt
A compiler-rt/lib/builtins/aarch64/arm_apple_sme_abi.s
M compiler-rt/lib/builtins/aarch64/sme-abi-assert.c
M compiler-rt/lib/builtins/aarch64/sme-abi.S
A compiler-rt/lib/builtins/truncxfhf2.c
M compiler-rt/lib/gwp_asan/tests/harness.h
M compiler-rt/lib/hwasan/CMakeLists.txt
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/msan/CMakeLists.txt
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/scudo/standalone/primary32.h
M compiler-rt/lib/scudo/standalone/primary64.h
M compiler-rt/lib/scudo/standalone/release.h
M compiler-rt/lib/tsan/rtl/CMakeLists.txt
M compiler-rt/lib/tysan/CMakeLists.txt
M compiler-rt/lib/tysan/tysan_interceptors.cpp
M compiler-rt/lib/ubsan/CMakeLists.txt
M compiler-rt/lib/ubsan/ubsan_checks.inc
M compiler-rt/lib/ubsan/ubsan_handlers.cpp
M compiler-rt/lib/ubsan/ubsan_handlers.h
M compiler-rt/lib/ubsan/ubsan_interface.inc
M compiler-rt/lib/ubsan/ubsan_value.h
M compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cpp
M compiler-rt/test/asan/TestCases/Linux/interface_symbols_linux.cpp
A compiler-rt/test/builtins/Unit/truncxfhf2_test.c
M compiler-rt/test/fuzzer/noasan-strcmp.test
M compiler-rt/test/profile/ContinuousSyncMode/basic.c
M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
M compiler-rt/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
M compiler-rt/test/profile/Inputs/instrprof-shared-main.c.gcov
M compiler-rt/test/profile/gcov-__gcov_flush-terminate.c
M compiler-rt/test/profile/lit.cfg.py
M compiler-rt/test/ubsan/TestCases/Misc/local_bounds.cpp
M compiler-rt/test/ubsan_minimal/TestCases/local_bounds.cpp
M flang/docs/Extensions.md
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Common/idioms.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Frontend/FrontendActions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Lower/Bridge.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/OpenACC.h
A flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Derived.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
M flang/include/flang/Optimizer/HLFIR/Passes.td
R flang/include/flang/Optimizer/Transforms/CUFCommon.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/include/flang/Runtime/derived-api.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Common/Fortran.cpp
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
A flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
A flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Derived.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/InlineElementals.cpp
A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/AlgebraicSimplification.cpp
M flang/lib/Optimizer/Transforms/AssumedRankOpConversion.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
R flang/lib/Optimizer/Transforms/CUFCommon.cpp
M flang/lib/Optimizer/Transforms/CUFDeviceGlobal.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/CompilerGeneratedNames.cpp
M flang/lib/Optimizer/Transforms/ConstantArgumentGlobalisation.cpp
M flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Optimizer/Transforms/StackArrays.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/runtime/CUDA/descriptor.cpp
M flang/runtime/CUDA/kernel.cpp
M flang/runtime/derived-api.cpp
M flang/runtime/derived.cpp
M flang/runtime/derived.h
M flang/runtime/exceptions.cpp
M flang/runtime/stop.cpp
A flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Driver/parse-error.ll
M flang/test/Evaluate/fold-ieee.f90
M flang/test/Fir/CUDA/cuda-allocate.fir
M flang/test/Fir/CUDA/cuda-code-gen.mlir
A flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir
A flang/test/Fir/CUDA/cuda-sync-desc.mlir
M flang/test/Fir/basic-program.fir
M flang/test/Fir/convert-fold.fir
A flang/test/HLFIR/inline-hlfir-assign.fir
M flang/test/HLFIR/maxloc-elemental.fir
M flang/test/HLFIR/minloc-elemental.fir
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
A flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir
M flang/test/HLFIR/opt-bufferization.fir
A flang/test/HLFIR/opt-variable-assign-omp.fir
R flang/test/HLFIR/opt-variable-assign.fir
A flang/test/Integration/debug-116525.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
A flang/test/Lower/CUDA/cuda-pointer-sync.cuf
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/OpenMP/Todo/depend-clause-depobj.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-inoutset.f90
R flang/test/Lower/OpenMP/Todo/depend-clause-mutexinoutset.f90
M flang/test/Lower/OpenMP/Todo/error.f90
A flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
A flang/test/Lower/OpenMP/derived-type-allocatable.f90
A flang/test/Lower/OpenMP/firstprivate-alloc-comp.f90
A flang/test/Lower/OpenMP/local-intrinsic-sized-array-map.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/array-substring.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/namelist.f90
M flang/test/Lower/vector-subscript-io.f90
A flang/test/Parser/OpenMP/allocate-align-tree.f90
M flang/test/Parser/OpenMP/allocate-unparse.f90
A flang/test/Parser/OpenMP/compiler-directive-continuation.f90
M flang/test/Parser/OpenMP/error-unparse.f90
A flang/test/Parser/OpenMP/nothing.f90
A flang/test/Semantics/OpenMP/allocate-align01.f90
A flang/test/Semantics/OpenMP/error.f90
M flang/test/Semantics/cuf07.cuf
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/cuf10.cuf
M flang/test/Transforms/loop-versioning.fir
M flang/test/Transforms/omp-map-info-finalization.fir
M flang/unittests/Frontend/CodeGenActionTest.cpp
M flang/unittests/Optimizer/Builder/CharacterTest.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/Builder/Runtime/RuntimeCallTestBase.h
M flang/unittests/Optimizer/FortranVariableTest.cpp
M flang/unittests/Runtime/ArrayConstructor.cpp
M flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CharacterTest.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/CheckCompilerFeatures.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
A libc/cmake/modules/compiler_features/check_cfloat128.cpp
A libc/cmake/modules/compiler_features/check_cfloat16.cpp
M libc/config/baremetal/config.json
A libc/config/gpu/amdgpu/config.json
A libc/config/gpu/amdgpu/entrypoints.txt
A libc/config/gpu/amdgpu/headers.txt
R libc/config/gpu/config.json
R libc/config/gpu/entrypoints.txt
R libc/config/gpu/headers.txt
A libc/config/gpu/nvptx/config.json
A libc/config/gpu/nvptx/entrypoints.txt
A libc/config/gpu/nvptx/headers.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/CMakeLists.txt
M libc/docs/dev/header_generation.rst
M libc/docs/dev/index.rst
M libc/docs/dev/source_tree_layout.rst
M libc/docs/full_cross_build.rst
M libc/docs/full_host_build.rst
R libc/docs/headers/arpa/inet.rst
R libc/docs/headers/assert.rst
R libc/docs/headers/ctype.rst
R libc/docs/headers/errno.rst
R libc/docs/headers/fenv.rst
R libc/docs/headers/float.rst
R libc/docs/headers/inttypes.rst
R libc/docs/headers/locale.rst
R libc/docs/headers/setjmp.rst
R libc/docs/headers/signal.rst
R libc/docs/headers/stdbit.rst
R libc/docs/headers/stdio.rst
R libc/docs/headers/stdlib.rst
R libc/docs/headers/string.rst
R libc/docs/headers/strings.rst
R libc/docs/headers/sys/mman.rst
R libc/docs/headers/threads.rst
R libc/docs/headers/uchar.rst
R libc/docs/headers/wchar.rst
R libc/docs/headers/wctype.rst
M libc/fuzzing/stdlib/CMakeLists.txt
M libc/fuzzing/stdlib/heap_sort_fuzz.cpp
R libc/fuzzing/stdlib/qsort_fuzz.cpp
A libc/fuzzing/stdlib/quick_sort_fuzz.cpp
R libc/hdrgen/CMakeLists.txt
R libc/hdrgen/class_implementation/classes/enumeration.py
R libc/hdrgen/class_implementation/classes/function.py
R libc/hdrgen/class_implementation/classes/macro.py
R libc/hdrgen/class_implementation/classes/object.py
R libc/hdrgen/class_implementation/classes/type.py
R libc/hdrgen/gpu_headers.py
R libc/hdrgen/header.py
R libc/hdrgen/tests/expected_output/test_header.h
R libc/hdrgen/tests/input/test_small.h.def
R libc/hdrgen/tests/input/test_small.yaml
R libc/hdrgen/tests/test_integration.py
R libc/hdrgen/yaml/arpa/inet.yaml
R libc/hdrgen/yaml/assert.yaml
R libc/hdrgen/yaml/complex.yaml
R libc/hdrgen/yaml/ctype.yaml
R libc/hdrgen/yaml/dirent.yaml
R libc/hdrgen/yaml/dlfcn.yaml
R libc/hdrgen/yaml/elf.yaml
R libc/hdrgen/yaml/errno.yaml
R libc/hdrgen/yaml/fcntl.yaml
R libc/hdrgen/yaml/features.yaml
R libc/hdrgen/yaml/fenv.yaml
R libc/hdrgen/yaml/float.yaml
R libc/hdrgen/yaml/gpu/rpc.yaml
R libc/hdrgen/yaml/inttypes.yaml
R libc/hdrgen/yaml/limits.yaml
R libc/hdrgen/yaml/link.yaml
R libc/hdrgen/yaml/locale.yaml
R libc/hdrgen/yaml/malloc.yaml
R libc/hdrgen/yaml/math.yaml
R libc/hdrgen/yaml/pthread.yaml
R libc/hdrgen/yaml/sched.yaml
R libc/hdrgen/yaml/search.yaml
R libc/hdrgen/yaml/setjmp.yaml
R libc/hdrgen/yaml/signal.yaml
R libc/hdrgen/yaml/spawn.yaml
R libc/hdrgen/yaml/stdbit.yaml
R libc/hdrgen/yaml/stdckdint.yaml
R libc/hdrgen/yaml/stdfix.yaml
R libc/hdrgen/yaml/stdint.yaml
R libc/hdrgen/yaml/stdio.yaml
R libc/hdrgen/yaml/stdlib.yaml
R libc/hdrgen/yaml/string.yaml
R libc/hdrgen/yaml/strings.yaml
R libc/hdrgen/yaml/sys/auxv.yaml
R libc/hdrgen/yaml/sys/epoll.yaml
R libc/hdrgen/yaml/sys/ioctl.yaml
R libc/hdrgen/yaml/sys/mman.yaml
R libc/hdrgen/yaml/sys/prctl.yaml
R libc/hdrgen/yaml/sys/random.yaml
R libc/hdrgen/yaml/sys/resource.yaml
R libc/hdrgen/yaml/sys/select.yaml
R libc/hdrgen/yaml/sys/sendfile.yaml
R libc/hdrgen/yaml/sys/socket.yaml
R libc/hdrgen/yaml/sys/stat.yaml
R libc/hdrgen/yaml/sys/statvfs.yaml
R libc/hdrgen/yaml/sys/syscall.yaml
R libc/hdrgen/yaml/sys/time.yaml
R libc/hdrgen/yaml/sys/types.yaml
R libc/hdrgen/yaml/sys/utsname.yaml
R libc/hdrgen/yaml/sys/wait.yaml
R libc/hdrgen/yaml/termios.yaml
R libc/hdrgen/yaml/threads.yaml
R libc/hdrgen/yaml/time.yaml
R libc/hdrgen/yaml/uchar.yaml
R libc/hdrgen/yaml/unistd.yaml
R libc/hdrgen/yaml/wchar.yaml
R libc/hdrgen/yaml_functions_sorted.py
R libc/hdrgen/yaml_to_classes.py
M libc/include/CMakeLists.txt
M libc/include/__llvm-libc-common.h
A libc/include/arpa/inet.yaml
A libc/include/assert.yaml
A libc/include/complex.yaml
A libc/include/ctype.yaml
A libc/include/dirent.yaml
A libc/include/dlfcn.yaml
A libc/include/elf.yaml
A libc/include/errno.yaml
A libc/include/fcntl.yaml
A libc/include/features.yaml
A libc/include/fenv.yaml
A libc/include/float.yaml
A libc/include/inttypes.yaml
A libc/include/limits.yaml
A libc/include/link.yaml
A libc/include/locale.yaml
A libc/include/malloc.yaml
A libc/include/math.yaml
A libc/include/pthread.yaml
A libc/include/sched.yaml
A libc/include/search.yaml
A libc/include/setjmp.yaml
A libc/include/signal.yaml
A libc/include/spawn.yaml
A libc/include/stdbit.yaml
A libc/include/stdckdint.yaml
A libc/include/stdfix.yaml
A libc/include/stdint.yaml
A libc/include/stdio.yaml
A libc/include/stdlib.yaml
A libc/include/string.yaml
A libc/include/strings.yaml
A libc/include/sys/auxv.yaml
A libc/include/sys/epoll.yaml
A libc/include/sys/ioctl.yaml
A libc/include/sys/mman.yaml
A libc/include/sys/prctl.yaml
A libc/include/sys/random.yaml
A libc/include/sys/resource.yaml
A libc/include/sys/select.yaml
A libc/include/sys/sendfile.yaml
A libc/include/sys/socket.yaml
A libc/include/sys/stat.yaml
A libc/include/sys/statvfs.yaml
A libc/include/sys/syscall.yaml
A libc/include/sys/time.yaml
A libc/include/sys/types.yaml
A libc/include/sys/utsname.yaml
A libc/include/sys/wait.yaml
A libc/include/termios.yaml
A libc/include/threads.yaml
A libc/include/time.yaml
A libc/include/uchar.yaml
A libc/include/unistd.yaml
A libc/include/wchar.yaml
M libc/shared/rpc_util.h
M libc/src/__support/GPU/CMakeLists.txt
R libc/src/__support/GPU/amdgpu/CMakeLists.txt
R libc/src/__support/GPU/amdgpu/utils.h
R libc/src/__support/GPU/generic/CMakeLists.txt
R libc/src/__support/GPU/generic/utils.h
R libc/src/__support/GPU/nvptx/CMakeLists.txt
R libc/src/__support/GPU/nvptx/utils.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/RPC/CMakeLists.txt
M libc/src/compiler/generic/__stack_chk_fail.cpp
M libc/src/complex/cimagf128.h
M libc/src/complex/cimagf16.h
M libc/src/complex/conjf128.h
M libc/src/complex/conjf16.h
M libc/src/complex/cprojf128.h
M libc/src/complex/cprojf16.h
M libc/src/complex/crealf128.h
M libc/src/complex/crealf16.h
M libc/src/complex/generic/cimagf128.cpp
M libc/src/complex/generic/cimagf16.cpp
M libc/src/complex/generic/conjf128.cpp
M libc/src/complex/generic/conjf16.cpp
M libc/src/complex/generic/cprojf128.cpp
M libc/src/complex/generic/cprojf16.cpp
M libc/src/complex/generic/crealf128.cpp
M libc/src/complex/generic/crealf16.cpp
M libc/src/math/docs/add_math_function.md
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10f_impl.h
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/sincosf16_utils.h
M libc/src/stdlib/heap_sort.h
M libc/src/stdlib/qsort.cpp
M libc/src/stdlib/qsort_data.h
A libc/src/stdlib/qsort_pivot.h
M libc/src/stdlib/qsort_r.cpp
M libc/src/stdlib/qsort_util.h
M libc/src/stdlib/quick_sort.h
M libc/src/time/gpu/clock.cpp
M libc/src/time/gpu/nanosleep.cpp
M libc/src/time/mktime.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/complex/cimagf128_test.cpp
M libc/test/src/complex/cimagf16_test.cpp
M libc/test/src/complex/conjf128_test.cpp
M libc/test/src/complex/conjf16_test.cpp
M libc/test/src/complex/cprojf128_test.cpp
M libc/test/src/complex/cprojf16_test.cpp
M libc/test/src/complex/crealf128_test.cpp
M libc/test/src/complex/crealf16_test.cpp
M libc/test/src/math/smoke/CanonicalizeTest.h
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/SortingTest.h
M libc/test/src/stdlib/heap_sort_test.cpp
M libc/test/src/stdlib/qsort_r_test.cpp
R libc/test/src/stdlib/qsort_test.cpp
M libc/test/src/stdlib/quick_sort_test.cpp
M libc/utils/CMakeLists.txt
M libc/utils/docgen/arpa/inet.yaml
A libc/utils/docgen/strings.yaml
M libc/utils/docgen/sys/mman.yaml
A libc/utils/hdrgen/CMakeLists.txt
A libc/utils/hdrgen/README.rst
A libc/utils/hdrgen/enumeration.py
A libc/utils/hdrgen/function.py
A libc/utils/hdrgen/gpu_headers.py
A libc/utils/hdrgen/header.py
A libc/utils/hdrgen/macro.py
A libc/utils/hdrgen/main.py
A libc/utils/hdrgen/object.py
A libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/input/test_small.h.def
A libc/utils/hdrgen/tests/input/test_small.yaml
A libc/utils/hdrgen/tests/test_integration.py
A libc/utils/hdrgen/type.py
A libc/utils/hdrgen/yaml_functions_sorted.py
A libc/utils/hdrgen/yaml_to_classes.py
A libclc/Maintainers.md
M libcxx/.clang-tidy
A libcxx/cmake/caches/Generic-cxx03-frozen.cmake
M libcxx/docs/Hardening.rst
M libcxx/docs/Status/Cxx17Papers.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/mismatch.h
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__config
R libcxx/include/__cxx03/CMakeLists.txt
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__configuration/abi.h
M libcxx/include/__cxx03/__configuration/compiler.h
A libcxx/include/__cxx03/__configuration/config_site_shim.h
M libcxx/include/__cxx03/__configuration/language.h
M libcxx/include/__cxx03/__configuration/platform.h
M libcxx/include/__cxx03/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
M libcxx/include/__cxx03/__thread/support/pthread.h
M libcxx/include/__cxx03/climits
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/module.modulemap
M libcxx/include/__cxx03/version
M libcxx/include/__functional/function.h
M libcxx/include/__fwd/memory.h
M libcxx/include/__fwd/memory_resource.h
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h
R libcxx/include/__locale_dir/locale_guard.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__memory/allocator_arg_t.h
M libcxx/include/__memory/allocator_destructor.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory_resource/monotonic_buffer_resource.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__ranges/join_view.h
M libcxx/include/__support/xlocale/__nop_locale_mgmt.h
M libcxx/include/__tuple/make_tuple_types.h
M libcxx/include/__tuple/sfinae_helpers.h
M libcxx/include/__tuple/tuple_element.h
M libcxx/include/__type_traits/add_cv_quals.h
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/aligned_storage.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/make_signed.h
M libcxx/include/__type_traits/make_unsigned.h
M libcxx/include/__type_traits/remove_pointer.h
M libcxx/include/__type_traits/type_list.h
M libcxx/include/__type_traits/unwrap_ref.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__utility/move.h
M libcxx/include/__utility/pair.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/array
M libcxx/include/atomic
M libcxx/include/barrier
M libcxx/include/bit
M libcxx/include/bitset
M libcxx/include/cassert
M libcxx/include/ccomplex
M libcxx/include/cctype
M libcxx/include/cerrno
M libcxx/include/cfenv
M libcxx/include/cfloat
M libcxx/include/charconv
M libcxx/include/chrono
M libcxx/include/cinttypes
M libcxx/include/ciso646
M libcxx/include/climits
M libcxx/include/clocale
M libcxx/include/cmath
M libcxx/include/codecvt
M libcxx/include/compare
M libcxx/include/complex
M libcxx/include/complex.h
M libcxx/include/concepts
M libcxx/include/condition_variable
M libcxx/include/coroutine
M libcxx/include/csetjmp
M libcxx/include/csignal
M libcxx/include/cstdalign
M libcxx/include/cstdarg
M libcxx/include/cstdbool
M libcxx/include/cstddef
M libcxx/include/cstdint
M libcxx/include/cstdio
M libcxx/include/cstdlib
M libcxx/include/cstring
M libcxx/include/ctgmath
M libcxx/include/ctime
M libcxx/include/ctype.h
M libcxx/include/cuchar
M libcxx/include/cwchar
M libcxx/include/cwctype
M libcxx/include/deque
M libcxx/include/errno.h
M libcxx/include/exception
M libcxx/include/execution
M libcxx/include/expected
M libcxx/include/experimental/iterator
M libcxx/include/experimental/memory
M libcxx/include/experimental/propagate_const
M libcxx/include/experimental/simd
M libcxx/include/experimental/type_traits
M libcxx/include/experimental/utility
M libcxx/include/ext/hash_map
M libcxx/include/ext/hash_set
M libcxx/include/fenv.h
M libcxx/include/filesystem
M libcxx/include/flat_map
M libcxx/include/float.h
M libcxx/include/format
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/functional
M libcxx/include/future
M libcxx/include/initializer_list
M libcxx/include/inttypes.h
M libcxx/include/iomanip
M libcxx/include/ios
M libcxx/include/iosfwd
M libcxx/include/iostream
M libcxx/include/istream
M libcxx/include/iterator
M libcxx/include/latch
M libcxx/include/limits
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/mdspan
M libcxx/include/memory
M libcxx/include/memory_resource
M libcxx/include/module.modulemap
M libcxx/include/mutex
M libcxx/include/new
M libcxx/include/numbers
M libcxx/include/numeric
M libcxx/include/optional
M libcxx/include/ostream
M libcxx/include/print
M libcxx/include/queue
M libcxx/include/random
M libcxx/include/ranges
M libcxx/include/ratio
M libcxx/include/regex
M libcxx/include/scoped_allocator
M libcxx/include/semaphore
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/source_location
M libcxx/include/span
M libcxx/include/sstream
M libcxx/include/stack
M libcxx/include/stdatomic.h
M libcxx/include/stdbool.h
M libcxx/include/stddef.h
M libcxx/include/stdexcept
M libcxx/include/stdio.h
M libcxx/include/stdlib.h
M libcxx/include/stop_token
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/string.h
M libcxx/include/string_view
M libcxx/include/strstream
M libcxx/include/syncstream
M libcxx/include/system_error
M libcxx/include/tgmath.h
M libcxx/include/thread
M libcxx/include/tuple
M libcxx/include/type_traits
M libcxx/include/typeindex
M libcxx/include/typeinfo
M libcxx/include/uchar.h
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/utility
M libcxx/include/valarray
M libcxx/include/variant
M libcxx/include/vector
M libcxx/include/version
M libcxx/include/wchar.h
M libcxx/include/wctype.h
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/filesystem/operations.cpp
M libcxx/src/include/overridable_function.h
M libcxx/src/iostream.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/support/win32/locale_win32.cpp
M libcxx/test/benchmarks/algorithms/min_max_element.bench.cpp
R libcxx/test/benchmarks/allocation.bench.cpp
A libcxx/test/benchmarks/locale/num_get.bench.cpp
M libcxx/test/benchmarks/numeric/gcd.bench.cpp
M libcxx/test/libcxx/algorithms/half_positive.pass.cpp
M libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
M libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
M libcxx/test/libcxx/assertions/modes/none.pass.cpp
M libcxx/test/libcxx/assertions/single_expression.pass.cpp
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
M libcxx/test/libcxx/clang_modules_include.gen.py
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
M libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
M libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
A libcxx/test/libcxx/containers/sequences/forwardlist/assert.pass.cpp
M libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
M libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
M libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
M libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
M libcxx/test/libcxx/header_inclusions.gen.py
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
M libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
M libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
M libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
M libcxx/test/libcxx/lint/lint_cmakelists.sh.py
M libcxx/test/libcxx/memory/allocation_guard.pass.cpp
M libcxx/test/libcxx/memory/swap_allocator.pass.cpp
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp
M libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp
A libcxx/test/libcxx/numerics/numarray/assert.pass.cpp
M libcxx/test/libcxx/selftest/test_macros.pass.cpp
M libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp
M libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp
M libcxx/test/libcxx/utilities/is_valid_range.pass.cpp
M libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp
M libcxx/test/libcxx/utilities/no_destroy.pass.cpp
A libcxx/test/libcxx/utilities/template.bitset/assert.pass.cpp
M libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp
M libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp
M libcxx/test/std/atomics/atomics.ref/exchange.pass.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/types.pass.cpp
M libcxx/test/std/containers/sequences/list/types.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/assign_iter_iter.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/assign_size_value.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/at.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/at_const.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/flip.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/assign_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/exceptions.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
A libcxx/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_procfs.pass.cpp
M libcxx/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
M libcxx/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/default.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/move.pass.cpp
M libcxx/test/std/input.output/string.streams/stringstream/stringstream.cons/string.pass.cpp
M libcxx/test/std/language.support/support.runtime/cstdalign.compile.pass.cpp
M libcxx/test/std/numerics/c.math/isnormal.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
M libcxx/test/std/strings/string.view/char.bad.verify.cpp
A libcxx/test/std/utilities/meta/derived_from_integral_constant.compile.pass.cpp
M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/nonstdmem.uglified.compile.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
M libcxx/test/support/test_macros.h
M libcxx/test/tools/clang_tidy_checks/proper_version_checks.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
A libcxx/utils/libcxx-benchmark-json
A libcxx/utils/libcxx-compare-benchmarks
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/Common/BPSectionOrdererBase.cpp
M lld/ELF/CallGraphSort.cpp
M lld/ELF/CallGraphSort.h
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputSection.h
M lld/ELF/SymbolTable.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Writer.cpp
M lld/MachO/BPSectionOrderer.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SymbolTable.cpp
M lld/MachO/SyntheticSections.cpp
M lld/docs/ld.lld.1
M lld/include/lld/Common/BPSectionOrdererBase.h
A lld/test/COFF/Inputs/loadconfig-arm64.s
M lld/test/COFF/arm64ec-codemap.test
M lld/test/COFF/arm64ec-entry-thunk.s
M lld/test/COFF/arm64ec-lib.test
M lld/test/COFF/arm64ec-range-thunks.s
M lld/test/COFF/arm64x-loadconfig.s
M lld/test/COFF/arm64x-symtab.s
M lld/test/COFF/cgprofile-obj.s
M lld/test/COFF/guard-warnings.s
A lld/test/COFF/linkrepro-thin-archives.s
A lld/test/COFF/loadcfg-short.test
A lld/test/COFF/loadcfg-size.test
A lld/test/COFF/loadcfg-uninitialized.test
M lld/test/COFF/start-lib.ll
M lld/test/COFF/thin-archive.s
A lld/test/ELF/Inputs/eager.s
M lld/test/ELF/cgprofile-obj.s
A lld/test/ELF/cgprofile-orderfile.s
M lld/test/ELF/linkerscript/discard-section-dynsym.s
A lld/test/ELF/lto/Inputs/eager.ll
M lld/test/ELF/lto/start-lib.ll
M lld/test/ELF/openbsd-phdr.s
M lld/test/ELF/start-lib.s
M lld/test/MachO/bp-section-orderer-errs.s
M lld/test/MachO/bp-section-orderer.s
A lld/test/wasm/dylink-non-pie.s
M lld/wasm/Config.h
M lld/wasm/Driver.cpp
M lld/wasm/InputChunks.cpp
M lld/wasm/InputChunks.h
M lld/wasm/InputElement.h
M lld/wasm/InputFiles.cpp
M lld/wasm/InputFiles.h
M lld/wasm/LTO.cpp
M lld/wasm/MapFile.cpp
M lld/wasm/MarkLive.cpp
M lld/wasm/OutputSections.cpp
M lld/wasm/Relocations.cpp
M lld/wasm/SymbolTable.cpp
M lld/wasm/Symbols.cpp
M lld/wasm/Symbols.h
M lld/wasm/SyntheticSections.cpp
M lld/wasm/SyntheticSections.h
M lld/wasm/Writer.cpp
M lldb/bindings/python/python-swigsafecast.swig
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/resources/formatterbytecode.rst
M lldb/docs/use/map.rst
M lldb/examples/python/formatter_bytecode.py
M lldb/include/lldb/API/SBError.h
M lldb/include/lldb/API/SBModule.h
M lldb/include/lldb/API/SBStructuredData.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Host/HostGetOpt.h
A lldb/include/lldb/Host/aix/HostInfoAIX.h
M lldb/include/lldb/Host/common/GetOptInc.h
M lldb/include/lldb/Host/linux/HostInfoLinux.h
M lldb/include/lldb/Host/posix/HostInfoPosix.h
M lldb/include/lldb/Utility/DiagnosticsRendering.h
M lldb/include/lldb/Utility/Status.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/SBError.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/DataFormatters/FormatterBytecode.cpp
M lldb/source/DataFormatters/FormatterBytecode.def
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/aix/HostInfoAIX.cpp
M lldb/source/Host/linux/HostInfoLinux.cpp
M lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
M lldb/source/Host/posix/DomainSocket.cpp
M lldb/source/Host/posix/FileSystemPosix.cpp
M lldb/source/Host/posix/HostInfoPosix.cpp
M lldb/source/Host/posix/MainLoopPosix.cpp
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CommandReturnObject.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/Architecture/AArch64/ArchitectureAArch64.cpp
M lldb/source/Plugins/InstrumentationRuntime/ASanLibsanitizers/InstrumentationRuntimeASanLibsanitizers.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/source/Plugins/Language/ObjC/Cocoa.cpp
M lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.h
M lldb/source/Plugins/Platform/Android/PlatformAndroidRemoteGDBServer.cpp
M lldb/source/Plugins/Process/CMakeLists.txt
M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h
M lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Utility/DiagnosticsRendering.cpp
M lldb/source/Utility/LoongArch_DWARF_Registers.h
M lldb/source/Utility/Status.cpp
M lldb/test/API/commands/expression/diagnostics/TestExprDiagnostics.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/commands/register/register/register_command/TestRegisters.py
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/Makefile
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/TestTypedefToOuterFwd.py
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.cpp
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/lib.h
A lldb/test/API/lang/cpp/typedef-to-outer-fwd/main.cpp
M lldb/test/API/macosx/lc-note/firmware-corefile/create-empty-corefile.cpp
A lldb/test/API/macosx/sme-registers/Makefile
A lldb/test/API/macosx/sme-registers/TestSMERegistersDarwin.py
A lldb/test/API/macosx/sme-registers/main.c
M lldb/tools/debugserver/source/DNBDefs.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/MacOSX/MachThread.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.h
A lldb/tools/debugserver/source/MacOSX/arm64/sme_thread_status.h
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/driver/CMakeLists.txt
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
M lldb/unittests/DataFormatter/FormatterBytecodeTest.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
M llvm/Maintainers.md
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/cmake/modules/AddLLVM.cmake
M llvm/cmake/modules/Findzstd.cmake
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/Contributing.rst
M llvm/docs/DirectX/DXILResources.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/GitHub.rst
M llvm/docs/MemTagSanitizer.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/ProgrammersManual.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/TableGen/BackEnds.rst
A llvm/docs/Telemetry.rst
M llvm/docs/TestSuiteGuide.md
M llvm/docs/UserGuides.rst
A llvm/docs/llvm_telemetry_design.png
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/ELF.h
A llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/include/llvm/BinaryFormat/MinidumpConstants.def
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LiveRegMatrix.h
M llvm/include/llvm/CodeGen/MachineMemOperand.h
M llvm/include/llvm/CodeGen/MachinePipeliner.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.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/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
M llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
M llvm/include/llvm/DebugInfo/GSYM/MergedFunctionsInfo.h
M llvm/include/llvm/ExecutionEngine/JITLink/loongarch.h
M llvm/include/llvm/ExecutionEngine/Orc/ELFNixPlatform.h
M llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h
M llvm/include/llvm/ExecutionEngine/Orc/MachOBuilder.h
M llvm/include/llvm/Frontend/Atomic/Atomic.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/InstIterator.h
M llvm/include/llvm/IR/Instruction.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsHexagonDep.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/ModuleSummaryIndex.h
R llvm/include/llvm/IR/NVVMIntrinsicFlags.h
A llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/include/llvm/IR/PassManager.h
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/IR/Value.h
M llvm/include/llvm/IR/VectorTypeUtils.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCCodeView.h
M llvm/include/llvm/MC/MCFragment.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/DroppedVariableStats.h
A llvm/include/llvm/Passes/DroppedVariableStatsIR.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/include/llvm/ProfileData/MemProf.h
M llvm/include/llvm/Support/GenericDomTree.h
M llvm/include/llvm/Support/Recycler.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/GenericOpcodes.td
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/Triple.h
A llvm/include/llvm/Telemetry/Telemetry.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Instrumentation/BoundsChecking.h
M llvm/include/llvm/Transforms/Instrumentation/MemProfiler.h
R llvm/include/llvm/Transforms/Instrumentation/PoisonChecking.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/ConstraintSystem.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/Analysis/MemoryProfileInfo.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/CMakeLists.txt
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/ExpandMemCmp.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperArtifacts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCompares.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/LiveRegMatrix.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
M llvm/lib/CodeGen/PostRASchedulerList.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/ReplaceWithVeclib.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
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/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
M llvm/lib/CodeGen/SwiftErrorValueTracking.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/DebugInfo/GSYM/CallSiteInfo.cpp
M llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
M llvm/lib/DebugInfo/GSYM/GsymReader.cpp
M llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.h
M llvm/lib/ExecutionEngine/JITLink/COFF_x86_64.cpp
M llvm/lib/ExecutionEngine/JITLink/ELF_loongarch.cpp
M llvm/lib/ExecutionEngine/JITLink/loongarch.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/DebuggerSupportPlugin.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
M llvm/lib/Frontend/Atomic/Atomic.cpp
M llvm/lib/Frontend/OpenMP/CMakeLists.txt
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/ConstantsContext.h
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCCodeView.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCSPIRVStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/ObjCopy/COFF/COFFObjcopy.cpp
M llvm/lib/ObjCopy/ConfigManager.cpp
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/Object/COFFImportFile.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/WindowsMachineFlag.cpp
M llvm/lib/ObjectYAML/ELFEmitter.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Passes/CMakeLists.txt
R llvm/lib/Passes/DroppedVariableStats.cpp
A llvm/lib/Passes/DroppedVariableStatsIR.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/Support/Windows/Path.inc
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/TableGen/TGParser.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64FastISel.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
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.td
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
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/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.h
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.cpp
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSelectionDAGInfo.h
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOPCInstructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.cpp
M llvm/lib/Target/ARM/ARMSelectionDAGInfo.h
M llvm/lib/Target/ARM/ARMSystemRegister.td
M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.cpp
M llvm/lib/Target/ARM/Utils/ARMBaseInfo.h
M llvm/lib/Target/AVR/AVRDevices.td
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Target/Hexagon/Hexagon.td
M llvm/lib/Target/Hexagon/HexagonDepArch.h
M llvm/lib/Target/Hexagon/HexagonDepArch.td
M llvm/lib/Target/Hexagon/HexagonDepIICHVX.td
M llvm/lib/Target/Hexagon/HexagonDepIICScalar.td
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonSchedule.td
A llvm/lib/Target/Hexagon/HexagonScheduleV75.td
A llvm/lib/Target/Hexagon/HexagonScheduleV79.td
M llvm/lib/Target/Hexagon/HexagonSubtarget.h
M llvm/lib/Target/Hexagon/HexagonTargetMachine.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCELFStreamer.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFObjectWriter.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.cpp
M llvm/lib/Target/Mips/MipsSelectionDAGInfo.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.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/NVPTXSelectionDAGInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXSelectionDAGInfo.h
M llvm/lib/Target/NVPTX/NVPTXSubtarget.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.cpp
M llvm/lib/Target/PowerPC/PPCSelectionDAGInfo.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVCombine.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXwch.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
A llvm/lib/Target/RISCV/RISCVPfmCounters.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedMIPSP8700.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
A llvm/lib/Target/RISCV/RISCVSchedTTAscalonD8.td
M llvm/lib/Target/RISCV/RISCVSchedule.td
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.cpp
M llvm/lib/Target/RISCV/RISCVSelectionDAGInfo.h
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/CMakeLists.txt
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
R llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
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/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
M llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.h
M llvm/lib/Target/TargetMachine.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISD.def
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySelectionDAGInfo.h
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
M llvm/lib/Target/X86/X86ArgumentStackSlotRebase.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/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
M llvm/lib/Target/X86/X86InstrFragmentsSIMD.td
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86RegisterInfo.td
M llvm/lib/Target/X86/X86SchedSapphireRapids.td
M llvm/lib/Target/X86/X86ScheduleZnver4.td
M llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
M llvm/lib/Target/X86/X86SelectionDAGInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
A llvm/lib/Telemetry/CMakeLists.txt
A llvm/lib/Telemetry/Telemetry.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
M llvm/lib/ToolDrivers/llvm-lib/Options.td
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/Coroutines/Coroutines.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/MemProfiler.cpp
R llvm/lib/Transforms/Instrumentation/PoisonChecking.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
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/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/cast.ll
A llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AMDGPU/shufflevector.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-cmp.ll
A llvm/test/Analysis/CostModel/RISCV/rvv-fcmp-f16.ll
A llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/X86/alternate-shuffle-cost.ll
M llvm/test/Analysis/CostModel/X86/reduction.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Analysis/CostModel/X86/vector-insert-value.ll
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/Analysis/LoopAccessAnalysis/nssw-predicate-implied.ll
M llvm/test/Analysis/LoopAccessAnalysis/wrapping-pointer-versioning.ll
M llvm/test/Analysis/ScalarEvolution/backedge-taken-count-guard-info-with-multiple-predecessors.ll
A llvm/test/Analysis/ValueTracking/knownbits-trunc-with-min-max-clamp.ll
M llvm/test/Bindings/OCaml/core.ml
M llvm/test/CodeGen/AArch64/GlobalISel/combine-select.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-cmp.mir
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-1x.ll
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
A llvm/test/CodeGen/AArch64/GlobalISel/legalize-store-vector-bools.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
A llvm/test/CodeGen/AArch64/GlobalISel/select-fp-anyext-crash.ll
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
M llvm/test/CodeGen/AArch64/arm64-fast-isel-conversion-fallback.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
M llvm/test/CodeGen/AArch64/bf16-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/bitreverse.ll
A llvm/test/CodeGen/AArch64/cgdata-no-merge-attached-call-garget.ll
M llvm/test/CodeGen/AArch64/commandline-metadata.ll
A llvm/test/CodeGen/AArch64/complex-deinterleaving-cdot.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-crash.ll
A llvm/test/CodeGen/AArch64/csel-subs-swapped.ll
M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
M llvm/test/CodeGen/AArch64/machine-combiner.ll
M llvm/test/CodeGen/AArch64/machine-licm-hoist-load.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
M llvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
M llvm/test/CodeGen/AArch64/memcmp.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
A llvm/test/CodeGen/AArch64/neon-ins-trunc-elt.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
M llvm/test/CodeGen/AArch64/pacbti-llvm-generated-funcs-2.ll
A llvm/test/CodeGen/AArch64/ptrauth-arm64-tls-dynamics.ll
A llvm/test/CodeGen/AArch64/reduce-or-opt.ll
M llvm/test/CodeGen/AArch64/register-coalesce-update-subranges-remat.mir
M llvm/test/CodeGen/AArch64/round-fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/selectopt.ll
A llvm/test/CodeGen/AArch64/shuffle-select.ll
M llvm/test/CodeGen/AArch64/sign-return-address-cfi-negate-ra-state.ll
M llvm/test/CodeGen/AArch64/sign-return-address-pauth-lr.ll
M llvm/test/CodeGen/AArch64/sign-return-address.ll
A llvm/test/CodeGen/AArch64/sme-agnostic-za.ll
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
A llvm/test/CodeGen/AArch64/sme-intrinsics-state.ll
M llvm/test/CodeGen/AArch64/sve-doublereduct.ll
M llvm/test/CodeGen/AArch64/sve-extract-element.ll
M llvm/test/CodeGen/AArch64/sve-extract-fixed-vector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-split-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-int-fp.ll
A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-fp-to-int.ll
A llvm/test/CodeGen/AArch64/sve-streaming-mode-cvt-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-reductions.ll
M llvm/test/CodeGen/AArch64/sve-vecreduce-dot.ll
M llvm/test/CodeGen/AArch64/uaddlv-vaddlp-combine.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AArch64/vecreduce-bool.ll
R llvm/test/CodeGen/AArch64/whilewr.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
R llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-divergent.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fpow.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w32.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.fcmp.constants.w64.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-smed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-pattern-umed3.s16.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop1.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sop2.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-scalar-float-sopc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.powi.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-dyn-stackalloc.mir
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-no-heap-ptr.ll
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/branch-relaxation.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
A llvm/test/CodeGen/AMDGPU/dummy-regalloc-priority-advisor.mir
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fmax3.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/fmul-to-ldexp.ll
M llvm/test/CodeGen/AMDGPU/fract-match.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.mir
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
A llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
A llvm/test/CodeGen/AMDGPU/issue120256-annotate-constexpr-addrspacecast.ll
A llvm/test/CodeGen/AMDGPU/issue121601-combine-concat-vectors-assumes-f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.interp.inreg.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp2.ll
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/mesa3d.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
M llvm/test/CodeGen/AMDGPU/minmax.ll
A llvm/test/CodeGen/AMDGPU/mixed-vmem-types.ll
A llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.ll
A llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-mov.mir
A llvm/test/CodeGen/AMDGPU/no-fold-accvgpr-read.mir
M llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
A llvm/test/CodeGen/AMDGPU/remat-physreg-copy-subreg-extract-already-live-at-def-issue120970.mir
M llvm/test/CodeGen/AMDGPU/scalar-float-sop1.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sop2.ll
M llvm/test/CodeGen/AMDGPU/scalar-float-sopc.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/smed3.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
A llvm/test/CodeGen/AMDGPU/swdev502267-use-after-free-last-chance-recoloring-alloc-succeeds.mir
A llvm/test/CodeGen/AMDGPU/swdev503538-move-to-valu-stack-srd-physreg.ll
A llvm/test/CodeGen/AMDGPU/swizzle.bit.extract.ll
M llvm/test/CodeGen/AMDGPU/umed3.ll
A llvm/test/CodeGen/AMDGPU/uniform_branch_with_floating_point_cond.ll
M llvm/test/CodeGen/AMDGPU/waitcnt-meta-instructions.mir
M llvm/test/CodeGen/AMDGPU/waitcnt-overflow.mir
A llvm/test/CodeGen/ARM/sink-store-pre-load-dependency.mir
A llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
A llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
R llvm/test/CodeGen/AVR/branch-relaxation-long.ll
M llvm/test/CodeGen/AVR/sections.ll
M llvm/test/CodeGen/DirectX/BufferLoad.ll
M llvm/test/CodeGen/DirectX/BufferStore-errors.ll
M llvm/test/CodeGen/DirectX/BufferStore.ll
M llvm/test/CodeGen/DirectX/ContainerData/PSVResources.ll
M llvm/test/CodeGen/DirectX/CreateHandle.ll
M llvm/test/CodeGen/DirectX/CreateHandleFromBinding.ll
A llvm/test/CodeGen/DirectX/HLSLControlFlowHint.ll
M llvm/test/CodeGen/DirectX/Metadata/resource-symbols.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/load_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceAccess/store_typedbuffer.ll
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/typed-uav-load-additional-formats.ll
M llvm/test/CodeGen/DirectX/bufferUpdateCounter.ll
A llvm/test/CodeGen/Hexagon/addrspacecast-crash.ll
A llvm/test/CodeGen/Hexagon/simple-types-mem.ll
M llvm/test/CodeGen/Hexagon/switch-lut-explicit-section.ll
M llvm/test/CodeGen/Hexagon/switch-lut-function-section.ll
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/LoongArch/mir-target-flags.ll
M llvm/test/CodeGen/LoongArch/psabi-restricted-scheduling.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/MIR/AArch64/return-address-signing.mir
M llvm/test/CodeGen/Mips/Fast-ISel/br1.ll
M llvm/test/CodeGen/Mips/Fast-ISel/icmpbr1.ll
M llvm/test/CodeGen/Mips/addressing-mode.ll
M llvm/test/CodeGen/Mips/atomic-min-max-64.ll
M llvm/test/CodeGen/Mips/atomic-min-max.ll
M llvm/test/CodeGen/Mips/brconeq.ll
M llvm/test/CodeGen/Mips/brconeqk.ll
M llvm/test/CodeGen/Mips/brconeqz.ll
M llvm/test/CodeGen/Mips/brconge.ll
M llvm/test/CodeGen/Mips/brcongt.ll
M llvm/test/CodeGen/Mips/brconle.ll
M llvm/test/CodeGen/Mips/brconlt.ll
M llvm/test/CodeGen/Mips/brconne.ll
M llvm/test/CodeGen/Mips/brconnek.ll
M llvm/test/CodeGen/Mips/brconnez.ll
M llvm/test/CodeGen/Mips/cconv/memory-layout.ll
M llvm/test/CodeGen/Mips/cfi_offset.ll
M llvm/test/CodeGen/Mips/dins.ll
M llvm/test/CodeGen/Mips/dsp-r1.ll
M llvm/test/CodeGen/Mips/eh-return32.ll
M llvm/test/CodeGen/Mips/eh-return64.ll
M llvm/test/CodeGen/Mips/emit-big-cst.ll
M llvm/test/CodeGen/Mips/ex2.ll
M llvm/test/CodeGen/Mips/fpbr.ll
M llvm/test/CodeGen/Mips/frame-address.ll
M llvm/test/CodeGen/Mips/jumptable_labels.ll
M llvm/test/CodeGen/Mips/llvm-ir/add.ll
M llvm/test/CodeGen/Mips/llvm-ir/indirectbr.ll
M llvm/test/CodeGen/Mips/llvm-ir/select-int.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-sizereduction/micromips-lbu16-lhu16-sb16-sh16.ll
M llvm/test/CodeGen/Mips/mips64directive.ll
M llvm/test/CodeGen/Mips/msa/2r.ll
M llvm/test/CodeGen/Mips/msa/2r_vector_scalar.ll
M llvm/test/CodeGen/Mips/msa/2rf.ll
M llvm/test/CodeGen/Mips/msa/2rf_exup.ll
M llvm/test/CodeGen/Mips/msa/2rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/2rf_fq.ll
M llvm/test/CodeGen/Mips/msa/2rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/2rf_tq.ll
M llvm/test/CodeGen/Mips/msa/3r-a.ll
M llvm/test/CodeGen/Mips/msa/3r-b.ll
M llvm/test/CodeGen/Mips/msa/3r-c.ll
M llvm/test/CodeGen/Mips/msa/3r-d.ll
M llvm/test/CodeGen/Mips/msa/3r-i.ll
M llvm/test/CodeGen/Mips/msa/3r-m.ll
M llvm/test/CodeGen/Mips/msa/3r-p.ll
M llvm/test/CodeGen/Mips/msa/3r-s.ll
M llvm/test/CodeGen/Mips/msa/3r-v.ll
M llvm/test/CodeGen/Mips/msa/3r_4r.ll
M llvm/test/CodeGen/Mips/msa/3r_4r_widen.ll
M llvm/test/CodeGen/Mips/msa/3r_splat.ll
M llvm/test/CodeGen/Mips/msa/3rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf.ll
M llvm/test/CodeGen/Mips/msa/3rf_4rf_q.ll
M llvm/test/CodeGen/Mips/msa/3rf_exdo.ll
M llvm/test/CodeGen/Mips/msa/3rf_float_int.ll
M llvm/test/CodeGen/Mips/msa/3rf_int_float.ll
M llvm/test/CodeGen/Mips/msa/3rf_q.ll
M llvm/test/CodeGen/Mips/msa/arithmetic_float.ll
M llvm/test/CodeGen/Mips/msa/bit.ll
M llvm/test/CodeGen/Mips/msa/bitcast.ll
M llvm/test/CodeGen/Mips/msa/compare.ll
M llvm/test/CodeGen/Mips/msa/compare_float.ll
M llvm/test/CodeGen/Mips/msa/elm_copy.ll
M llvm/test/CodeGen/Mips/msa/elm_cxcmsa.ll
M llvm/test/CodeGen/Mips/msa/elm_insv.ll
M llvm/test/CodeGen/Mips/msa/elm_move.ll
M llvm/test/CodeGen/Mips/msa/elm_shift_slide.ll
M llvm/test/CodeGen/Mips/msa/endian.ll
M llvm/test/CodeGen/Mips/msa/frameindex.ll
M llvm/test/CodeGen/Mips/msa/i10.ll
M llvm/test/CodeGen/Mips/msa/i5-a.ll
M llvm/test/CodeGen/Mips/msa/i5-c.ll
M llvm/test/CodeGen/Mips/msa/i5-m.ll
M llvm/test/CodeGen/Mips/msa/i5_ld_st.ll
M llvm/test/CodeGen/Mips/msa/i8.ll
M llvm/test/CodeGen/Mips/msa/remat-ldi.ll
M llvm/test/CodeGen/Mips/msa/shift-dagcombine.ll
M llvm/test/CodeGen/Mips/msa/shift_constant_pool.ll
M llvm/test/CodeGen/Mips/msa/special.ll
M llvm/test/CodeGen/Mips/msa/spill.ll
M llvm/test/CodeGen/Mips/msa/vec.ll
M llvm/test/CodeGen/Mips/msa/vecs10.ll
M llvm/test/CodeGen/Mips/octeon.ll
M llvm/test/CodeGen/Mips/prevent-hoisting.ll
M llvm/test/CodeGen/Mips/selTBteqzCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezCmpi.ll
M llvm/test/CodeGen/Mips/selTBtnezSlti.ll
M llvm/test/CodeGen/Mips/seleq.ll
M llvm/test/CodeGen/Mips/seleqk.ll
M llvm/test/CodeGen/Mips/selgek.ll
M llvm/test/CodeGen/Mips/selgt.ll
M llvm/test/CodeGen/Mips/selle.ll
M llvm/test/CodeGen/Mips/selltk.ll
M llvm/test/CodeGen/Mips/selne.ll
M llvm/test/CodeGen/Mips/selnek.ll
M llvm/test/CodeGen/Mips/selpat.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/CodeGen/NVPTX/atomics-sm70.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/chain-different-as.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/compute-ptx-value-vts.ll
M llvm/test/CodeGen/NVPTX/demote-vars.ll
M llvm/test/CodeGen/NVPTX/extractelement.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
A llvm/test/CodeGen/NVPTX/fabs-fneg-free.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/i1-load-lower.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test3.ll
M llvm/test/CodeGen/NVPTX/math-intrins.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-ocl.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-opaque.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect.ll
M llvm/test/CodeGen/NVPTX/pr13291-i1-store.ll
M llvm/test/CodeGen/NVPTX/reg-types.ll
M llvm/test/CodeGen/NVPTX/unfold-masked-merge-vector-variablemask.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/NVPTX/vector-returns.ll
A llvm/test/CodeGen/NVPTX/wgmma-sm90a-fence.ll
M llvm/test/CodeGen/PowerPC/check-cpu.ll
M llvm/test/CodeGen/PowerPC/lsr-postinc-pos.ll
M llvm/test/CodeGen/PowerPC/memcmp.ll
M llvm/test/CodeGen/PowerPC/memcmpIR.ll
M llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll
M llvm/test/CodeGen/PowerPC/scalar_vector_test_5.ll
A llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
A llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-zfa.ll
M llvm/test/CodeGen/RISCV/add_sext_shl_constant.ll
M llvm/test/CodeGen/RISCV/add_shl_constant.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/RISCV/neg-abs.ll
M llvm/test/CodeGen/RISCV/pr84653_pr85190.ll
M llvm/test/CodeGen/RISCV/rv32xtheadba.ll
M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-neg-abs.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-binary-reduce.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vand-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vdivu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-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/vlopt-volatile-ld.mir
M llvm/test/CodeGen/RISCV/rvv/vmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-mask.ll
M llvm/test/CodeGen/RISCV/rvv/vrem-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vremu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsaddu-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vxor-vp.ll
A llvm/test/CodeGen/RISCV/xcvmem-heuristic.ll
A llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
M llvm/test/CodeGen/SPIRV/event-zero-const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp-simple-hierarchy.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fun-ptr-addrcast.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_inline_assembly/inline_asm.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_shader_clock/shader_clock.ll
A llvm/test/CodeGen/SPIRV/global-var-name-linkage.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/cross.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/distance.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/length.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/CombinedSamplerImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/InputAttachmentImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SampledImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/SamplerArrayDynIdx.ll
M 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
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UniformTexelBufferNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
M llvm/test/CodeGen/SPIRV/iaddcarry-builtin.ll
M llvm/test/CodeGen/SPIRV/image-unoptimized.ll
M llvm/test/CodeGen/SPIRV/isubborrow-builtin.ll
M llvm/test/CodeGen/SPIRV/keep-tracked-const.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fshl.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/fshr.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/memset.ll
M llvm/test/CodeGen/SPIRV/logical-access-chain.ll
M llvm/test/CodeGen/SPIRV/opencl/degrees.ll
A llvm/test/CodeGen/SPIRV/opencl/distance.ll
M llvm/test/CodeGen/SPIRV/opencl/radians.ll
M llvm/test/CodeGen/SPIRV/pointers/PtrCast-null-in-OpSpecConstantOp.ll
M llvm/test/CodeGen/SPIRV/pointers/struct-opaque-pointers.ll
A llvm/test/CodeGen/SPIRV/structurizer/HLSLControlFlowHint-pass-check.ll
A llvm/test/CodeGen/SPIRV/structurizer/HLSLControlFlowHint.ll
M llvm/test/CodeGen/SPIRV/transcoding/SampledImage.ll
M llvm/test/CodeGen/SPIRV/transcoding/cl-types.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_arithmetic.ll
M llvm/test/CodeGen/SPIRV/unnamed-global.ll
M llvm/test/CodeGen/Thumb2/bf16-instructions.ll
M llvm/test/CodeGen/Thumb2/mve-gather-increment.ll
M llvm/test/CodeGen/X86/2011-06-03-x87chain.ll
M llvm/test/CodeGen/X86/2020_12_02_decrementing_loop.ll
M llvm/test/CodeGen/X86/AMX/amx-combine-undef.ll
M llvm/test/CodeGen/X86/AMX/lat-combine-amx-bitcast.ll
M llvm/test/CodeGen/X86/AMX/lat-transform-amx-bitcast.ll
M llvm/test/CodeGen/X86/GC/ocaml-gc.ll
M llvm/test/CodeGen/X86/StackColoring.ll
M llvm/test/CodeGen/X86/apx/mul-i1024.ll
M llvm/test/CodeGen/X86/asm-label.ll
M llvm/test/CodeGen/X86/avx-select.ll
A llvm/test/CodeGen/X86/avx10_2_512fptosi_satcvtds.ll
M llvm/test/CodeGen/X86/avx10_2fptosi_satcvtds.ll
M llvm/test/CodeGen/X86/avx512-i1test.ll
M llvm/test/CodeGen/X86/avx512fp16-fminimum-fmaximum.ll
M llvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
M llvm/test/CodeGen/X86/block-placement.ll
M llvm/test/CodeGen/X86/clobber_frame_ptr.ll
M llvm/test/CodeGen/X86/codegen-prepare-replacephi.mir
M llvm/test/CodeGen/X86/codegen-prepare-replacephi2.mir
M llvm/test/CodeGen/X86/coff-alias-type.ll
M llvm/test/CodeGen/X86/combine-concatvectors.ll
M llvm/test/CodeGen/X86/crash.ll
M llvm/test/CodeGen/X86/domain-reassignment-test.ll
M llvm/test/CodeGen/X86/elf-unique-sections-by-flags.ll
M llvm/test/CodeGen/X86/fast-isel-cmp-branch.ll
M llvm/test/CodeGen/X86/fminimum-fmaximum.ll
A llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fold-vector-shuffle-crash.ll
M llvm/test/CodeGen/X86/hoist-spill.ll
M llvm/test/CodeGen/X86/implicit-null-checks.mir
M llvm/test/CodeGen/X86/interval-update-remat.ll
M llvm/test/CodeGen/X86/jump_sign.ll
M llvm/test/CodeGen/X86/loop-strength-reduce-crash.ll
M llvm/test/CodeGen/X86/lsr-crash-empty-uses.ll
M llvm/test/CodeGen/X86/lsr-delayed-fold.ll
M llvm/test/CodeGen/X86/machine-trace-metrics-crash.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
M llvm/test/CodeGen/X86/memcmp-x32.ll
M llvm/test/CodeGen/X86/memcmp.ll
M llvm/test/CodeGen/X86/merge-vector-stores-scale-idx-crash.ll
M llvm/test/CodeGen/X86/mingw-refptr.ll
M llvm/test/CodeGen/X86/misched-crash.ll
M llvm/test/CodeGen/X86/pr10475.ll
A llvm/test/CodeGen/X86/pr107423.ll
M llvm/test/CodeGen/X86/pr11998.ll
A llvm/test/CodeGen/X86/pr120906.ll
M llvm/test/CodeGen/X86/pr32108.ll
M llvm/test/CodeGen/X86/pr50254.ll
M llvm/test/CodeGen/X86/pr57673.ll
M llvm/test/CodeGen/X86/ragreedy-hoist-spill.ll
M llvm/test/CodeGen/X86/shift-combine.ll
M llvm/test/CodeGen/X86/shuffle-combine-crash.ll
M llvm/test/CodeGen/X86/stackmap.ll
M llvm/test/CodeGen/X86/swifterror.ll
M llvm/test/CodeGen/X86/switch.ll
M llvm/test/CodeGen/X86/tail-merge-unreachable.ll
M llvm/test/CodeGen/X86/unreachable-loop-sinking.ll
M llvm/test/CodeGen/X86/update-terminator.mir
M llvm/test/CodeGen/X86/vec_saddo.ll
M llvm/test/CodeGen/X86/vec_ssubo.ll
M llvm/test/CodeGen/X86/vec_uaddo.ll
M llvm/test/CodeGen/X86/vec_usubo.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
M llvm/test/CodeGen/X86/x86-shrink-wrapping.ll
M llvm/test/CodeGen/Xtensa/simple.ll
M llvm/test/DebugInfo/ARM/header.ll
M llvm/test/DebugInfo/Mips/tls.ll
M llvm/test/DebugInfo/X86/header.ll
M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch32_relocations.s
M llvm/test/ExecutionEngine/JITLink/LoongArch/ELF_loongarch64_relocations.s
A llvm/test/ExecutionEngine/JITLink/RISCV/ELF_reloc_add.s
R llvm/test/ExecutionEngine/JITLink/RISCV/riscv_reloc_add.s
M llvm/test/ExecutionEngine/JITLink/x86-64/COFF_comdat_weak_plus_strong.s
M llvm/test/ExecutionEngine/JITLink/x86-64/LocalDependencyPropagation.s
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO-check-dwarf-filename.s
M llvm/test/Instrumentation/BoundsChecking/many-trap.ll
M llvm/test/Instrumentation/BoundsChecking/runtimes.ll
M llvm/test/Instrumentation/BoundsChecking/simple-32.ll
M llvm/test/Instrumentation/BoundsChecking/simple.ll
M llvm/test/Instrumentation/BoundsChecking/ubsan-unique-traps.ll
R llvm/test/Instrumentation/PoisonChecking/basic-flag-validation.ll
R llvm/test/Instrumentation/PoisonChecking/ub-checks.ll
A llvm/test/Linker/Inputs/libdevice-with-wrong-dl.ll
M llvm/test/Linker/cuda-libdevice.ll
M llvm/test/MC/AArch64/armv8.3a-complex.s
M llvm/test/MC/AArch64/armv8.3a-complex_nofp16.s
M llvm/test/MC/AArch64/armv8.3a-pauth.s
M llvm/test/MC/AArch64/armv8.3a-signed-pointer.s
M llvm/test/MC/AArch64/armv8.4a-flagm.s
M llvm/test/MC/AArch64/armv8.6a-amvs.s
M llvm/test/MC/AArch64/armv9.6a-ras.s
M llvm/test/MC/AArch64/armv9.6a-rme-gpc3.s
M llvm/test/MC/AArch64/neon-diagnostics.s
M llvm/test/MC/AMDGPU/gfx10_asm_mimg_err.s
A llvm/test/MC/AMDGPU/gfx10_asm_mtbuf_err.s
A llvm/test/MC/AMDGPU/gfx10_asm_mubuf_err.s
M llvm/test/MC/AMDGPU/gfx10_asm_smem.s
A llvm/test/MC/AMDGPU/gfx10_asm_smem_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_mimg_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_mtbuf_err.s
A llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_smem.s
A llvm/test/MC/AMDGPU/gfx11_asm_smem_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_promote.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_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_dpp8_from_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_features.s
M llvm/test/MC/AMDGPU/gfx12_asm_mimg_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
A llvm/test/MC/AMDGPU/gfx12_asm_smem_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mtbuf_err.s
A llvm/test/MC/AMDGPU/gfx12_asm_vbuffer_mubuf_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_err.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_t16_promote.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
A llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases-fake16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.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_vop3_from_vop1.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/AMDGPU/hsa-exp.s
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
M llvm/test/MC/AMDGPU/hsa-tg-split.s
M llvm/test/MC/AMDGPU/hsa-v4.s
M llvm/test/MC/AMDGPU/hsa-v5-uses-dynamic-stack.s
M llvm/test/MC/AMDGPU/user-sgpr-count.s
M llvm/test/MC/ARM/directive-object_arch-3.s
M llvm/test/MC/ARM/inst-directive-emit.s
M llvm/test/MC/AsmParser/exprs-invalid.s
M llvm/test/MC/AsmParser/macro-def-in-instantiation.s
A llvm/test/MC/AsmParser/macro-nesting.s
M llvm/test/MC/Disassembler/AMDGPU/gfx10_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop1_dpp8.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_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_dpp8_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop3_from_vop1.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_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/Xtensa/code_density.txt
M llvm/test/MC/ELF/nobits-non-zero-value.s
M llvm/test/MC/ELF/section.s
M llvm/test/MC/GOFF/ppa1.ll
M llvm/test/MC/Hexagon/arch-support.s
M llvm/test/MC/Hexagon/hexagon_attributes.s
A llvm/test/MC/Hexagon/v75_arch.s
A llvm/test/MC/Hexagon/v79_arch.s
A llvm/test/MC/Mips/coff-basic.ll
A llvm/test/MC/Mips/coff-relocs.ll
M llvm/test/MC/Mips/dsp/valid.s
M llvm/test/MC/Mips/dspr2/valid.s
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/macro-ld-sd.s
M llvm/test/MC/Mips/macro-seq.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/RISCV/XVentanaCondOps-valid.s
M llvm/test/MC/RISCV/Zawrs-valid.s
M llvm/test/MC/RISCV/Ztso.s
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/compress-cjal.s
M llvm/test/MC/RISCV/compress-debug-info.s
M llvm/test/MC/RISCV/compress-rv32d.s
M llvm/test/MC/RISCV/compress-rv32f.s
M llvm/test/MC/RISCV/compress-rv32i.s
M llvm/test/MC/RISCV/compress-rv64i.s
M llvm/test/MC/RISCV/compressed-relocations.s
M llvm/test/MC/RISCV/compressed-zicfiss.s
M llvm/test/MC/RISCV/corev/XCValu-valid.s
M llvm/test/MC/RISCV/corev/XCVmac-valid.s
M llvm/test/MC/RISCV/custom_reloc.s
M llvm/test/MC/RISCV/debug-valid.s
M llvm/test/MC/RISCV/deprecated-csr-names.s
M llvm/test/MC/RISCV/fixups-binary-expression.s
M llvm/test/MC/RISCV/fixups.s
M llvm/test/MC/RISCV/fp-default-rounding-mode.s
M llvm/test/MC/RISCV/fp-inx-default-rounding-mode.s
M llvm/test/MC/RISCV/hypervisor-csr-names.s
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/insn_c.s
M llvm/test/MC/RISCV/machine-csr-names.s
M llvm/test/MC/RISCV/option-nopic.s
M llvm/test/MC/RISCV/option-pic.s
M llvm/test/MC/RISCV/option-pushpop.s
M llvm/test/MC/RISCV/option-rvc.s
M llvm/test/MC/RISCV/print-imm-hex.s
M llvm/test/MC/RISCV/priv-valid.s
M llvm/test/MC/RISCV/relocations.s
M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-machine-csr-names.s
M llvm/test/MC/RISCV/rv32-supervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-user-csr-names.s
M llvm/test/MC/RISCV/rv32c-aliases-valid.s
M llvm/test/MC/RISCV/rv32c-only-valid.s
R llvm/test/MC/RISCV/rv32c-valid.s
R llvm/test/MC/RISCV/rv32d-valid.s
M llvm/test/MC/RISCV/rv32dc-valid.s
R llvm/test/MC/RISCV/rv32e-invalid.s
R llvm/test/MC/RISCV/rv32e-valid.s
R llvm/test/MC/RISCV/rv32f-valid.s
M llvm/test/MC/RISCV/rv32fc-aliases-valid.s
M llvm/test/MC/RISCV/rv32fc-valid.s
M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv32i-only-valid.s
R llvm/test/MC/RISCV/rv32i-valid.s
R llvm/test/MC/RISCV/rv32ih-aliases-valid.s
R llvm/test/MC/RISCV/rv32ih-valid.s
R llvm/test/MC/RISCV/rv32m-valid.s
R llvm/test/MC/RISCV/rv32xtheadbs-valid.s
R llvm/test/MC/RISCV/rv32zaamo-valid.s
R llvm/test/MC/RISCV/rv32zacas-valid.s
R llvm/test/MC/RISCV/rv32zalasr-valid.s
R llvm/test/MC/RISCV/rv32zalrsc-valid.s
R llvm/test/MC/RISCV/rv32zba-valid.s
M llvm/test/MC/RISCV/rv32zbb-aliases-valid.s
M llvm/test/MC/RISCV/rv32zbb-only-valid.s
R llvm/test/MC/RISCV/rv32zbb-valid.s
R llvm/test/MC/RISCV/rv32zbc-valid.s
R llvm/test/MC/RISCV/rv32zbkb-valid.s
R llvm/test/MC/RISCV/rv32zbkc-valid.s
R llvm/test/MC/RISCV/rv32zbkx-valid.s
M llvm/test/MC/RISCV/rv32zbs-aliases-valid.s
R llvm/test/MC/RISCV/rv32zbs-valid.s
R llvm/test/MC/RISCV/rv32zcb-invalid.s
R llvm/test/MC/RISCV/rv32zcb-valid.s
A llvm/test/MC/RISCV/rv32zcibop-valid-rv32.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-valid.s
R llvm/test/MC/RISCV/rv32zcmt-invalid.s
R llvm/test/MC/RISCV/rv32zcmt-valid.s
R llvm/test/MC/RISCV/rv32zdinx-valid.s
M llvm/test/MC/RISCV/rv32zfa-only-valid.s
R llvm/test/MC/RISCV/rv32zfbfmin-invalid.s
R llvm/test/MC/RISCV/rv32zfbfmin-valid.s
R llvm/test/MC/RISCV/rv32zfh-valid.s
R llvm/test/MC/RISCV/rv32zfhmin-invalid.s
R llvm/test/MC/RISCV/rv32zfhmin-valid.s
R llvm/test/MC/RISCV/rv32zfinx-valid.s
R llvm/test/MC/RISCV/rv32zhinx-valid.s
R llvm/test/MC/RISCV/rv32zhinxmin-valid.s
R llvm/test/MC/RISCV/rv32zicbom-invalid.s
R llvm/test/MC/RISCV/rv32zicbom-valid.s
R llvm/test/MC/RISCV/rv32zicbop-invalid.s
R llvm/test/MC/RISCV/rv32zicbop-valid.s
R llvm/test/MC/RISCV/rv32zicboz-invalid.s
R llvm/test/MC/RISCV/rv32zicboz-valid.s
M llvm/test/MC/RISCV/rv32zicfiss-invalid.s
R llvm/test/MC/RISCV/rv32zicond-invalid.s
R llvm/test/MC/RISCV/rv32zicond-valid.s
R llvm/test/MC/RISCV/rv32zihintntl-invalid.s
R llvm/test/MC/RISCV/rv32zihintntl-valid.s
R llvm/test/MC/RISCV/rv32zihintntlc-invalid.s
R llvm/test/MC/RISCV/rv32zihintntlc-valid.s
R llvm/test/MC/RISCV/rv32zihintpause-valid.s
R llvm/test/MC/RISCV/rv32zknh-valid.s
R llvm/test/MC/RISCV/rv32zksed-valid.s
R llvm/test/MC/RISCV/rv32zksh-valid.s
M llvm/test/MC/RISCV/rv32zmmul-invaild.s
M llvm/test/MC/RISCV/rv32zmmul-valid.s
M llvm/test/MC/RISCV/rv64-machine-csr-names.s
M llvm/test/MC/RISCV/rv64-user-csr-names.s
M llvm/test/MC/RISCV/rv64a-aliases-valid.s
M llvm/test/MC/RISCV/rv64c-aliases-valid.s
M llvm/test/MC/RISCV/rv64c-hints-valid.s
M llvm/test/MC/RISCV/rv64c-valid.s
M llvm/test/MC/RISCV/rv64d-aliases-valid.s
M llvm/test/MC/RISCV/rv64d-valid.s
M llvm/test/MC/RISCV/rv64dc-valid.s
M llvm/test/MC/RISCV/rv64e-valid.s
M llvm/test/MC/RISCV/rv64e-zcmp-valid.s
M llvm/test/MC/RISCV/rv64f-aliases-valid.s
M llvm/test/MC/RISCV/rv64f-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-valid.s
M llvm/test/MC/RISCV/rv64ih-valid.s
M llvm/test/MC/RISCV/rv64m-valid.s
M llvm/test/MC/RISCV/rv64zaamo-valid.s
M llvm/test/MC/RISCV/rv64zacas-valid.s
M llvm/test/MC/RISCV/rv64zalasr-valid.s
M llvm/test/MC/RISCV/rv64zalrsc-valid.s
M llvm/test/MC/RISCV/rv64zba-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbb-aliases-valid.s
M llvm/test/MC/RISCV/rv64zbb-valid.s
M llvm/test/MC/RISCV/rv64zbs-aliases-valid.s
M llvm/test/MC/RISCV/rv64zcb-valid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-valid.s
M llvm/test/MC/RISCV/rv64zdinx-valid.s
M llvm/test/MC/RISCV/rv64zfh-valid.s
M llvm/test/MC/RISCV/rv64zfinx-valid.s
M llvm/test/MC/RISCV/rv64zhinx-valid.s
M llvm/test/MC/RISCV/rv64zhinxmin-valid.s
M llvm/test/MC/RISCV/rv64zicfiss-invalid.s
M llvm/test/MC/RISCV/rv64zmmul-invalid.s
M llvm/test/MC/RISCV/rv64zmmul-valid.s
M llvm/test/MC/RISCV/rva-aliases-valid.s
M llvm/test/MC/RISCV/rvc-aliases-valid.s
M llvm/test/MC/RISCV/rvc-hints-valid.s
A llvm/test/MC/RISCV/rvc-valid.s
M llvm/test/MC/RISCV/rvd-aliases-valid.s
A llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rvdc-aliases-valid.s
A llvm/test/MC/RISCV/rve-invalid.s
A llvm/test/MC/RISCV/rve-valid.s
M llvm/test/MC/RISCV/rvf-aliases-valid.s
M llvm/test/MC/RISCV/rvf-user-csr-names.s
A llvm/test/MC/RISCV/rvf-valid.s
A llvm/test/MC/RISCV/rvi-valid.s
A llvm/test/MC/RISCV/rvih-aliases-valid.s
A llvm/test/MC/RISCV/rvih-valid.s
M llvm/test/MC/RISCV/rvk-user-csr-name.s
A llvm/test/MC/RISCV/rvm-valid.s
M llvm/test/MC/RISCV/rvv-user-csr-names.s
M llvm/test/MC/RISCV/rvv/aliases.s
M llvm/test/MC/RISCV/rvv/fothers.s
M llvm/test/MC/RISCV/rvv/freduction.s
M llvm/test/MC/RISCV/rvv/load.s
M llvm/test/MC/RISCV/rvv/others.s
M llvm/test/MC/RISCV/rvv/store.s
M llvm/test/MC/RISCV/rvv/zvlsseg.s
A llvm/test/MC/RISCV/rvxtheadbs-valid.s
A llvm/test/MC/RISCV/rvzaamo-valid.s
M llvm/test/MC/RISCV/rvzabha-valid.s
M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
A llvm/test/MC/RISCV/rvzacas-valid.s
A llvm/test/MC/RISCV/rvzalasr-valid.s
A llvm/test/MC/RISCV/rvzalrsc-valid.s
A llvm/test/MC/RISCV/rvzba-valid.s
A llvm/test/MC/RISCV/rvzbb-valid.s
A llvm/test/MC/RISCV/rvzbc-valid.s
A llvm/test/MC/RISCV/rvzbkb-valid.s
A llvm/test/MC/RISCV/rvzbkc-valid.s
A llvm/test/MC/RISCV/rvzbkx-valid.s
A llvm/test/MC/RISCV/rvzbs-valid.s
A llvm/test/MC/RISCV/rvzcb-invalid.s
A llvm/test/MC/RISCV/rvzcb-valid.s
A llvm/test/MC/RISCV/rvzcmt-invalid.s
M llvm/test/MC/RISCV/rvzcmt-user-csr-name.s
A llvm/test/MC/RISCV/rvzcmt-valid.s
M llvm/test/MC/RISCV/rvzdinx-aliases-valid.s
A llvm/test/MC/RISCV/rvzdinx-valid.s
A llvm/test/MC/RISCV/rvzfbfmin-invalid.s
A llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-aliases-valid.s
A llvm/test/MC/RISCV/rvzfh-valid.s
A llvm/test/MC/RISCV/rvzfhmin-invalid.s
A llvm/test/MC/RISCV/rvzfhmin-valid.s
M llvm/test/MC/RISCV/rvzfinx-aliases-valid.s
A llvm/test/MC/RISCV/rvzfinx-valid.s
M llvm/test/MC/RISCV/rvzhinx-aliases-valid.s
A llvm/test/MC/RISCV/rvzhinx-valid.s
A llvm/test/MC/RISCV/rvzhinxmin-valid.s
A llvm/test/MC/RISCV/rvzicbom-invalid.s
A llvm/test/MC/RISCV/rvzicbom-valid.s
A llvm/test/MC/RISCV/rvzicbop-invalid.s
A llvm/test/MC/RISCV/rvzicbop-valid.s
A llvm/test/MC/RISCV/rvzicboz-invalid.s
A llvm/test/MC/RISCV/rvzicboz-valid.s
A llvm/test/MC/RISCV/rvzicond-invalid.s
A llvm/test/MC/RISCV/rvzicond-valid.s
A llvm/test/MC/RISCV/rvzihintntl-invalid.s
A llvm/test/MC/RISCV/rvzihintntl-valid.s
A llvm/test/MC/RISCV/rvzihintntlc-invalid.s
A llvm/test/MC/RISCV/rvzihintntlc-valid.s
A llvm/test/MC/RISCV/rvzihintpause-valid.s
A llvm/test/MC/RISCV/rvzknh-valid.s
A llvm/test/MC/RISCV/rvzksed-valid.s
A llvm/test/MC/RISCV/rvzksh-valid.s
M llvm/test/MC/RISCV/smctr-ssctr-valid.s
M llvm/test/MC/RISCV/smrnmi-valid.s
M llvm/test/MC/RISCV/supervisor-csr-names.s
M llvm/test/MC/RISCV/user-csr-names.s
M llvm/test/MC/RISCV/xqcia-valid.s
A llvm/test/MC/RISCV/xqciac-invalid.s
A llvm/test/MC/RISCV/xqciac-valid.s
A llvm/test/MC/RISCV/xqcicli-invalid.s
A llvm/test/MC/RISCV/xqcicli-valid.s
A llvm/test/MC/RISCV/xqcicm-invalid.s
A llvm/test/MC/RISCV/xqcicm-valid.s
M llvm/test/MC/RISCV/xqcics-valid.s
M llvm/test/MC/RISCV/xqcicsr-valid.s
M llvm/test/MC/RISCV/xqcilsm-aliases-valid.s
M llvm/test/MC/RISCV/xqcilsm-valid.s
M llvm/test/MC/RISCV/xqcisls-valid.s
M llvm/test/MC/RISCV/xsifive-valid.s
M llvm/test/MC/RISCV/xwchc-compress.s
M llvm/test/MC/RISCV/xwchc-valid.s
M llvm/test/MC/RISCV/zfa-double-invalid.s
M llvm/test/MC/RISCV/zfa-half-invalid.s
M llvm/test/MC/RISCV/zfa-valid.s
M llvm/test/MC/RISCV/zfa-zfhmin-zvfh-valid.s
M llvm/test/MC/RISCV/zicfilp-invalid.s
M llvm/test/MC/RISCV/zicfilp-valid.s
M llvm/test/MC/RISCV/zicfiss-valid.s
M llvm/test/MC/SystemZ/asm-match.s
M llvm/test/MC/SystemZ/gnu-attributes.s
M llvm/test/MC/WebAssembly/assembler-binary.ll
M llvm/test/MC/WebAssembly/basic-assembly.s
M llvm/test/MC/WebAssembly/stack-ptr-mclower.ll
M llvm/test/MC/XCOFF/inlineasm.s
A llvm/test/Other/debugcounter-slsr.ll
R llvm/test/TableGen/ContextlessPredicates.td
R llvm/test/TableGen/DefaultOpsGlobalISel.td
R llvm/test/TableGen/GlobalISelEmitter-PR39045.td
R llvm/test/TableGen/GlobalISelEmitter-SDNodeXForm-timm.td
R llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
R llvm/test/TableGen/GlobalISelEmitter-frameindex.td
R llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
R llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
R llvm/test/TableGen/GlobalISelEmitter-implicit-defs.td
R llvm/test/TableGen/GlobalISelEmitter-input-discard.td
R llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
R llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
R llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
R llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
R llvm/test/TableGen/GlobalISelEmitter-output-discard.td
R llvm/test/TableGen/GlobalISelEmitter-setcc.td
R llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
R llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
R llvm/test/TableGen/GlobalISelEmitter.td
A llvm/test/TableGen/GlobalISelEmitter/ContextlessPredicates.td
A llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
A llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
A llvm/test/TableGen/GlobalISelEmitter/Flags.td
A llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
A llvm/test/TableGen/GlobalISelEmitter/HwModes.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizer.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand-invalid.td
A llvm/test/TableGen/GlobalISelEmitter/MatchTableOptimizerSameOperand.td
A llvm/test/TableGen/GlobalISelEmitter/OverloadedPtr.td
A llvm/test/TableGen/GlobalISelEmitter/PR39045.td
A llvm/test/TableGen/GlobalISelEmitter/RegSequence.td
A llvm/test/TableGen/GlobalISelEmitter/SDNodeXForm-timm.td
A llvm/test/TableGen/GlobalISelEmitter/SkippedPatterns.td
A llvm/test/TableGen/GlobalISelEmitter/Subreg.td
A llvm/test/TableGen/GlobalISelEmitter/Variadic.td
A llvm/test/TableGen/GlobalISelEmitter/atomic-store.td
A llvm/test/TableGen/GlobalISelEmitter/dead-def.td
A llvm/test/TableGen/GlobalISelEmitter/frameindex.td
A llvm/test/TableGen/GlobalISelEmitter/gisel-physreg-input.td
A llvm/test/TableGen/GlobalISelEmitter/immAllZeroOne.td
A llvm/test/TableGen/GlobalISelEmitter/immarg-literal-pattern.td
A llvm/test/TableGen/GlobalISelEmitter/immarg-predicated.td
A llvm/test/TableGen/GlobalISelEmitter/immarg.td
A llvm/test/TableGen/GlobalISelEmitter/implicit-defs.td
A llvm/test/TableGen/GlobalISelEmitter/input-discard.td
A llvm/test/TableGen/GlobalISelEmitter/multiple-output-discard.td
A llvm/test/TableGen/GlobalISelEmitter/multiple-output.td
A llvm/test/TableGen/GlobalISelEmitter/nested-subregs.td
A llvm/test/TableGen/GlobalISelEmitter/notype-output-pattern.td
A llvm/test/TableGen/GlobalISelEmitter/optional-def.td
A llvm/test/TableGen/GlobalISelEmitter/output-discard.td
A llvm/test/TableGen/GlobalISelEmitter/setcc.td
A llvm/test/TableGen/GlobalISelEmitter/undef-tied-input.td
A llvm/test/TableGen/GlobalISelEmitter/zero-instr.td
A llvm/test/TableGen/GlobalISelEmitter/zero-reg.td
R llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
R llvm/test/TableGen/GlobalISelEmitterFlags.td
R llvm/test/TableGen/GlobalISelEmitterHwModes.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
R llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
R llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
R llvm/test/TableGen/GlobalISelEmitterRegSequence.td
R llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
R llvm/test/TableGen/GlobalISelEmitterSubreg.td
R llvm/test/TableGen/GlobalISelEmitterVariadic.td
R llvm/test/TableGen/gisel-physreg-input.td
R llvm/test/TableGen/immarg-predicated.td
R llvm/test/TableGen/immarg.td
M llvm/test/TableGen/template-args.td
M llvm/test/TableGen/x86-fold-tables.inc
M llvm/test/ThinLTO/X86/memprof-missing-callsite.ll
A llvm/test/ThinLTO/X86/memprof-recursive.ll
A llvm/test/Transforms/CodeGenPrepare/AArch64/reduce-or-opt.ll
M llvm/test/Transforms/DFAJumpThreading/dfa-unfold-select.ll
M llvm/test/Transforms/DFAJumpThreading/negative.ll
A llvm/test/Transforms/EntryExitInstrumenter/mcount-with-frompc.ll
M llvm/test/Transforms/EntryExitInstrumenter/mcount.ll
M llvm/test/Transforms/ExpandMemCmp/AArch64/memcmp.ll
M llvm/test/Transforms/ExpandMemCmp/X86/memcmp-x32.ll
M llvm/test/Transforms/ExpandMemCmp/X86/memcmp.ll
M llvm/test/Transforms/FunctionAttrs/initializes.ll
M llvm/test/Transforms/GCOVProfiling/exit-block.ll
M llvm/test/Transforms/GCOVProfiling/version.ll
A llvm/test/Transforms/HotColdSplit/outline-inner-region-stacktoocomplex.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstateza-attrs.ll
M llvm/test/Transforms/InstCombine/add-shl-sdiv-to-srem.ll
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
M llvm/test/Transforms/InstCombine/bit-checks.ll
M llvm/test/Transforms/InstCombine/compare-signs.ll
M llvm/test/Transforms/InstCombine/copysign.ll
M llvm/test/Transforms/InstCombine/fcmp-fadd-select.ll
M llvm/test/Transforms/InstCombine/icmp-add.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/onehot_merge.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/overflow.ll
M llvm/test/Transforms/InstCombine/phi.ll
R llvm/test/Transforms/InstCombine/printf-addrspace.ll
M llvm/test/Transforms/InstCombine/rem-mul-shl.ll
M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
M llvm/test/Transforms/InstCombine/select-divrem.ll
A llvm/test/Transforms/InstCombine/select-with-extreme-eq-cond.ll
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/xor-and-or.ll
A llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2i-d2i.ll
A llvm/test/Transforms/InstSimplify/const-fold-nvvm-f2ll-d2ll.ll
M llvm/test/Transforms/LoopStrengthReduce/AArch64/lsr-reuse.ll
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling.ll
M llvm/test/Transforms/LoopVectorize/AArch64/arith-fp-frem-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/intrinsiccost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-zext-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-interleaved-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
A llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i16-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i32-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i64-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/gather-i8-with-i8-index.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2-indices-0u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-01u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3-indices-0uu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-012u.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4-indices-0uuu.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-load-i8-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-f64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i16-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i32-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-3.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-4.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-5.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-6.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i64-stride-7.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-2.ll
M llvm/test/Transforms/LoopVectorize/X86/CostModel/interleaved-store-i8-stride-3.ll
Log Message:
-----------
Merge branch 'main' into users/Enna1/tysan-module-pass
Compare: https://github.com/llvm/llvm-project/compare/f5ef483245ed...00b59c8e122c
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