a new better version.
[libfirm] / ir / be / beuses.h
1 /**
2  * @file   beuse.h
3  * @date   27.06.2005
4  * @author Sebastian Hack
5  *
6  * Determine future usages of values.
7  *
8  * Copyright (C) 2005 Universitaet Karlsruhe
9  * Released under the GPL
10  */
11
12 #ifndef _BEUSES_H
13 #define _BEUSES_H
14
15 #include "bearch.h"
16
17 #define USES_INFINITY                 1000000
18 #define USES_IS_INIFINITE(x)          ((x) >= USES_INFINITY)
19
20 typedef struct _loc_t loc_t;
21 typedef struct _be_uses_t be_uses_t;
22
23 unsigned be_get_next_use(be_uses_t *uses, const ir_node *from,
24     unsigned from_step, const ir_node *def, int skip_from_uses);
25
26 be_uses_t *be_begin_uses(ir_graph *irg,
27     const arch_env_t *arch_env,
28     const arch_register_class_t *cls);
29
30 void be_end_uses(be_uses_t *uses);
31
32 #endif /* _BEUSES_H */