/art/compiler/dex/quick/ |
D | resource_mask.h | 35 class ResourceMask { 37 constexpr ResourceMask(uint64_t mask1, uint64_t mask2) in ResourceMask() function 59 constexpr ResourceMask() in ResourceMask() function 64 ResourceMask(const ResourceMask& other) = default; 65 ResourceMask& operator=(const ResourceMask& other) = default; 68 bool operator==(const ResourceMask& other) { 72 static constexpr ResourceMask RawMask(uint64_t mask1, uint64_t mask2) { in RawMask() 73 return ResourceMask(mask1, mask2); in RawMask() 76 static constexpr ResourceMask Bit(size_t bit) { in Bit() 77 return ResourceMask(bit >= 64u ? 0u : UINT64_C(1) << bit, in Bit() [all …]
|
D | resource_mask.cc | 29 constexpr ResourceMask kNoRegMasks[] = { 34 ResourceMask::Bit(ResourceMask::kFPStatus), 35 ResourceMask::Bit(ResourceMask::kCCode), 38 static_assert(kNoRegMasks[127-ResourceMask::kHeapRef].Equals( 40 static_assert(kNoRegMasks[127-ResourceMask::kLiteral].Equals( 42 static_assert(kNoRegMasks[127-ResourceMask::kDalvikReg].Equals( 44 static_assert(kNoRegMasks[127-ResourceMask::kFPStatus].Equals( 45 ResourceMask::Bit(ResourceMask::kFPStatus)), "kNoRegMasks fp status index unexpected"); 46 static_assert(kNoRegMasks[127-ResourceMask::kCCode].Equals( 47 ResourceMask::Bit(ResourceMask::kCCode)), "kNoRegMasks ccode index unexpected"); [all …]
|
D | local_optimizations.cc | 178 ResourceMask this_mem_mask = kEncodeMem.Intersection(this_lir->u.m.use_mask->Union( in ApplyLoadStoreElimination() 192 ResourceMask stop_def_reg_mask = this_lir->u.m.def_mask->Without(kEncodeMem); in ApplyLoadStoreElimination() 193 ResourceMask stop_use_reg_mask = this_lir->u.m.use_mask->Without(kEncodeMem); in ApplyLoadStoreElimination() 196 ResourceMask uses_pc = GetPCUseDefEncoding(); in ApplyLoadStoreElimination() 203 ResourceMask alias_reg_list_mask = kEncodeNone; in ApplyLoadStoreElimination() 219 ResourceMask check_mem_mask = kEncodeMem.Intersection(check_lir->u.m.use_mask->Union( in ApplyLoadStoreElimination() 221 ResourceMask alias_mem_mask = this_mem_mask.Intersection(check_mem_mask); in ApplyLoadStoreElimination() 292 ResourceMask alias_reg_mask = kEncodeNone; in ApplyLoadStoreElimination() 302 ResourceMask stop_search_mask = stop_def_reg_mask.Union(stop_use_reg_mask); in ApplyLoadStoreElimination() 347 ResourceMask stop_use_all_mask = *this_lir->u.m.use_mask; in ApplyLoadHoisting() [all …]
|
D | mir_to_lir-inl.h | 145 inline void Mir2Lir::SetupRegMask(ResourceMask* mask, int reg) { in SetupRegMask() 155 inline void Mir2Lir::ClearRegMask(ResourceMask* mask, int reg) { in ClearRegMask() 188 ResourceMask use_mask; in SetupResourceMasks() 189 ResourceMask def_mask; in SetupResourceMasks() 197 DCHECK(mem_ref_type_ != ResourceMask::kMustNotAlias); in SetupResourceMasks() 201 DCHECK(mem_ref_type_ != ResourceMask::kLiteral); in SetupResourceMasks() 248 def_mask.SetBit(ResourceMask::kCCode); in SetupResourceMasks() 252 use_mask.SetBit(ResourceMask::kCCode); in SetupResourceMasks()
|
D | gen_loadstore.cc | 55 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in LoadValueDirect() 93 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in LoadValueDirectWide() 178 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreValue() 270 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreValueWide() 298 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreFinalValue() 334 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in StoreFinalValueWide()
|
D | mir_to_lir.h | 159 const ResourceMask* use_mask; // Resource mask for use. 160 const ResourceMask* def_mask; // Resource mask for def. 323 RegisterInfo(RegStorage r, const ResourceMask& mask = kEncodeAll); 371 const ResourceMask& DefUseMask() { return def_use_mask_; } in DefUseMask() 372 void SetDefUseMask(const ResourceMask& def_use_mask) { def_use_mask_ = def_use_mask; } in SetDefUseMask() 410 ResourceMask def_use_mask_; // Resources for this element. 532 ScopedMemRefType(Mir2Lir* m2l, ResourceMask::ResourceBit new_mem_ref_type) in ScopedMemRefType() 544 ResourceMask::ResourceBit old_mem_ref_type_; 646 void SetupRegMask(ResourceMask* mask, int reg); 647 void ClearRegMask(ResourceMask* mask, int reg); [all …]
|
D | codegen_util.cc | 145 const ResourceMask** mask_ptr; in SetMemRefType() 146 ResourceMask mask; in SetMemRefType() 157 case ResourceMask::kLiteral: in SetMemRefType() 159 mask.SetBit(ResourceMask::kLiteral); in SetMemRefType() 161 case ResourceMask::kDalvikReg: in SetMemRefType() 162 mask.SetBit(ResourceMask::kDalvikReg); in SetMemRefType() 164 case ResourceMask::kHeapRef: in SetMemRefType() 165 mask.SetBit(ResourceMask::kHeapRef); in SetMemRefType() 167 case ResourceMask::kMustNotAlias: in SetMemRefType() 170 mask.SetBit(ResourceMask::kMustNotAlias); in SetMemRefType() [all …]
|
D | gen_invoke.cc | 438 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushIns() 699 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgsFlushPromoted() 802 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgs() 846 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDalvikArgs() 965 if (or_inst->u.m.def_mask->HasBit(ResourceMask::kCCode)) { in GenInlinedReferenceGetReferent()
|
D | ralloc_util.cc | 45 Mir2Lir::RegisterInfo::RegisterInfo(RegStorage r, const ResourceMask& mask) in RegisterInfo() 745 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushRegWide() 753 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushRegWide() 765 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in FlushReg()
|
/art/compiler/dex/quick/arm/ |
D | target_arm.cc | 139 ResourceMask ArmMir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon() 143 constexpr ResourceMask ArmMir2Lir::GetRegMaskArm(RegStorage reg) { in GetRegMaskArm() 146 ? ResourceMask::TwoBits(reg.GetRegNum() * 2 + kArmFPReg0) in GetRegMaskArm() 147 : ResourceMask::Bit(reg.IsSingle() ? reg.GetRegNum() + kArmFPReg0 : reg.GetRegNum()); in GetRegMaskArm() 150 constexpr ResourceMask ArmMir2Lir::EncodeArmRegList(int reg_list) { in EncodeArmRegList() 151 return ResourceMask::RawMask(static_cast<uint64_t >(reg_list), 0u); in EncodeArmRegList() 154 constexpr ResourceMask ArmMir2Lir::EncodeArmRegFpcsList(int reg_list) { in EncodeArmRegFpcsList() 155 return ResourceMask::RawMask(static_cast<uint64_t >(reg_list) << kArmFPReg16, 0u); in EncodeArmRegFpcsList() 158 ResourceMask ArmMir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding() 159 return ResourceMask::Bit(kArmRegPC); in GetPCUseDefEncoding() [all …]
|
D | codegen_arm.h | 113 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE; 128 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE; 130 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE; 134 ResourceMask GetPCUseDefEncoding() const OVERRIDE; 304 static constexpr ResourceMask GetRegMaskArm(RegStorage reg); 305 static constexpr ResourceMask EncodeArmRegList(int reg_list); 306 static constexpr ResourceMask EncodeArmRegFpcsList(int reg_list);
|
D | int_arm.cc | 228 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelectConst32() 265 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelect() 271 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelect() 952 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 959 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 980 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 1090 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad() 1185 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in OpDecAndBranch()
|
D | utility_arm.cc | 96 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValue() 730 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide() 1023 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody() 1165 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
|
/art/compiler/dex/quick/mips/ |
D | target_mips.cc | 294 ResourceMask MipsMir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon() 296 return ResourceMask::Bit((reg.IsFloat() ? kMipsFPReg0 : 0) + reg.GetRegNum()); in GetRegMaskCommon() 299 return ResourceMask::TwoBits((reg.GetRegNum() & ~1) + kMipsFPReg0); in GetRegMaskCommon() 301 return ResourceMask::Bit(reg.GetRegNum() + kMipsFPReg0); in GetRegMaskCommon() 303 return ResourceMask::Bit(reg.GetRegNum()); in GetRegMaskCommon() 308 ResourceMask MipsMir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding() 309 return cu_->target64 ? ResourceMask::Bit(kMips64RegPC) : ResourceMask::Bit(kMipsRegPC); in GetPCUseDefEncoding() 312 void MipsMir2Lir::SetupTargetResourceMasks(LIR* lir, uint64_t flags, ResourceMask* use_mask, in SetupTargetResourceMasks() 313 ResourceMask* def_mask) { in SetupTargetResourceMasks() 465 void MipsMir2Lir::DumpResourceMask(LIR *mips_lir, const ResourceMask& mask, const char *prefix) { in DumpResourceMask() [all …]
|
D | codegen_mips.h | 115 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE; 127 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE; 128 void SetupTargetResourceMasks(LIR* lir, uint64_t flags, ResourceMask* use_mask, 129 ResourceMask* def_mask) OVERRIDE; 133 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
|
D | utility_mips.cc | 770 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody() 823 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody() 941 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody() 991 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
|
/art/compiler/dex/quick/arm64/ |
D | target_arm64.cc | 146 ResourceMask Arm64Mir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon() 155 return ResourceMask::Bit( in GetRegMaskCommon() 160 ResourceMask Arm64Mir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding() 169 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks() 546 void Arm64Mir2Lir::DumpResourceMask(LIR* arm_lir, const ResourceMask& mask, const char* prefix) { in DumpResourceMask() 563 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask() 566 if (mask.HasBit(ResourceMask::kFPStatus)) { in DumpResourceMask() 571 if (arm_lir && (mask.HasBit(ResourceMask::kDalvikReg))) { in DumpResourceMask() 576 if (mask.HasBit(ResourceMask::kLiteral)) { in DumpResourceMask() 580 if (mask.HasBit(ResourceMask::kHeapRef)) { in DumpResourceMask() [all …]
|
D | codegen_arm64.h | 107 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE; 116 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE; 118 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE; 122 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
|
D | utility_arm64.cc | 129 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValue() 155 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadFPConstantValueWide() 532 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide() 1265 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseDispBody() 1355 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseDispBody()
|
D | int_arm64.cc | 805 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 809 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenInlinedCas() 941 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad() 1031 DCHECK(last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in OpDecAndBranch()
|
/art/compiler/dex/quick/x86/ |
D | target_x86.cc | 266 ResourceMask X86Mir2Lir::GetRegMaskCommon(const RegStorage& reg) const { in GetRegMaskCommon() 268 return ResourceMask::Bit( in GetRegMaskCommon() 273 ResourceMask X86Mir2Lir::GetPCUseDefEncoding() const { in GetPCUseDefEncoding() 278 ResourceMask* use_mask, ResourceMask* def_mask) { in SetupTargetResourceMasks() 422 void X86Mir2Lir::DumpResourceMask(LIR *x86LIR, const ResourceMask& mask, const char *prefix) { in DumpResourceMask() 439 if (mask.HasBit(ResourceMask::kCCode)) { in DumpResourceMask() 443 if (x86LIR && (mask.HasBit(ResourceMask::kDalvikReg))) { in DumpResourceMask() 448 if (mask.HasBit(ResourceMask::kLiteral)) { in DumpResourceMask() 452 if (mask.HasBit(ResourceMask::kHeapRef)) { in DumpResourceMask() 455 if (mask.HasBit(ResourceMask::kMustNotAlias)) { in DumpResourceMask() [all …]
|
D | utility_x86.cc | 391 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpRegMem() 419 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpMemReg() 445 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in OpRegMem() 589 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in LoadConstantWide() 715 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in LoadBaseIndexedDisp() 880 if (mem_ref_type_ == ResourceMask::kDalvikReg) { in StoreBaseIndexedDisp()
|
D | codegen_x86.h | 148 ResourceMask GetRegMaskCommon(const RegStorage& reg) const OVERRIDE; 160 void DumpResourceMask(LIR* lir, const ResourceMask& mask, const char* prefix) OVERRIDE; 162 ResourceMask* use_mask, ResourceMask* def_mask) OVERRIDE; 166 ResourceMask GetPCUseDefEncoding() const OVERRIDE;
|
D | fp_x86.cc | 150 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongToFP() 372 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenRemFP() 652 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedAbsFloat() 716 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedAbsDouble()
|
D | int_x86.cc | 255 DCHECK(!last_lir_insn_->u.m.def_mask->HasBit(ResourceMask::kCCode)); in GenSelectConst32() 1181 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenInlinedCas() 1377 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad() 1389 ScopedMemRefType mem_ref_type(this, ResourceMask::kLiteral); in OpPcRelLoad() 1640 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenImulMemImm() 1736 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenMulLongConst() 1825 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenMulLong() 1979 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongRegOrMemOp() 2022 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenLongArith() 2256 ScopedMemRefType mem_ref_type(this, ResourceMask::kDalvikReg); in GenDivRemLongLit() [all …]
|