http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46590
--- Comment #24 from rguenther at suse dot de <rguenther at suse dot de> 2012-08-21 09:59:41 UTC --- On Tue, 21 Aug 2012, steven at gcc dot gnu.org wrote: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46590 > > Steven Bosscher <steven at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |steven at gcc dot gnu.org > > --- Comment #23 from Steven Bosscher <steven at gcc dot gnu.org> 2012-08-21 > 09:42:42 UTC --- > (In reply to comment #13) > > The I/O parts of the FRE cost are due to value-numbering stores in > > visit_reference_op_store. They can be drastically cut by an equivalent > > of (not generating code) > > > > Index: trans-io.c > > =================================================================== > > --- trans-io.c (revision 167111) > > +++ trans-io.c (working copy) > > @@ -1670,6 +1670,7 @@ build_dt (tree function, gfc_code * code > > gfc_init_block (&post_iu_block); > > > > var = gfc_create_var (st_parameter[IOPARM_ptype_dt].type, "dt_parm"); > > + gfc_add_modify (&block, var, build_constructor (TREE_TYPE (var), NULL)); > > > > set_error_locus (&block, var, &code->loc); > > > > You didn't post/commit this, but it looks like a reasonable change to me. I think this is obsolete now with Michas change to have CLOBBERs. Or if still useful, the above should be a CLOBBER now. Richard.