------- Comment #12 from rguenth at gcc dot gnu dot org  2008-10-14 20:46 
-------
This is because data-ref uses p1 for DR_BASE_ADDRESS instead of p (which is
restrict qualified), for the scalar load we do not do this "propagation"
because
we try to retain restrict qualifications.

simple_iv () in dr_analyze_innermost computes for the iv base

  (int * restrict) p1_4(D) + 4

and canonicalize_base_object_address gets passed (int * restrict) p1_4(D) after
splitting away the offset.  This just strips NOPs, so the restrict
qualification
gets lost here.

I have a patch.

So the assert in this case hints at a missed-optimization.


-- 


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

Reply via email to