[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.
This commit is contained in:
Piotr Trojanek 2022-01-06 19:14:33 +01:00 committed by Pierre-Marie de Rodat
parent c441162d56
commit 9d4a5ddc7b
5 changed files with 6 additions and 12 deletions

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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;