+2014-09-08 David Malcolm <dmalcolm@redhat.com>
+
+ * gcse.c (modify_mem_list): Strengthen this variable from
+ vec<rtx> * to vec<rtx_insn *> *.
+ (vec_rtx_heap): Strengthen this typedef from vec<rtx> to
+ vec<rtx_insn *>.
+ (load_killed_in_block_p): Strengthen local "list" from vec<rtx> to
+ vec<rtx_insn *>, and local "setter" from rtx to rtx_insn *.
+ (record_last_mem_set_info): Strengthen param "insn" from rtx to
+ rtx_insn *.
+ (record_last_set_info): Likewise for local "last_set_insn".
+
2014-09-08 DJ Delorie <dj@redhat.com>
* doc/invoke.texi (MSP430 Options): Add -minrt.
/* Array, indexed by basic block number for a list of insns which modify
memory within that block. */
-static vec<rtx> *modify_mem_list;
+static vec<rtx_insn *> *modify_mem_list;
static bitmap modify_mem_list_set;
typedef struct modify_pair_s
int, struct hash_table_d *);
static unsigned int hash_expr (const_rtx, enum machine_mode, int *, int);
static void record_last_reg_set_info (rtx, int);
-static void record_last_mem_set_info (rtx);
+static void record_last_mem_set_info (rtx_insn *);
static void record_last_set_info (rtx, const_rtx, void *);
static void compute_hash_table (struct hash_table_d *);
static void alloc_hash_table (struct hash_table_d *);
/* Allocate array to keep a list of insns which modify memory in each
basic block. The two typedefs are needed to work around the
pre-processor limitation with template types in macro arguments. */
- typedef vec<rtx> vec_rtx_heap;
+ typedef vec<rtx_insn *> vec_rtx_heap;
typedef vec<modify_pair> vec_modify_pair_heap;
modify_mem_list = GCNEWVEC (vec_rtx_heap, last_basic_block_for_fn (cfun));
canon_modify_mem_list = GCNEWVEC (vec_modify_pair_heap,
load_killed_in_block_p (const_basic_block bb, int uid_limit, const_rtx x,
int avail_p)
{
- vec<rtx> list = modify_mem_list[bb->index];
- rtx setter;
+ vec<rtx_insn *> list = modify_mem_list[bb->index];
+ rtx_insn *setter;
unsigned ix;
/* If this is a readonly then we aren't going to be changing it. */
a CALL_INSN). We merely need to record which insns modify memory. */
static void
-record_last_mem_set_info (rtx insn)
+record_last_mem_set_info (rtx_insn *insn)
{
int bb;
static void
record_last_set_info (rtx dest, const_rtx setter ATTRIBUTE_UNUSED, void *data)
{
- rtx last_set_insn = (rtx) data;
+ rtx_insn *last_set_insn = (rtx_insn *) data;
if (GET_CODE (dest) == SUBREG)
dest = SUBREG_REG (dest);