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

--- Comment #4 from rguenther at suse dot de <rguenther at suse dot de> 
2011-05-31 08:22:51 UTC ---
On Tue, 31 May 2011, irar at il dot ibm.com wrote:

> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49093
> 
> Ira Rosen <irar at il dot ibm.com> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>                  CC|                            |irar at il dot ibm.com
> 
> --- Comment #3 from Ira Rosen <irar at il dot ibm.com> 2011-05-31 07:31:02 
> UTC ---
> The problem here is that
> vol.2_8 ={v} g_324[g_97_22];
> is skipped during determination of the vectorization factor, because it has no
> uses. The vf is set to 4, and then the analysis fails on the char data-ref.
> 
> I think we should just not vectorize when there is a volatile access in a 
> loop.
> Is that reasonable?

I think that's reasonable for 4.6.  But we don't need to make
data-ref analysis fail just because of volatile references - we for
example can easily unroll a loop with volatile loads/stores.

Of course this case seems to be special - how do we deal with
stmts with no uses during vectorization?  Or do we assume
they don't happen because usually DCE gets rid of them?

Richard.

Reply via email to