Lines Matching refs:BindingKey

43 class BindingKey {  class
54 explicit BindingKey(const SubRegion *r, const SubRegion *Base, Kind k) in BindingKey() function in __anone91272100111::BindingKey
61 explicit BindingKey(const MemRegion *r, uint64_t offset, Kind k) in BindingKey() function in __anone91272100111::BindingKey
96 static BindingKey Make(const MemRegion *R, Kind k);
98 bool operator<(const BindingKey &X) const { in operator <()
106 bool operator==(const BindingKey &X) const { in operator ==()
115 BindingKey BindingKey::Make(const MemRegion *R, Kind k) { in Make()
118 return BindingKey(cast<SubRegion>(R), cast<SubRegion>(RO.getRegion()), k); in Make()
120 return BindingKey(RO.getRegion(), RO.getOffset(), k); in Make()
124 static inline raw_ostream &operator<<(raw_ostream &Out, BindingKey K) { in operator <<()
139 void BindingKey::dump() const { llvm::errs() << *this; } in dump()
146 typedef llvm::ImmutableMap<BindingKey, SVal> ClusterBindings;
147 typedef llvm::ImmutableMapRef<BindingKey, SVal> ClusterBindingsRef;
148 typedef std::pair<BindingKey, SVal> BindingPair;
196 RegionBindingsRef addBinding(BindingKey K, SVal V) const;
199 BindingKey::Kind k, SVal V) const;
201 const SVal *lookup(BindingKey K) const;
202 const SVal *lookup(const MemRegion *R, BindingKey::Kind k) const;
205 RegionBindingsRef removeBinding(BindingKey K);
208 BindingKey::Kind k);
211 return removeBinding(R, BindingKey::Direct). in removeBinding()
212 removeBinding(R, BindingKey::Default); in removeBinding()
266 return Optional<SVal>::create(lookup(R, BindingKey::Direct)); in getDirectBinding()
270 return Optional<SVal>::create(lookup(R, BindingKey::Default)); in getDefaultBinding()
273 RegionBindingsRef RegionBindingsRef::addBinding(BindingKey K, SVal V) const { in addBinding()
286 BindingKey::Kind k, in addBinding()
288 return addBinding(BindingKey::Make(R, k), V); in addBinding()
291 const SVal *RegionBindingsRef::lookup(BindingKey K) const { in lookup()
299 BindingKey::Kind k) const { in lookup()
300 return lookup(BindingKey::Make(R, k)); in lookup()
303 RegionBindingsRef RegionBindingsRef::removeBinding(BindingKey K) { in removeBinding()
316 BindingKey::Kind k){ in removeBinding()
317 return removeBinding(BindingKey::Make(R, k)); in removeBinding()
451 B = B.addBinding(BindingKey::Make(R, BindingKey::Default), V); in BindDefaultInitial()
474 B = B.addBinding(BindingKey::Make(R, BindingKey::Default), V); in BindDefaultZero()
645 const BindingKey &K = CI.getKey(); in iterBindings()
802 static void getSymbolicOffsetFields(BindingKey K, FieldVector &Fields) { in getSymbolicOffsetFields()
817 static bool isCompatibleWithFields(BindingKey K, const FieldVector &Fields) { in isCompatibleWithFields()
848 const SubRegion *Top, BindingKey TopKey, in collectSubRegionBindings()
854 TopKey = BindingKey::Make(Top, BindingKey::Default); in collectSubRegionBindings()
873 BindingKey NextKey = I.getKey(); in collectSubRegionBindings()
922 BindingKey::Make(Top, BindingKey::Default), in collectSubRegionBindings()
929 BindingKey TopKey = BindingKey::Make(Top, BindingKey::Default); in removeSubRegionBindings()
943 return B.addBinding(Concrete, BindingKey::Default, UnknownVal()); in removeSubRegionBindings()
964 Result = Result.add(BindingKey::Make(Concrete, BindingKey::Default), in removeSubRegionBindings()
1132 B = B.addBinding(baseR, BindingKey::Default, V); in VisitCluster()
1154 B = B.addBinding(baseR, BindingKey::Default, V); in VisitCluster()
1200 const BindingKey &BK = I.getKey(); in VisitCluster()
1226 B = B.addBinding(baseR, BindingKey::Default, V); in VisitCluster()
1233 B = B.addBinding(baseR, BindingKey::Direct, V); in VisitCluster()
1274 .addBinding(BindingKey::Make(GS, BindingKey::Default), V); in invalidateGlobalRegion()
1501 const SVal *V = B.lookup(R, BindingKey::Direct); in getBinding()
2408 return NewB.addBinding(BindingKey::Make(R, BindingKey::Direct), V); in bind()
2435 return B.addBinding(R, BindingKey::Default, V); in setImplicitDefaultValue()
2725 NewB = NewB.addBinding(R, BindingKey::Default, in bindStruct()
2738 return removeSubRegionBindings(B, R).addBinding(R, BindingKey::Default, Val); in bindAggregate()