alias.c (find_base_value): Handle PRE_INC, PRE_DEC, POST_INC, and POS_DEC.

* alias.c (find_base_value): Handle PRE_INC, PRE_DEC, POST_INC,
        and POS_DEC.
        (find_base_term): Likewise.

        * alias.c (true_dependence): Fix typo.

From-SVN: r16182
This commit is contained in:
Jeffrey A Law 1997-10-26 17:38:13 +00:00 committed by Jeff Law
parent 91585c63e4
commit 6d849a2abd
2 changed files with 21 additions and 1 deletions

View File

@ -5,6 +5,12 @@ Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl>
Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com)
* alias.c (find_base_value): Handle PRE_INC, PRE_DEC, POST_INC,
and POS_DEC.
(find_base_term): Likewise.
* alias.c (true_dependence): Fix typo.
* toplev.c (flag_rerun_loop_opt): New variable.
(f_options): Handle -frerun-loop-opt.
(rest_of_compilation): If -frerun-loop-opt, then run the loop

View File

@ -93,6 +93,13 @@ find_base_value (src)
case LABEL_REF:
return src;
case PRE_INC:
case PRE_DEC:
case POST_INC:
case POST_DEC:
src = XEXP (src, 0);
/* fall through */
case REG:
/* At the start of a function argument registers have known base
values which may be lost later. Returning an ADDRESS
@ -463,6 +470,12 @@ find_base_term (x)
case HIGH:
return find_base_term (XEXP (x, 0));
case PRE_INC:
case PRE_DEC:
case POST_INC:
case POST_DEC:
return find_base_term (XEXP (x, 0));
case CONST:
x = XEXP (x, 0);
if (GET_CODE (x) != PLUS && GET_CODE (x) != MINUS)
@ -824,7 +837,8 @@ true_dependence (mem, mem_mode, x, varies)
if (mem_mode == VOIDmode)
mem_mode = GET_MODE (mem);
if (! memrefs_conflict_p (mem_mode, mem_addr, SIZE_FOR_MODE (x), x_addr, 0))
if (! memrefs_conflict_p (SIZE_FOR_MODE (mem_mode), mem_addr,
SIZE_FOR_MODE (x), x_addr, 0))
return 0;
/* If both references are struct references, or both are not, nothing