public FunctionExit(Variable returnValue) : base(ArmConditionCode.ARM_CC_AL) { if (returnValue != null) { VariableUses.Add(returnValue); } }
public Branch(ArmConditionCode condition, BasicBlock destination, Variable cpsr = null) : base(condition) { if (destination == null) { throw new ArgumentNullException(nameof(destination)); } Destination = destination; if (condition != ArmConditionCode.ARM_CC_AL && cpsr != null) { VariableUses.Add(cpsr); FlagsUseOperand = cpsr; } }
public LongAdd(Variable dstLo, Variable dstHi, Variable opALo, Variable opAHi, Operand opBLo, Operand opBHi) : base(ArmConditionCode.ARM_CC_AL) { Operands.Add((true, dstLo)); Operands.Add((true, dstHi)); Operands.Add((false, opALo)); Operands.Add((false, opAHi)); Operands.Add((false, opBLo)); Operands.Add((false, opBHi)); VariableUses.Add(opALo); VariableUses.Add(opAHi); if (opBLo is Variable) { VariableUses.Add((Variable)opBLo); } if (opBHi is Variable) { VariableUses.Add((Variable)opBHi); } VariableDefs.Add(dstLo); VariableDefs.Add(dstHi); }