aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2001-12-02 11:04:23 -0800
committerRichard Henderson <rth@gcc.gnu.org>2001-12-02 11:04:23 -0800
commit998d7deb143c6511c68e21abb811af9f5524f89d (patch)
tree7dcf60eaed1d63b62946ca9c11cf34b2d9ceaa21 /gcc/rtl.h
parent3d55d212918e4f8853365fbf7531d30b9d88a82f (diff)
downloadgcc-998d7deb143c6511c68e21abb811af9f5524f89d.zip
gcc-998d7deb143c6511c68e21abb811af9f5524f89d.tar.gz
gcc-998d7deb143c6511c68e21abb811af9f5524f89d.tar.bz2
rtl.h (mem_attrs): Rename decl to expr; adjust all users.
* rtl.h (mem_attrs): Rename decl to expr; adjust all users. (MEM_EXPR): Rename from MEM_DECL; adjust all users. * emit-rtl.c (set_mem_expr): Rename from set_mem_decl. * expr.h, final.c, reload1.c: Adjust users. * alias.c (nonoverlapping_component_refs_p): New. (decl_for_component_ref, adjust_offset_for_component_ref): New. (nonoverlapping_memrefs_p): Use them. * emit-rtl.c (component_ref_for_mem_expr): New. (set_mem_attributes): Use it. (set_mem_offset): New. * expr.c (expand_assignment): Call set_mem_attributes for inner references; adjust the memory offset as needed. * print-rtl.c (print_mem_expr): New. (print_rtx): Use it. From-SVN: r47534
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 31dabb8..baafcdc 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -92,7 +92,7 @@ typedef struct
typedef struct
{
HOST_WIDE_INT alias; /* Memory alias set. */
- tree decl; /* decl corresponding to MEM. */
+ tree expr; /* expr corresponding to MEM. */
rtx offset; /* Offset from start of DECL, as CONST_INT. */
rtx size; /* Size in bytes, as a CONST_INT. */
unsigned int align; /* Alignment of MEM in bits. */
@@ -904,10 +904,10 @@ extern unsigned int subreg_regno PARAMS ((rtx));
#define MEM_ALIAS_SET(RTX) (MEM_ATTRS (RTX) == 0 ? 0 : MEM_ATTRS (RTX)->alias)
/* For a MEM rtx, the decl it is known to refer to, if it is known to
- refer to part of a DECL. */
-#define MEM_DECL(RTX) (MEM_ATTRS (RTX) == 0 ? 0 : MEM_ATTRS (RTX)->decl)
+ refer to part of a DECL. It may also be a COMPONENT_REF. */
+#define MEM_EXPR(RTX) (MEM_ATTRS (RTX) == 0 ? 0 : MEM_ATTRS (RTX)->expr)
-/* For a MEM rtx, the offset from the start of MEM_DECL, if known, as a
+/* For a MEM rtx, the offset from the start of MEM_EXPR, if known, as a
RTX that is always a CONST_INT. */
#define MEM_OFFSET(RTX) (MEM_ATTRS (RTX) == 0 ? 0 : MEM_ATTRS (RTX)->offset)
@@ -1865,6 +1865,7 @@ extern void debug_rtx_list PARAMS ((rtx, int));
extern void debug_rtx_range PARAMS ((rtx, rtx));
extern rtx debug_rtx_find PARAMS ((rtx, int));
#ifdef BUFSIZ
+extern void print_mem_expr PARAMS ((FILE *, tree));
extern void print_rtl PARAMS ((FILE *, rtx));
extern void print_simple_rtl PARAMS ((FILE *, rtx));
extern int print_rtl_single PARAMS ((FILE *, rtx));