Commit 16277100 by Kyrylo Tkachov Committed by Kyrylo Tkachov

[ARM][cleanup] Simplify some expressions in some epilogue-related functions

	* config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
	return_in_pc.  Remove redundant assignments.
	(thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
	(arm_expand_epilogue): Don't compare boolean with true in if condition.

From-SVN: r220246
parent f84b87aa
2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
return_in_pc. Remove redundant assignments.
(thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
(arm_expand_epilogue): Don't compare boolean with true in if condition.
2015-01-29 Uros Bizjak <ubizjak@gmail.com> 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (ix86_mode_after): Make static. * config/i386/i386.c (ix86_mode_after): Make static.
......
...@@ -20273,11 +20273,10 @@ arm_emit_multi_reg_pop (unsigned long saved_regs_mask) ...@@ -20273,11 +20273,10 @@ arm_emit_multi_reg_pop (unsigned long saved_regs_mask)
rtx par; rtx par;
rtx dwarf = NULL_RTX; rtx dwarf = NULL_RTX;
rtx tmp, reg; rtx tmp, reg;
bool return_in_pc; bool return_in_pc = saved_regs_mask & (1 << PC_REGNUM);
int offset_adj; int offset_adj;
int emit_update; int emit_update;
return_in_pc = (saved_regs_mask & (1 << PC_REGNUM)) ? true : false;
offset_adj = return_in_pc ? 1 : 0; offset_adj = return_in_pc ? 1 : 0;
for (i = 0; i <= LAST_ARM_REGNUM; i++) for (i = 0; i <= LAST_ARM_REGNUM; i++)
if (saved_regs_mask & (1 << i)) if (saved_regs_mask & (1 << i))
...@@ -20293,10 +20292,7 @@ arm_emit_multi_reg_pop (unsigned long saved_regs_mask) ...@@ -20293,10 +20292,7 @@ arm_emit_multi_reg_pop (unsigned long saved_regs_mask)
par = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (num_regs + emit_update + offset_adj)); par = gen_rtx_PARALLEL (VOIDmode, rtvec_alloc (num_regs + emit_update + offset_adj));
if (return_in_pc) if (return_in_pc)
{ XVECEXP (par, 0, 0) = ret_rtx;
tmp = ret_rtx;
XVECEXP (par, 0, 0) = tmp;
}
if (emit_update) if (emit_update)
{ {
...@@ -20446,9 +20442,8 @@ thumb2_emit_ldrd_pop (unsigned long saved_regs_mask) ...@@ -20446,9 +20442,8 @@ thumb2_emit_ldrd_pop (unsigned long saved_regs_mask)
rtx par = NULL_RTX; rtx par = NULL_RTX;
rtx dwarf = NULL_RTX; rtx dwarf = NULL_RTX;
rtx tmp, reg, tmp1; rtx tmp, reg, tmp1;
bool return_in_pc; bool return_in_pc = saved_regs_mask & (1 << PC_REGNUM);
return_in_pc = (saved_regs_mask & (1 << PC_REGNUM)) ? true : false;
for (i = 0; i <= LAST_ARM_REGNUM; i++) for (i = 0; i <= LAST_ARM_REGNUM; i++)
if (saved_regs_mask & (1 << i)) if (saved_regs_mask & (1 << i))
num_regs++; num_regs++;
...@@ -25230,7 +25225,7 @@ arm_expand_epilogue (bool really_return) ...@@ -25230,7 +25225,7 @@ arm_expand_epilogue (bool really_return)
arm_emit_multi_reg_pop (saved_regs_mask); arm_emit_multi_reg_pop (saved_regs_mask);
} }
if (return_in_pc == true) if (return_in_pc)
return; return;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment