summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-14 15:07:05 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2005-02-14 15:07:05 +0000
commit565720f362283999a7a3a9a98f2e1f9ad8f0c246 (patch)
tree25f0700a09252179ac1b653b69ea3137132efecb /gcc
parent8e83ca69c203fd3013a4201978f514eb8702b33b (diff)
downloadgcc-565720f362283999a7a3a9a98f2e1f9ad8f0c246.tar.gz
* reload.c (find_reloads): Swap address_reloaded flags when
swapping commutative operands. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@95018 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/reload.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dc6e63c8a8f..ed6fb85122f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-02-14 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * reload.c (find_reloads): Swap address_reloaded flags when
+ swapping commutative operands.
+
2005-02-14 Sebastian Pop <pop@cri.ensmp.fr>
* lambda-code.c (lambda_loopnest_to_gcc_loopnest, perfect_nestify):
diff --git a/gcc/reload.c b/gcc/reload.c
index 3b3ca9f89f4..015637e47aa 100644
--- a/gcc/reload.c
+++ b/gcc/reload.c
@@ -3668,6 +3668,10 @@ find_reloads (rtx insn, int replace, int ind_levels, int live_known,
pref_or_nothing[commutative] = pref_or_nothing[commutative + 1];
pref_or_nothing[commutative + 1] = t;
+ t = address_reloaded[commutative];
+ address_reloaded[commutative] = address_reloaded[commutative + 1];
+ address_reloaded[commutative + 1] = t;
+
memcpy (constraints, recog_data.constraints,
noperands * sizeof (char *));
goto try_swapped;