/frameworks/libs/binary_translation/backend/include/berberis/backend/x86_64/ |
D | insn_folding.h | 32 [[nodiscard]] std::pair<const MachineInsn*, int> Get(MachineReg reg) const { in Get() 38 [[nodiscard]] std::pair<const MachineInsn*, int> Get(MachineReg reg, int use_index) const { in Get() 48 void ProcessInsn(const MachineInsn* insn); 52 void Set(MachineReg reg, const MachineInsn* insn) { in Set() 57 void MapDefRegs(const MachineInsn* insn); 58 ArenaVector<std::pair<const MachineInsn*, int>> def_map_; 68 std::tuple<bool, MachineInsn*> TryFoldInsn(const MachineInsn* insn); 74 bool IsWritingSameFlagsValue(const MachineInsn* insn) const; 76 std::tuple<bool, MachineInsn*> TryFoldImmediateInput(const MachineInsn* insn); 77 std::tuple<bool, MachineInsn*> TryFoldRedundantMovl(const MachineInsn* insn); [all …]
|
D | rename_copy_uses.h | 34 void RenameUseIfMapped(MachineInsn* insn, int i); 35 void ProcessDef(MachineInsn* insn, int i); 36 void ProcessCopy(MachineInsn* copy);
|
D | machine_ir.h | 116 class MachineInsnX86_64 : public MachineInsn { 195 : MachineInsn(info->opcode, info->num_reg_operands, info->reg_kinds, regs_, info->kind), in MachineInsnX86_64() 215 inline const MachineInsnX86_64* AsMachineInsnX86_64(const MachineInsn* insn) { in AsMachineInsnX86_64() 219 inline MachineInsnX86_64* AsMachineInsnX86_64(MachineInsn* insn) { in AsMachineInsnX86_64() 330 [[nodiscard]] static bool IsControlTransfer(MachineInsn* insn) { in IsControlTransfer()
|
D | machine_insn_intrinsics.h | 113 class MachineInsn; 121 class MachineInsn<AsmCallInfo, kMnemo, kOpcode, std::tuple<CtorArgs...>, Bindings...> final 131 static constexpr MachineInsn* (MachineIRBuilder::*kGenFunc)(CtorArgs...) = 132 &MachineIRBuilder::template Gen<MachineInsn>; 134 explicit MachineInsn(CtorArgs... args) : MachineInsnX86_64(&kInfo) {
|
/frameworks/libs/binary_translation/intrinsics/include/berberis/intrinsics/ |
D | intrinsics_args.h | 224 template <typename MachineInsn, int arguments_count> 230 MachineInsn::RegKindAt(reg_arguments).IsDef()) { in IsCompatible() 234 !MachineInsn::RegKindAt(reg_arguments).IsDef() && in IsCompatible() 235 !IsFixedRegClass(MachineInsn::RegKindAt(reg_arguments).RegClass())) { in IsCompatible() 239 IsFixedRegClass(MachineInsn::RegKindAt(reg_arguments).RegClass())) { in IsCompatible() 243 !IsFixedRegClass(MachineInsn::RegKindAt(reg_arguments).RegClass())) { in IsCompatible() 247 IsFixedRegClass(MachineInsn::RegKindAt(reg_arguments).RegClass())) { in IsCompatible() 251 !IsFixedRegClass(MachineInsn::RegKindAt(reg_arguments).RegClass())) { in IsCompatible() 256 !MachineInsn::RegKindAt(reg_arguments).IsInput()) { in IsCompatible() 260 MachineInsn::RegKindAt(reg_arguments).IsInput()) { in IsCompatible() [all …]
|
/frameworks/libs/binary_translation/backend/x86_64/ |
D | insn_folding.cc | 32 void DefMap::MapDefRegs(const MachineInsn* insn) { in MapDefRegs() 48 void DefMap::ProcessInsn(const MachineInsn* insn) { in ProcessInsn() 76 MachineInsn* InsnFolding::NewImmInsnFromRegInsn(const MachineInsn* insn, int32_t imm32) { in NewImmInsnFromRegInsn() 77 MachineInsn* folded_insn; in NewImmInsnFromRegInsn() 141 bool InsnFolding::IsWritingSameFlagsValue(const MachineInsn* write_flags_insn) const { in IsWritingSameFlagsValue() 171 std::tuple<bool, MachineInsn*> InsnFolding::TryFoldImmediateInput(const MachineInsn* insn) { in TryFoldImmediateInput() 200 std::tuple<bool, MachineInsn*> InsnFolding::TryFoldRedundantMovl(const MachineInsn* insn) { in TryFoldRedundantMovl() 223 std::tuple<bool, MachineInsn*> InsnFolding::TryFoldInsn(const MachineInsn* insn) { in TryFoldInsn() 357 MachineInsn* new_write_flags = in FoldWriteFlags()
|
D | code.cc | 156 : MachineInsn(kMachineOpPseudoBranch, 0, nullptr, nullptr, kMachineInsnSideEffects), in PseudoBranch() 165 : MachineInsn(kMachineOpPseudoCondBranch, in PseudoCondBranch() 176 : MachineInsn(kMachineOpPseudoJump, 0, nullptr, nullptr, kMachineInsnSideEffects), in PseudoJump() 181 : MachineInsn(kMachineOpPseudoIndirectJump, in PseudoIndirectJump() 192 : MachineInsn(kMachineOpPseudoCopy, in PseudoCopy() 202 : MachineInsn(kMachineOpPseudoDefXReg, in PseudoDefXReg() 210 : MachineInsn(kMachineOpPseudoDefReg, in PseudoDefReg() 220 : MachineInsn(kMachineOpPseudoReadFlags, in PseudoReadFlags() 231 : MachineInsn(kMachineOpPseudoWriteFlags, in PseudoWriteFlags()
|
D | rename_copy_uses.cc | 35 void RenameCopyUsesMap::RenameUseIfMapped(MachineInsn* insn, int i) { in RenameUseIfMapped() 53 void RenameCopyUsesMap::ProcessDef(MachineInsn* insn, int i) { in ProcessDef() 63 void RenameCopyUsesMap::ProcessCopy(MachineInsn* copy) { in ProcessCopy() 94 for (MachineInsn* insn : bb->insn_list()) { in RenameCopyUses()
|
D | rename_vregs_local_test.cc | 54 MachineInsn* insn = *insn_it; in TEST() 88 MachineInsn* insn = *insn_it; in TEST() 123 MachineInsn* insn = *insn_it; in TEST() 165 MachineInsn* insn = *insn_it; in TEST() 202 MachineInsn* insn = *insn_it; in TEST() 240 MachineInsn* insn = *insn_it; in TEST() 302 MachineInsn* insn = *insn_it; in TEST()
|
D | machine_ir_opt.cc | 66 bool AreResultsUsed(const MachineInsn* insn, const RegUsageBitSet& is_reg_used) { in AreResultsUsed() 75 void SetInsnResultsUnused(const MachineInsn* insn, RegUsageBitSet& is_reg_used) { in SetInsnResultsUnused() 83 void SetInsnArgumentsUsed(const MachineInsn* insn, RegUsageBitSet& is_reg_used) { in SetInsnArgumentsUsed() 105 MachineInsn* insn = *insn_it++; in RemoveDeadCode() 250 const MachineInsn* last_insn = bb->insn_list().back(); in IsForwarderBlock()
|
D | insn_folding_test.cc | 67 const MachineInsn* insn = *insn_it; in TryRegRegInsnFolding() 114 const MachineInsn* insn = *insn_it; in TryMovInsnFolding() 209 const MachineInsn* insn = *insn_it; in TEST() 247 const MachineInsn* insn = *insn_it; in TEST() 284 const MachineInsn* insn = *std::next(insn_it); in TEST() 316 const MachineInsn* insn = *(bb->insn_list().begin()); in TEST() 426 const MachineInsn* insn = *insn_it; in TEST() 507 MachineInsn* insn = *insn_it; in TEST()
|
D | machine_ir_opt_test.cc | 56 MachineInsn* insn = *insn_it; in TEST() 86 MachineInsn* insn = *insn_it; in TEST() 114 MachineInsn* insn = *insn_it; in TEST() 145 MachineInsn* insn = *insn_it++; in TEST() 171 MachineInsn* insn = *insn_it++; in TEST() 200 MachineInsn* insn = *insn_it++; in TEST() 573 MachineInsn* bb0_insn = bb0->insn_list().back(); in TEST() 635 MachineInsn* bb0_insn = bb0->insn_list().front(); in TEST() 700 MachineInsn* bb0_insn = bb0->insn_list().front(); in TEST() 917 MachineInsn* bb0_last_insn = bb0->insn_list().back(); in TEST() [all …]
|
D | rename_vregs_local.cc | 55 MachineInsn* insn = *insn_it; in TryRenameRegOperand() 90 MachineInsn* insn = *insn_it; in RenameInsnListRegs()
|
D | loop_guest_context_optimizer.cc | 98 auto* new_insn = static_cast<MachineInsn*>( in ReplacePutAndUpdateMap() 121 MachineInsn* get_insn; in GenerateGetInsns() 156 MachineInsn* put_insn; in GeneratePutInsns()
|
D | liveness_analyzer.cc | 66 const MachineInsn* insn = *insn_it; in VisitBasicBlock()
|
D | liveness_analyzer_test.cc | 84 class FakeInsnWithDefEarlyClobber : public MachineInsn { 87 : MachineInsn(kMachineOpUndefined, 1, ®_kind_, ®_, kMachineInsnDefault), reg_{reg} {} in FakeInsnWithDefEarlyClobber()
|
/frameworks/libs/binary_translation/backend/include/berberis/backend/common/ |
D | machine_ir.h | 200 class MachineInsn { 202 virtual ~MachineInsn() { in ~MachineInsn() 241 MachineInsn(MachineOpcode opcode, in MachineInsn() function 269 std::string GetRegOperandDebugString(const MachineInsn* insn, int i); 271 using MachineInsnList = ArenaList<MachineInsn*>; 278 [[nodiscard]] MachineInsn* insn() const { return *iterator_; } in insn() 280 void InsertBefore(MachineInsn* insn) const { list_->insert(iterator_, insn); } in InsertBefore() 282 void InsertAfter(MachineInsn* insn) const { in InsertAfter() 442 class PseudoBranch : public MachineInsn { 458 class PseudoCondBranch : public MachineInsn { [all …]
|
D | lifetime_analysis.h | 61 void TrySetMoveHint(const MachineInsn* insn);
|
D | machine_ir_builder.h | 70 void InsertInsn(MachineInsn* insn) { bb_->insn_list().push_back(insn); } in InsertInsn()
|
/frameworks/libs/binary_translation/backend/testing/include/x86_64/ |
D | loop_guest_context_optimizer_test_checks.h | 28 inline MachineReg CheckCopyGetInsnAndObtainMappedReg(MachineInsn* get_insn, in CheckCopyGetInsnAndObtainMappedReg() 35 inline MachineReg CheckCopyPutInsnAndObtainMappedReg(MachineInsn* put_insn, in CheckCopyPutInsnAndObtainMappedReg() 53 inline void CheckGetInsn(MachineInsn* insn, MachineOpcode opcode, MachineReg reg, size_t disp) { in CheckGetInsn() 61 inline void CheckPutInsn(MachineInsn* insn, MachineOpcode opcode, MachineReg reg, size_t disp) { in CheckPutInsn()
|
/frameworks/libs/binary_translation/backend/common/ |
D | machine_ir_opt.cc | 31 machine_bb->insn_list().remove_if([](MachineInsn* machine_insn) { in RemoveNopPseudoCopy() 55 const MachineInsn* last_insn = machine_bb->insn_list().back(); in RemoveForwarderBlocks() 95 MachineInsn* last_insn = insn_list.back(); in RemoveForwarderBlocks()
|
D | lifetime_analysis.cc | 50 void VRegLifetimeAnalysis::TrySetMoveHint(const MachineInsn* insn) { in TrySetMoveHint() 71 const MachineInsn* insn = pos.insn(); in AddInsn()
|
D | machine_ir_debug.cc | 52 std::string GetRegOperandDebugString(const MachineInsn* insn, int i) { in GetRegOperandDebugString()
|
/frameworks/libs/binary_translation/heavy_optimizer/riscv64/ |
D | inline_intrinsic.h | 364 using MachineInsn = typename AsmCallInfo::template MachineInsn<berberis::x86_64::MachineInsn, in operator() local 367 std::apply(MachineInsn::kGenFunc, in operator()
|
/frameworks/libs/binary_translation/intrinsics/common_to_x86/include/berberis/intrinsics/common_to_x86/ |
D | intrinsics_bindings.h | 448 using MachineInsn = MachineInsnType<AsmCallInfo, variable
|