summaryrefslogtreecommitdiff
path: root/gcc/reload.c
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/reload.c
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/reload.c')
-rw-r--r--gcc/reload.c4
1 files changed, 4 insertions, 0 deletions
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;