BugFix: collect_stacknodes collected mode_T and mode_M nodes
authorChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Fri, 18 Aug 2006 13:40:15 +0000 (13:40 +0000)
committerChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Fri, 18 Aug 2006 13:40:15 +0000 (13:40 +0000)
ir/be/beabi.c

index 5b904ce..44df17f 100644 (file)
@@ -1789,8 +1789,14 @@ struct fix_stack_walker_info {
 static void collect_stack_nodes_walker(ir_node *irn, void *data)
 {
        struct fix_stack_walker_info *info = data;
+       ir_mode *mode;
 
-       if(arch_irn_is(info->aenv, irn, modify_sp))
+       if (is_Block(irn))
+               return;
+
+       mode = get_irn_mode(irn);
+
+       if (arch_irn_is(info->aenv, irn, modify_sp) && mode != mode_T && mode != mode_M)
                pset_insert_ptr(info->nodes, irn);
 }