diff options
author | jlquinn <jlquinn@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-02 02:09:45 +0000 |
---|---|---|
committer | jlquinn <jlquinn@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-06-02 02:09:45 +0000 |
commit | 4c74e6d9ab6a71652d6d08adaa6460b9b4b578e9 (patch) | |
tree | e21dc25a4f3b3bd29a36d4afee3c7f6a64fb2d72 /gcc/emit-rtl.h | |
parent | 0ff3fe79ca4a279aa10fee75fb59a9d52d67cf4b (diff) | |
download | gcc-4c74e6d9ab6a71652d6d08adaa6460b9b4b578e9.tar.gz |
2004-06-01 Jerry Quinn <jlquinn@optonline.net>
* Makefile.in (EXPR_H): Add insn-config.h, function.h,
$(RTL_H), flags.h, $(TREE_H), $(MACHMODE_H), $(EXPR_H).
(ALIAS_H, EMIT_RTL_H): New.
(cselib.o): Replace EXPR_H with EMIT_RTL_H.
(cfgcleanup.o): Add EMIT_RTL_H.
(alias.o): Replace EXPR_H with EMIT_RTL_H and ALIAS_H.
* alias.c: Replace expr.h with emit-rtl.h and alias.h.
* attribs.c, c-lex.c, c-obj-common.c, c-semantics.c: Remove expr.h.
* cfgcleanup.c, cselib.c: Replace expr.h with emit-rtl.h.
* expr.h: Add include guard. Include function.h, rtl.h, flags.h,
tree.h, machmode.h, insn-config.h, alias.h, emit-rtl.h.
(get_varargs_alias_set, get_frame_alias_set, record_base_value,
record_alias_subset, new_alias_set, can_address_p): Move to alias.h.
(set_mem_alias_set, set_mem_align, set_mem_expr, set_mem_offset,
set_mem_size): Move to emit-rtl.h.
* emit-rtl.h: New.
* alias.h: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82568 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.h')
-rw-r--r-- | gcc/emit-rtl.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/gcc/emit-rtl.h b/gcc/emit-rtl.h new file mode 100644 index 00000000000..c1735ab5e8a --- /dev/null +++ b/gcc/emit-rtl.h @@ -0,0 +1,48 @@ +/* Exported functions from emit-rtl.c + Copyright (C) 2004 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING. If not, write to the Free +Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. */ + +#ifndef GCC_EMIT_RTL_H +#define GCC_EMIT_RTL_H + +/* Set the alias set of MEM to SET. */ +extern void set_mem_alias_set (rtx, HOST_WIDE_INT); + +/* Set the alignment of MEM to ALIGN bits. */ +extern void set_mem_align (rtx, unsigned int); + +/* Set the expr for MEM to EXPR. */ +extern void set_mem_expr (rtx, tree); + +/* Set the offset for MEM to OFFSET. */ +extern void set_mem_offset (rtx, rtx); + +/* Set the size for MEM to SIZE. */ +extern void set_mem_size (rtx, rtx); + +/* Return a memory reference like MEMREF, but with its address changed to + ADDR. The caller is asserting that the actual piece of memory pointed + to is the same, just the form of the address is being changed, such as + by putting something into a register. */ +extern rtx replace_equiv_address (rtx, rtx); + +/* Likewise, but the reference is not required to be valid. */ +extern rtx replace_equiv_address_nv (rtx, rtx); + +#endif /* GCC_EMIT_RTL_H */ |