aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2015-01-29 13:36:22 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2015-01-29 13:36:22 +0000
commit16277100d305948fa6d6fb5a4a318d9728c2400f (patch)
treef3547720db3386c3cfd2b3d7f1f5985e009de5cd /gcc
parentf84b87aa9f664a98de1d1c737eaed9b7f6d4b6d9 (diff)
downloadgcc-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/ChangeLog7
-rw-r--r--gcc/config/arm/arm.c13
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;
}