Lines Matching full:operands
64 /* check whether the operands is valid for the format,
68 getNumOfInvalidVregs(operands: OperandType[], format: Format): number {
70 for (let j = 0; j < operands.length; ++j) {
71 if (operands[j] instanceof VReg) {
72 if ((<VReg>operands[j]).num >= (1 << format[j][1])) {
80 …doRealAdjustment(operands: OperandType[], format: Format, index: number, irNodes: IRNode[]): void {
84 for (let j = 0; j < operands.length; ++j) {
85 if (operands[j] instanceof VReg) {
86 let vOrigin = <VReg>operands[j];
89 operands[j] = spill;
113 let operands = irNodes[index].operands;
122 if ((<VReg>operands[rangeRegOffset]).num >= level) {
128 let startNum = (<VReg>operands[rangeRegOffset]).num;
130 for (; i < (irNodes[index]).operands.length; ++i) {
131 if ((startNum + 1) != (<VReg>operands[i]).num) {
138 if (i === (irNodes[index]).operands.length) {
148 let operands = irNodes[index].operands;
150 /* exclude operands that are not require consecutive */
152 let regNums = operands.length - getRangeStartVregPos(irNodes[index]);
156 head.push(new Mov(spill, <VReg>operands[i + rangeRegOffset]));
157 operands[i + rangeRegOffset] = spill;
169 let operands = irNodes[i].operands;
180 let min = operands.length;
183 let num = this.getNumOfInvalidVregs(operands, formats[j]);
190 this.doRealAdjustment(operands, minFormat, i, irNodes);
219 let operands = irNodes[i].operands;
223 spillCount = Math.max(spillCount, operands.length - rangeRegOffset);
226 if ((<VReg>operands[rangeRegOffset]).num >= level) {
232 let min = operands.length;
235 let num = this.getNumOfInvalidVregs(operands, formats[j]);