diff options
author | Kyrylo Tkachov <kyrylo.tkachov@arm.com> | 2015-01-29 13:36:22 +0000 |
---|---|---|
committer | Kyrylo Tkachov <ktkachov@gcc.gnu.org> | 2015-01-29 13:36:22 +0000 |
commit | 16277100d305948fa6d6fb5a4a318d9728c2400f (patch) | |
tree | f3547720db3386c3cfd2b3d7f1f5985e009de5cd /gcc | |
parent | f84b87aa9f664a98de1d1c737eaed9b7f6d4b6d9 (diff) | |
download | gcc-16277100d305948fa6d6fb5a4a318d9728c2400f.zip gcc-16277100d305948fa6d6fb5a4a318d9728c2400f.tar.gz gcc-16277100d305948fa6d6fb5a4a318d9728c2400f.tar.bz2 |
[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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 13 |
2 files changed, 11 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1caedf2..97316fa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +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> * config/i386/i386.c (ix86_mode_after): Make static. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index c9701b7..246298a 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -20273,11 +20273,10 @@ arm_emit_multi_reg_pop (unsigned long saved_regs_mask) rtx par; rtx dwarf = NULL_RTX; rtx tmp, reg; - bool return_in_pc; + bool return_in_pc = saved_regs_mask & (1 << PC_REGNUM); int offset_adj; int emit_update; - return_in_pc = (saved_regs_mask & (1 << PC_REGNUM)) ? true : false; offset_adj = return_in_pc ? 1 : 0; for (i = 0; i <= LAST_ARM_REGNUM; i++) if (saved_regs_mask & (1 << i)) @@ -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)); if (return_in_pc) - { - tmp = ret_rtx; - XVECEXP (par, 0, 0) = tmp; - } + XVECEXP (par, 0, 0) = ret_rtx; if (emit_update) { @@ -20446,9 +20442,8 @@ thumb2_emit_ldrd_pop (unsigned long saved_regs_mask) rtx par = NULL_RTX; rtx dwarf = NULL_RTX; 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++) if (saved_regs_mask & (1 << i)) num_regs++; @@ -25230,7 +25225,7 @@ arm_expand_epilogue (bool really_return) arm_emit_multi_reg_pop (saved_regs_mask); } - if (return_in_pc == true) + if (return_in_pc) return; } |