Lines Matching refs:check_lir
84 void Mir2Lir::DumpDependentInsnPair(LIR* check_lir, LIR* this_lir, const char* type) {
87 DumpLIRInsn(check_lir, 0);
148 LIR* this_lir, *check_lir;
209 for (check_lir = NEXT_LIR(this_lir); check_lir != tail_lir; check_lir = NEXT_LIR(check_lir)) {
210 if (check_lir->flags.is_nop || IsPseudoLirOp(check_lir->opcode)) {
214 if (uses_pc.Intersects(check_lir->u.m.use_mask->Union(*check_lir->u.m.def_mask))) {
218 ResourceMask check_mem_mask = kEncodeMem.Intersection(check_lir->u.m.use_mask->Union(
219 *check_lir->u.m.def_mask));
221 uint64_t check_flags = GetTargetInstFlags(check_lir->opcode);
239 if (RegStorage::RegNum(check_lir->operands[1]) == RegStorage::RegNum(reg)) {
241 alias_list.push_back(check_lir->operands[0]);
242 SetupRegMask(&alias_reg_list_mask, check_lir->operands[0]);
249 bool reg_compatible = RegStorage::SameRegType(check_lir->operands[0], native_reg_id);
254 if (reg_compatible && (this_lir->target == check_lir->target)) {
255 DEBUG_OPT(DumpDependentInsnPair(check_lir, this_lir, "LITERAL"));
256 EliminateLoad(check_lir, native_reg_id);
259 alias_reg_list_mask.Intersects((check_lir->u.m.use_mask)->Without(kEncodeMem))) {
260 bool same_offset = (GetInstructionOffset(this_lir) == GetInstructionOffset(check_lir));
262 if (check_lir->operands[0] != native_reg_id) {
263 DEBUG_OPT(DumpDependentInsnPair(check_lir, this_lir, "STORE STOP"));
273 DEBUG_OPT(DumpDependentInsnPair(check_lir, this_lir, "LOAD STORE"));
274 EliminateLoad(check_lir, native_reg_id);
286 bool stop_alias = LOAD_STORE_CHECK_REG_DEP(alias_reg_list_mask, check_lir);
293 stop_alias = LOAD_STORE_CHECK_REG_DEP(alias_reg_mask, check_lir);
303 stop_here = LOAD_STORE_CHECK_REG_DEP(stop_search_mask, check_lir);
319 LIR* this_lir, *check_lir;
369 for (check_lir = PREV_LIR(this_lir); check_lir != head_lir; check_lir = PREV_LIR(check_lir)) {
374 if (check_lir->flags.is_nop) {
378 ResourceMask check_mem_mask = check_lir->u.m.def_mask->Intersection(kEncodeMem);
387 if ((check_lir->flags.alias_info == this_lir->flags.alias_info) ||
388 IsDalvikRegisterClobbered(this_lir, check_lir)) {
398 prev_inst_list[next_slot++] = check_lir;
405 check_lir);
412 if (stop_here || !IsPseudoLirOp(check_lir->opcode)) {
413 prev_inst_list[next_slot++] = check_lir;
421 DEBUG_OPT(DumpDependentInsnPair(check_lir, this_lir, "HOIST STOP"));
499 * Insertion is guaranteed to succeed since check_lir