[all-commits] [llvm/llvm-project] 798783: [Clang][Driver] Final phase also determined by inp...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Mon Sep 7 07:39:06 PDT 2026
Branch: refs/heads/users/alexey-bataev/spr/slp-enable-full-non-power-of-2-vectorization-by-default
Home: https://github.com/llvm/llvm-project
Commit: 7987830e776411a0de84c0c75e9f1059acadceb5
https://github.com/llvm/llvm-project/commit/7987830e776411a0de84c0c75e9f1059acadceb5
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Types.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Types.cpp
A clang/test/Driver/Inputs/object0.o
M clang/test/Driver/aix-ld.c
A clang/test/Driver/pch-inputs.h
Log Message:
-----------
[Clang][Driver] Final phase also determined by input (#218802)
Before this PR, `getFinalPhase` assumed that when no option is give then
the final phase will a linking step. This is objectively wrong: For
instance passing a header file as input (`-x c-header` or `-x
c++-header`) triggers precompilation, not linking. Other inputs that do
not have a link phase as specified by `Types.def`
are `.dxo`, `.ifs`, and `.hlsl` files.
Instead of defaulting to link in the absence of any action flag, this PR
uses the last phase that `Types.def` specifies for the given input
files. The effect of this is relevant when handling linking options
which are categorized as "input" like any other file.
Usually these should be filtered out if
there is no linking step. But, since `getFinalPhase` says there is a
linking flag, those are forwarded to the precompile handling which gets
confused with such "inputs". An accurate determination of the final
phase filters out those non-applicable linker options.
Note that the second condition of
`clang::diag::warn_drv_input_file_unused` was inverted: It would print
> clang: warning: -lfoo: 'linker' input unused when '' is present
[-Wunused-command-line-argument]
when passing a linker option to a non-link command that is not the
result of an action command flag. Inversely, when a non-link action flag
was used, it wasn't mentioned in the diagnostic message.
Commit: 1871cb232f00d67193c3ef085e26b67b56029d21
https://github.com/llvm/llvm-project/commit/1871cb232f00d67193c3ef085e26b67b56029d21
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
Log Message:
-----------
[clang-tidy][NFC] Convert check list to yaml format (#221411)
Yaml format was introduced in 19-20 release which is old enough to
safely transition our file to new version since we are on 23 release
already.
Commit: 71036f99e0dcc24b12cbcbcc2088b8d715465e0f
https://github.com/llvm/llvm-project/commit/71036f99e0dcc24b12cbcbcc2088b8d715465e0f
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[NFC] Stop relying on the LocationDescription conversion in unit tests. (#221004)
`LocationDescription` has an implicit conversion from a bare insertion
point, and it leaves DL default-constructed. `OpenMPIRBuilderTest`
depends on that in a number of places, either by naming an insertion
point directly or by handing `Builder.saveIP()` to an entry point that
takes a `LocationDescription`.
Spell out what each of those sites means instead. Where a live builder
is already sitting at the insertion point it is passed directly, and
where the test names an insertion point of its own the empty location is
written out, which is what it was getting before, so no test changes
behavior.
Co-authored-by: Cursor <cursoragent at cursor.com>
Commit: 137d8e684984df207576c8f24bd8743ddb71c5c9
https://github.com/llvm/llvm-project/commit/137d8e684984df207576c8f24bd8743ddb71c5c9
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/test/CodeGen/X86/avx512f-large-stack.ll
A llvm/test/CodeGen/X86/huge-frame-index.ll
Log Message:
-----------
[X86] Fix eliminateFrameIndex dropping existing index register for huge frame offsets
When the frame offset does not fit in disp32 and the address mode already
uses an index register, the register-scavenging path overwrote the index
operand with the scratch register, silently dropping the index from the
effective address (and applying the stale scale to the frame offset).
Fold the offset into the base register with an LEA in this case instead.
Fixes #213960
Assisted-by: Cursor
Reviewers: RKSimon, qcolombet
Pull Request: https://github.com/llvm/llvm-project/pull/221016
Commit: b9871b325ed34e4dea7ea81e8ec5c72fd6e1f0e7
https://github.com/llvm/llvm-project/commit/b9871b325ed34e4dea7ea81e8ec5c72fd6e1f0e7
Author: Andrzej WarzyĆski <andrzej.warzynski at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
M clang/test/CodeGen/AArch64/lit.local.cfg
A clang/test/CodeGen/AArch64/sve/dup.c
A clang/test/CodeGen/AArch64/sve/len.c
Log Message:
-----------
[clang][CIR][AArch64] Move and reformat SVE test (#220599)
Adapts SVE tests to match the approach that we took for Neon. In
particular, test are moved to:
* "clang/test/CodeGen/AArch64/sve"
There is no change in test coverage.
Commit: 759e1fff9e41cf4ad313c117cd024650b4566a71
https://github.com/llvm/llvm-project/commit/759e1fff9e41cf4ad313c117cd024650b4566a71
Author: Florian Hahn <flo at fhahn.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/wide-vscale-range-max-runtime-vf.ll
Log Message:
-----------
[LV] Use getMaxRuntimeElementCount for MaxPowerOf2RuntimeVF. (#221219)
Use new getMaxRuntimeElementCount to compute MaxPowerOf2RuntimeVF to
avoid overflow by performing computations in uint64_t.
This fixes an overflow in the test added in #219290. We now correctly
determine that a tail is needed for a low trip count loop.
PR: https://github.com/llvm/llvm-project/pull/221219
Commit: 972cd3ddf3d58ecb79a4e6b62b35147513f3aeea
https://github.com/llvm/llvm-project/commit/972cd3ddf3d58ecb79a4e6b62b35147513f3aeea
Author: David Spickett <david.spickett at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
Log Message:
-----------
[lldb][Windows] Silence unused variable warning on Windows on Arm (#221176)
<...>/llvm-project/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp(507,8):
warning: unused variable 'log' [-Wunused-variable]
507 | Log *log = GetLog(WindowsLog::Exception);
| ^~~
Move that line into the `#ifndef __aarch64__` block to fix this.
Commit: c84706fd8cab200aa460b7737fa5412a0c1628d8
https://github.com/llvm/llvm-project/commit/c84706fd8cab200aa460b7737fa5412a0c1628d8
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
Log Message:
-----------
[AArch64][SVE] Lower extended v2i8 loads using SVE. (#217006)
Loads of v2i8 are promoted to v2i32, which requires two extend
operations; v2i8 -> v2i16, then v2i16 -> v2i32. This comes largely for
free when using SVE's extending loads.
Commit: 330bb868b4a5d6035a1511169dacc72e913d009f
https://github.com/llvm/llvm-project/commit/330bb868b4a5d6035a1511169dacc72e913d009f
Author: Mikhail Titov <42744001+Anchels at users.noreply.github.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/docs/LibFuzzer.md
Log Message:
-----------
[docs][libFuzzer] Fix formatting and collapsed definition lists (#206709)
This PR fixes broken formatting and collapsed definition lists in the
libFuzzer documentation by adding missing blank lines.
Closes #206706
Signed-off-by: Anchels <mishtitov at gmail.com>
Commit: 95de5eb9942a20285afd59f7c197ba005a9b937b
https://github.com/llvm/llvm-project/commit/95de5eb9942a20285afd59f7c197ba005a9b937b
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR] Drop dead ceremony around the CIR enum attributes (#220890)
Five things that no longer earn their place in the CIR enum attribute
machinery.
CIR_CleanupKindAttr carried three. Its cppClassName restated the default
AttrDef already derives. Its skipDefaultBuilders plus hand-written
AttrBuilder existed only to default $value to CleanupKind::All, which no
caller relies on, so the generated builders stayed suppressed for
nothing.
And its summary and description restated the name, overriding the enum's
own
"cleanup kind" that EnumAttr would otherwise inherit. The isNormal, isEH
and
isNormalAndEH helpers stay.
CIR_TLSModelAttr's summary restated its name the same way, so only that
goes.
CIR_DefaultValuedEnumParameter has never had a user.
Commit: d246c5ee925edc79ed12e6269faa296b83362075
https://github.com/llvm/llvm-project/commit/d246c5ee925edc79ed12e6269faa296b83362075
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
Log Message:
-----------
[SLP][modularisation][NFC] Move order/mask helpers to SLPUtils (#221663)
Move the following BoUpSLP-independent order/mask helpers out of
SLPVectorizer.cpp into SLPVectorizer/SLPUtils.{h,cpp}:
reorderReuses
reorderOrder
isReverseOrder
isRepeatedNonIdentityClusteredMask
combineOrders
They sit with the existing permutation helpers. Behavior is unchanged.
Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
Commit: 905559e7a56c74029584fd2682dc592251d4d80f
https://github.com/llvm/llvm-project/commit/905559e7a56c74029584fd2682dc592251d4d80f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2026-09-07 (Mon, 07 Sep 2026)
Changed paths:
M clang-tools-extra/clang-tidy/.clang-tidy
M clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Types.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Types.cpp
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_dup.c
R clang/test/CIR/CodeGenBuiltins/AArch64/acle_sve_len.c
M clang/test/CodeGen/AArch64/lit.local.cfg
A clang/test/CodeGen/AArch64/sve/dup.c
A clang/test/CodeGen/AArch64/sve/len.c
A clang/test/Driver/Inputs/object0.o
M clang/test/Driver/aix-ld.c
A clang/test/Driver/pch-inputs.h
M lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp
M llvm/docs/LibFuzzer.md
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.h
M llvm/test/CodeGen/AArch64/load.ll
M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-insert-vector-to-predicate-load.ll
M llvm/test/CodeGen/X86/avx512f-large-stack.ll
A llvm/test/CodeGen/X86/huge-frame-index.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wide-vscale-range-max-runtime-vf.ll
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
Rebase
Created using spr 1.3.7
Compare: https://github.com/llvm/llvm-project/compare/0f138f68467d...905559e7a56c
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