mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-24 17:29:33 +08:00
alias.c (find_base_value): Add cases for HIGH...
2002-01-10 David Edelsohn <edelsohn@gnu.org> * alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC, POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY. (find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY. Recurse for any operand of AND as long as constant is non-zero. From-SVN: r48741
This commit is contained in:
parent
ac2ee9b7e7
commit
d288e53d0c
@ -1,3 +1,10 @@
|
||||
2002-01-10 David Edelsohn <edelsohn@gnu.org>
|
||||
|
||||
* alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
|
||||
POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
|
||||
(find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
|
||||
Recurse for any operand of AND as long as constant is non-zero.
|
||||
|
||||
2002-01-10 Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* config/h8300/h8300.md: Remove constraints from expanders.
|
||||
|
16
gcc/alias.c
16
gcc/alias.c
@ -849,6 +849,12 @@ find_base_value (src)
|
||||
case ZERO_EXTEND:
|
||||
case SIGN_EXTEND: /* used for NT/Alpha pointers */
|
||||
case HIGH:
|
||||
case PRE_INC:
|
||||
case PRE_DEC:
|
||||
case POST_INC:
|
||||
case POST_DEC:
|
||||
case PRE_MODIFY:
|
||||
case POST_MODIFY:
|
||||
return find_base_value (XEXP (src, 0));
|
||||
|
||||
default:
|
||||
@ -1220,6 +1226,10 @@ find_base_term (x)
|
||||
case REG:
|
||||
return REG_BASE_VALUE (x);
|
||||
|
||||
case TRUNCATE:
|
||||
if (GET_MODE_SIZE (GET_MODE (x)) < GET_MODE_SIZE (Pmode))
|
||||
return 0;
|
||||
/* Fall through. */
|
||||
case ZERO_EXTEND:
|
||||
case SIGN_EXTEND: /* Used for Alpha/NT pointers */
|
||||
case HIGH:
|
||||
@ -1227,6 +1237,8 @@ find_base_term (x)
|
||||
case PRE_DEC:
|
||||
case POST_INC:
|
||||
case POST_DEC:
|
||||
case PRE_MODIFY:
|
||||
case POST_MODIFY:
|
||||
return find_base_term (XEXP (x, 0));
|
||||
|
||||
case VALUE:
|
||||
@ -1300,8 +1312,8 @@ find_base_term (x)
|
||||
}
|
||||
|
||||
case AND:
|
||||
if (GET_CODE (XEXP (x, 0)) == REG && GET_CODE (XEXP (x, 1)) == CONST_INT)
|
||||
return REG_BASE_VALUE (XEXP (x, 0));
|
||||
if (GET_CODE (XEXP (x, 1)) == CONST_INT && INTVAL (XEXP (x, 1)) != 0)
|
||||
return find_base_term (XEXP (x, 0));
|
||||
return 0;
|
||||
|
||||
case SYMBOL_REF:
|
||||
|
Loading…
Reference in New Issue
Block a user