This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Improve detection of widening multiplication in the vectorizer
On 1 June 2011 12:42, Richard Guenther <richard.guenther@gmail.com> wrote:
> Did you think about moving pass_optimize_widening_mul before
> loop optimizations? ?Does that pass catch the cases you are
> teaching the pattern recognizer? ?I think we should try to expose
> these more complicated instructions to loop optimizers.
>
pass_optimize_widening_mul doesn't catch these cases, but I can try to
teach it instead of the vectorizer.
I am now testing
Index: passes.c
===================================================================
--- passes.c (revision 174391)
+++ passes.c (working copy)
@@ -870,6 +870,7 @@
NEXT_PASS (pass_split_crit_edges);
NEXT_PASS (pass_pre);
NEXT_PASS (pass_sink_code);
+ NEXT_PASS (pass_optimize_widening_mul);
NEXT_PASS (pass_tree_loop);
{
struct opt_pass **p = &pass_tree_loop.pass.sub;
@@ -934,7 +935,6 @@
NEXT_PASS (pass_forwprop);
NEXT_PASS (pass_phiopt);
NEXT_PASS (pass_fold_builtins);
- NEXT_PASS (pass_optimize_widening_mul);
NEXT_PASS (pass_tail_calls);
NEXT_PASS (pass_rename_ssa_copies);
NEXT_PASS (pass_uncprop);
to see how it affects other loop optimizations (vectorizer pattern
tests obviously fail).
Thanks,
Ira
> Thanks,
> Richard.
>