diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-23 20:10:41 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1994-03-23 20:10:41 -0500 |
commit | ee249c090f95217b6e922271b777c39244a22d49 (patch) | |
tree | f5a2804f7db7727fc0224123a4ffdac43e1193c0 /gcc | |
parent | ec7a1dd2f8bf033e0224298cab212e5ce5037d45 (diff) | |
download | gcc-ee249c090f95217b6e922271b777c39244a22d49.zip gcc-ee249c090f95217b6e922271b777c39244a22d49.tar.gz gcc-ee249c090f95217b6e922271b777c39244a22d49.tar.bz2 |
(reload): Fix error in last change; compute MODE before it's used.
From-SVN: r6862
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/reload1.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gcc/reload1.c b/gcc/reload1.c index ec6ceda..4bbd43a 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -1142,11 +1142,17 @@ reload (first, global, dumpfile) new_basic_block_needs = 1; } + + mode = reload_inmode[i]; + if (GET_MODE_SIZE (reload_outmode[i]) > GET_MODE_SIZE (mode)) + mode = reload_outmode[i]; + size = CLASS_MAX_NREGS (class, mode); + /* If this class doesn't want a group determine if we have a nongroup need or a regular need. */ nongroup_need = 0; - if (CLASS_MAX_NREGS (class, mode) == 1) + if (size == 1) for (j = i + 1; j < n_reloads; j++) if (reloads_conflict (i, j) && reg_classes_intersect_p (class, @@ -1234,10 +1240,6 @@ reload (first, global, dumpfile) break; } - mode = reload_inmode[i]; - if (GET_MODE_SIZE (reload_outmode[i]) > GET_MODE_SIZE (mode)) - mode = reload_outmode[i]; - size = CLASS_MAX_NREGS (class, mode); if (size > 1) { enum machine_mode other_mode, allocate_mode; |