Bugfixes.
authorDaniel Grund <grund@cs.uni-saarland.de>
Fri, 17 Mar 2006 16:07:20 +0000 (16:07 +0000)
committerDaniel Grund <grund@cs.uni-saarland.de>
Fri, 17 Mar 2006 16:07:20 +0000 (16:07 +0000)
Reg pressure selector is enabled now

ir/be/ia32/bearch_ia32.c
ir/be/ia32/ia32_map_regs.c

index 7904c6f..22ef49f 100644 (file)
@@ -852,7 +852,6 @@ void ia32_get_call_abi(const void *self, ir_type *method_type, be_abi_call_t *ab
 
        /* set register parameters  */
        if (cc & cc_reg_param) {
-//     if (1) {
                /* determine the number of parameters passed via registers */
                biggest_n = ia32_get_n_regparam_class(n, modes, &ignore_1, &ignore_2);
 
@@ -932,7 +931,7 @@ list_sched_selector_t ia32_sched_selector;
  * Returns the reg_pressure scheduler with to_appear_in_schedule() overloaded
  */
 static const list_sched_selector_t *ia32_get_list_sched_selector(const void *self) {
-       memcpy(&ia32_sched_selector, trivial_selector, sizeof(list_sched_selector_t));
+       memcpy(&ia32_sched_selector, reg_pressure_selector, sizeof(list_sched_selector_t));
        ia32_sched_selector.to_appear_in_schedule = ia32_to_appear_in_schedule;
        return &ia32_sched_selector;
 }
index 378b15e..98e7e0e 100644 (file)
@@ -251,9 +251,9 @@ long ia32_translate_proj_pos(const ir_node *proj) {
                        return 1;
        }
        else if (is_ia32_DivMod(pred)) {
-               if (nr == pn_DivMod_res_div || pn_Div_res)
+               if (nr == pn_DivMod_res_div || nr == pn_Div_res)
                        return 0;
-               if (nr == pn_DivMod_res_mod || pn_Mod_res)
+               if (nr == pn_DivMod_res_mod || nr == pn_Mod_res)
                        return 1;
        }
        else if (is_ia32_fDiv(pred)) {