X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=testprograms%2Fif_else_example.c;h=89ef83d7c89e4e06a0752f30c69e5bad54ece7fa;hb=5470b27c201e3fd91f5af86753dd55806277edcb;hp=8f50d6ffdbe50e1043267f28682339e1f8fdf657;hpb=c201fe69b5fcb5a8430afafe2e15946cab4e45c4;p=libfirm diff --git a/testprograms/if_else_example.c b/testprograms/if_else_example.c index 8f50d6ffd..89ef83d7c 100644 --- a/testprograms/if_else_example.c +++ b/testprograms/if_else_example.c @@ -7,7 +7,9 @@ */ # include +# include +# include "irvrfy.h" # include "firm.h" # include "irdump.h" @@ -32,11 +34,11 @@ int main(int argc, char **argv) { - ir_graph *irg; /* this variable contains the irgraph */ - type_class *owner; /* the class in which this method is defined */ - type_method *method; /* the type of this method */ - entity *ent; /* represents this method as entity of owner */ - ir_node *x, *x_then, *x_else, *c0, *c1, *c2, *cmpGt, *f, *t, *b; + ir_graph *irg; /* this variable contains the irgraph */ + type *owner; /* the class in which this method is defined */ + type *method; /* the type of this method */ + entity *ent; /* represents this method as entity of owner */ + ir_node *x, *x_then, *x_else, *c0, *c1, *c2, *cmpGt, *f, *t, *b; printf("\ncreating an IR graph: IF_ELSE_EXAMPLE...\n"); @@ -53,8 +55,8 @@ int main(int argc, char **argv) owner = get_glob_type(); method = new_type_method (id_from_str("main", 4), 0, 2); - ent = new_entity ((type *)owner, id_from_str (ENTITYNAME, - strlen(ENTITYNAME)), (type *)method); + ent = new_entity (owner, id_from_str (ENTITYNAME, + strlen(ENTITYNAME)), method); /* Generates the basic graph for the method represented by entity ent, that * is, generates start and end blocks and nodes and a first, initial block. @@ -84,21 +86,21 @@ int main(int argc, char **argv) mature_block (get_irg_current_block(irg)); /* generate and fill the then block */ - b = new_Block (); + b = new_immBlock (); add_in_edge (b, t); set_value (0, get_value(1, mode_i)); mature_block (b); x_then = new_Jmp (); /* generate and fill the else block */ - b = new_Block (); + b = new_immBlock (); add_in_edge (b, f); set_value (1, new_Const (mode_i, tarval_from_long (mode_i, 2))); mature_block (b); x_else = new_Jmp (); /* generate the join block and add all cfg edges */ - b = new_Block (); + b = new_immBlock (); add_in_edge (b, x_then); add_in_edge (b, x_else); @@ -120,11 +122,13 @@ int main(int argc, char **argv) /* Now we can mature the end block as all it's predecessors are known. */ mature_block (get_irg_end_block(irg)); - printf("Optimizing ...\n"); + printf("\nOptimizing ...\n"); + local_optimize_graph(irg); dead_node_elimination(irg); /* verify the graph */ irg_vrfy(irg); + finalize_cons (irg); printf("Done building the graph. Dumping it.\n"); dump_ir_block_graph (irg);