Lines Matching refs:MA

742   CongruenceClass *createMemoryClass(MemoryAccess *MA) {  in createMemoryClass()  argument
744 CC->setMemoryLeader(MA); in createMemoryClass()
748 CongruenceClass *ensureLeaderOfMemoryClass(MemoryAccess *MA) { in ensureLeaderOfMemoryClass() argument
749 auto *CC = getMemoryClass(MA); in ensureLeaderOfMemoryClass()
750 if (CC->getMemoryLeader() != MA) in ensureLeaderOfMemoryClass()
751 CC = createMemoryClass(MA); in ensureLeaderOfMemoryClass()
811 CongruenceClass *getMemoryClass(const MemoryAccess *MA) const;
877 unsigned InstrToDFSNum(const MemoryAccess *MA) const { in InstrToDFSNum()
878 return MemoryToDFSNum(MA); in InstrToDFSNum()
886 unsigned MemoryToDFSNum(const Value *MA) const { in MemoryToDFSNum()
887 assert(isa<MemoryAccess>(MA) && in MemoryToDFSNum()
889 return isa<MemoryUseOrDef>(MA) in MemoryToDFSNum()
890 ? InstrToDFSNum(cast<MemoryUseOrDef>(MA)->getMemoryInst()) in MemoryToDFSNum()
891 : InstrDFS.lookup(MA); in MemoryToDFSNum()
1272 NewGVN::createCallExpression(CallInst *CI, const MemoryAccess *MA) const { in createCallExpression()
1276 new (ExpressionAllocator) CallExpression(CI->getNumOperands(), CI, MA); in createCallExpression()
1332 const MemoryAccess *NewGVN::lookupMemoryLeader(const MemoryAccess *MA) const { in lookupMemoryLeader()
1333 auto *CC = getMemoryClass(MA); in lookupMemoryLeader()
1343 bool NewGVN::isMemoryAccessTOP(const MemoryAccess *MA) const { in isMemoryAccessTOP()
1344 return getMemoryClass(MA) == TOPClass; in isMemoryAccessTOP()
1349 const MemoryAccess *MA) const { in createLoadExpression()
1351 new (ExpressionAllocator) LoadExpression(1, LI, lookupMemoryLeader(MA)); in createLoadExpression()
1366 NewGVN::createStoreExpression(StoreInst *SI, const MemoryAccess *MA) const { in createStoreExpression()
1369 StoreExpression(SI->getNumOperands(), SI, StoredValueLeader, MA); in createStoreExpression()
1609 if (auto *MA = MSSA->getMemoryAccess(CI)) { in performSymbolicCallEvaluation() local
1610 auto *DefiningAccess = MSSAWalker->getClobberingMemoryAccess(MA); in performSymbolicCallEvaluation()
1620 CongruenceClass *NewGVN::getMemoryClass(const MemoryAccess *MA) const { in getMemoryClass()
1621 auto *Result = MemoryAccessToClass.lookup(MA); in getMemoryClass()
2063 void NewGVN::markMemoryDefTouched(const MemoryAccess *MA) { in markMemoryDefTouched() argument
2064 TouchedInstructions.set(MemoryToDFSNum(MA)); in markMemoryDefTouched()
2067 void NewGVN::markMemoryUsersTouched(const MemoryAccess *MA) { in markMemoryUsersTouched() argument
2068 if (isa<MemoryUse>(MA)) in markMemoryUsersTouched()
2070 for (auto U : MA->users()) in markMemoryUsersTouched()
2072 touchAndErase(MemoryToUsers, MA); in markMemoryUsersTouched()
2371 if (MemoryAccess *MA = getMemoryAccess(I)) in performCongruenceFinding() local
2372 markMemoryUsersTouched(MA); in performCongruenceFinding()
2511 auto *MA = getMemoryAccess(TI); in processOutgoingEdges() local
2512 if (MA && !isa<MemoryUse>(MA)) { in processOutgoingEdges()
2513 auto *CC = ensureLeaderOfMemoryClass(MA); in processOutgoingEdges()
2514 if (setMemoryClass(MA, CC)) in processOutgoingEdges()
2515 markMemoryUsersTouched(MA); in processOutgoingEdges()