[MLIR][CAPI] Fix duplicate output from mlirOperationPrintWithState (#174047)
Fixes an issue where, when supplied with an `MlirAsmState`,
`mlirOperationPrintWithState` prints the output twice, once with and
once without using the state.
[InstCombine] Explicitly mark select weights from e4722c6 as unknown (#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.
[SLP] Support for copyables in the reduced values (#153589)
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 1febc3f088ef444af378c0a90aaba2195c30472b
[flang] Fix two bugs with new warnings (#174153)
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.
[Clang] Use valid source loc for empty target_clones diagnostic (#173747)
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.
[2 lines not shown]
[CIR] Match codegen change on __builtin_clrsb expansion
- 0bc6491da0c827ce94bd8fa852422eaafe6c39e7 adds the `nuw` flag during
__builtin_clrsb expansion. Match that change in CIR.
InstCombine: Rudimentary support of shufflevector in SimplifyDemandedFPClass (#174101)
This should look more like the computeKnownFPClass handling, with
knowledge of demanded vector elements.
[flang] Disable new -Wused-undefined-variable warning by default (#174151)
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.
[SLP] Support for copyables in the reduced values (#153589)
Currently reductions can handles only same/alternate instructions,
skipping potential support for copyables. Patch adds support for
copyables in the reduced values.
InstCombine: Basic insertelement support for SimplifyDemandedFPClass (#174100)
Eventually this should pull up the known elements logic from
computeKnownFPClass.
InstCombine: Fix defining undef constant vector elts in SimplifyDemandedFPClass (#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.