diff options
author | Richard Biener <rguenther@suse.de> | 2025-10-10 14:09:32 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2025-10-14 09:02:53 +0200 |
commit | b6e802fd55d37e43113fd45a96f7e49cc06fd620 (patch) | |
tree | d02678fd7852cbf9b53873b63ee7f32c85ff1269 /libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.h | |
parent | 72a35bdc2f9f27f8ecfbdbf93d96de23a920715c (diff) | |
download | gcc-master.zip gcc-master.tar.gz gcc-master.tar.bz2 |
The following moves us (almost) away from REDUC_GROUP_* to recognize
reduction chaings towards making this a SLP discovery artifact.
Reduction chains are now explicitly marked in the reduction info
and discovery is done during SLP discovery rather than during
analysis of scalar cycles. This gets rid of interactions with
patterns and it also allows to transparently fall back to non-chained
reductions even when there is a conversion involved. This also
spurred some major TLC in vectorizable_reduction.
What's still missing is to get rid of the last REDUC_GROUP_FIRST_ELEMENT
usage in SLP discovery - by not claiming we can handle the reduction
chain itself there. I'm leaving this for a followup (this was big
enough).
At least on x86-64 I now see XPASSes for gcc.dg/vect/vect-reduc-dot-s8b.c
and gcc.dg/vect/vect-reduc-pattern-2c.c. I have not done careful
analysis yet, will wait for the CI with that.
* tree-vectorizer.h (vect_reduc_info_s::is_reduc_chain): New.
(_loop_vec_info::reduction_chains): Remove.
(LOOP_VINFO_REDUCTION_CHAINS): Likewise.
* tree-vect-patterns.cc (vect_reassociating_reduction_p):
Do not special-case reduction group stmts.
* tree-vect-loop.cc (vect_is_simple_reduction): Remove
reduction chain handling.
(vect_analyze_scalar_cycles_1): Remove slp parameter and adjust.
(vect_analyze_scalar_cycles): Likewise.
(vect_fixup_reduc_chain): Remove.
(vect_fixup_scalar_cycles_with_patterns): Likewise.
(vect_analyze_loop_2): Adjust.
(vect_create_epilog_for_reduction): Check the reduction info
for whether this is a reduction chain.
(vect_transform_cycle_phi): Likewise.
(vectorizable_reduction): Likewise. Simplify code for all-SLP.
* tree-vect-slp.cc (vect_analyze_slp_reduc_chain): Simplify.
(vect_analyze_slp_reduction): New function, perform reduction
chain discovery here.
(vect_analyze_slp): Remove reduction chain handling.
Use vect_analyze_slp_reduction for possible reduction chain
processing.
* gcc.dg/vect/pr120687-1.c: Adjust.
* gcc.dg/vect/pr120687-2.c: Likewise.
* gcc.dg/vect/pr120687-3.c: Likewise.
Diffstat (limited to 'libjava/javax/swing/plaf/metal/MetalRootPaneUI$MetalTitlePane$CloseAction.h')
0 files changed, 0 insertions, 0 deletions