diff --git a/extra/compiler/cfg/gvn/gvn.factor b/extra/compiler/cfg/gvn/gvn.factor index 56ea3023d2..ef1f2f0cd8 100644 --- a/extra/compiler/cfg/gvn/gvn.factor +++ b/extra/compiler/cfg/gvn/gvn.factor @@ -51,7 +51,7 @@ M: array process-instruction ! FIXME there's going to be trouble with certain rewrites that ! modify the cfg / instructions destructively; namely those in -! alien.factor and slots.factor +! alien.factor : value-numbering-iteration ( cfg -- ) clear-exprs diff --git a/extra/compiler/cfg/gvn/slots/slots.factor b/extra/compiler/cfg/gvn/slots/slots.factor index d994e194fb..15a1040edd 100644 --- a/extra/compiler/cfg/gvn/slots/slots.factor +++ b/extra/compiler/cfg/gvn/slots/slots.factor @@ -13,7 +13,7 @@ IN: compiler.cfg.gvn.slots : simplify-slot-addressing ( insn -- insn/f ) dup simplify-slot-addressing? [ - dup slot>> vreg>insn + clone dup slot>> vreg>insn [ src1>> >>slot ] [ src2>> over scale>> '[ _ _ shift - ] change-tag ] bi