Add 0x prefix for printing ARM IncSP amount in hex.
[libfirm] / ir / be / bespillslots.c
index 24fe894..d6b3568 100644 (file)
@@ -127,7 +127,7 @@ static spill_t *collect_spill(be_fec_env_t *env, ir_node *node,
                                      const ir_mode *mode, int align)
 {
        spill_t spill, *res;
-       int hash = hash_irn(node);
+       int     hash = hash_irn(node);
 
        /* insert into set of spills if not already there */
        spill.spill = node;
@@ -568,6 +568,8 @@ static void assign_spill_entity(const arch_env_t *arch_env, ir_node *node,
                return;
        }
 
+       /* beware: we might have Stores with Memory Proj's, ia32 fisttp for instance */
+       node = skip_Proj(node);
        assert(arch_get_frame_entity(arch_env, node) == NULL);
        arch_set_frame_entity(arch_env, node, entity);
 }
@@ -824,7 +826,7 @@ static void collect_spills_walker(ir_node *node, void *data)
 
        mode  = get_irn_mode(node);
        cls   = arch_get_irn_reg_class(arch_env, node, -1);
-       align = arch_isa_get_reg_class_alignment(arch_env_get_isa(arch_env), cls);
+       align = arch_env_get_reg_class_alignment(arch_env, cls);
 
        be_node_needs_frame_entity(env, node, mode, align);
 }