projects
/
libfirm
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use tv_t.h instead of tv.h
[libfirm]
/
ir
/
ir
/
irprog.c
diff --git
a/ir/ir/irprog.c
b/ir/ir/irprog.c
index
1429817
..
b30dac8
100644
(file)
--- a/
ir/ir/irprog.c
+++ b/
ir/ir/irprog.c
@@
-30,14
+30,14
@@
/* A variable from where everything in the ir can be accessed. */
ir_prog *irp;
/* A variable from where everything in the ir can be accessed. */
ir_prog *irp;
-ir_prog *get_irp() { return irp; }
+ir_prog *get_irp(
void
) { return irp; }
/* initializes ir_prog. Calles the constructor for an ir_prog. */
void init_irprog(void) {
new_ir_prog ();
}
/* initializes ir_prog. Calles the constructor for an ir_prog. */
void init_irprog(void) {
new_ir_prog ();
}
-
INLINE
void remove_irp_type_from_list (type *typ) {
+void remove_irp_type_from_list (type *typ) {
int i;
assert(typ);
#if 0
int i;
assert(typ);
#if 0
@@
-47,7
+47,7
@@
INLINE void remove_irp_type_from_list (type *typ) {
#endif
if (irp->types[i] == typ) {
for(; i < (ARR_LEN (irp->types)) - 1; i++) {
#endif
if (irp->types[i] == typ) {
for(; i < (ARR_LEN (irp->types)) - 1; i++) {
- irp->types[i] = irp->types[i+1];
+
irp->types[i] = irp->types[i+1];
}
ARR_SETLEN(type*, irp->types, (ARR_LEN(irp->types)) - 1);
break;
}
ARR_SETLEN(type*, irp->types, (ARR_LEN(irp->types)) - 1);
break;
@@
-60,10
+60,10
@@
INLINE void remove_irp_type_from_list (type *typ) {
ir_prog *new_ir_prog (void) {
ir_prog *res;
ir_prog *new_ir_prog (void) {
ir_prog *res;
- res =
(ir_prog *) xmalloc (sizeof(ir_prog
));
- memset(res, 0, sizeof(res));
+ res =
xmalloc (sizeof(*res
));
+ memset(res, 0, sizeof(
*
res));
irp = res;
irp = res;
- /* res->obst =
(struct obstack *) xmalloc (sizeof (struct obstack
)); */
+ /* res->obst =
xmalloc (sizeof(*res->obst
)); */
res->graphs = NEW_ARR_F (ir_graph *, 0);
res->pseudo_graphs = NEW_ARR_F (ir_graph *, 0);
res->types = NEW_ARR_F (type *, 0);
res->graphs = NEW_ARR_F (ir_graph *, 0);
res->pseudo_graphs = NEW_ARR_F (ir_graph *, 0);
res->types = NEW_ARR_F (type *, 0);
@@
-80,15
+80,17
@@
ir_prog *new_ir_prog (void) {
res->const_code_irg = new_const_code_irg();
res->const_code_irg = new_const_code_irg();
- res->outs_state = outs_none;
- res->ip_outedges = NULL;
+ res->outs_state = outs_none;
+ res->ip_outedges = NULL;
+ res->trouts_state = outs_none;
+ res->class_cast_state = ir_class_casts_transitive;
return res;
}
/* frees all memory used by irp. Types in type list, irgs in irg
list and entities in global type must be freed by hand before. */
return res;
}
/* frees all memory used by irp. Types in type list, irgs in irg
list and entities in global type must be freed by hand before. */
-void free_ir_prog() {
+void free_ir_prog(
void
) {
free_type(irp->glob_type);
/* @@@ * free_ir_graph(irp->const_code_irg); * ?? End has no in?? */
DEL_ARR_F(irp->graphs);
free_type(irp->glob_type);
/* @@@ * free_ir_graph(irp->const_code_irg); * ?? End has no in?? */
DEL_ARR_F(irp->graphs);
@@
-102,7
+104,7
@@
void free_ir_prog() {
/* Access the main routine of the compiled program. */
/* Access the main routine of the compiled program. */
-ir_graph *get_irp_main_irg() {
+ir_graph *get_irp_main_irg(
void
) {
assert (irp);
return irp->main_irg;
}
assert (irp);
return irp->main_irg;
}
@@
-131,7
+133,7
@@
void remove_irp_irg_from_list(ir_graph *irg){
if (irp->graphs[i] == irg) {
found = true;
for(; i < (ARR_LEN (irp->graphs)) - 1; i++) {
if (irp->graphs[i] == irg) {
found = true;
for(; i < (ARR_LEN (irp->graphs)) - 1; i++) {
- irp->graphs[i] = irp->graphs[i+1];
+
irp->graphs[i] = irp->graphs[i+1];
}
ARR_SETLEN(ir_graph*, irp->graphs, (ARR_LEN(irp->graphs)) - 1);
break;
}
ARR_SETLEN(ir_graph*, irp->graphs, (ARR_LEN(irp->graphs)) - 1);
break;
@@
-140,11
+142,11
@@
void remove_irp_irg_from_list(ir_graph *irg){
if (!found) {
for (i = 0; i < (ARR_LEN (irp->pseudo_graphs)); i++) {
if (irp->pseudo_graphs[i] == irg) {
if (!found) {
for (i = 0; i < (ARR_LEN (irp->pseudo_graphs)); i++) {
if (irp->pseudo_graphs[i] == irg) {
- for(; i < (ARR_LEN (irp->pseudo_graphs)) - 1; i++) {
- irp->pseudo_graphs[i] = irp->pseudo_graphs[i+1];
- }
- ARR_SETLEN(ir_graph*, irp->pseudo_graphs, (ARR_LEN(irp->pseudo_graphs)) - 1);
- break;
+
for(; i < (ARR_LEN (irp->pseudo_graphs)) - 1; i++) {
+
irp->pseudo_graphs[i] = irp->pseudo_graphs[i+1];
+
}
+
ARR_SETLEN(ir_graph*, irp->pseudo_graphs, (ARR_LEN(irp->pseudo_graphs)) - 1);
+
break;
}
}
}
}
}
}
@@
-243,6
+245,13
@@
ir_graph *(get_const_code_irg)(void)
return __get_const_code_irg();
}
return __get_const_code_irg();
}
+irg_phase_state get_irp_phase_state(void) {
+ return irp->phase_state;
+}
+void set_irp_phase_state(irg_phase_state s) {
+ irp->phase_state = s;
+}
+
irg_outs_state get_irp_ip_outs_state() {
return irp->outs_state;
}
irg_outs_state get_irp_ip_outs_state() {
return irp->outs_state;
}
@@
-253,12
+262,12
@@
void set_irp_ip_outs_inconsistent() {
void set_irp_ip_outedges(ir_node ** ip_outedges)
{
void set_irp_ip_outedges(ir_node ** ip_outedges)
{
- irp
->
ip_outedges = ip_outedges;
+ irp
->
ip_outedges = ip_outedges;
}
ir_node** get_irp_ip_outedges(void)
{
}
ir_node** get_irp_ip_outedges(void)
{
- return
(irp -> ip_outedges)
;
+ return
irp->ip_outedges
;
}
}