#include "iterator.h"
#include "firm_config.h"
-#include <libcore/lc_opts.h>
-#include <libcore/lc_opts_enum.h>
-#include <libcore/lc_timing.h>
+#include "lc_opts.h"
+#include "lc_opts_enum.h"
#include "ircons_t.h"
#include "irmode_t.h"
if(is_Phi(irn))
env->stat->n_phis++;
- else if(arch_irn_classify(aenv, irn) & arch_irn_class_spill)
- ++env->stat->n_spills;
-
- else if(arch_irn_classify(aenv, irn) & arch_irn_class_reload)
- ++env->stat->n_reloads;
-
- else if(arch_irn_classify(aenv, irn) & arch_irn_class_copy)
- ++env->stat->n_copies;
-
- else if(arch_irn_classify(aenv, irn) & arch_irn_class_perm)
- ++env->stat->n_perms;
+ else {
+ arch_irn_class_t classify = arch_irn_classify(aenv, irn);
+
+ if(classify & arch_irn_class_spill)
+ ++env->stat->n_spills;
+ if(classify & arch_irn_class_reload)
+ ++env->stat->n_reloads;
+ if(classify & arch_irn_class_copy)
+ ++env->stat->n_copies;
+ if(classify & arch_irn_class_perm)
+ ++env->stat->n_perms;
+ }
}
/* a mem phi is a PhiM with a mem phi operand or a Spill operand */
- else if(is_Phi(irn) && get_irn_mode(irn) == mode_M) {
+ /*else*/ if(is_Phi(irn) && get_irn_mode(irn) == mode_M) {
int i;
for(i = get_irn_arity(irn) - 1; i >= 0; --i) {
*/
static void be_ra_chordal_main(be_irg_t *birg)
{
- const be_main_env_t *main_env = birg->main_env;
- const arch_isa_t *isa = arch_env_get_isa(main_env->arch_env);
- ir_graph *irg = birg->irg;
+ const be_main_env_t *main_env = birg->main_env;
+ const arch_env_t *arch_env = main_env->arch_env;
+ ir_graph *irg = birg->irg;
int j, m;
be_chordal_env_t chordal_env;
struct obstack obst;
/* use one of the generic spiller */
/* Perform the following for each register class. */
- for (j = 0, m = arch_isa_get_n_reg_class(isa); j < m; ++j) {
+ for (j = 0, m = arch_env_get_n_reg_class(arch_env); j < m; ++j) {
post_spill_env_t pse;
const arch_register_class_t *cls
- = arch_isa_get_reg_class(isa, j);
+ = arch_env_get_reg_class(arch_env, j);
if(arch_register_class_flags(cls) & arch_register_class_flag_manual_ra)
continue;
post_spill_env_t *pse;
/* the backend has it's own spiller */
- m = arch_isa_get_n_reg_class(isa);
+ m = arch_env_get_n_reg_class(arch_env);
pse = alloca(m * sizeof(pse[0]));