Lines Matching refs:LocalValueNumbering
55 class LocalValueNumbering::AliasingIFieldVersions {
57 static uint16_t StartMemoryVersion(GlobalValueNumbering* gvn, const LocalValueNumbering* lvn, in StartMemoryVersion()
75 static uint16_t LookupMergeValue(GlobalValueNumbering* gvn, const LocalValueNumbering* lvn, in LookupMergeValue()
90 static bool HasNewBaseVersion(GlobalValueNumbering* gvn, const LocalValueNumbering* lvn, in HasNewBaseVersion()
108 class LocalValueNumbering::NonAliasingArrayVersions {
110 static uint16_t StartMemoryVersion(GlobalValueNumbering* gvn, const LocalValueNumbering* lvn, in StartMemoryVersion()
126 static uint16_t LookupMergeValue(GlobalValueNumbering* gvn, const LocalValueNumbering* lvn, in LookupMergeValue()
132 static bool HasNewBaseVersion(GlobalValueNumbering* gvn, const LocalValueNumbering* lvn, in HasNewBaseVersion()
148 class LocalValueNumbering::AliasingArrayVersions {
150 static uint16_t StartMemoryVersion(GlobalValueNumbering* gvn, const LocalValueNumbering* lvn, in StartMemoryVersion()
167 static uint16_t LookupMergeValue(GlobalValueNumbering* gvn, const LocalValueNumbering* lvn, in LookupMergeValue()
179 static bool HasNewBaseVersion(GlobalValueNumbering* gvn, const LocalValueNumbering* lvn, in HasNewBaseVersion()
196 LocalValueNumbering::AliasingValues* LocalValueNumbering::GetAliasingValues( in GetAliasingValues()
206 void LocalValueNumbering::UpdateAliasingValuesLoadVersion(const KeyType& key, in UpdateAliasingValuesLoadVersion()
225 uint16_t LocalValueNumbering::AliasingValuesMergeGet(GlobalValueNumbering* gvn, in AliasingValuesMergeGet()
226 const LocalValueNumbering* lvn, in AliasingValuesMergeGet()
251 uint16_t LocalValueNumbering::HandleAliasingValuesGet(Map* map, const typename Map::key_type& key, in HandleAliasingValuesGet()
272 bool LocalValueNumbering::HandleAliasingValuesPut(Map* map, const typename Map::key_type& key, in HandleAliasingValuesPut()
308 void LocalValueNumbering::CopyAliasingValuesMap(ScopedArenaSafeMap<K, AliasingValues>* dest, in CopyAliasingValuesMap()
318 LocalValueNumbering::LocalValueNumbering(GlobalValueNumbering* gvn, uint16_t id, in LocalValueNumbering() function in art::LocalValueNumbering
343 bool LocalValueNumbering::Equals(const LocalValueNumbering& other) const { in Equals()
362 void LocalValueNumbering::MergeOne(const LocalValueNumbering& other, MergeType merge_type) { in MergeOne()
398 bool LocalValueNumbering::SameMemoryVersion(const LocalValueNumbering& other) const { in SameMemoryVersion()
407 uint16_t LocalValueNumbering::NewMemoryVersion(uint16_t* new_version) { in NewMemoryVersion()
414 void LocalValueNumbering::MergeMemoryVersions(bool clobbered_catch) { in MergeMemoryVersions()
416 const LocalValueNumbering* cmp = gvn_->merge_lvns_[0]; in MergeMemoryVersions()
420 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeMemoryVersions()
437 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeMemoryVersions()
453 void LocalValueNumbering::PruneNonAliasingRefsForCatch() { in PruneNonAliasingRefsForCatch()
454 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in PruneNonAliasingRefsForCatch()
477 template <typename Set, Set LocalValueNumbering::* set_ptr>
478 void LocalValueNumbering::IntersectSets() { in IntersectSets()
482 const LocalValueNumbering* least_entries_lvn = gvn_->merge_lvns_[0]; in IntersectSets()
483 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in IntersectSets()
492 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in IntersectSets()
504 void LocalValueNumbering::CopyLiveSregValues(SregValueMap* dest, const SregValueMap& src) { in CopyLiveSregValues()
516 template <LocalValueNumbering::SregValueMap LocalValueNumbering::* map_ptr>
517 void LocalValueNumbering::IntersectSregValueMaps() { in IntersectSregValueMaps()
521 const LocalValueNumbering* least_entries_lvn = gvn_->merge_lvns_[0]; in IntersectSregValueMaps()
522 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in IntersectSregValueMaps()
534 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in IntersectSregValueMaps()
552 void LocalValueNumbering::InPlaceIntersectMaps(Map* work_map, const Map& other_map) { in InPlaceIntersectMaps()
568 template <typename Set, Set LocalValueNumbering::*set_ptr, void (LocalValueNumbering::*MergeFn)(
570 void LocalValueNumbering::MergeSets() { in MergeSets()
572 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeSets()
589 void LocalValueNumbering::IntersectAliasingValueLocations(AliasingValues* work_values, in IntersectAliasingValueLocations()
618 void LocalValueNumbering::MergeEscapedRefs(const ValueNameSet::value_type& entry, in MergeEscapedRefs()
622 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeEscapedRefs()
634 void LocalValueNumbering::MergeEscapedIFieldTypeClobberSets( in MergeEscapedIFieldTypeClobberSets()
642 void LocalValueNumbering::MergeEscapedIFieldClobberSets( in MergeEscapedIFieldClobberSets()
652 void LocalValueNumbering::MergeEscapedArrayClobberSets( in MergeEscapedArrayClobberSets()
659 void LocalValueNumbering::MergeNullChecked(const ValueNameSet::value_type& entry, in MergeNullChecked()
669 void LocalValueNumbering::MergeSFieldValues(const SFieldToValueMap::value_type& entry, in MergeSFieldValues()
675 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeSFieldValues()
707 void LocalValueNumbering::MergeNonAliasingIFieldValues(const IFieldLocToValueMap::value_type& entry, in MergeNonAliasingIFieldValues()
713 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeNonAliasingIFieldValues()
743 template <typename Map, Map LocalValueNumbering::*map_ptr, typename Versions>
744 void LocalValueNumbering::MergeAliasingValues(const typename Map::value_type& entry, in MergeAliasingValues()
756 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeAliasingValues()
768 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeAliasingValues()
797 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeAliasingValues()
816 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeAliasingValues()
839 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in MergeAliasingValues()
869 void LocalValueNumbering::Merge(MergeType merge_type) { in Merge()
872 IntersectSregValueMaps<&LocalValueNumbering::sreg_value_map_>(); in Merge()
873 IntersectSregValueMaps<&LocalValueNumbering::sreg_wide_value_map_>(); in Merge()
882 IntersectSets<ValueNameSet, &LocalValueNumbering::non_aliasing_refs_>(); in Merge()
887 MergeSets<IFieldLocToValueMap, &LocalValueNumbering::non_aliasing_ifield_value_map_, in Merge()
888 &LocalValueNumbering::MergeNonAliasingIFieldValues>(); in Merge()
889 MergeSets<NonAliasingArrayValuesMap, &LocalValueNumbering::non_aliasing_array_value_map_, in Merge()
890 &LocalValueNumbering::MergeAliasingValues< in Merge()
891 NonAliasingArrayValuesMap, &LocalValueNumbering::non_aliasing_array_value_map_, in Merge()
896 IntersectSets<RangeCheckSet, &LocalValueNumbering::range_checked_>(); in Merge()
899 MergeSets<ValueNameSet, &LocalValueNumbering::null_checked_, in Merge()
900 &LocalValueNumbering::MergeNullChecked>(); in Merge()
910 MergeSets<ValueNameSet, &LocalValueNumbering::escaped_refs_, in Merge()
911 &LocalValueNumbering::MergeEscapedRefs>(); in Merge()
913 MergeSets<EscapedIFieldClobberSet, &LocalValueNumbering::escaped_ifield_clobber_set_, in Merge()
914 &LocalValueNumbering::MergeEscapedIFieldTypeClobberSets>(); in Merge()
915 MergeSets<EscapedIFieldClobberSet, &LocalValueNumbering::escaped_ifield_clobber_set_, in Merge()
916 &LocalValueNumbering::MergeEscapedIFieldClobberSets>(); in Merge()
917 MergeSets<EscapedArrayClobberSet, &LocalValueNumbering::escaped_array_clobber_set_, in Merge()
918 &LocalValueNumbering::MergeEscapedArrayClobberSets>(); in Merge()
921 MergeSets<SFieldToValueMap, &LocalValueNumbering::sfield_value_map_, in Merge()
922 &LocalValueNumbering::MergeSFieldValues>(); in Merge()
923 MergeSets<AliasingIFieldValuesMap, &LocalValueNumbering::aliasing_ifield_value_map_, in Merge()
924 &LocalValueNumbering::MergeAliasingValues< in Merge()
925 AliasingIFieldValuesMap, &LocalValueNumbering::aliasing_ifield_value_map_, in Merge()
927 MergeSets<AliasingArrayValuesMap, &LocalValueNumbering::aliasing_array_value_map_, in Merge()
928 &LocalValueNumbering::MergeAliasingValues< in Merge()
929 AliasingArrayValuesMap, &LocalValueNumbering::aliasing_array_value_map_, in Merge()
933 uint16_t LocalValueNumbering::MarkNonAliasingNonNull(MIR* mir) { in MarkNonAliasingNonNull()
941 bool LocalValueNumbering::IsNonAliasing(uint16_t reg) const { in IsNonAliasing()
945 bool LocalValueNumbering::IsNonAliasingIField(uint16_t reg, uint16_t field_id, in IsNonAliasingIField()
963 bool LocalValueNumbering::IsNonAliasingArray(uint16_t reg, uint16_t type) const { in IsNonAliasingArray()
975 void LocalValueNumbering::HandleNullCheck(MIR* mir, uint16_t reg) { in HandleNullCheck()
989 void LocalValueNumbering::HandleRangeCheck(MIR* mir, uint16_t array, uint16_t index) { in HandleRangeCheck()
1005 void LocalValueNumbering::HandlePutObject(MIR* mir) { in HandlePutObject()
1011 void LocalValueNumbering::HandleEscapingRef(uint16_t base) { in HandleEscapingRef()
1019 uint16_t LocalValueNumbering::HandlePhi(MIR* mir) { in HandlePhi()
1045 for (const LocalValueNumbering* lvn : gvn_->merge_lvns_) { in HandlePhi()
1080 uint16_t LocalValueNumbering::HandleAGet(MIR* mir, uint16_t opcode) { in HandleAGet()
1105 void LocalValueNumbering::HandleAPut(MIR* mir, uint16_t opcode) { in HandleAPut()
1143 uint16_t LocalValueNumbering::HandleIGet(MIR* mir, uint16_t opcode) { in HandleIGet()
1178 void LocalValueNumbering::HandleIPut(MIR* mir, uint16_t opcode) { in HandleIPut()
1247 uint16_t LocalValueNumbering::HandleSGet(MIR* mir, uint16_t opcode) { in HandleSGet()
1282 void LocalValueNumbering::HandleSPut(MIR* mir, uint16_t opcode) { in HandleSPut()
1320 void LocalValueNumbering::RemoveSFieldsForType(uint16_t type) { in RemoveSFieldsForType()
1331 void LocalValueNumbering::HandleInvokeOrClInit(MIR* mir) { in HandleInvokeOrClInit()
1345 uint16_t LocalValueNumbering::GetValueNumber(MIR* mir) { in GetValueNumber()