GCC Middle and Back End API Reference
Main Page
Namespaces
Data Structures
Files
File List
Globals
alias.h
Go to the documentation of this file.
1
/* Exported functions from alias.c
2
Copyright (C) 2004-2013 Free Software Foundation, Inc.
3
4
This file is part of GCC.
5
6
GCC is free software; you can redistribute it and/or modify it under
7
the terms of the GNU General Public License as published by the Free
8
Software Foundation; either version 3, or (at your option) any later
9
version.
10
11
GCC is distributed in the hope that it will be useful, but WITHOUT ANY
12
WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14
for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with GCC; see the file COPYING3. If not see
18
<http://www.gnu.org/licenses/>. */
19
20
#ifndef GCC_ALIAS_H
21
#define GCC_ALIAS_H
22
23
/* The type of an alias set. Code currently assumes that variables of
24
this type can take the values 0 (the alias set which aliases
25
everything) and -1 (sometimes indicating that the alias set is
26
unknown, sometimes indicating a memory barrier) and -2 (indicating
27
that the alias set should be set to a unique value but has not been
28
set yet). */
29
typedef
int
alias_set_type
;
30
31
extern
alias_set_type
new_alias_set
(
void
);
32
extern
alias_set_type
get_alias_set
(
tree
);
33
extern
alias_set_type
get_deref_alias_set
(
tree
);
34
extern
alias_set_type
get_varargs_alias_set
(
void
);
35
extern
alias_set_type
get_frame_alias_set
(
void
);
36
extern
bool
component_uses_parent_alias_set
(
const_tree
);
37
extern
bool
alias_set_subset_of
(
alias_set_type
,
alias_set_type
);
38
extern
void
record_alias_subset
(
alias_set_type
,
alias_set_type
);
39
extern
void
record_component_aliases
(
tree
);
40
extern
int
alias_sets_conflict_p
(
alias_set_type
,
alias_set_type
);
41
extern
int
alias_sets_must_conflict_p
(
alias_set_type
,
alias_set_type
);
42
extern
int
objects_must_conflict_p
(
tree
,
tree
);
43
extern
int
nonoverlapping_memrefs_p
(
const_rtx
,
const_rtx
,
bool
);
44
45
/* This alias set can be used to force a memory to conflict with all
46
other memories, creating a barrier across which no memory reference
47
can move. Note that there are other legacy ways to create such
48
memory barriers, including an address of SCRATCH. */
49
#define ALIAS_SET_MEMORY_BARRIER ((alias_set_type) -1)
50
51
#endif
/* GCC_ALIAS_H */
gcc
alias.h
Generated by
1.8.1.1