1/* Exported functions from emit-rtl.c
2   Copyright (C) 2004 Free Software Foundation, Inc.
3
4This file is part of GCC.
5
6GCC is free software; you can redistribute it and/or modify it under
7the terms of the GNU General Public License as published by the Free
8Software Foundation; either version 2, or (at your option) any later
9version.
10
11GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12WARRANTY; without even the implied warranty of MERCHANTABILITY or
13FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14for more details.
15
16You should have received a copy of the GNU General Public License
17along with GCC; see the file COPYING.  If not, write to the Free
18Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
1902110-1301, USA.  */
20
21#ifndef GCC_EMIT_RTL_H
22#define GCC_EMIT_RTL_H
23
24/* Set the alias set of MEM to SET.  */
25extern void set_mem_alias_set (rtx, HOST_WIDE_INT);
26
27/* Set the alignment of MEM to ALIGN bits.  */
28extern void set_mem_align (rtx, unsigned int);
29
30/* Set the expr for MEM to EXPR.  */
31extern void set_mem_expr (rtx, tree);
32
33/* Set the offset for MEM to OFFSET.  */
34extern void set_mem_offset (rtx, rtx);
35
36/* Set the size for MEM to SIZE.  */
37extern void set_mem_size (rtx, rtx);
38
39/* Return a memory reference like MEMREF, but with its address changed to
40   ADDR.  The caller is asserting that the actual piece of memory pointed
41   to is the same, just the form of the address is being changed, such as
42   by putting something into a register.  */
43extern rtx replace_equiv_address (rtx, rtx);
44
45/* Likewise, but the reference is not required to be valid.  */
46extern rtx replace_equiv_address_nv (rtx, rtx);
47
48#endif /* GCC_EMIT_RTL_H */
49