From a85206fc468f80ae22024de1b718cc170765a8ae Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Fri, 27 Jun 2014 20:06:26 -0400
Subject: [PATCH 085/244] 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 *.
---
 gcc/internal-fn.c | 33 ++++++++++++++++++---------------
 1 file changed, 18 insertions(+), 15 deletions(-)

diff --git a/gcc/internal-fn.c b/gcc/internal-fn.c
index 68b2b66..ba97c10 100644
--- a/gcc/internal-fn.c
+++ b/gcc/internal-fn.c
@@ -167,7 +167,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);
@@ -187,7 +188,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);
@@ -213,7 +214,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
@@ -315,7 +316,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);
@@ -333,7 +335,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);
@@ -391,7 +393,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);
@@ -411,7 +414,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);
@@ -469,14 +472,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,
-- 
1.8.5.3

