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]

[PATCH][alias-improvements] Do not walk VOPs during GC


This makes us not walk VOPs from statements during GC to avoid deep
recursion via the def-stmt links.  We mark VOPs when iterating over
the ssa_names vector instead.

Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to the 
branch.

Richard.

2009-02-28  Richard Guenther  <rguenther@suse.de>

	* gimple.h (struct gimple_statement_with_memory_ops_base):
	Mark vdef and vuse members with GTY((skip (""))).

Index: gcc/gimple.h
===================================================================
*** gcc/gimple.h	(revision 144472)
--- gcc/gimple.h	(working copy)
*************** struct gimple_statement_with_memory_ops_
*** 364,372 ****
    struct gimple_statement_with_ops_base opbase;
  
    /* [ WORD 8-9 ]
!      Virtual operands for this statement.  */
!   tree vdef;
!   tree vuse;
  };
  
  
--- 364,373 ----
    struct gimple_statement_with_ops_base opbase;
  
    /* [ WORD 8-9 ]
!      Virtual operands for this statement.  The GC will pick them
!      up via the ssa_names array.  */
!   tree GTY((skip (""))) vdef;
!   tree GTY((skip (""))) vuse;
  };
  
  


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