+2014-08-22 David Malcolm <dmalcolm@redhat.com>
+
+ * internal-fn.c (ubsan_expand_si_overflow_addsub_check):
+ Strengthen locals "done_label", "do_error" from rtx to
+ rtx_code_label *.
+ (ubsan_expand_si_overflow_addsub_check): Strengthen local "last"
+ from rtx to rtx_insn *. Strengthen local "sub_check from rtx to
+ rtx_code_label *.
+ (ubsan_expand_si_overflow_neg_check): Likewise for locals
+ "done_label", "do_error" to rtx_code_label * and local "last" to
+ rtx_insn *.
+ (ubsan_expand_si_overflow_mul_check): Likewise for locals
+ "done_label", "do_error", "large_op0", "small_op0_large_op1",
+ "one_small_one_large", "both_ops_large", "after_hipart_neg",
+ "after_lopart_neg", "do_overflow", "hipart_different" to
+ rtx_code_label * and local "last" to rtx_insn *.
+
2014-08-22 David Malcolm <dmalcolm@redhat.com>
* init-regs.c (initialize_uninitialized_regs): Strengthen locals
{
rtx res, op0, op1;
tree lhs, fn, arg0, arg1;
- rtx done_label, do_error, target = NULL_RTX;
+ rtx_code_label *done_label, *do_error;
+ rtx target = NULL_RTX;
lhs = gimple_call_lhs (stmt);
arg0 = gimple_call_arg (stmt, 0);
if (icode != CODE_FOR_nothing)
{
struct expand_operand ops[4];
- rtx last = get_last_insn ();
+ rtx_insn *last = get_last_insn ();
res = gen_reg_rtx (mode);
create_output_operand (&ops[0], res, mode);
if (icode == CODE_FOR_nothing)
{
- rtx sub_check = gen_label_rtx ();
+ rtx_code_label *sub_check = gen_label_rtx ();
int pos_neg = 3;
/* Compute the operation. On RTL level, the addition is always
{
rtx res, op1;
tree lhs, fn, arg1;
- rtx done_label, do_error, target = NULL_RTX;
+ rtx_code_label *done_label, *do_error;
+ rtx target = NULL_RTX;
lhs = gimple_call_lhs (stmt);
arg1 = gimple_call_arg (stmt, 1);
if (icode != CODE_FOR_nothing)
{
struct expand_operand ops[3];
- rtx last = get_last_insn ();
+ rtx_insn *last = get_last_insn ();
res = gen_reg_rtx (mode);
create_output_operand (&ops[0], res, mode);
{
rtx res, op0, op1;
tree lhs, fn, arg0, arg1;
- rtx done_label, do_error, target = NULL_RTX;
+ rtx_code_label *done_label, *do_error;
+ rtx target = NULL_RTX;
lhs = gimple_call_lhs (stmt);
arg0 = gimple_call_arg (stmt, 0);
if (icode != CODE_FOR_nothing)
{
struct expand_operand ops[4];
- rtx last = get_last_insn ();
+ rtx_insn *last = get_last_insn ();
res = gen_reg_rtx (mode);
create_output_operand (&ops[0], res, mode);
else if (hmode != BLKmode
&& 2 * GET_MODE_PRECISION (hmode) == GET_MODE_PRECISION (mode))
{
- rtx large_op0 = gen_label_rtx ();
- rtx small_op0_large_op1 = gen_label_rtx ();
- rtx one_small_one_large = gen_label_rtx ();
- rtx both_ops_large = gen_label_rtx ();
- rtx after_hipart_neg = gen_label_rtx ();
- rtx after_lopart_neg = gen_label_rtx ();
- rtx do_overflow = gen_label_rtx ();
- rtx hipart_different = gen_label_rtx ();
+ rtx_code_label *large_op0 = gen_label_rtx ();
+ rtx_code_label *small_op0_large_op1 = gen_label_rtx ();
+ rtx_code_label *one_small_one_large = gen_label_rtx ();
+ rtx_code_label *both_ops_large = gen_label_rtx ();
+ rtx_code_label *after_hipart_neg = gen_label_rtx ();
+ rtx_code_label *after_lopart_neg = gen_label_rtx ();
+ rtx_code_label *do_overflow = gen_label_rtx ();
+ rtx_code_label *hipart_different = gen_label_rtx ();
unsigned int hprec = GET_MODE_PRECISION (hmode);
rtx hipart0 = expand_shift (RSHIFT_EXPR, mode, op0, hprec,