From: Eric Botcazou Date: Mon, 28 May 2018 08:56:08 +0000 (+0000) Subject: [Ada] Minor cleanup in repinfo unit X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=72da915b16e6fcd36ae59b99faa4070f97ae59d9;p=gcc.git [Ada] Minor cleanup in repinfo unit This removes the Truth_Andif_Expr and Truth_Orif_Expr codes for expressions handled by the repinfo unit, since they are redundant with Truth_And_Expr and Truth_Or_Expr respectively in this context. No functional changes. 2018-05-28 Eric Botcazou gcc/ada/ * repinfo.ads (TCode): Adjust range. (Truth_Andif_Expr): Remove. (Truth_Orif_Expr): Likewise. (Truth_And_Expr .. Dynamic_Val): Adjust value. * repinfo.adb (Print_Expr): Remove handling of Truth_{And,Or}if_Expr. (Rep_Value): Likewise. * repinfo.h (Truth_Andif_Expr): Remove. (Truth_Orif_Expr): Likewise. (Truth_And_Expr .. Dynamic_Val): Adjust value. * gcc-interface/decl.c (annotate_value) : Fall through to TRUTH_AND_EXPR case. : Fall through to TRUTH_OR_EXPR case. From-SVN: r260842 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index c179b90a3bd..3a9e1dd6c9f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,18 @@ +2018-05-28 Eric Botcazou + + * repinfo.ads (TCode): Adjust range. + (Truth_Andif_Expr): Remove. + (Truth_Orif_Expr): Likewise. + (Truth_And_Expr .. Dynamic_Val): Adjust value. + * repinfo.adb (Print_Expr): Remove handling of Truth_{And,Or}if_Expr. + (Rep_Value): Likewise. + * repinfo.h (Truth_Andif_Expr): Remove. + (Truth_Orif_Expr): Likewise. + (Truth_And_Expr .. Dynamic_Val): Adjust value. + * gcc-interface/decl.c (annotate_value) : Fall + through to TRUTH_AND_EXPR case. + : Fall through to TRUTH_OR_EXPR case. + 2018-05-28 Ed Schonberg * exp_unst.adb (Visit_Node): For indexed components and attribute diff --git a/gcc/ada/gcc-interface/decl.c b/gcc/ada/gcc-interface/decl.c index 738211fab56..2fa9582d54d 100644 --- a/gcc/ada/gcc-interface/decl.c +++ b/gcc/ada/gcc-interface/decl.c @@ -8132,9 +8132,9 @@ annotate_value (tree gnu_size) case MIN_EXPR: tcode = Min_Expr; break; case MAX_EXPR: tcode = Max_Expr; break; case ABS_EXPR: tcode = Abs_Expr; break; - case TRUTH_ANDIF_EXPR: tcode = Truth_Andif_Expr; break; - case TRUTH_ORIF_EXPR: tcode = Truth_Orif_Expr; break; + case TRUTH_ANDIF_EXPR: case TRUTH_AND_EXPR: tcode = Truth_And_Expr; break; + case TRUTH_ORIF_EXPR: case TRUTH_OR_EXPR: tcode = Truth_Or_Expr; break; case TRUTH_XOR_EXPR: tcode = Truth_Xor_Expr; break; case TRUTH_NOT_EXPR: tcode = Truth_Not_Expr; break; diff --git a/gcc/ada/repinfo.adb b/gcc/ada/repinfo.adb index 1fa3f4eee8d..7d283f687f5 100644 --- a/gcc/ada/repinfo.adb +++ b/gcc/ada/repinfo.adb @@ -621,12 +621,6 @@ package body Repinfo is when Abs_Expr => Unop ("abs "); - when Truth_Andif_Expr => - Binop (" and if "); - - when Truth_Orif_Expr => - Binop (" or if "); - when Truth_And_Expr => Binop (" and "); @@ -1554,12 +1548,6 @@ package body Repinfo is when Abs_Expr => return UI_Abs (V (Node.Op1)); - when Truth_Andif_Expr => - return B (T (Node.Op1) and then T (Node.Op2)); - - when Truth_Orif_Expr => - return B (T (Node.Op1) or else T (Node.Op2)); - when Truth_And_Expr => return B (T (Node.Op1) and then T (Node.Op2)); diff --git a/gcc/ada/repinfo.ads b/gcc/ada/repinfo.ads index c0dd60125d1..a36736b621a 100644 --- a/gcc/ada/repinfo.ads +++ b/gcc/ada/repinfo.ads @@ -136,7 +136,7 @@ package Repinfo is -- Subtype used for values that can either be a Node_Ref (negative) -- or a value (non-negative) - type TCode is range 0 .. 29; + type TCode is range 0 .. 27; -- Type used on Ada side to represent DEFTREECODE values defined in -- tree.def. Only a subset of these tree codes can actually appear. -- The names are the names from tree.def in Ada casing. @@ -153,24 +153,22 @@ package Repinfo is Trunc_Mod_Expr : constant TCode := 8; -- mod for trunc_div 2 Ceil_Mod_Expr : constant TCode := 9; -- mod for ceil_div 2 Floor_Mod_Expr : constant TCode := 10; -- mod for floor_div 2 - Exact_Div_Expr : constant TCode := 11; -- exact div 2 + Exact_Div_Expr : constant TCode := 11; -- exact division 2 Negate_Expr : constant TCode := 12; -- negation 1 Min_Expr : constant TCode := 13; -- minimum 2 Max_Expr : constant TCode := 14; -- maximum 2 Abs_Expr : constant TCode := 15; -- absolute value 1 - Truth_Andif_Expr : constant TCode := 16; -- Boolean and then 2 - Truth_Orif_Expr : constant TCode := 17; -- Boolean or else 2 - Truth_And_Expr : constant TCode := 18; -- Boolean and 2 - Truth_Or_Expr : constant TCode := 19; -- Boolean or 2 - Truth_Xor_Expr : constant TCode := 20; -- Boolean xor 2 - Truth_Not_Expr : constant TCode := 21; -- Boolean not 1 - Lt_Expr : constant TCode := 22; -- comparison < 2 - Le_Expr : constant TCode := 23; -- comparison <= 2 - Gt_Expr : constant TCode := 24; -- comparison > 2 - Ge_Expr : constant TCode := 25; -- comparison >= 2 - Eq_Expr : constant TCode := 26; -- comparison = 2 - Ne_Expr : constant TCode := 27; -- comparison /= 2 - Bit_And_Expr : constant TCode := 28; -- Binary and 2 + Truth_And_Expr : constant TCode := 16; -- boolean and 2 + Truth_Or_Expr : constant TCode := 17; -- boolean or 2 + Truth_Xor_Expr : constant TCode := 18; -- boolean xor 2 + Truth_Not_Expr : constant TCode := 19; -- boolean not 1 + Lt_Expr : constant TCode := 20; -- comparison < 2 + Le_Expr : constant TCode := 21; -- comparison <= 2 + Gt_Expr : constant TCode := 22; -- comparison > 2 + Ge_Expr : constant TCode := 23; -- comparison >= 2 + Eq_Expr : constant TCode := 24; -- comparison = 2 + Ne_Expr : constant TCode := 25; -- comparison /= 2 + Bit_And_Expr : constant TCode := 26; -- bitwise and 2 -- The following entry is used to represent a discriminant value in -- the tree. It has a special tree code that does not correspond @@ -184,7 +182,7 @@ package Repinfo is -- has a special tree code that does not correspond directly to -- a GCC node. The single operand is an arbitrary index number. - Dynamic_Val : constant TCode := 29; -- dynamic value 1 + Dynamic_Val : constant TCode := 27; -- dynamic value 1 ------------------------ -- The gigi Interface -- diff --git a/gcc/ada/repinfo.h b/gcc/ada/repinfo.h index b35f54fa3d5..286dc52ad29 100644 --- a/gcc/ada/repinfo.h +++ b/gcc/ada/repinfo.h @@ -58,20 +58,18 @@ typedef char TCode; #define Min_Expr 13 #define Max_Expr 14 #define Abs_Expr 15 -#define Truth_Andif_Expr 16 -#define Truth_Orif_Expr 17 -#define Truth_And_Expr 18 -#define Truth_Or_Expr 19 -#define Truth_Xor_Expr 20 -#define Truth_Not_Expr 21 -#define Lt_Expr 22 -#define Le_Expr 23 -#define Gt_Expr 24 -#define Ge_Expr 25 -#define Eq_Expr 26 -#define Ne_Expr 27 -#define Bit_And_Expr 28 -#define Dynamic_Val 29 +#define Truth_And_Expr 16 +#define Truth_Or_Expr 17 +#define Truth_Xor_Expr 18 +#define Truth_Not_Expr 19 +#define Lt_Expr 20 +#define Le_Expr 21 +#define Gt_Expr 22 +#define Ge_Expr 23 +#define Eq_Expr 24 +#define Ne_Expr 25 +#define Bit_And_Expr 26 +#define Dynamic_Val 27 /* Creates a node using the tree code defined by Expr and from 1-3 operands as required (unused operands set as shown to No_Uint) Note