Correct some off-by-one errors in ia32_emitf().
[libfirm] / scripts / ir_spec.py
index 4905a53..ed5c8f4 100755 (executable)
@@ -181,7 +181,7 @@ class Bad:
        that a control flow edge can never be executed.
 
        The gigo optimisations ensures that nodes with Bad as their block, get
-       replaced by Bad themselfes. Nodes with at least 1 Bad input get exchanged
+       replaced by Bad themselves. Nodes with at least 1 Bad input get exchanged
        with Bad too. Exception to this rule are Block, Phi, Tuple and End node;
        This is because removing inputs from a Block is hairy operation (requiring,
        Phis to be shortened too for example). So instead of removing block inputs
@@ -777,11 +777,6 @@ class Phi:
        attr_struct   = "phi_attr"
        init          = '''
        res->attr.phi.u.backedge = new_backedge_arr(irg->obst, arity);'''
-       init_after_opt = '''
-       /* Memory Phis in endless loops must be kept alive.
-          As we can't distinguish these easily we keep all of them alive. */
-       if (is_Phi(res) && mode == mode_M)
-               add_End_keepalive(get_irg_end(irg), res);'''
        customSerializer = True
 
 @op