aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@issan.cs.uni-dortmund.de>1998-10-27 23:42:47 +0000
committerJeff Law <law@gcc.gnu.org>1998-10-27 16:42:47 -0700
commit2eb6dac7c1e77b3a1c3777f297b2b041b5552185 (patch)
tree2da4d55b654a2b163f0545a55a083d8b80a210fc /gcc
parentc47f5ea57b48aec483b5e0566817143411100171 (diff)
downloadgcc-2eb6dac7c1e77b3a1c3777f297b2b041b5552185.zip
gcc-2eb6dac7c1e77b3a1c3777f297b2b041b5552185.tar.gz
gcc-2eb6dac7c1e77b3a1c3777f297b2b041b5552185.tar.bz2
* reload1.c (delete_output_reload): Avoid ambigous else.
From-SVN: r23379
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/reload1.c26
2 files changed, 18 insertions, 12 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1386d4e7..373e2ea 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+1998-10-28 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
+
+ * reload1.c (delete_output_reload): Avoid ambigous else.
+
Wed Oct 28 00:10:35 1998 Jeffrey A Law (law@cygnus.com)
* final.c (cleanup_subreg_operands): New function.
diff --git a/gcc/reload1.c b/gcc/reload1.c
index 959233b..5726357 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -7827,19 +7827,21 @@ delete_output_reload (insn, j, last_reload_reg)
while (GET_CODE (reg2) == SUBREG)
reg2 = SUBREG_REG (reg2);
if (rtx_equal_p (reg2, reg))
- if (reload_inherited[k] || reload_override_in[k] || k == j)
- {
- n_inherited++;
- reg2 = reload_out_reg[k];
- if (! reg2)
- continue;
- while (GET_CODE (reg2) == SUBREG)
- reg2 = XEXP (reg2, 0);
- if (rtx_equal_p (reg2, reg))
+ {
+ if (reload_inherited[k] || reload_override_in[k] || k == j)
+ {
n_inherited++;
- }
- else
- return;
+ reg2 = reload_out_reg[k];
+ if (! reg2)
+ continue;
+ while (GET_CODE (reg2) == SUBREG)
+ reg2 = XEXP (reg2, 0);
+ if (rtx_equal_p (reg2, reg))
+ n_inherited++;
+ }
+ else
+ return;
+ }
}
n_occurrences = count_occurrences (PATTERN (insn), reg);
if (substed)