Skip to content

Conversation

@iclsrc
Copy link
Collaborator

@iclsrc iclsrc commented Jan 20, 2026

ThanSin02426 and others added 30 commits January 1, 2026 12:18
…ce-in-header (#173484)

This PR renames the check `google-build-namespaces` to
`misc-anonymous-namespace-in-header` and adds documentation on why
anonymous namespaces in headers are problematic.

Closes #170979
…ll (#174135)

Follow up from c436551, this is another
instance of the same problem.
Also handle missing PtrToAddrs and AddrSpaceCast in
getCostForRecipeWithOpcode.

This makes sure all cast opcodes are handled, fixing a crash on loops
replicating addrspacecast and ptrtoaddrs.
…arded values (#173981)

Add a helper function to compute a mapping of successor operands to
successor inputs. This mapping is computed in various places. Also add a
helper function to gather all region branch points.

This commit is in preparation of a bug fix / partial redesign of
`-remove-dead-values`. This commit also removes some duplicate code in
various places.
Resolves #171364

- Implement [proposed resolution of LWG4370](https://wg21.link/LWG4370)
- Add corresponding compile test
…dedFPClass (#174074)

Fold constants of known single class to the original constant instead of
a new constant. This avoids overdefining vector elements that were
originally undefined with the splat constant.
…(#174100)

Eventually this should pull up the known elements logic from
computeKnownFPClass.
Currently reductions can handles only same/alternate instructions,
skipping potential support for copyables. Patch adds support for
copyables in the reduced values.
…4151)

The new warning about local variables that are used without possible
being defined or initialized may be generating some false positives;
disable it by default for now.
…FPClass (#174101)

This should look more like the computeKnownFPClass handling, with
knowledge of demanded vector elements.
- 0bc6491 adds the `nuw` flag during
  __builtin_clrsb expansion. Match that change in CIR.
…747)

For X86 and RISCV checking of target_clones attribute arguments
attempted to use the location of the first argument for diagnosing a
missing default argument.

However, if the argument list is empty, then this location doesn't exist
and causes an assertion.

This commit passes the location of the attribute itself to the
target-specific validation function in the case of X86 and RISCV in
order to provide a usable location for this diagnostic.

Fixes #173684

---

I am not sure whether this is intentional, but for AArch64 the
validation does not emit a diagnostic for missing `"default"` argument.
Therefore the issue did not appear there and I did not make any changes
to it. This is the only other target besides X86 and RISCV that supports
`target_clones`.
The new Severity::ErrorUnlessDeadCode message severity isn't always
considered to be fatal. Consolidate the "is this severity fatal?" logic
into one place.

Some instances in semantics that note variable definitions were
conditional on the symbol being a function result, since only the
"function result was never defined" warning needed to know about them.
Make them note all defined symbols.
Extend test coverage for selecting inductions.
Fix for llvm/llvm-project#173869.

If there's no strong reason, we should get rid of per-target RTTI later.
Currently reductions can handles only same/alternate instructions,
skipping potential support for copyables. Patch adds support for
copyables in the reduced values.

Recommit after revert in 1febc3f
…(#174134)

We are trying to ensure that we explicitly annotate branch/select
weights as unknown when creating a select if we cannot reasonably infer
them to ensure branch weights are propagated as much as possible. (See

https://discourse.llvm.org/t/rfc-profile-information-propagation-unittesting/73595
for the original proposal).

e4772c6 introduced a new select that sometimes might be missing this
annotation. Mark the weights as unknown given we cannot reasonably infer
whether the value distribution here.
…174047)

Fixes an issue where, when supplied with an `MlirAsmState`,
`mlirOperationPrintWithState` prints the output twice, once with and
once without using the state.
Done very mechanically.

This changes that one cannot just pass null config to C API for config.
This patch makes it so that we print the passes on separate lines which
makes it much easier to read the piepline and look at diffs with most
tooling.
Refactors the pass, adds a NewPM wrapper, and adds test coverage,
similar to previous pass portings.
If this opcode is being jumped-over, we have to ignore it.

Fixes #172191
…184)

This pretty hard to produce in C++ but easy in C.

Fixes #171609
… (#172317)

It looks like this is already handled for funnel shifts, we can do the
same for the or created when lowering G_ROTR and G_ROTL. This allows
some more add-like-ors to match.
The env PATH='' won't work on windows.
@jsji jsji force-pushed the llvmspirv_pulldown branch from b610ec7 to 0d48d73 Compare January 29, 2026 02:05
@jsji jsji temporarily deployed to WindowsCILock January 29, 2026 02:06 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock January 29, 2026 02:06 — with GitHub Actions Inactive
@jsji jsji deployed to WindowsCILock January 29, 2026 02:33 — with GitHub Actions Active
@jsji jsji temporarily deployed to WindowsCILock January 29, 2026 02:45 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock January 29, 2026 02:45 — with GitHub Actions Inactive
@jsji jsji temporarily deployed to WindowsCILock January 29, 2026 02:45 — with GitHub Actions Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

disable-lint Skip linter check step and proceed with build jobs

Projects

None yet

Development

Successfully merging this pull request may close these issues.