This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [autovect] [patch] complete-unrolling pass before the vectorizer


On 3/20/07, Revital1 Eres <ERES@il.ibm.com> wrote:

> Why do you need pass_ccp before pass_store_ccp? Doesn't pass_store_ccp > do at least the propagations that a normal CCP pass would do? That > pass_ccp looks like redundant work to me. Can you explain why you had > to schedule it there?

As constant propagation optimization is not applied on vectorized code
we saw that it is highly effective to preform aggressive CCP phase before
the vectorizer (normal CCP + store CCP).  This is the case when a nested
loop collapse into an outer loop and the outer loop get vectorized.

Yes, but store CPP == normal CPP + CCP for stores. Store CCP is not a separate pass, it is just normal CCP on steroids. You are doing normal CCP twice in a row.

Do you have a test case that shows different code if you remove the
pass_ccp before the pass_store_ccp?

Gr.
Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]