Lines Matching refs:GS
50 static bool analyzeGlobalAux(const Value *V, GlobalStatus &GS, in analyzeGlobalAux() argument
54 GS.StoredType = GlobalStatus::StoredOnce; in analyzeGlobalAux()
59 GS.HasNonInstructionUser = true; in analyzeGlobalAux()
66 if (analyzeGlobalAux(CE, GS, PhiUsers)) in analyzeGlobalAux()
69 if (!GS.HasMultipleAccessingFunctions) { in analyzeGlobalAux()
71 if (!GS.AccessingFunction) in analyzeGlobalAux()
72 GS.AccessingFunction = F; in analyzeGlobalAux()
73 else if (GS.AccessingFunction != F) in analyzeGlobalAux()
74 GS.HasMultipleAccessingFunctions = true; in analyzeGlobalAux()
77 GS.IsLoaded = true; in analyzeGlobalAux()
81 GS.Ordering = strongerOrdering(GS.Ordering, LI->getOrdering()); in analyzeGlobalAux()
91 GS.Ordering = strongerOrdering(GS.Ordering, SI->getOrdering()); in analyzeGlobalAux()
96 if (GS.StoredType != GlobalStatus::Stored) { in analyzeGlobalAux()
109 if (GS.StoredType < GlobalStatus::InitializerStored) in analyzeGlobalAux()
110 GS.StoredType = GlobalStatus::InitializerStored; in analyzeGlobalAux()
113 if (GS.StoredType < GlobalStatus::InitializerStored) in analyzeGlobalAux()
114 GS.StoredType = GlobalStatus::InitializerStored; in analyzeGlobalAux()
115 } else if (GS.StoredType < GlobalStatus::StoredOnce) { in analyzeGlobalAux()
116 GS.StoredType = GlobalStatus::StoredOnce; in analyzeGlobalAux()
117 GS.StoredOnceValue = StoredVal; in analyzeGlobalAux()
118 } else if (GS.StoredType == GlobalStatus::StoredOnce && in analyzeGlobalAux()
119 GS.StoredOnceValue == StoredVal) { in analyzeGlobalAux()
122 GS.StoredType = GlobalStatus::Stored; in analyzeGlobalAux()
125 GS.StoredType = GlobalStatus::Stored; in analyzeGlobalAux()
129 if (analyzeGlobalAux(I, GS, PhiUsers)) in analyzeGlobalAux()
132 if (analyzeGlobalAux(I, GS, PhiUsers)) in analyzeGlobalAux()
135 if (analyzeGlobalAux(I, GS, PhiUsers)) in analyzeGlobalAux()
141 if (analyzeGlobalAux(I, GS, PhiUsers)) in analyzeGlobalAux()
144 GS.IsCompared = true; in analyzeGlobalAux()
149 GS.StoredType = GlobalStatus::Stored; in analyzeGlobalAux()
151 GS.IsLoaded = true; in analyzeGlobalAux()
156 GS.StoredType = GlobalStatus::Stored; in analyzeGlobalAux()
160 GS.IsLoaded = true; in analyzeGlobalAux()
165 GS.HasNonInstructionUser = true; in analyzeGlobalAux()
170 GS.HasNonInstructionUser = true; in analyzeGlobalAux()
179 bool GlobalStatus::analyzeGlobal(const Value *V, GlobalStatus &GS) { in analyzeGlobal() argument
181 return analyzeGlobalAux(V, GS, PhiUsers); in analyzeGlobal()