------- Comment #5 from rakdver at gcc dot gnu dot org  2008-01-21 17:35 -------
(In reply to comment #3)
> > This is a vectorizer vs not being able to run may_alias after it
> 
> can you please remind me why we can't run may_alias after the vectorizer? (and
> what do you think can be done about it?)

As for this ICE: may_alias rebuilds the smt's, and finds that the smt for the
pointers created by vectorizer should be different (based on their type, not
the artificial ones created by vectorizer).

If we removed the hacks to update the alias info from vectorizer and run
may_alias instead, we might get type-based alias analysis related
misscompilations, as we create code of form

vector_type *p = &object_of_arbitrary_type;
*p = something;

And TBA might decide that references through vector_type and arbitrary_type
cannot alias.

I actually tried this some time ago, and I was not able to get misscompilations
this way (I am not really sure why).  However, I got many fails in the
testsuite (that I did not have time to investigate), so there may be some other
problems with alias analysis after vectorizer.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34330

Reply via email to