diff options
author | Richard Biener <rguenther@suse.de> | 2014-03-18 14:39:16 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-03-18 14:39:16 +0000 |
commit | 4ca40f5284cc4b1347d6d9fe9d86ab41b2432599 (patch) | |
tree | 30ae31d241290eb7757ed63af732c2bba831fb5a /gcc | |
parent | 6404e1906720796f90640720fc3978a543d5f2b0 (diff) | |
download | gcc-4ca40f5284cc4b1347d6d9fe9d86ab41b2432599.zip gcc-4ca40f5284cc4b1347d6d9fe9d86ab41b2432599.tar.gz gcc-4ca40f5284cc4b1347d6d9fe9d86ab41b2432599.tar.bz2 |
df-problems.c (df_rd_confluence_n): Avoid bitmap_copy by using bitmap_and_compl instead of bitmap_and_compl_into.
2014-03-18 Richard Biener <rguenther@suse.de>
* df-problems.c (df_rd_confluence_n): Avoid bitmap_copy
by using bitmap_and_compl instead of bitmap_and_compl_into.
(df_rd_transfer_function): Likewise.
From-SVN: r208650
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/df-problems.c | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a971bbe..23c0b19 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2014-03-18 Richard Biener <rguenther@suse.de> + * df-problems.c (df_rd_confluence_n): Avoid bitmap_copy + by using bitmap_and_compl instead of bitmap_and_compl_into. + (df_rd_transfer_function): Likewise. + +2014-03-18 Richard Biener <rguenther@suse.de> + * doc/lto.texi (fresolution): Fix typo. 2014-03-18 Richard Biener <rguenther@suse.de> diff --git a/gcc/df-problems.c b/gcc/df-problems.c index 1c06d61..77f8c99 100644 --- a/gcc/df-problems.c +++ b/gcc/df-problems.c @@ -479,8 +479,7 @@ df_rd_confluence_n (edge e) bitmap_head tmp; bitmap_initialize (&tmp, &df_bitmap_obstack); - bitmap_copy (&tmp, op2); - bitmap_and_compl_into (&tmp, dense_invalidated); + bitmap_and_compl (&tmp, op2, dense_invalidated); EXECUTE_IF_SET_IN_BITMAP (sparse_invalidated, 0, regno, bi) { @@ -524,14 +523,13 @@ df_rd_transfer_function (int bb_index) problem_data = (struct df_rd_problem_data *) df_rd->problem_data; bitmap_initialize (&tmp, &problem_data->rd_bitmaps); - bitmap_copy (&tmp, in); + bitmap_and_compl (&tmp, in, kill); EXECUTE_IF_SET_IN_BITMAP (sparse_kill, 0, regno, bi) { bitmap_clear_range (&tmp, DF_DEFS_BEGIN (regno), DF_DEFS_COUNT (regno)); } - bitmap_and_compl_into (&tmp, kill); bitmap_ior_into (&tmp, gen); changed = !bitmap_equal_p (&tmp, out); if (changed) |