2010-01-26 Richard Guenther <rguenther@suse.de>
+ * df-scan.c (df_scan_set_bb_info): Remove assert.
+ (df_insn_rescan_debug_internal): Merge asserts.
+ (df_install_ref): Likewise.
+ (df_mark_reg): Use bitmap_set_range.
+ (df_hard_reg_used_p): Remove assert.
+ (df_hard_reg_used_count): Likewise.
+
+2010-01-26 Richard Guenther <rguenther@suse.de>
+
PR rtl-optimization/42685
* web.c (web_main): Ignore DEBUG_INSNs.
df_scan_set_bb_info (unsigned int index,
struct df_scan_bb_info *bb_info)
{
- gcc_assert (df_scan);
df_grow_bb_info (df_scan);
df_scan->block_info[index] = (void *) bb_info;
}
unsigned int uid = INSN_UID (insn);
struct df_insn_info *insn_info;
- gcc_assert (DEBUG_INSN_P (insn));
- gcc_assert (VAR_LOC_UNKNOWN_P (INSN_VAR_LOCATION_LOC (insn)));
+ gcc_assert (DEBUG_INSN_P (insn)
+ && VAR_LOC_UNKNOWN_P (INSN_VAR_LOCATION_LOC (insn)));
if (!df)
return false;
df->hard_regs_live_count[regno]++;
}
- gcc_assert (DF_REF_NEXT_REG (this_ref) == NULL);
- gcc_assert (DF_REF_PREV_REG (this_ref) == NULL);
+ gcc_assert (DF_REF_NEXT_REG (this_ref) == NULL
+ && DF_REF_PREV_REG (this_ref) == NULL);
DF_REF_NEXT_REG (this_ref) = head;
gcc_assert (GET_MODE (reg) != BLKmode);
- bitmap_set_bit (set, regno);
if (regno < FIRST_PSEUDO_REGISTER)
{
int n = hard_regno_nregs[regno][GET_MODE (reg)];
- while (--n > 0)
- bitmap_set_bit (set, regno + n);
+ bitmap_set_range (set, regno, n);
}
+ else
+ bitmap_set_bit (set, regno);
}
bool
df_hard_reg_used_p (unsigned int reg)
{
- gcc_assert (df);
return df->hard_regs_live_count[reg] != 0;
}
unsigned int
df_hard_reg_used_count (unsigned int reg)
{
- gcc_assert (df);
return df->hard_regs_live_count[reg];
}