aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2015-10-09 15:16:16 -0600
committerJeff Law <law@gcc.gnu.org>2015-10-09 15:16:16 -0600
commit9cf1766f2fb9f5306177d266b7047d871c3272e9 (patch)
tree4fe75ed2dcd9b7d5b18924b49b9c1a6de105401c
parent4c926b8a613d7be44154c55a9dcaa6f2b84ea66e (diff)
downloadgcc-9cf1766f2fb9f5306177d266b7047d871c3272e9.zip
gcc-9cf1766f2fb9f5306177d266b7047d871c3272e9.tar.gz
gcc-9cf1766f2fb9f5306177d266b7047d871c3272e9.tar.bz2
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. From-SVN: r228668
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/tree-ssanames.c7
2 files changed, 7 insertions, 5 deletions
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 <law@redhat.com>
+
+ * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate
+ rather than moving each name to the freelist individually.
+
2015-10-09 Steve Ellcey <sellcey@imgtec.com>
* 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