libFirm
Loading...
Searching...
No Matches
irmemory.h
1/*
2 * This file is part of libFirm.
3 * Copyright (C) 2012 University of Karlsruhe.
4 */
5
12#ifndef FIRM_ANA_IRMEMORY_H
13#define FIRM_ANA_IRMEMORY_H
14
15#include "firm_types.h"
16
17#include "begin.h"
18
34
40
53ENUM_BITSET(ir_disambiguator_options)
54
55
59
73 const ir_node *addr1, const ir_type *type1, unsigned size1,
74 const ir_node *addr2, const ir_type *type2, unsigned size2);
75
85
90
97
111
118
127
135
141FIRM_API void mark_private_methods(void);
142
145#include "end.h"
146
147#endif
struct ir_graph ir_graph
Procedure Graph.
Definition firm_types.h:74
ir_disambiguator_options get_irg_memory_disambiguator_options(const ir_graph *irg)
Returns the memory disambiguator options for a graph.
void set_irp_globals_entity_usage_state(ir_entity_usage_computed_state state)
Sets the current address taken state of the globals.
ir_entity_usage_computed_state get_irp_globals_entity_usage_state(void)
Returns the current address taken state of the globals.
void assure_irp_globals_entity_usage_computed(void)
Assure that the address taken flag is computed for the global and TLS entities (variables).
ir_alias_relation get_alias_relation(const ir_node *addr1, const ir_type *type1, unsigned size1, const ir_node *addr2, const ir_type *type2, unsigned size2)
Determine if two memory addresses may point to the same memory location.
void set_irp_memory_disambiguator_options(ir_disambiguator_options options)
Sets the global disambiguator options for all graphs not having local options.
void mark_private_methods(void)
Mark all private methods, i.e.
void assure_irg_entity_usage_computed(ir_graph *irg)
Assure that the entity usage flags have been computed for the given graph.
const char * get_ir_alias_relation_name(ir_alias_relation rel)
Returns a human readable name for an alias relation.
ir_disambiguator_options
Possible options for the memory disambiguator.
Definition irmemory.h:42
ir_alias_relation
The alias relation of two memory addresses.
Definition irmemory.h:29
void set_irg_memory_disambiguator_options(ir_graph *irg, ir_disambiguator_options options)
Sets the memory disambiguator options for a graph.
ir_entity_usage_computed_state
The state of the entity usage flags.
Definition irmemory.h:36
@ aa_opt_always_alias
always assume aliasing
Definition irmemory.h:44
@ aa_opt_no_alias
different addresses NEVER alias
Definition irmemory.h:49
@ aa_opt_none
no options, use defaults
Definition irmemory.h:43
@ aa_opt_type_based
if type based analysis is enabled bytes types may alias other types
Definition irmemory.h:46
@ aa_opt_byte_type_may_alias
Definition irmemory.h:48
@ aa_opt_inherited
Definition irmemory.h:51
@ ir_no_alias
No alias.
Definition irmemory.h:30
@ ir_may_alias
Unknown state, may alias.
Definition irmemory.h:31
@ ir_sure_alias
Sure alias.
Definition irmemory.h:32
@ ir_entity_usage_computed
Definition irmemory.h:38
@ ir_entity_usage_not_computed
Definition irmemory.h:37
struct ir_node ir_node
Procedure Graph Node.
Definition firm_types.h:53
struct ir_type ir_type
Type.
Definition firm_types.h:71