commit 158044e96e95e4637a7c9519f864ec07d6a596de Author: Jeff Law Date: Fri Oct 9 15:14:16 2015 -0600 Re: [PATCH] Update SSA_NAME manager to use two lists * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate rather than moving each name to the freelist individually. diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 69743c3..4b81033 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2015-10-09 Jeff Law + + * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate + rather than moving each name to the freelist individually. + 2015-10-09 Steve Ellcey * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs. diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c index 91f4ed8..82fd4a1 100644 --- a/gcc/tree-ssanames.c +++ b/gcc/tree-ssanames.c @@ -127,11 +127,8 @@ ssanames_print_statistics (void) void flush_ssaname_freelist (void) { - while (!vec_safe_is_empty (FREE_SSANAMES_QUEUE (cfun))) - { - tree t = FREE_SSANAMES_QUEUE (cfun)->pop (); - vec_safe_push (FREE_SSANAMES (cfun), t); - } + vec_safe_splice (FREE_SSANAMES (cfun), FREE_SSANAMES_QUEUE (cfun)); + vec_safe_truncate (FREE_SSANAMES_QUEUE (cfun), 0); } /* Return an SSA_NAME node for variable VAR defined in statement STMT