Lines Matching defs:Info
308 AllocaInfo &Info);
309 void ComputeLiveInBlocks(AllocaInst *AI, AllocaInfo &Info,
352 static bool rewriteSingleStoreAlloca(AllocaInst *AI, AllocaInfo &Info,
356 StoreInst *OnlyStore = Info.OnlyStore;
362 Info.UsingBlocks.clear();
386 Info.UsingBlocks.push_back(StoreBB);
395 Info.UsingBlocks.push_back(LI->getParent());
414 if (!Info.UsingBlocks.empty())
419 if (DbgDeclareInst *DDI = Info.DbgDeclare) {
422 ConvertDebugDeclareToDebugValue(DDI, Info.OnlyStore, DIB);
427 Info.OnlyStore->eraseFromParent();
428 LBI.deleteValue(Info.OnlyStore);
450 static void promoteSingleBlockAlloca(AllocaInst *AI, const AllocaInfo &Info,
503 if (DbgDeclareInst *DDI = Info.DbgDeclare) {
518 if (DbgDeclareInst *DDI = Info.DbgDeclare) {
533 AllocaInfo Info;
559 Info.AnalyzeAlloca(AI);
563 if (Info.DefiningBlocks.size() == 1) {
564 if (rewriteSingleStoreAlloca(AI, Info, LBI, DT, AST)) {
574 if (Info.OnlyUsedInOneBlock) {
575 promoteSingleBlockAlloca(AI, Info, LBI, AST);
612 PointerAllocaValues[AllocaNum] = Info.AllocaPointerVal;
615 if (Info.DbgDeclare)
616 AllocaDbgDeclares[AllocaNum] = Info.DbgDeclare;
625 DetermineInsertionPoint(AI, AllocaNum, Info);
777 AllocaInst *AI, AllocaInfo &Info,
784 SmallVector<BasicBlock *, 64> LiveInBlockWorklist(Info.UsingBlocks.begin(),
785 Info.UsingBlocks.end());
852 AllocaInfo &Info) {
855 DefBlocks.insert(Info.DefiningBlocks.begin(), Info.DefiningBlocks.end());
860 ComputeLiveInBlocks(AI, Info, DefBlocks, LiveInBlocks);