Lines Matching refs:CongruenceClass

296 class CongruenceClass {  class
303 explicit CongruenceClass(unsigned ID) : ID(ID) {} in CongruenceClass() function in __anon0afe5c7c0111::CongruenceClass
304 CongruenceClass(unsigned ID, Value *Leader, const Expression *E) in CongruenceClass() function in __anon0afe5c7c0111::CongruenceClass
375 bool isEquivalentTo(const CongruenceClass *Other) const { in isEquivalentTo()
522 CongruenceClass *TOPClass = nullptr;
523 std::vector<CongruenceClass *> CongruenceClasses;
527 DenseMap<Value *, CongruenceClass *> ValueToClass;
592 DenseMap<const MemoryAccess *, CongruenceClass *> MemoryAccessToClass;
611 using ExpressionClassMap = DenseMap<const Expression *, CongruenceClass *>;
736 CongruenceClass *createCongruenceClass(Value *Leader, const Expression *E) { in createCongruenceClass()
737 auto *result = new CongruenceClass(NextCongruenceNum++, Leader, E); in createCongruenceClass()
742 CongruenceClass *createMemoryClass(MemoryAccess *MA) { in createMemoryClass()
748 CongruenceClass *ensureLeaderOfMemoryClass(MemoryAccess *MA) { in ensureLeaderOfMemoryClass()
755 CongruenceClass *createSingletonCongruenceClass(Value *Member) { in createSingletonCongruenceClass()
756 CongruenceClass *CClass = createCongruenceClass(Member, nullptr); in createSingletonCongruenceClass()
802 CongruenceClass *getClassForExpression(const Expression *E) const;
805 CongruenceClass *, CongruenceClass *);
807 CongruenceClass *, CongruenceClass *);
808 Value *getNextValueLeader(CongruenceClass *) const;
809 const MemoryAccess *getNextMemoryLeader(CongruenceClass *) const;
810 bool setMemoryClass(const MemoryAccess *From, CongruenceClass *To);
811 CongruenceClass *getMemoryClass(const MemoryAccess *MA) const;
826 void convertClassToDFSOrdered(const CongruenceClass &,
830 void convertClassToLoadsAndStores(const CongruenceClass &,
847 void markValueLeaderChangeTouched(CongruenceClass *CC);
848 void markMemoryLeaderChangeTouched(CongruenceClass *CC);
1123 CongruenceClass *CC = ValueToClass.lookup(V); in checkExprResults()
1319 CongruenceClass *CC = ValueToClass.lookup(V); in lookupOperandLeader()
1620 CongruenceClass *NewGVN::getMemoryClass(const MemoryAccess *MA) const { in getMemoryClass()
1629 CongruenceClass *NewClass) { in setMemoryClass()
2081 void NewGVN::markMemoryLeaderChangeTouched(CongruenceClass *CC) { in markMemoryLeaderChangeTouched()
2088 void NewGVN::markValueLeaderChangeTouched(CongruenceClass *CC) { in markValueLeaderChangeTouched()
2112 const MemoryAccess *NewGVN::getNextMemoryLeader(CongruenceClass *CC) const { in getNextMemoryLeader()
2137 Value *NewGVN::getNextValueLeader(CongruenceClass *CC) const { in getNextValueLeader()
2167 CongruenceClass *OldClass, in moveMemoryToNewCongruenceClass()
2168 CongruenceClass *NewClass) { in moveMemoryToNewCongruenceClass()
2206 CongruenceClass *OldClass, in moveValueToNewCongruenceClass()
2207 CongruenceClass *NewClass) { in moveValueToNewCongruenceClass()
2302 CongruenceClass *IClass = ValueToClass.lookup(I); in performCongruenceFinding()
2307 CongruenceClass *EClass = nullptr; in performCongruenceFinding()
2318 CongruenceClass *NewClass = createCongruenceClass(nullptr, E); in performCongruenceFinding()
3047 CongruenceClass *CC = in valueNumberMemoryPhi()
3178 [&](const std::pair<const MemoryAccess *, CongruenceClass *> Pair) { in verifyMemoryCongruency()
3226 SmallVector<const CongruenceClass *, 16> PhiOpClasses; in verifyMemoryCongruency()
3252 std::map<const Value *, CongruenceClass> BeforeIteration; in verifyIterationSettled()
3265 DenseSet<std::pair<const CongruenceClass *, const CongruenceClass *>> in verifyIterationSettled()
3298 std::tuple<const Value *, const CongruenceClass *, Value *>>> in verifyStoreExpressions()
3543 const CongruenceClass &Dense, SmallVectorImpl<ValueDFS> &DFSOrderedSet, in convertClassToDFSOrdered()
3634 const CongruenceClass &Dense, in convertClassToLoadsAndStores()
3746 CongruenceClass *NewGVN::getClassForExpression(const Expression *E) const { in getClassForExpression()
3887 CongruenceClass::MemberSet MembersLeft; in eliminateInstructions()
4074 CongruenceClass::MemberSet MembersLeft; in eliminateInstructions()