internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as DelInstruction; other.StructType = StructType; }
internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as StoreretInstruction; other.CurrentFunction = CurrentFunction; }
internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as CompInstruction; other.StructType1 = StructType1; other.StructType2 = StructType2; }
internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as StoreglobalInstruction; other.IsNull = IsNull; other.Type = Type; }
internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as StoreoutargumentInstruction; other.Type = Type; }
internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as StoreaiFieldInstruction; other.FieldIndex = FieldIndex; other.FieldType = FieldType; other.ContainingType = ContainingType; other.IsNull = IsNull; }
internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as StoreaiVarInstruction; other.ArgIndex = ArgIndex; other.IsNull = IsNull; }
internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as MovInstruction; other.ArgIndex = ArgIndex; other.ArgReg = ArgReg; }
internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as LoadglobalInstruction; other.Type = Type; }
internal override void CopyExtraData(MilocInstruction newInstr) { var other = newInstr as LoadaiVarInstruction; other.ArgIndex = ArgIndex; }
private int? constantValue(MilocInstruction s, Register r) { var d = defs.GetDef(s, r.IntVal); if (d.Count != 1) return null; var load = d[0] as LoadiInstruction; if (load == null) return null; if (!powersOfTwoToExponent.ContainsKey(load.Immed0)) return null; return powersOfTwoToExponent[load.Immed0]; }
internal virtual void CopyExtraData(MilocInstruction newInstr) { }