public ScheduleSlot(ProgramInfo.InstructionNode inst, int iter) { m_inst = inst; m_iter = iter; }
ProgramInfo.InstructionNode CreateRegcopyInst(Program.Pipe pipe) { ProgramInfo.InstructionNode regcopy = new ProgramInfo.InstructionNode(); regcopy.m_include_in_schedule = true; regcopy.m_pipeline = pipe; if (pipe == Program.Pipe.EVEN) { regcopy.m_latency = 2; regcopy.m_opcode = "ori"; } else { regcopy.m_latency = 4; regcopy.m_opcode = "roti"; } regcopy.m_reg_info.Add(new ProgramInfo.RegisterDependencyNode(Program.OperandInfo.OperandType.OUTPUT_REG)); regcopy.m_reg_info.Add(new ProgramInfo.RegisterDependencyNode(Program.OperandInfo.OperandType.INPUT_REG)); regcopy.m_reg_info.Add(new ProgramInfo.RegisterDependencyNode(Program.OperandInfo.OperandType.SIGNED_LITERAL)); regcopy.m_reg_info[2].m_immediate_arg = 0; return regcopy; }