[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.
InstCombine: Rudimentary support of shufflevector in SimplifyDemandedFPClass
This should look more like the computeKnownFPClass handling, with knowledge
of demanded vector elements.
InstCombine: Fix defining undef constant vector elts in SimplifyDemandedFPClass
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.
[mlir][Interfaces][NFC] Add `RegionBranchOpInterface` helper for forwarded 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.
[VPlan] Handle addrspacecast/ptrtoaddr in VPlan-based cost model.
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.
InstCombine: Fix another wrong interested mask computeKnownFPClass call (#174135)
Follow up from c436551d5283a8fc00ae880a5b76660b6f08e37b, this is another
instance of the same problem.
[clang-tidy] Rename google-build-namespaces to misc-anonymous-namespace-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
InstCombine: Fix another wrong interested mask computeKnownFPClass call
Follow up from c436551d5283a8fc00ae880a5b76660b6f08e37b, this is another
instance of the same problem.
[mlir][linalg] Reject unsigned pooling on non-integer element types (#166070)
Fixes: #164800
Ensures unsigned pooling ops in Linalg stay in the integer domain: the
lowering now rejects floating/bool inputs with a clear diagnostic, new
regression tests lock in both the error path and a valid integer
example, and transform decompositions are updated to reflect the integer
typing.
Signed-off-by: Akimasa Watanuki <mencotton0410 at gmail.com>
[NPM] Update OptimizedRegAlloc and MachineLateOptimization pipelines (#172795)
1. add the StackSlotColoringPass to default pipeline
2. Introduce MachineLateInstrsCleanupPass at the beginning of
addMachineLateOptimization (matches the legacy default pipeline)