summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-22 17:45:22 +0000
committerdmalcolm <dmalcolm@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-22 17:45:22 +0000
commitf8f996ed0c0ad080d93ba6595b0a2c1e1314e314 (patch)
treec30d1534c01ca149ba2a00d187c943dddf903af1
parent570df417f3fd5cd3d67ad5bf48b72d98a4026ec7 (diff)
downloadgcc-f8f996ed0c0ad080d93ba6595b0a2c1e1314e314.tar.gz
internal-fn.c: Use rtx_insn and rtx_code_label
gcc/ * 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 *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214338 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog17
-rw-r--r--gcc/internal-fn.c33
2 files changed, 35 insertions, 15 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f2ab27e7cc5..8b650f585d0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,22 @@
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
"insn" and "move_insn" from rtx to rtx_insn *.
diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index af45d275176..c2a44b65f1d 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -197,7 +197,8 @@ ubsan_expand_si_overflow_addsub_check (tree_code code, gimple stmt)
{
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);
@@ -217,7 +218,7 @@ ubsan_expand_si_overflow_addsub_check (tree_code code, gimple stmt)
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);
@@ -243,7 +244,7 @@ ubsan_expand_si_overflow_addsub_check (tree_code code, gimple stmt)
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
@@ -345,7 +346,8 @@ ubsan_expand_si_overflow_neg_check (gimple stmt)
{
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);
@@ -363,7 +365,7 @@ ubsan_expand_si_overflow_neg_check (gimple stmt)
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);
@@ -421,7 +423,8 @@ ubsan_expand_si_overflow_mul_check (gimple stmt)
{
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);
@@ -441,7 +444,7 @@ ubsan_expand_si_overflow_mul_check (gimple stmt)
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);
@@ -499,14 +502,14 @@ ubsan_expand_si_overflow_mul_check (gimple stmt)
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,