/frameworks/libs/binary_translation/backend/x86_64/ |
D | rename_vregs_test.cc | 48 ASSERT_EQ(bb->insn_list().size(), 3U); in TEST() 49 auto it = bb->insn_list().begin(); in TEST() 81 ASSERT_EQ(bb1->insn_list().size(), 2U); in TEST() 82 auto it = bb1->insn_list().begin(); in TEST() 86 ASSERT_EQ(bb2->insn_list().size(), 2U); in TEST() 87 it = bb2->insn_list().begin(); in TEST() 107 ASSERT_EQ(bb1->insn_list().size(), 3U); in TEST() 108 auto it = bb1->insn_list().begin(); in TEST() 120 ASSERT_EQ(bb2->insn_list().size(), 4U); in TEST() 122 it = bb2->insn_list().begin(); in TEST() [all …]
|
D | rename_vregs_local.cc | 54 MachineInsnList& insn_list) { in TryRenameRegOperand() argument 72 insn_list.insert(insn_it, machine_ir->NewInsn<MovqRegReg>(new_reg, vreg_map.Get(reg))); in TryRenameRegOperand() 88 void RenameInsnListRegs(VRegMap& vreg_map, MachineInsnList& insn_list, MachineIR* machine_ir) { in RenameInsnListRegs() argument 89 for (auto insn_it = insn_list.begin(); insn_it != insn_list.end(); ++insn_it) { in RenameInsnListRegs() 94 TryRenameRegOperand(i, vreg_map, insn_it, machine_ir, insn_list); in RenameInsnListRegs() 116 auto& insn_list = out_edge->dst()->insn_list(); in RenameSuccessorsLiveIns() local 117 insn_list.push_front(machine_ir->NewInsn<MovqRegReg>(old_reg, in_reg)); in RenameSuccessorsLiveIns() 132 MachineInsnList& insn_list = basic_block->insn_list(); in RenameVRegsLocal() local 135 RenameInsnListRegs(vreg_map, insn_list, machine_ir); in RenameVRegsLocal()
|
D | loop_guest_context_optimizer_test.cc | 47 auto insn_it = bb->insn_list().begin(); in TEST() 52 EXPECT_EQ(bb->insn_list().size(), 2UL); in TEST() 53 auto* copy_insn = *bb->insn_list().begin(); in TEST() 72 auto insn_it = bb->insn_list().begin(); in TEST() 77 EXPECT_EQ(bb->insn_list().size(), 2UL); in TEST() 78 auto* copy_insn = *bb->insn_list().begin(); in TEST() 99 auto insn_it = bb->insn_list().begin(); in TEST() 105 EXPECT_EQ(bb->insn_list().size(), 3UL); in TEST() 106 auto* get_copy_insn = *bb->insn_list().begin(); in TEST() 108 auto* put_copy_insn = *std::next(bb->insn_list().begin()); in TEST() [all …]
|
D | local_guest_context_optimizer_test.cc | 49 ASSERT_EQ(bb->insn_list().size(), 3UL); in TEST() 51 auto* store_insn = *bb->insn_list().begin(); in TEST() 58 auto* load_copy_insn = *std::next(bb->insn_list().begin()); in TEST() 81 ASSERT_EQ(bb->insn_list().size(), 3UL); in TEST() 82 auto* load_insn = *bb->insn_list().begin(); in TEST() 88 auto* copy_insn = *std::next(bb->insn_list().begin()); in TEST() 111 ASSERT_EQ(bb->insn_list().size(), 2UL); in TEST() 112 auto* store_insn = *bb->insn_list().begin(); in TEST() 137 ASSERT_EQ(bb->insn_list().size(), 3UL); in TEST() 138 auto* store_insn_1 = *bb->insn_list().begin(); in TEST() [all …]
|
D | rename_vregs_local_test.cc | 50 EXPECT_EQ(bb->insn_list().size(), 3UL); in TEST() 52 auto insn_it = bb->insn_list().begin(); in TEST() 84 EXPECT_EQ(bb->insn_list().size(), 3UL); in TEST() 86 auto insn_it = bb->insn_list().begin(); in TEST() 119 EXPECT_EQ(bb->insn_list().size(), 4UL); in TEST() 121 auto insn_it = bb->insn_list().begin(); in TEST() 159 EXPECT_EQ(bb->insn_list().size(), 6UL); in TEST() 161 auto insn_it = bb->insn_list().begin(); in TEST() 197 EXPECT_EQ(bb->insn_list().size(), 4UL); in TEST() 199 auto insn_it = bb->insn_list().begin(); in TEST() [all …]
|
D | local_guest_context_optimizer.cc | 42 void ReplacePutAndUpdateMap(MachineInsnList& insn_list, const MachineInsnList::iterator insn_it); 51 for (auto insn_it = bb->insn_list().begin(); insn_it != bb->insn_list().end(); insn_it++) { in RemoveLocalGuestContextAccesses() 56 ReplacePutAndUpdateMap(bb->insn_list(), insn_it); in RemoveLocalGuestContextAccesses() 78 void LocalGuestContextOptimizer::ReplacePutAndUpdateMap(MachineInsnList& insn_list, in ReplacePutAndUpdateMap() argument 87 insn_list.erase(last_store_it); in ReplacePutAndUpdateMap()
|
D | machine_ir_opt.cc | 104 for (auto insn_it = bb->insn_list().rbegin(); insn_it != bb->insn_list().rend();) { in RemoveDeadCode() 109 insn_it = MachineInsnList::reverse_iterator(bb->insn_list().erase(insn_it.base())); in RemoveDeadCode() 123 CHECK_GT(bb->insn_list().size(), 0); in ChangeBranchTarget() 124 auto last_insn = bb->insn_list().back(); in ChangeBranchTarget() 161 new_bb->insn_list().push_back(ir->NewInsn<PseudoBranch>(succ_bb)); in InsertNodeOnEdge() 201 auto next_it = bb->insn_list().erase(forward_it); in RemovePutIfDead() 219 for (auto insn_it = bb->insn_list().rbegin(); insn_it != bb->insn_list().rend();) { in RemoveRedundantPut() 234 if (bb->insn_list().size() != 1) { in IsForwarderBlock() 250 const MachineInsn* last_insn = bb->insn_list().back(); in IsForwarderBlock()
|
D | insn_folding_test.cc | 59 for (const auto* insn : bb->insn_list()) { in TryRegRegInsnFolding() 65 auto insn_it = bb->insn_list().begin(); in TryRegRegInsnFolding() 106 for (const auto* insn : bb->insn_list()) { in TryMovInsnFolding() 112 auto insn_it = bb->insn_list().begin(); in TryMovInsnFolding() 154 for (const auto* insn : bb->insn_list()) { in TEST() 201 for (const auto* insn : bb->insn_list()) { in TEST() 207 auto insn_it = bb->insn_list().begin(); in TEST() 239 for (const auto* insn : bb->insn_list()) { in TEST() 245 auto insn_it = bb->insn_list().begin(); in TEST() 277 for (const auto* insn : bb->insn_list()) { in TEST() [all …]
|
D | machine_ir_opt_test.cc | 53 EXPECT_EQ(bb->insn_list().size(), 2UL); in TEST() 55 auto insn_it = bb->insn_list().begin(); in TEST() 83 EXPECT_EQ(bb->insn_list().size(), 3UL); in TEST() 85 auto insn_it = bb->insn_list().begin(); in TEST() 111 EXPECT_EQ(bb->insn_list().size(), 2UL); in TEST() 113 auto insn_it = bb->insn_list().begin(); in TEST() 141 EXPECT_EQ(bb->insn_list().size(), 2UL); in TEST() 143 auto insn_it = bb->insn_list().rbegin(); in TEST() 168 EXPECT_EQ(bb->insn_list().size(), 1UL); in TEST() 170 auto insn_it = bb->insn_list().begin(); in TEST() [all …]
|
D | machine_ir_check.cc | 87 for (auto* insn : bb->insn_list()) { in CheckControlTransferInsn() 90 return insn == bb->insn_list().back(); in CheckControlTransferInsn() 92 return insn == bb->insn_list().back(); in CheckControlTransferInsn() 94 if (insn != bb->insn_list().back()) { in CheckControlTransferInsn() 101 if (insn != bb->insn_list().back()) { in CheckControlTransferInsn()
|
D | rename_vregs.cc | 28 for (auto* insn : bb->insn_list()) { in AssignNewVRegs() 63 succ_bb->insn_list().insert(succ_bb->insn_list().begin(), insn); in GenInterBasicBlockMove() 71 pred_bb->insn_list().insert(--pred_bb->insn_list().end(), insn); in GenInterBasicBlockMove()
|
D | insn_folding.cc | 269 MachineInsnList& insn_list = bb->insn_list(); in FoldInsns() local 271 for (auto insn_it = insn_list.begin(); insn_it != insn_list.end();) { in FoldInsns() 275 insn_it = insn_list.erase(insn_it); in FoldInsns() 277 insn_list.insert(insn_it, new_insn); in FoldInsns() 291 CHECK(!bb->insn_list().empty()); in FoldWriteFlags() 292 auto insn_it = std::prev(bb->insn_list().end()); in FoldWriteFlags() 359 insn_it = bb->insn_list().erase(insn_it); in FoldWriteFlags() 360 bb->insn_list().insert(insn_it, new_write_flags); in FoldWriteFlags()
|
D | loop_guest_context_optimizer.cc | 107 auto insert_it = std::prev(bb->insn_list().end()); in GenerateGetInsns() 137 bb->insn_list().insert(insert_it, get_insn); in GenerateGetInsns() 145 auto insert_it = bb->insn_list().begin(); in GeneratePutInsns() 172 bb->insn_list().insert(insert_it, put_insn); in GeneratePutInsns() 204 for (auto* base_insn : bb->insn_list()) { in CountGuestRegAccesses() 256 for (auto insn_it = bb->insn_list().begin(); insn_it != bb->insn_list().end(); insn_it++) { in OptimizeLoop() 280 for (auto* insn : bb->insn_list()) { in ContainsCall()
|
D | machine_ir_test.cc | 45 auto insn_it = bb->insn_list().begin(); in TEST() 51 EXPECT_EQ(bb->insn_list().size(), static_cast<unsigned int>(3)); in TEST() 52 EXPECT_EQ(bb->insn_list().back()->opcode(), kMachineOpPseudoBranch); in TEST() 53 EXPECT_EQ(new_bb->insn_list().size(), static_cast<unsigned int>(4)); in TEST() 81 auto insn_it = std::next(bb1->insn_list().begin()); in TEST()
|
D | context_liveness_analyzer.cc | 60 for (auto insn_it = bb->insn_list().rbegin(); insn_it != bb->insn_list().rend(); insn_it++) { in VisitBasicBlock()
|
D | liveness_analyzer.cc | 65 for (auto insn_it = bb->insn_list().rbegin(); insn_it != bb->insn_list().rend(); ++insn_it) { in VisitBasicBlock()
|
D | rename_copy_uses.cc | 94 for (MachineInsn* insn : bb->insn_list()) { in RenameCopyUses()
|
/frameworks/libs/binary_translation/backend/common/ |
D | machine_ir_opt.cc | 31 machine_bb->insn_list().remove_if([](MachineInsn* machine_insn) { in RemoveNopPseudoCopy() 53 if (machine_bb->insn_list().size() != 1) continue; in RemoveForwarderBlocks() 55 const MachineInsn* last_insn = machine_bb->insn_list().back(); in RemoveForwarderBlocks() 90 const MachineInsnList& insn_list = machine_bb->insn_list(); in RemoveForwarderBlocks() local 91 if (insn_list.empty()) { in RemoveForwarderBlocks() 95 MachineInsn* last_insn = insn_list.back(); in RemoveForwarderBlocks()
|
D | machine_ir_debug.cc | 27 std::string GetInsnListDebugString(const char* indent, const MachineInsnList& insn_list) { in GetInsnListDebugString() argument 29 for (const auto* insn : insn_list) { in GetInsnListDebugString() 84 out += GetInsnListDebugString(" ", edge->insn_list()); in GetDebugString() 88 out += GetInsnListDebugString(" ", insn_list()); in GetDebugString() 116 for (const auto* insn : bb->insn_list()) { in GetDebugStringForDot()
|
D | reg_alloc.cc | 379 for (auto insn_it = bb->insn_list().begin(); insn_it != bb->insn_list().end(); ++insn_it) { in CollectLifetimes() 380 lifetime_analysis.AddInsn(MachineInsnListPosition(&(bb->insn_list()), insn_it)); in CollectLifetimes()
|
/frameworks/libs/binary_translation/backend/include/berberis/backend/common/ |
D | machine_ir_builder.h | 47 bb_->insn_list().back()->set_recovery_bb(recovery_bb); in SetRecoveryPointAtLastInsn() 52 bb_->insn_list().back()->set_recovery_pc(pc); in SetRecoveryWithGuestPCAtLastInsn() 56 if (bb_->insn_list().empty()) { in GetMachineInsnPosition() 61 bb_, std::optional<MachineInsnList::iterator>(std::prev(bb_->insn_list().end()))); in GetMachineInsnPosition() 70 void InsertInsn(MachineInsn* insn) { bb_->insn_list().push_back(insn); } in InsertInsn()
|
D | machine_ir.h | 303 [[nodiscard]] const MachineInsnList& insn_list() const { return insn_list_; } in insn_list() function 304 [[nodiscard]] MachineInsnList& insn_list() { return insn_list_; } in insn_list() function 327 [[nodiscard]] const MachineInsnList& insn_list() const { return insn_list_; } in insn_list() function 328 [[nodiscard]] MachineInsnList& insn_list() { return insn_list_; } in insn_list() function
|
/frameworks/libs/binary_translation/heavy_optimizer/riscv64/ |
D | frontend_tests.cc | 69 CHECK_GE(entry_bb->insn_list().size(), 1UL); in FindEntrySuccessor() 70 auto* branch_insn = entry_bb->insn_list().back(); in FindEntrySuccessor() 77 ASSERT_EQ(bb->insn_list().back()->opcode(), opcode); in CheckBasicBlockEndsWith() 142 auto* branch_insn = preloop_bb->insn_list().back(); in TEST() 145 auto* cmpb = *std::next(loop_bb->insn_list().rbegin()); in TEST() 147 branch_insn = loop_bb->insn_list().back(); in TEST() 150 branch_insn = signal_exit_bb->insn_list().back(); in TEST()
|
D | frontend.cc | 161 const MachineInsn* last_insn = bb->insn_list().back(); in ResolveJumps() 188 if (target_insn_it == target_containing_bb->insn_list().begin()) { in ResolveJumps() 215 const auto* last_insn = bb->insn_list().back(); in ReplaceJumpWithBranch() 221 auto jump_it = std::prev(bb->insn_list().end()); in ReplaceJumpWithBranch() 241 bb->insn_list().push_back(cond_branch); in ReplaceJumpWithBranch() 626 if (builder_.bb()->insn_list().empty() || in Finalize() 627 !builder_.ir()->IsControlTransfer(builder_.bb()->insn_list().back())) { in Finalize() 647 CHECK(!bb->insn_list().empty()); in Finalize() 648 insn_it = bb->insn_list().begin(); in Finalize()
|
/frameworks/libs/binary_translation/backend/include/berberis/backend/x86_64/ |
D | machine_ir.h | 315 new_bb->insn_list().splice( in SplitBasicBlock() 316 new_bb->insn_list().begin(), bb->insn_list(), insn_it, bb->insn_list().end()); in SplitBasicBlock() 317 bb->insn_list().push_back(NewInsn<PseudoBranch>(new_bb)); in SplitBasicBlock()
|