ignore last scheduled node on reordering after a perm if it is not colorable
[libfirm] / ir / be / beifg_clique.c
index 1a82faf..affe7cc 100644 (file)
@@ -24,9 +24,7 @@
  * @date        18.11.2005
  * @version     $Id$
  */
-#ifdef HAVE_CONFIG_H
 #include "config.h"
-#endif
 
 #include <stdlib.h>
 
 #include "irgwalk.h"
 #include "irbitset.h"
 
-#include "bearch_t.h"
+#include "bearch.h"
 #include "be_t.h"
 #include "beintlive_t.h"
 #include "beifg_t.h"
+#include "beifg_impl.h"
 #include "bechordal_t.h"
 
 typedef struct _cli_head_t {
@@ -81,18 +80,18 @@ static cli_head_t *get_new_cli_head(ifg_clique_t *ifg)
 
        if (ifg->cli_root == NULL)
        {
-               new_cli_head = obstack_alloc(&ifg->obst, sizeof(*new_cli_head));
+               new_cli_head = OALLOC(&ifg->obst, cli_head_t);
                INIT_LIST_HEAD(&new_cli_head->list);
                ifg->cli_root = new_cli_head;
        }
        else
        {
                cli_head = ifg->cli_root;
-               while(!(cli_head->next_cli_head == NULL))
+               while (!(cli_head->next_cli_head == NULL))
                {
                        cli_head = cli_head->next_cli_head;
                }
-               new_cli_head = obstack_alloc(&ifg->obst, sizeof(*new_cli_head));
+               new_cli_head = OALLOC(&ifg->obst, cli_head_t);
                INIT_LIST_HEAD(&new_cli_head->list);
                cli_head->next_cli_head = new_cli_head;
        }
@@ -109,7 +108,7 @@ static cli_element_t *get_new_cli_element(ifg_clique_t *ifg)
 {
        cli_element_t *cli_element;
 
-       cli_element = obstack_alloc(&ifg->obst, sizeof(*cli_element));
+       cli_element = OALLOC(&ifg->obst, cli_element_t);
        INIT_LIST_HEAD(&cli_element->list);
 
        return cli_element;
@@ -152,7 +151,7 @@ static void write_clique(ir_nodeset_t *live_set, ifg_clique_t *ifg)
                }
 
                list_for_each_entry(cli_element_t, element, &cli_head->list, list){
-                       if(element->irn == live_irn){
+                       if (element->irn == live_irn){
                                is_element = 1;
                                break;
                        }
@@ -175,7 +174,6 @@ static cli_head_t *get_next_cli_head(const ir_node *irn, cli_iter_t *it) /* ...c
        cli_element_t *element;
 
        int is_dominated_by_max;
-       //int dominates_min;
 
        if (it->curr_cli_head == NULL || it->curr_cli_head->next_cli_head == NULL) /* way back of recursion or this is the last clique */
        {
@@ -186,7 +184,6 @@ static cli_head_t *get_next_cli_head(const ir_node *irn, cli_iter_t *it) /* ...c
        head = it->curr_cli_head->next_cli_head;
 
        is_dominated_by_max = value_dominates(head->max, irn);
-       //dominates_min = value_dominates(irn, head->min);
 
        if ((is_dominated_by_max) || (irn == head->max)) /* node could be in clique */
        {
@@ -340,7 +337,7 @@ static void find_neighbour_walker(ir_node *bl, void *data)
                if (b->is_def) /* b is a new node */
                {
                        ir_nodeset_insert(&live, irn);
-                       if(b->is_real)
+                       if (b->is_real)
                        {
                                was_def = 1;
                        }
@@ -365,7 +362,6 @@ static void find_first_neighbour(const ifg_clique_t *ifg, cli_iter_t *it, const
        bitset_t      *bitset_visneighbours = bitset_malloc(get_irg_last_idx(ifg->env->irg));
 
        int is_dominated_by_max = 0;
-       int dominates_min = 0;
        int is_in_clique = 0;
 
        it->curr_cli_head = cli_head;
@@ -375,7 +371,6 @@ static void find_first_neighbour(const ifg_clique_t *ifg, cli_iter_t *it, const
        assert(cli_head && "There is no root entry for a cli_head.");
 
        is_dominated_by_max = value_dominates(cli_head->max, irn);
-       dominates_min = value_dominates(irn, cli_head->min);
 
        if ((is_dominated_by_max) || (irn == cli_head->max))  /* node could be in clique */
        {
@@ -391,7 +386,7 @@ static void find_first_neighbour(const ifg_clique_t *ifg, cli_iter_t *it, const
                        }
                }
        }
-       if(!is_in_clique)
+       if (!is_in_clique)
        {
                cli_head = get_next_cli_head(irn, it);
                element = get_next_element(irn, it);
@@ -539,7 +534,7 @@ static const be_ifg_impl_t ifg_clique_impl = {
 
 be_ifg_t *be_ifg_clique_new(const be_chordal_env_t *env)
 {
-       ifg_clique_t *ifg       = xmalloc(sizeof(*ifg));
+       ifg_clique_t *ifg       = XMALLOC(ifg_clique_t);
 
        ifg->impl               = &ifg_clique_impl;
        ifg->env                        = env;