Lines Matching defs:GS

64 static bool analyzeGlobalAux(const Value *V, GlobalStatus &GS,
68 GS.StoredType = GlobalStatus::StoredOnce;
77 if (analyzeGlobalAux(CE, GS, VisitedUsers))
85 if (!GS.HasMultipleAccessingFunctions) {
87 if (!GS.AccessingFunction)
88 GS.AccessingFunction = F;
89 else if (GS.AccessingFunction != F)
90 GS.HasMultipleAccessingFunctions = true;
93 GS.IsLoaded = true;
97 GS.Ordering = strongerOrdering(GS.Ordering, LI->getOrdering());
107 ++GS.NumStores;
109 GS.Ordering = strongerOrdering(GS.Ordering, SI->getOrdering());
114 if (GS.StoredType != GlobalStatus::Stored) {
127 if (GS.StoredType < GlobalStatus::InitializerStored)
128 GS.StoredType = GlobalStatus::InitializerStored;
131 if (GS.StoredType < GlobalStatus::InitializerStored)
132 GS.StoredType = GlobalStatus::InitializerStored;
133 } else if (GS.StoredType < GlobalStatus::StoredOnce) {
134 GS.StoredType = GlobalStatus::StoredOnce;
135 GS.StoredOnceStore = SI;
136 } else if (GS.StoredType == GlobalStatus::StoredOnce &&
137 GS.getStoredOnceValue() == StoredVal) {
140 GS.StoredType = GlobalStatus::Stored;
143 GS.StoredType = GlobalStatus::Stored;
149 if (analyzeGlobalAux(I, GS, VisitedUsers))
157 if (analyzeGlobalAux(I, GS, VisitedUsers))
160 GS.IsCompared = true;
165 GS.StoredType = GlobalStatus::Stored;
167 GS.IsLoaded = true;
172 GS.StoredType = GlobalStatus::Stored;
175 if (analyzeGlobalAux(I, GS, VisitedUsers))
180 GS.IsLoaded = true;
196 bool GlobalStatus::analyzeGlobal(const Value *V, GlobalStatus &GS) {
198 return analyzeGlobalAux(V, GS, VisitedUsers);