diff mbox

[v2] PR bootstrap/61598

Message ID 1403712361-2240-1-git-send-email-tsaunders@mozilla.com
State New
Headers show

Commit Message

Trevor Saunders June 25, 2014, 4:05 p.m. UTC
From: tbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>

Hi,

Actually we can just store const tre_node * in the hash table, and actually
remove a const cast.

bootstrapped with --enable-checking=fold on top of my original series on
x86_64-unknown-linux-gnu, and aprovied by richi on IRC, commited.

Trev

gcc/

        PR bootstrap/61598
        * fold-const.c (fold_checksum_tree): Use a hash_table of const
        tree_node * instead of tree_node *.
        (fold): Adjust.
        (print_fold_checksum): Likewise.
        (fold_check_failed): Likewise.
        (debug_fold_checksum): Likewise.
        (fold_build1_stat_loc): Likewise.
        (fold_build2_stat_loc): Likewise.
        (fold_build3_stat_loc): Likewise.
        (fold_build_call_array_loc): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211985 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/ChangeLog    | 14 ++++++++++++++
 gcc/fold-const.c | 22 +++++++++++-----------
 2 files changed, 25 insertions(+), 11 deletions(-)

Comments

Jeff Law June 25, 2014, 9 p.m. UTC | #1
On 06/25/14 10:05, tsaunders@mozilla.com wrote:
> From: tbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>
>
> Hi,
>
> Actually we can just store const tre_node * in the hash table, and actually
> remove a const cast.
>
> bootstrapped with --enable-checking=fold on top of my original series on
> x86_64-unknown-linux-gnu, and aprovied by richi on IRC, commited.
>
> Trev
>
> gcc/
>
>          PR bootstrap/61598
>          * fold-const.c (fold_checksum_tree): Use a hash_table of const
>          tree_node * instead of tree_node *.
>          (fold): Adjust.
>          (print_fold_checksum): Likewise.
>          (fold_check_failed): Likewise.
>          (debug_fold_checksum): Likewise.
>          (fold_build1_stat_loc): Likewise.
>          (fold_build2_stat_loc): Likewise.
>          (fold_build3_stat_loc): Likewise.
>          (fold_build_call_array_loc): Likewise.
Opps, presumably this should be used instead of your earlier patch I 
approved, right?

JEff
Trevor Saunders June 25, 2014, 9:11 p.m. UTC | #2
On Wed, Jun 25, 2014 at 03:00:33PM -0600, Jeff Law wrote:
> On 06/25/14 10:05, tsaunders@mozilla.com wrote:
> >From: tbsaunde <tbsaunde@138bc75d-0d04-0410-961f-82ee72b054a4>
> >
> >Hi,
> >
> >Actually we can just store const tre_node * in the hash table, and actually
> >remove a const cast.
> >
> >bootstrapped with --enable-checking=fold on top of my original series on
> >x86_64-unknown-linux-gnu, and aprovied by richi on IRC, commited.
> >
> >Trev
> >
> >gcc/
> >
> >         PR bootstrap/61598
> >         * fold-const.c (fold_checksum_tree): Use a hash_table of const
> >         tree_node * instead of tree_node *.
> >         (fold): Adjust.
> >         (print_fold_checksum): Likewise.
> >         (fold_check_failed): Likewise.
> >         (debug_fold_checksum): Likewise.
> >         (fold_build1_stat_loc): Likewise.
> >         (fold_build2_stat_loc): Likewise.
> >         (fold_build3_stat_loc): Likewise.
> >         (fold_build_call_array_loc): Likewise.
> Opps, presumably this should be used instead of your earlier patch I
> approved, right?

yeah, I checked it in a couple hours ago ;)

Trev

> 
> JEff
>
diff mbox

Patch

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c518c0e..9eb0524 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,17 @@ 
+2014-06-25  Trevor Saunders  <tsaunders@mozilla.com>
+
+	PR bootstrap/61598
+	* fold-const.c (fold_checksum_tree): Use a hash_table of const
+	tree_node * instead of tree_node *.
+	(fold): Adjust.
+	(print_fold_checksum): Likewise.
+	(fold_check_failed): Likewise.
+	(debug_fold_checksum): Likewise.
+	(fold_build1_stat_loc): Likewise.
+	(fold_build2_stat_loc): Likewise.
+	(fold_build3_stat_loc): Likewise.
+	(fold_build_call_array_loc): Likewise.
+
 2014-06-25  David Edelsohn  <dje.gcc@gmail.com>
 
 	* config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Replace
diff --git a/gcc/fold-const.c b/gcc/fold-const.c
index f6b72b7..d22eac1 100644
--- a/gcc/fold-const.c
+++ b/gcc/fold-const.c
@@ -14686,7 +14686,7 @@  fold (tree expr)
 #undef fold
 
 static void fold_checksum_tree (const_tree, struct md5_ctx *,
-				hash_table<pointer_hash<tree_node> > *);
+				hash_table<pointer_hash<const tree_node> > *);
 static void fold_check_failed (const_tree, const_tree);
 void print_fold_checksum (const_tree);
 
@@ -14700,7 +14700,7 @@  fold (tree expr)
   tree ret;
   struct md5_ctx ctx;
   unsigned char checksum_before[16], checksum_after[16];
-  hash_table<pointer_hash<tree_node> > ht (32);
+  hash_table<pointer_hash<const tree_node> > ht (32);
 
   md5_init_ctx (&ctx);
   fold_checksum_tree (expr, &ctx, &ht);
@@ -14724,7 +14724,7 @@  print_fold_checksum (const_tree expr)
 {
   struct md5_ctx ctx;
   unsigned char checksum[16], cnt;
-  hash_table<pointer_hash<tree_node> > ht (32);
+  hash_table<pointer_hash<const tree_node> > ht (32);
 
   md5_init_ctx (&ctx);
   fold_checksum_tree (expr, &ctx, &ht);
@@ -14742,9 +14742,9 @@  fold_check_failed (const_tree expr ATTRIBUTE_UNUSED, const_tree ret ATTRIBUTE_UN
 
 static void
 fold_checksum_tree (const_tree expr, struct md5_ctx *ctx,
-		    hash_table<pointer_hash <tree_node> > *ht)
+		    hash_table<pointer_hash <const tree_node> > *ht)
 {
-  tree_node **slot;
+  const tree_node **slot;
   enum tree_code code;
   union tree_node buf;
   int i, len;
@@ -14755,7 +14755,7 @@  fold_checksum_tree (const_tree expr, struct md5_ctx *ctx,
   slot = ht->find_slot (expr, INSERT);
   if (*slot != NULL)
     return;
-  *slot = CONST_CAST_TREE (expr);
+  *slot = expr;
   code = TREE_CODE (expr);
   if (TREE_CODE_CLASS (code) == tcc_declaration
       && DECL_ASSEMBLER_NAME_SET_P (expr))
@@ -14899,7 +14899,7 @@  debug_fold_checksum (const_tree t)
   int i;
   unsigned char checksum[16];
   struct md5_ctx ctx;
-  hash_table<pointer_hash<tree_node> > ht (32);
+  hash_table<pointer_hash<const tree_node> > ht (32);
 
   md5_init_ctx (&ctx);
   fold_checksum_tree (t, &ctx, &ht);
@@ -14927,7 +14927,7 @@  fold_build1_stat_loc (location_t loc,
 #ifdef ENABLE_FOLD_CHECKING
   unsigned char checksum_before[16], checksum_after[16];
   struct md5_ctx ctx;
-  hash_table<pointer_hash<tree_node> > ht (32);
+  hash_table<pointer_hash<const tree_node> > ht (32);
 
   md5_init_ctx (&ctx);
   fold_checksum_tree (op0, &ctx, &ht);
@@ -14968,7 +14968,7 @@  fold_build2_stat_loc (location_t loc,
 		checksum_after_op0[16],
 		checksum_after_op1[16];
   struct md5_ctx ctx;
-  hash_table<pointer_hash<tree_node> > ht (32);
+  hash_table<pointer_hash<const tree_node> > ht (32);
 
   md5_init_ctx (&ctx);
   fold_checksum_tree (op0, &ctx, &ht);
@@ -15022,7 +15022,7 @@  fold_build3_stat_loc (location_t loc, enum tree_code code, tree type,
 		checksum_after_op1[16],
 		checksum_after_op2[16];
   struct md5_ctx ctx;
-  hash_table<pointer_hash<tree_node> > ht (32);
+  hash_table<pointer_hash<const tree_node> > ht (32);
 
   md5_init_ctx (&ctx);
   fold_checksum_tree (op0, &ctx, &ht);
@@ -15088,7 +15088,7 @@  fold_build_call_array_loc (location_t loc, tree type, tree fn,
 		checksum_after_fn[16],
 		checksum_after_arglist[16];
   struct md5_ctx ctx;
-  hash_table<pointer_hash<tree_node> > ht (32);
+  hash_table<pointer_hash<const tree_node> > ht (32);
   int i;
 
   md5_init_ctx (&ctx);