5 File name: ir/ana/pto_mod.c
6 Purpose: Load/Store Transfer Functions
9 Created: Fri Nov 26 17:29:49 CET 2004
11 Copyright: (c) 1999-2004 Universität Karlsruhe
12 Licence: This file is protected by the GPL - GNU GENERAL PUBLIC LICENSE.
20 pto_mod: Load/Store Transfer Functions
27 # include "pto_debug.h"
28 # include "pto_name.h"
32 /* Local Data Types: */
34 /* Local Variables: */
36 /* Local Prototypes: */
38 /* ===================================================
40 =================================================== */
43 /* ===================================================
44 Exported Implementation:
45 =================================================== */
46 /* Perform the given store; return nonzero iff any involved values change */
47 int mod_store (ir_node *store, entity *ent,
48 pto_t *ptr_pto, pto_t *val_pto)
52 /* foreach descr in ptr_pto, add val_pto->values to descr.ent */
54 qset_t *ptos = ptr_pto->values;
56 desc_t *desc = (desc_t*) qset_start (ptos);
58 while (NULL != desc) {
59 qset_t *entry = get_entry (desc, ent);
61 change |= qset_insert_all (entry, val_pto->values);
63 desc = (desc_t*) qset_next (ptos);
69 /* Perform the given load; return nonzero iff any involved values change */
70 int mod_load (ir_node *load, entity *ent,
74 pto_t *res = get_node_pto (load);
75 /* todo: for each descr in ptr_pto, add descr.ent to res */
77 qset_t *ptos = ptr_pto->values;
78 desc_t *desc = (desc_t*) qset_start (ptos);
80 while (NULL != desc) {
81 qset_t *entry = get_entry (desc, ent);
83 change |= qset_insert_all (res->values, entry);
85 desc = (desc_t*) qset_next (ptos);
95 Revision 1.2 2004/12/02 16:17:51 beck
96 fixed config.h include
98 Revision 1.1 2004/11/30 14:47:54 liekweg
99 fix initialisation; do correct iteration