------- Comment #1 from rguenth at gcc dot gnu dot org  2008-05-15 10:12 -------
Confirmed.  The problem is how we compute MTAG_GLOBAL and call clobbering.
We assert that "unmodifiable" variables are not call clobbered and
"unmodifiable" is if MTAG_GLOBAL && TREE_READONLY.  Now we transition between
unmodifiable and not unmodifiable in compute_tag_properties and are not
careful making an already call clobbered variable unmodifiable.

The simplest fix is to remove the offending assert (we only believe we have
extra call clobbering - but I think this is not true in general).

Note I cannot reproduce this on the trunk but on the 4.3 branch only.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
          Component|tree-optimization           |middle-end
     Ever Confirmed|0                           |1
           Keywords|                            |alias, ice-on-valid-code
      Known to fail|                            |4.3.1
   Last reconfirmed|0000-00-00 00:00:00         |2008-05-15 10:12:50
               date|                            |
            Summary|-ftree-parallelize-loops=4, |-ftree-parallelize-loops=4,
                   |vectorizer enabled, ICE     |vectorizer enabled, ICE


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

Reply via email to