Lines Matching refs:CongruenceClass

292 class CongruenceClass {  class
299 explicit CongruenceClass(unsigned ID) : ID(ID) {} in CongruenceClass() function in __anonb04f3f7e0111::CongruenceClass
300 CongruenceClass(unsigned ID, Value *Leader, const Expression *E) in CongruenceClass() function in __anonb04f3f7e0111::CongruenceClass
371 bool isEquivalentTo(const CongruenceClass *Other) const { in isEquivalentTo()
518 CongruenceClass *TOPClass = nullptr;
519 std::vector<CongruenceClass *> CongruenceClasses;
523 DenseMap<Value *, CongruenceClass *> ValueToClass;
588 DenseMap<const MemoryAccess *, CongruenceClass *> MemoryAccessToClass;
607 using ExpressionClassMap = DenseMap<const Expression *, CongruenceClass *>;
733 CongruenceClass *createCongruenceClass(Value *Leader, const Expression *E) { in createCongruenceClass()
734 auto *result = new CongruenceClass(NextCongruenceNum++, Leader, E); in createCongruenceClass()
739 CongruenceClass *createMemoryClass(MemoryAccess *MA) { in createMemoryClass()
745 CongruenceClass *ensureLeaderOfMemoryClass(MemoryAccess *MA) { in ensureLeaderOfMemoryClass()
752 CongruenceClass *createSingletonCongruenceClass(Value *Member) { in createSingletonCongruenceClass()
753 CongruenceClass *CClass = createCongruenceClass(Member, nullptr); in createSingletonCongruenceClass()
796 CongruenceClass *getClassForExpression(const Expression *E) const;
799 CongruenceClass *, CongruenceClass *);
801 CongruenceClass *, CongruenceClass *);
802 Value *getNextValueLeader(CongruenceClass *) const;
803 const MemoryAccess *getNextMemoryLeader(CongruenceClass *) const;
804 bool setMemoryClass(const MemoryAccess *From, CongruenceClass *To);
805 CongruenceClass *getMemoryClass(const MemoryAccess *MA) const;
822 void convertClassToDFSOrdered(const CongruenceClass &,
826 void convertClassToLoadsAndStores(const CongruenceClass &,
843 void markValueLeaderChangeTouched(CongruenceClass *CC);
844 void markMemoryLeaderChangeTouched(CongruenceClass *CC);
1122 CongruenceClass *CC = ValueToClass.lookup(V); in checkExprResults()
1329 CongruenceClass *CC = ValueToClass.lookup(V); in lookupOperandLeader()
1644 CongruenceClass *NewGVN::getMemoryClass(const MemoryAccess *MA) const { in getMemoryClass()
1653 CongruenceClass *NewClass) { in setMemoryClass()
2114 void NewGVN::markMemoryLeaderChangeTouched(CongruenceClass *CC) { in markMemoryLeaderChangeTouched()
2121 void NewGVN::markValueLeaderChangeTouched(CongruenceClass *CC) { in markValueLeaderChangeTouched()
2145 const MemoryAccess *NewGVN::getNextMemoryLeader(CongruenceClass *CC) const { in getNextMemoryLeader()
2170 Value *NewGVN::getNextValueLeader(CongruenceClass *CC) const { in getNextValueLeader()
2200 CongruenceClass *OldClass, in moveMemoryToNewCongruenceClass()
2201 CongruenceClass *NewClass) { in moveMemoryToNewCongruenceClass()
2239 CongruenceClass *OldClass, in moveValueToNewCongruenceClass()
2240 CongruenceClass *NewClass) { in moveValueToNewCongruenceClass()
2335 CongruenceClass *IClass = ValueToClass.lookup(I); in performCongruenceFinding()
2340 CongruenceClass *EClass = nullptr; in performCongruenceFinding()
2351 CongruenceClass *NewClass = createCongruenceClass(nullptr, E); in performCongruenceFinding()
2936 for (CongruenceClass *&CC : CongruenceClasses) { in cleanupTables()
3083 CongruenceClass *CC = in valueNumberMemoryPhi()
3213 [&](const std::pair<const MemoryAccess *, CongruenceClass *> Pair) { in verifyMemoryCongruency()
3261 SmallVector<const CongruenceClass *, 16> PhiOpClasses; in verifyMemoryCongruency()
3287 std::map<const Value *, CongruenceClass> BeforeIteration; in verifyIterationSettled()
3301 DenseSet<std::pair<const CongruenceClass *, const CongruenceClass *>> in verifyIterationSettled()
3334 std::tuple<const Value *, const CongruenceClass *, Value *>>> in verifyStoreExpressions()
3579 const CongruenceClass &Dense, SmallVectorImpl<ValueDFS> &DFSOrderedSet, in convertClassToDFSOrdered()
3670 const CongruenceClass &Dense, in convertClassToLoadsAndStores()
3783 CongruenceClass *NewGVN::getClassForExpression(const Expression *E) const { in getClassForExpression()
3924 CongruenceClass::MemberSet MembersLeft; in eliminateInstructions()
4123 CongruenceClass::MemberSet MembersLeft; in eliminateInstructions()