This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Second half of my alias.c patch
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: gcc-patches at gcc dot gnu dot org
- Date: Wed, 13 Feb 02 09:47:13 EST
- Subject: Second half of my alias.c patch
As pointed out by DJE:
Wed Feb 13 09:45:08 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* alias.c (find_base_term, case ZERO_EXTEND, case SIGN_EXTEND):
Make same change as for find_base_value.
*** alias.c 2002/02/12 15:18:42 1.164
--- alias.c 2002/02/13 14:43:16
*************** find_base_term (x)
*** 1243,1248 ****
return 0;
/* Fall through. */
- case ZERO_EXTEND:
- case SIGN_EXTEND: /* Used for Alpha/NT pointers */
case HIGH:
case PRE_INC:
--- 1243,1246 ----
*************** find_base_term (x)
*** 1253,1256 ****
--- 1251,1267 ----
case POST_MODIFY:
return find_base_term (XEXP (x, 0));
+
+ case ZERO_EXTEND:
+ case SIGN_EXTEND: /* Used for Alpha/NT pointers */
+ {
+ rtx temp = find_base_term (XEXP (x, 0));
+
+ #ifdef POINTERS_EXTEND_UNSIGNED
+ if (temp != 0 && CONSTANT_P (temp) && GET_MODE (temp) != Pmode)
+ temp = convert_memory_address (Pmode, temp);
+ #endif
+
+ return temp;
+ }
case VALUE: