ignore last scheduled node on reordering after a perm if it is not colorable
authorThomas Bersch <bersch@ipd.info.uni-karlsruhe.de>
Wed, 12 May 2010 08:51:09 +0000 (08:51 +0000)
committerThomas Bersch <bersch@ipd.info.uni-karlsruhe.de>
Wed, 12 May 2010 08:51:09 +0000 (08:51 +0000)
[r27535]

ir/be/bepbqpcoloring.c

index f0ea5a8..2e1f120 100644 (file)
@@ -68,8 +68,8 @@
 #include "pbqp_node_t.h"
 #include "pbqp_node.h"
 
-#define TIMER          0
-#define PRINT_RPEO     0
+#define TIMER          1
+#define PRINT_RPEO     1
 
 
 static int use_exec_freq               = true;
@@ -445,9 +445,14 @@ static void create_pbqp_coloring_instance(ir_node *block, void *data)
                }
                else {
                        if (arch_irn_consider_in_reg_alloc(cls, irn)) {
+                               // remember last colorable node
                                last_element = irn;
                                plist_insert_front(temp_list, get_node(pbqp_inst, get_irn_idx(irn)));
                        }
+                       else {
+                               // node not colorable, so ignore it
+                               last_element = NULL;
+                       }
                }
        }