aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-loop.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2021-08-04 16:52:08 +0100
committerRichard Sandiford <richard.sandiford@arm.com>2021-08-04 16:52:08 +0100
commit315a1c3756cbc751c4af0ce0da2157a88d7c3b09 (patch)
treeceea55a525b37ca30e9b768c6938016de62fcd7a /gcc/tree-vect-loop.c
parenteb55b5b0df26e95c98ab59d34e69189d4f61bc0c (diff)
downloadgcc-315a1c3756cbc751c4af0ce0da2157a88d7c3b09.zip
gcc-315a1c3756cbc751c4af0ce0da2157a88d7c3b09.tar.gz
gcc-315a1c3756cbc751c4af0ce0da2157a88d7c3b09.tar.bz2
vect: Tweak dump messages for vector mode choice
After vect_analyze_loop has successfully analysed a loop for one base vector mode B1, it considers using following base vector modes to vectorise an epilogue. However, for VECT_COMPARE_COSTS, a later mode B2 might turn out to be better than B1 was. Initially this comparison will be between an epilogue loop (for B2) and a main loop (for B1). However, in r11-6458 I'd added code to reanalyse the B2 epilogue loop as a main loop, partly for correctness and partly for better costing. This can lead to a situation in which we think that the B2 epilogue loop was better than the B1 main loop, but that the B2 main loop is not better than the B1 main loop. There was no dump message to say that this had happened, which made it look like B2 had still won. gcc/ * tree-vect-loop.c (vect_analyze_loop): Print a dump message when a reanalyzed loop fails to be cheaper than the current main loop.
Diffstat (limited to 'gcc/tree-vect-loop.c')
-rw-r--r--gcc/tree-vect-loop.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c
index 00a57b2..48a54b0 100644
--- a/gcc/tree-vect-loop.c
+++ b/gcc/tree-vect-loop.c
@@ -3064,7 +3064,16 @@ vect_analyze_loop (class loop *loop, vec_info_shared *shared)
= opt_loop_vec_info::success (main_loop_vinfo);
}
else
- delete main_loop_vinfo;
+ {
+ if (dump_enabled_p ())
+ dump_printf_loc (MSG_NOTE, vect_location,
+ "***** No longer preferring vector"
+ " mode %s after reanalyzing the loop"
+ " as a main loop\n",
+ GET_MODE_NAME
+ (main_loop_vinfo->vector_mode));
+ delete main_loop_vinfo;
+ }
}
}