Lines Matching defs:AA
103 static bool canSinkOrHoistInst(Instruction &I, AliasAnalysis *AA,
110 bool runOnLoop(Loop *L, AliasAnalysis *AA, LoopInfo *LI, DominatorTree *DT,
121 AliasAnalysis *AA);
181 auto *AA = FAM.getCachedResult<AAManager>(*F);
186 assert((AA && LI && DT && TLI && SE) && "Analyses for LICM not available");
190 if (!LICM.runOnLoop(&L, AA, LI, DT, TLI, SE, true))
214 bool LoopInvariantCodeMotion::runOnLoop(Loop *L, AliasAnalysis *AA,
222 AliasSetTracker *CurAST = collectAliasInfoForLoop(L, LI, AA);
242 Changed |= sinkRegion(DT->getNode(L->getHeader()), AA, LI, DT, TLI, L,
245 Changed |= hoistRegion(DT->getNode(L->getHeader()), AA, LI, DT, TLI, L,
295 bool llvm::sinkRegion(DomTreeNode *N, AliasAnalysis *AA, LoopInfo *LI,
300 assert(N != nullptr && AA != nullptr && LI != nullptr && DT != nullptr &&
313 Changed |= sinkRegion(Child, AA, LI, DT, TLI, CurLoop, CurAST, SafetyInfo);
340 canSinkOrHoistInst(I, AA, DT, TLI, CurLoop, CurAST, SafetyInfo)) {
353 bool llvm::hoistRegion(DomTreeNode *N, AliasAnalysis *AA, LoopInfo *LI,
357 assert(N != nullptr && AA != nullptr && LI != nullptr && DT != nullptr &&
391 canSinkOrHoistInst(I, AA, DT, TLI, CurLoop, CurAST, SafetyInfo) &&
400 Changed |= hoistRegion(Child, AA, LI, DT, TLI, CurLoop, CurAST, SafetyInfo);
440 bool canSinkOrHoistInst(Instruction &I, AliasAnalysis *AA, DominatorTree *DT,
450 if (AA->pointsToConstantMemory(LI->getOperand(0)))
474 FunctionModRefBehavior Behavior = AA->getModRefBehavior(CI);
926 // different sizes. While we are at it, collect alignment and AA info.
991 // Merge the AA tags.
993 // On the first load/store, just take its AA tags.
1078 AliasAnalysis *AA) {
1105 CurAST = new AliasSetTracker(*AA);