{
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, *arg1, *c2, *c10, *cmpGt, *cmpLt, *and, *f, *t, *b;
#define ENTITYNAME "main"
owner = new_type_class (id_from_str (CLASSNAME, strlen(CLASSNAME)));
- ent = new_entity ((type *)owner, id_from_str (ENTITYNAME, strlen(ENTITYNAME)), NULL);
+ method = new_type_method (id_from_str("main", 4), 0, 2);
+ ent = new_entity ((type *)owner, id_from_str (ENTITYNAME, strlen(ENTITYNAME)), (type *)method);
/* Generates the basic graph for the method represented by entity ent, that
* so we can mature it. */
mature_block (irg->current_block);
- /* This adds the in edge of the end block which originates at the return statement.
- * The return node passes controlflow to the end block. */
+ /* This adds the in edge of the end block which originates at the
+ return statement. The return node passes controlflow to the end block.*/
add_in_edge (irg->end_block, x);
/* Now we can mature the end block as all it's predecessors are known. */
mature_block (irg->end_block);
+
+ printf("\nDone building the graph. Dumping it.\n");
+
/* verify the graph */
irg_vrfy(irg);
- printf("\nDone building the graph. Dumping it.\n");
+ dead_node_elimination(irg);
+
dump_ir_block_graph (irg);
printf("use xvcg to view this graph:\n");