+ } break;
+ case iro_Alloc: {
+ fprintf(F, "allocating entity of type %s \n", get_type_name_ex(get_Alloc_type(n), &bad));
+ } break;
+ case iro_Free: {
+ fprintf(F, "freeing entity of type %s \n", get_type_name_ex(get_Free_type(n), &bad));
+ } break;
+ case iro_Sel: {
+ entity *ent = get_Sel_entity(n);
+
+ if (ent) {
+ fprintf(F, "Selecting entity of type %s\n", get_type_name_ex(get_entity_type(ent), &bad));
+ fprintf(F, " from entity of type %s\n", get_type_name_ex(get_entity_owner(ent), &bad));
+ }
+ else {
+ fprintf(F, "<NULL entity>\n");
+ bad = 1;
+ }
+ } break;
+ case iro_Call: {
+ type *tp = get_Call_type(n);
+ fprintf(F, "calling method of type %s \n", get_type_name_ex(tp, &bad));
+ if(get_unknown_type() != tp) {
+ for (i = 0; i < get_method_n_params(tp); ++i)
+ fprintf(F, " param %d type: %s \n", i, get_type_name_ex(get_method_param_type(tp, i), &bad));
+ for (i = 0; i < get_method_n_ress(tp); ++i)
+ fprintf(F, " resul %d type: %s \n", i, get_type_name_ex(get_method_res_type(tp, i), &bad));
+ }
+ if (Call_has_callees(n)) {
+ fprintf(F, "possible callees: \n");
+ for (i = 0; i < get_Call_n_callees(n); i++) {
+ fprintf(F, " %d: %s\n", i, get_ent_dump_name(get_Call_callee(n, i)));
+ }
+ }
+ } break;
+ case iro_CallBegin: {
+ ir_node *call = get_CallBegin_call(n);
+ fprintf(F, "Call: %ld\n", get_irn_node_nr(call));
+ if (Call_has_callees(call)) {
+ fprintf(F, "possible callees: \n");
+ for (i = 0; i < get_Call_n_callees(call); i++) {
+ fprintf(F, " %d: %s\n", i, get_ent_dump_name(get_Call_callee(call, i)));
+ }
+ }
+ } break;
+ case iro_Return: {
+ if (!get_interprocedural_view()) {
+ type *tp = get_entity_type(get_irg_entity(get_irn_irg(n)));
+ fprintf(F, "return in method of type %s \n", get_type_name_ex(tp, &bad));
+ for (i = 0; i < get_method_n_ress(tp); ++i)
+ fprintf(F, " res %d type: %s \n", i, get_type_name_ex(get_method_res_type(tp, i), &bad));
+ }
+ } break;
+ case iro_Const: {
+ type *tp = get_Const_type(n);
+ assert(tp != none_type);
+ fprintf(F, "Const of type %s \n", get_type_name_ex(get_Const_type(n), &bad));
+ } break;
+ case iro_SymConst: {
+ switch(get_SymConst_kind(n)) {
+ case symconst_addr_name:
+ fprintf(F, "kind addr_name\n");
+ break;
+ case symconst_addr_ent:
+ fprintf(F, "kind addr_ent\n");
+ dump_entity_to_file(F, get_SymConst_entity(n), dump_verbosity_onlynames);
+ break;
+ case symconst_type_tag:
+ fprintf(F, "kind type_tag\n");
+ break;
+ case symconst_size:
+ fprintf(F, "kind size\n");
+ break;
+ }
+ fprintf(F, "SymConst of type %s \n", get_type_name_ex(get_SymConst_value_type(n), &bad));
+ } break;
+ case iro_Filter: {
+ int i;
+ if (get_interprocedural_view()) {
+ fprintf(F, "intra predecessor nodes:\n");
+ for (i = 0; i < get_irn_intra_arity(n); i++) {
+ ir_node *pred = get_irn_intra_n(n, i);
+ fprintf(F, " %s%s %ld\n", get_irn_opname(pred), get_irn_modename(pred), get_irn_node_nr(pred));
+ }
+ } else {
+ fprintf(F, "inter predecessor nodes:\n");
+ for (i = 0; i < get_irn_inter_arity(n); i++) {
+ ir_node *pred = get_irn_inter_n(n, i);
+ fprintf(F, " %s%s %ld \tin graph %s\n", get_irn_opname(pred), get_irn_modename(pred),
+ get_irn_node_nr(pred), get_ent_dump_name(get_irg_entity(get_irn_irg(pred))));
+ }
+ }
+ } break;
+ case iro_Load:
+ fprintf(F, "volatility: %s\n", get_volatility_name(get_Load_volatility(n)));
+ break;
+ case iro_Store:
+ fprintf(F, "volatility: %s\n", get_volatility_name(get_Store_volatility(n)));
+ break;
+
+ default: ;