From eb39bd27036702e04c921c8769152dfe26174349 Mon Sep 17 00:00:00 2001 From: law Date: Tue, 26 Oct 1999 05:56:15 +0000 Subject: [PATCH] * loop.c (basic_induction_var): A non-integer variable which is being set by a paradoxical subreg is probably not a biv. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@30181 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/loop.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c7251d8..a9763a1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Mon Oct 25 23:54:45 1999 Geoff Keating + + * loop.c (basic_induction_var): A non-integer variable which is + being set by a paradoxical subreg is probably not a biv. + 1999-10-25 Herman A.J. ten Brugge * prefix.c (translate_name) Check for empty prefix string. diff --git a/gcc/loop.c b/gcc/loop.c index 5ef10bd..2b2a837 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -6118,6 +6118,8 @@ basic_induction_var (x, mode, dest_reg, p, inc_val, mult_val, location) || (GET_CODE (SET_DEST (set)) == SUBREG && (GET_MODE_SIZE (GET_MODE (SET_DEST (set))) <= UNITS_PER_WORD) + && (GET_MODE_CLASS (GET_MODE (SET_DEST (set))) + == MODE_INT) && SUBREG_REG (SET_DEST (set)) == x)) && basic_induction_var (SET_SRC (set), (GET_MODE (SET_SRC (set)) == VOIDmode -- 2.7.4