Lines Matching refs:RegLocation
51 void Initialize(RegLocation* arg_locs, int count, InToRegStorageMapper* mapper);
67 bool SmallLiteralDivRem(Instruction::Code dalvik_opcode, bool is_div, RegLocation rl_src,
68 RegLocation rl_dest, int lit) OVERRIDE;
69 bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE;
111 RegLocation GetReturnAlt() OVERRIDE;
112 RegLocation GetReturnWideAlt() OVERRIDE;
113 RegLocation LocCReturn() OVERRIDE;
114 RegLocation LocCReturnRef() OVERRIDE;
115 RegLocation LocCReturnDouble() OVERRIDE;
116 RegLocation LocCReturnFloat() OVERRIDE;
117 RegLocation LocCReturnWide() OVERRIDE;
146 void GenArrayGet(int opt_flags, OpSize size, RegLocation rl_array, RegLocation rl_index,
147 RegLocation rl_dest, int scale) OVERRIDE;
148 void GenArrayPut(int opt_flags, OpSize size, RegLocation rl_array,
149 RegLocation rl_index, RegLocation rl_src, int scale, bool card_mark) OVERRIDE;
151 void GenArithOpDouble(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
152 RegLocation rl_src2) OVERRIDE;
153 void GenArithOpFloat(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
154 RegLocation rl_src2) OVERRIDE;
155 void GenCmpFP(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
156 RegLocation rl_src2) OVERRIDE;
157 void GenConversion(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src) OVERRIDE;
170 void GenArithOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
171 RegLocation rl_src2) OVERRIDE;
172 void GenArithImmOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
173 RegLocation rl_src2) OVERRIDE;
174 void GenShiftImmOpLong(Instruction::Code opcode, RegLocation rl_dest,
175 RegLocation rl_src1, RegLocation rl_shift) OVERRIDE;
176 void GenCmpLong(RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) OVERRIDE;
177 void GenIntToLong(RegLocation rl_dest, RegLocation rl_src) OVERRIDE;
178 void GenShiftOpLong(Instruction::Code opcode, RegLocation rl_dest,
179 RegLocation rl_src1, RegLocation rl_shift) OVERRIDE;
188 bool GenLongImm(RegLocation rl_dest, RegLocation rl_src, Instruction::Code op);
198 bool GenLongLongImm(RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2,
208 virtual void GenLongArith(RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2,
217 void GenLongArith(RegLocation rl_dest, RegLocation rl_src, Instruction::Code op);
225 virtual void GenLongRegOrMemOp(RegLocation rl_dest, RegLocation rl_src, Instruction::Code op);
229 RegLocation GenDivRem(RegLocation rl_dest, RegStorage reg_lo, RegStorage reg_hi, bool is_div)
231 RegLocation GenDivRemLit(RegLocation rl_dest, RegStorage reg_lo, int lit, bool is_div) OVERRIDE;
233 void GenEntrySequence(RegLocation* ArgLocs, RegLocation rl_method) OVERRIDE;
236 void GenFillArrayData(DexOffset table_offset, RegLocation rl_src) OVERRIDE;
244 void GenMoveException(RegLocation rl_dest) OVERRIDE;
245 void GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, int lit,
247 void GenNegDouble(RegLocation rl_dest, RegLocation rl_src) OVERRIDE;
248 void GenNegFloat(RegLocation rl_dest, RegLocation rl_src) OVERRIDE;
249 void GenLargePackedSwitch(MIR* mir, DexOffset table_offset, RegLocation rl_src) OVERRIDE;
250 void GenLargeSparseSwitch(MIR* mir, DexOffset table_offset, RegLocation rl_src) OVERRIDE;
259 void GenInstanceofFinal(bool use_declaring_class, uint32_t type_idx, RegLocation rl_dest,
260 RegLocation rl_src) OVERRIDE;
307 void GenArithOpInt(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_lhs,
308 RegLocation rl_rhs) OVERRIDE;
328 void FlushIns(RegLocation* ArgLocs, RegLocation rl_method) OVERRIDE;
479 void GenFusedLongCmpImmBranch(BasicBlock* bb, RegLocation rl_src1,
481 void GenConstWide(RegLocation rl_dest, int64_t value);
508 void GenDivRemLongLit(RegLocation rl_dest, RegLocation rl_src, int64_t imm, bool is_div);
691 X86OpCode GetOpcode(Instruction::Code op, RegLocation loc, bool is_high_op, int32_t value);
702 X86OpCode GetOpcode(Instruction::Code op, RegLocation dest, RegLocation rhs,
730 RegLocation GenDivRem(RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2,
740 RegLocation GenDivRemLit(RegLocation rl_dest, RegLocation rl_src, int lit, bool is_div);
750 RegLocation GenShiftImmOpLong(Instruction::Code opcode, RegLocation rl_dest,
751 RegLocation rl_src, int shift_amount);
783 void GenRemFP(RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2, bool is_double);
791 bool IsOperationSafeWithoutTemps(RegLocation rl_lhs, RegLocation rl_rhs);
799 virtual void GenLongToFP(RegLocation rl_dest, RegLocation rl_src, bool is_double);
805 LIR* OpRegMem(OpKind op, RegStorage r_dest, RegLocation value);
806 LIR* OpMemReg(OpKind op, RegLocation rl_dest, int value);
818 bool GenMulLongConst(RegLocation rl_dest, RegLocation rl_src1, int64_t val);
819 void GenMulLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1,
820 RegLocation rl_src2);
821 void GenNotLong(RegLocation rl_dest, RegLocation rl_src);
822 void GenNegLong(RegLocation rl_dest, RegLocation rl_src);
823 void GenDivRemLong(Instruction::Code, RegLocation rl_dest, RegLocation rl_src1,
824 RegLocation rl_src2, bool is_div);
847 RegLocation UpdateLocTyped(RegLocation loc, int reg_class);
848 RegLocation UpdateLocWideTyped(RegLocation loc, int reg_class);
889 void AnalyzeDoubleUse(RegLocation rl_use);
957 static void DumpRegLocation(RegLocation loc);