aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-01-06 19:14:33 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2022-01-11 13:24:49 +0000
commit9d4a5ddc7b124f201d7c6746e07b0ad98be5f702 (patch)
tree7ae84ed64958d7871182982f53b714dd64498503 /gcc
parentc441162d56974eb557f2ed3cab25c6107411ac62 (diff)
downloadgcc-9d4a5ddc7b124f201d7c6746e07b0ad98be5f702.zip
gcc-9d4a5ddc7b124f201d7c6746e07b0ad98be5f702.tar.gz
gcc-9d4a5ddc7b124f201d7c6746e07b0ad98be5f702.tar.bz2
[Ada] Avoid redundant checks for empty lists
gcc/ada/ * exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid redundant check. * exp_ch5.adb (Expand_N_If_Statement): Likewise. * exp_ch7.adb (Process_Declarations): Likewise. * sem_elab.adb (Freeze_Node_Location): Likewise. * exp_util.adb (Insert_Actions): Likewise. (Is_OK_PF_Pragma): Likewise. (Requires_Cleanup_Actions): Remove early exit; ordinary processing path will similarly do nothing.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/exp_ch4.adb2
-rw-r--r--gcc/ada/exp_ch5.adb4
-rw-r--r--gcc/ada/exp_ch7.adb2
-rw-r--r--gcc/ada/exp_util.adb8
-rw-r--r--gcc/ada/sem_elab.adb2
5 files changed, 6 insertions, 12 deletions
diff --git a/gcc/ada/exp_ch4.adb b/gcc/ada/exp_ch4.adb
index 18f0f74..c31f5bb 100644
--- a/gcc/ada/exp_ch4.adb
+++ b/gcc/ada/exp_ch4.adb
@@ -5697,7 +5697,7 @@ package body Exp_Ch4 is
-- Do not evaluate the expression when there are no actions because the
-- expression_with_actions node will be replaced by the expression.
- elsif No (Acts) or else Is_Empty_List (Acts) then
+ elsif Is_Empty_List (Acts) then
null;
-- Force the evaluation of the expression by capturing its value in a
diff --git a/gcc/ada/exp_ch5.adb b/gcc/ada/exp_ch5.adb
index daf8652..b38e3f5 100644
--- a/gcc/ada/exp_ch5.adb
+++ b/gcc/ada/exp_ch5.adb
@@ -4475,9 +4475,7 @@ package body Exp_Ch5 is
-- entire if statement by the sequence of else statements.
if No (Elsif_Parts (N)) then
- if No (Else_Statements (N))
- or else Is_Empty_List (Else_Statements (N))
- then
+ if Is_Empty_List (Else_Statements (N)) then
Rewrite (N,
Make_Null_Statement (Sloc (N)));
else
diff --git a/gcc/ada/exp_ch7.adb b/gcc/ada/exp_ch7.adb
index 57b381c..d7863c3 100644
--- a/gcc/ada/exp_ch7.adb
+++ b/gcc/ada/exp_ch7.adb
@@ -2249,7 +2249,7 @@ package body Exp_Ch7 is
-- Start of processing for Process_Declarations
begin
- if No (Decls) or else Is_Empty_List (Decls) then
+ if Is_Empty_List (Decls) then
return;
end if;
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
index e1b462a..aa47072 100644
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -7172,7 +7172,7 @@ package body Exp_Util is
Wrapped_Node : Node_Id := Empty;
begin
- if No (Ins_Actions) or else Is_Empty_List (Ins_Actions) then
+ if Is_Empty_List (Ins_Actions) then
return;
end if;
@@ -9963,7 +9963,7 @@ package body Exp_Util is
-- Nothing to do when the pragma lacks arguments, in which case it
-- is illegal.
- elsif No (Args) or else Is_Empty_List (Args) then
+ elsif Is_Empty_List (Args) then
return False;
end if;
@@ -12674,10 +12674,6 @@ package body Exp_Util is
Typ : Entity_Id;
begin
- if No (L) or else Is_Empty_List (L) then
- return False;
- end if;
-
Decl := First (L);
while Present (Decl) loop
diff --git a/gcc/ada/sem_elab.adb b/gcc/ada/sem_elab.adb
index a421278..8e38f8c 100644
--- a/gcc/ada/sem_elab.adb
+++ b/gcc/ada/sem_elab.adb
@@ -15382,7 +15382,7 @@ package body Sem_Elab is
elsif Present (Vis_Decls)
and then List_Containing (FNode) = Vis_Decls
- and then (No (Prv_Decls) or else Is_Empty_List (Prv_Decls))
+ and then Is_Empty_List (Prv_Decls)
then
null;