diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 34f808119117..90730541fe39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-04-22 Jakub Jelinek + + * alias.c (find_base_term): Move around LO_SUM case, so that + CONST falls through into PLUS/MINUS handling. + 2009-04-23 Ben Elliston * config/rs6000/linux-unwind.h (get_regs): Remove type diff --git a/gcc/alias.c b/gcc/alias.c index 85db75569c81..acfd934a7cf8 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -1474,15 +1474,16 @@ find_base_term (rtx x) return x; return 0; + case LO_SUM: + /* The standard form is (lo_sum reg sym) so look only at the + second operand. */ + return find_base_term (XEXP (x, 1)); + case CONST: x = XEXP (x, 0); if (GET_CODE (x) != PLUS && GET_CODE (x) != MINUS) return 0; /* Fall through. */ - case LO_SUM: - /* The standard form is (lo_sum reg sym) so look only at the - second operand. */ - return find_base_term (XEXP (x, 1)); case PLUS: case MINUS: {