Do not describe -std=c11 etc. as experimental in c.opt help text.
[gcc.git] / gcc / postreload-gcse.c
index 9014d69df2065891c52762cf1a408bc0a9b86600..136e84b3714af34d8fbfef01a78fd2f3da519208 100644 (file)
@@ -20,38 +20,21 @@ along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
-#include "tm.h"
+#include "backend.h"
+#include "predict.h"
+#include "tree.h"
+#include "rtl.h"
+#include "df.h"
 #include "diagnostic-core.h"
 
-#include "hash-table.h"
-#include "rtl.h"
-#include "hash-set.h"
-#include "machmode.h"
-#include "vec.h"
-#include "double-int.h"
-#include "input.h"
 #include "alias.h"
-#include "symtab.h"
-#include "wide-int.h"
-#include "inchash.h"
-#include "tree.h"
 #include "tm_p.h"
 #include "regs.h"
-#include "hard-reg-set.h"
 #include "flags.h"
 #include "insn-config.h"
 #include "recog.h"
-#include "predict.h"
-#include "function.h"
-#include "dominance.h"
-#include "cfg.h"
 #include "cfgrtl.h"
-#include "basic-block.h"
 #include "profile.h"
-#include "hashtab.h"
-#include "statistics.h"
-#include "real.h"
-#include "fixed-value.h"
 #include "expmed.h"
 #include "dojump.h"
 #include "explow.h"
@@ -62,12 +45,10 @@ along with GCC; see the file COPYING3.  If not see
 #include "expr.h"
 #include "except.h"
 #include "intl.h"
-#include "obstack.h"
 #include "params.h"
 #include "target.h"
 #include "tree-pass.h"
 #include "dbgcnt.h"
-#include "df.h"
 #include "gcse-common.h"
 
 /* The following code implements gcse after reload, the purpose of this
@@ -132,10 +113,8 @@ struct expr
 
 /* Hashtable helpers.  */
 
-struct expr_hasher : typed_noop_remove <expr>
+struct expr_hasher : nofree_ptr_hash <expr>
 {
-  typedef expr *value_type;
-  typedef expr *compare_type;
   static inline hashval_t hash (const expr *);
   static inline bool equal (const expr *, const expr *);
 };
@@ -551,7 +530,7 @@ reg_changed_after_insn_p (rtx x, int cuid)
   unsigned int regno, end_regno;
 
   regno = REGNO (x);
-  end_regno = END_HARD_REGNO (x);
+  end_regno = END_REGNO (x);
   do
     if (reg_avail_info[regno] > cuid)
       return true;
@@ -720,7 +699,7 @@ record_last_reg_set_info (rtx_insn *insn, rtx reg)
   unsigned int regno, end_regno;
 
   regno = REGNO (reg);
-  end_regno = END_HARD_REGNO (reg);
+  end_regno = END_REGNO (reg);
   do
     reg_avail_info[regno] = INSN_CUID (insn);
   while (++regno < end_regno);
@@ -1115,8 +1094,8 @@ eliminate_partially_redundant_load (basic_block bb, rtx_insn *insn,
 
          /* Make sure we can generate a move from register avail_reg to
             dest.  */
-         rtx_insn *move = as_a <rtx_insn *>
-           (gen_move_insn (copy_rtx (dest), copy_rtx (avail_reg)));
+         rtx_insn *move = gen_move_insn (copy_rtx (dest),
+                                         copy_rtx (avail_reg));
          extract_insn (move);
          if (! constrain_operands (1, get_preferred_alternatives (insn,
                                                                   pred_bb))