This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Kill last use of ggc_push_context/ggc_pop_context


Hi,
after four days of testing, the attached patch has bootstrapped with
gcac.  I believe the ggc_push_context is no longer necesary as it was
probably supposed to keep alias information working.  This has been
fixed long time ago when varrays has been moved to varrays.  Except 
for aliasing information (that survive ggc on other places too afaik)
cse don't preserve much of datastructures:

  /* Clean up.  */
  end_alias_analysis ();
  free (uid_cuid);
  free (reg_eqv_table);
  free (val.path);
  rtl_hooks = general_rtl_hooks;

None of the other datastructures points to RTL...

Bootstrapped/regtested i686-linux with gcac checking.

Honza

2004-10-05  Jan Hubicka  <jh@suse.cz>
	* cse.c (cse_main): Kill push/pop context.
Index: cse.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cse.c,v
retrieving revision 1.316
diff -c -3 -p -r1.316 cse.c
*** cse.c	28 Sep 2004 23:29:01 -0000	1.316
--- cse.c	1 Oct 2004 22:11:51 -0000
*************** cse_main (rtx f, int nregs, FILE *file)
*** 6706,6713 ****
  	INSN_CUID (insn) = i;
      }
  
-   ggc_push_context ();
- 
    /* Loop over basic blocks.
       Compute the maximum number of qty's needed for each basic block
       (which is 2 for each SET).  */
--- 6706,6711 ----
*************** cse_main (rtx f, int nregs, FILE *file)
*** 6773,6780 ****
  #endif
      }
  
-   ggc_pop_context ();
- 
    if (max_elements_made < n_elements_made)
      max_elements_made = n_elements_made;
  
--- 6771,6776 ----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]