/art/compiler/dex/quick/ |
D | resource_mask.h | 34 class ResourceMask { 36 constexpr ResourceMask(uint64_t mask1, uint64_t mask2) in ResourceMask() function 58 constexpr ResourceMask() in ResourceMask() function 63 ResourceMask(const ResourceMask& other) = default; 64 ResourceMask& operator=(const ResourceMask& other) = default; 67 bool operator==(const ResourceMask& other) { 71 static constexpr ResourceMask RawMask(uint64_t mask1, uint64_t mask2) { in RawMask() 72 return ResourceMask(mask1, mask2); in RawMask() 75 static constexpr ResourceMask Bit(size_t bit) { in Bit() 76 return ResourceMask(bit >= 64u ? 0u : UINT64_C(1) << bit, in Bit() [all …]
|
D | resource_mask.cc | 27 constexpr ResourceMask kNoRegMasks[] = { 32 ResourceMask::Bit(ResourceMask::kFPStatus), 33 ResourceMask::Bit(ResourceMask::kCCode), 36 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kHeapRef].Equals( 38 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kLiteral].Equals( 40 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kDalvikReg].Equals( 42 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kFPStatus].Equals( 43 ResourceMask::Bit(ResourceMask::kFPStatus)), check_kNoRegMasks_fp_status_index); 44 COMPILE_ASSERT(kNoRegMasks[127-ResourceMask::kCCode].Equals( 45 ResourceMask::Bit(ResourceMask::kCCode)), check_kNoRegMasks_ccode_index); [all …]
|
D | local_optimizations.cc | 177 ResourceMask this_mem_mask = kEncodeMem.Intersection(this_lir->u.m.use_mask->Union( in ApplyLoadStoreElimination() 191 ResourceMask stop_def_reg_mask = this_lir->u.m.def_mask->Without(kEncodeMem); in ApplyLoadStoreElimination() 192 ResourceMask stop_use_reg_mask = this_lir->u.m.use_mask->Without(kEncodeMem); in ApplyLoadStoreElimination() 195 ResourceMask uses_pc = GetPCUseDefEncoding(); in ApplyLoadStoreElimination() 202 ResourceMask alias_reg_list_mask = kEncodeNone; in ApplyLoadStoreElimination() 218 ResourceMask check_mem_mask = kEncodeMem.Intersection(check_lir->u.m.use_mask->Union( in ApplyLoadStoreElimination() 220 ResourceMask alias_mem_mask = this_mem_mask.Intersection(check_mem_mask); in ApplyLoadStoreElimination() 291 ResourceMask alias_reg_mask = kEncodeNone; in ApplyLoadStoreElimination() 301 ResourceMask stop_search_mask = stop_def_reg_mask.Union(stop_use_reg_mask); in ApplyLoadStoreElimination() 346 ResourceMask stop_use_all_mask = *this_lir->u.m.use_mask; in ApplyLoadHoisting() [all …]
|
D | mir_to_lir-inl.h | 143 inline void Mir2Lir::SetupRegMask(ResourceMask* mask, int reg) { in SetupRegMask() 152 inline void Mir2Lir::ClearRegMask(ResourceMask* mask, int reg) { in ClearRegMask() 184 ResourceMask use_mask; in SetupResourceMasks() 185 ResourceMask def_mask; in SetupResourceMasks() 193 DCHECK(mem_ref_type_ != ResourceMask::kMustNotAlias); in SetupResourceMasks() 197 DCHECK(mem_ref_type_ != ResourceMask::kLiteral); in SetupResourceMasks() 244 def_mask.SetBit(ResourceMask::kCCode); in SetupResourceMasks() 248 use_mask.SetBit(ResourceMask::kCCode); in SetupResourceMasks()
|
D | gen_loadstore.cc | 68 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in Workaround7250540() 94 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in LoadValueDirect() 128 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in LoadValueDirectWide() 216 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreValue() 307 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreValueWide() 335 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreFinalValue() 371 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreFinalValueWide()
|
D | mir_to_lir.h | 160 const ResourceMask* use_mask; // Resource mask for use. 161 const ResourceMask* def_mask; // Resource mask for def. 341 RegisterInfo(RegStorage r, const ResourceMask& mask = kEncodeAll); 392 const ResourceMask& DefUseMask() { return def_use_mask_; } in DefUseMask() 393 void SetDefUseMask(const ResourceMask& def_use_mask) { def_use_mask_ = def_use_mask; } in SetDefUseMask() 431 ResourceMask def_use_mask_; // Resources for this element. 556 ScopedMemRefType(Mir2Lir* m2l, ResourceMask::ResourceBit new_mem_ref_type) in ScopedMemRefType() 568 ResourceMask::ResourceBit old_mem_ref_type_; 669 void SetupRegMask(ResourceMask* mask, int reg); 670 void ClearRegMask(ResourceMask* mask, int reg); [all …]
|
D | codegen_util.cc | 135 const ResourceMask** mask_ptr; in SetMemRefType() 136 ResourceMask mask; in SetMemRefType() 147 case ResourceMask::kLiteral: in SetMemRefType() 149 mask.SetBit(ResourceMask::kLiteral); in SetMemRefType() 151 case ResourceMask::kDalvikReg: in SetMemRefType() 152 mask.SetBit(ResourceMask::kDalvikReg); in SetMemRefType() 154 case ResourceMask::kHeapRef: in SetMemRefType() 155 mask.SetBit(ResourceMask::kHeapRef); in SetMemRefType() 157 case ResourceMask::kMustNotAlias: in SetMemRefType() 160 mask.SetBit(ResourceMask::kMustNotAlias); in SetMemRefType() [all …]
|
D | gen_invoke.cc | 403 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushIns() 807 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsNoRange() 814 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsNoRange() 840 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsNoRange() 925 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange() 932 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange() 957 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange() 969 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange() 980 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsRange() 1207 if (or_inst->u.m.def_mask->HasBit(ResourceMask::kCCode)) { in GenInlinedReferenceGetReferent()
|
D | ralloc_util.cc | 41 Mir2Lir::RegisterInfo::RegisterInfo(RegStorage r, const ResourceMask& mask) in RegisterInfo() 762 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushRegWide() 770 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushRegWide() 782 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushReg()
|
/art/compiler/dex/quick/arm/ |
D | target_arm.cc | 138 ResourceMask ArmMir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon() 142 constexpr ResourceMask ArmMir2Lir::GetRegMaskArm(RegStorage reg) { in GetRegMaskArm() 145 ? ResourceMask::TwoBits(reg.GetRegNum() * 2 + kArmFPReg0) in GetRegMaskArm() 146 : ResourceMask::Bit(reg.IsSingle() ? reg.GetRegNum() + kArmFPReg0 : reg.GetRegNum()); in GetRegMaskArm() 149 constexpr ResourceMask ArmMir2Lir::EncodeArmRegList(int reg_list) { in EncodeArmRegList() 150 return ResourceMask::RawMask(static_cast<uint64_t >(reg_list), 0u); in EncodeArmRegList() 153 constexpr ResourceMask ArmMir2Lir::EncodeArmRegFpcsList(int reg_list) { in EncodeArmRegFpcsList() 154 return ResourceMask::RawMask(static_cast<uint64_t >(reg_list) << kArmFPReg16, 0u); in EncodeArmRegFpcsList() 157 ResourceMask ArmMir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding() 158 return ResourceMask::Bit(kArmRegPC); in GetPCUseDefEncoding() [all …]
|
D | codegen_arm.h | 57 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE; 72 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE; 74 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE; 78 ResourceMask GetPCUseDefEncoding() const OVERRIDE; 214 static constexpr ResourceMask GetRegMaskArm(RegStorage reg); 215 static constexpr ResourceMask EncodeArmRegList(int reg_list); 216 static constexpr ResourceMask EncodeArmRegFpcsList(int reg_list);
|
D | int_arm.cc | 216 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelectConst32() 252 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelect() 258 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelect() 918 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 925 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 946 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 1105 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in OpDecAndBranch()
|
D | utility_arm.cc | 91 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValue() 674 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide() 958 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody() 1080 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
|
/art/compiler/dex/quick/mips/ |
D | target_mips.cc | 130 ResourceMask MipsMir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon() 134 ? ResourceMask::TwoBits((reg.GetRegNum() & ~1) + kMipsFPReg0) in GetRegMaskCommon() 136 ? ResourceMask::TwoBits(reg.GetRegNum() * 2 + kMipsFPReg0) in GetRegMaskCommon() 138 : ResourceMask::Bit(reg.IsSingle() ? reg.GetRegNum() + kMipsFPReg0 : reg.GetRegNum()); in GetRegMaskCommon() 141 ResourceMask MipsMir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding() 142 return ResourceMask::Bit(kMipsRegPC); in GetPCUseDefEncoding() 147 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks() 287 void MipsMir2Lir::DumpResourceMask(LIR *mips_lir, const ResourceMask& mask, const char *prefix) { in DumpResourceMask() 304 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask() 307 if (mask.HasBit(ResourceMask::kFPStatus)) { in DumpResourceMask() [all …]
|
D | codegen_mips.h | 60 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE; 72 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE; 74 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE; 78 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
|
D | utility_mips.cc | 540 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody() 642 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
|
/art/compiler/dex/quick/arm64/ |
D | target_arm64.cc | 144 ResourceMask Arm64Mir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon() 153 return ResourceMask::Bit( in GetRegMaskCommon() 158 ResourceMask Arm64Mir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding() 167 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks() 520 void Arm64Mir2Lir::DumpResourceMask(LIR* arm_lir, const ResourceMask& mask, const char* prefix) { in DumpResourceMask() 537 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask() 540 if (mask.HasBit(ResourceMask::kFPStatus)) { in DumpResourceMask() 545 if (arm_lir && (mask.HasBit(ResourceMask::kDalvikReg))) { in DumpResourceMask() 550 if (mask.HasBit(ResourceMask::kLiteral)) { in DumpResourceMask() 554 if (mask.HasBit(ResourceMask::kHeapRef)) { in DumpResourceMask() [all …]
|
D | codegen_arm64.h | 116 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE; 125 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE; 127 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE; 131 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
|
D | utility_arm64.cc | 127 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValue() 153 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValueWide() 530 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide() 1267 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody() 1358 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
|
D | int_arm64.cc | 770 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 774 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 908 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad() 948 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in OpDecAndBranch()
|
/art/compiler/dex/quick/x86/ |
D | target_x86.cc | 242 ResourceMask X86Mir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon() 244 return ResourceMask::Bit( in GetRegMaskCommon() 249 ResourceMask X86Mir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding() 254 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks() 397 void X86Mir2Lir::DumpResourceMask(LIR *x86LIR, const ResourceMask& mask, const char *prefix) { in DumpResourceMask() 414 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask() 418 if (x86LIR && (mask.HasBit(ResourceMask::kDalvikReg))) { in DumpResourceMask() 423 if (mask.HasBit(ResourceMask::kLiteral)) { in DumpResourceMask() 427 if (mask.HasBit(ResourceMask::kHeapRef)) { in DumpResourceMask() 430 if (mask.HasBit(ResourceMask::kMustNotAlias)) { in DumpResourceMask() [all …]
|
D | codegen_x86.h | 119 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE; 131 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE; 133 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE; 137 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
|
D | utility_x86.cc | 385 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpRegMem() 413 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpMemReg() 439 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpRegMem() 590 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide() 705 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseIndexedDisp() 840 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseIndexedDisp()
|
D | int_x86.cc | 252 DCHECK(!last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelectConst32() 985 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedCas() 1089 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad() 1277 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenImulMemImm() 1371 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenMulLongConst() 1460 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenMulLong() 1614 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongRegOrMemOp() 1649 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongArith() 2486 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongImm() 2517 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongImm() [all …]
|
D | fp_x86.cc | 134 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongToFP() 353 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenRemFP() 629 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedAbsFloat() 693 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedAbsDouble()
|