Patch to prevent do_tablejump from marking vector as unchanging
John Wehle
john@feith.com
Wed Aug 16 15:14:00 GMT 2000
> Well, yes and no. The way the /u bit is being used here
> is to indicate that the *memory* is unchanging. Not the
> value of R45 after this insn. I.e. it's being considered
> a marker for alias analysis -- no stores alias.
Oh. How's the following for rtl.h:
*** gcc/rtl.h.ORIGINAL Sat Aug 5 16:58:03 2000
--- gcc/rtl.h Wed Aug 16 17:52:39 2000
*************** typedef struct rtx_def
*** 116,124 ****
/* 1 in an INSN if it can call another function.
LINK_COST_FREE in an INSN_LIST. */
unsigned int call : 1;
! /* 1 in a MEM or REG if value of this expression will never change
! during the current function, even though it is not
! manifestly constant.
1 in a SUBREG if it is from a promoted variable that is unsigned.
1 in a SYMBOL_REF if it addresses something in the per-function
constants pool.
--- 116,125 ----
/* 1 in an INSN if it can call another function.
LINK_COST_FREE in an INSN_LIST. */
unsigned int call : 1;
! /* 1 in a REG if value of this expression will never change during
! the current function, even though it is not manifestly constant.
! 1 in a MEM if contents of memory are constant. This does not
! necessarily mean that the value of this expression is constant.
1 in a SUBREG if it is from a promoted variable that is unsigned.
1 in a SYMBOL_REF if it addresses something in the per-function
constants pool.
> Comments?
As a general improvement is there any problem with changing true_dependence
and write_dependence_p to realize that a label_ref doesn't create any
dependencies?
-- John
-------------------------------------------------------------------------
| Feith Systems | Voice: 1-215-646-8000 | Email: john@feith.com |
| John Wehle | Fax: 1-215-540-5495 | |
-------------------------------------------------------------------------
More information about the Gcc-patches
mailing list