#include "belower.h"
#include "bestat.h"
#include "beverify.h"
-#include "be_dbgout.h"
#include "beirg.h"
#include "bestack.h"
#include "beemitter.h"
birg->irg = irg;
birg->main_env = env;
obstack_init(&birg->obst);
+ birg->lv = be_liveness_new(irg);
edges_deactivate_kind(irg, EDGE_KIND_DEP);
edges_activate_kind(irg, EDGE_KIND_DEP);
case T_CODEGEN: return "codegen";
case T_RA_PREPARATION: return "ra_preparation";
case T_SCHED: return "sched";
+ case T_SPLIT: return "split";
case T_CONSTR: return "constr";
case T_FINISH: return "finish";
case T_EMIT: return "emit";
{
static const char suffix[] = ".prof";
- size_t i, num_birgs;
+ size_t i;
+ size_t num_irgs;
+ size_t num_birgs;
be_main_env_t env;
char prof_filename[256];
be_irg_t *birgs;
arch_env = env.arch_env;
/* we might need 1 birg more for instrumentation constructor */
- num_birgs = get_irp_n_irgs();
- birgs = ALLOCAN(be_irg_t, num_birgs + 1);
+ num_irgs = get_irp_n_irgs();
+ birgs = ALLOCAN(be_irg_t, num_irgs + 1);
be_info_init();
/* First: initialize all birgs */
- for (i = 0; i < num_birgs; ++i) {
- ir_graph *irg = get_irp_irg(i);
- initialize_birg(&birgs[i], irg, &env);
+ num_birgs = 0;
+ for (i = 0; i < num_irgs; ++i) {
+ ir_graph *irg = get_irp_irg(i);
+ ir_entity *entity = get_irg_entity(irg);
+ if (get_entity_linkage(entity) & IR_LINKAGE_NO_CODEGEN)
+ continue;
+ initialize_birg(&birgs[num_birgs++], irg, &env);
}
arch_env_handle_intrinsics(arch_env);