Lines Matching refs:LiveSet
667 VarFragMap &LiveSet) { in addDef() argument
712 auto FragIt = LiveSet.find(Var); in addDef()
715 if (FragIt == LiveSet.end()) { in addDef()
717 auto P = LiveSet.try_emplace(Var, FragsInMemMap(IntervalMapAlloc)); in addDef()
830 void process(BasicBlock &BB, VarFragMap &LiveSet) { in process() argument
836 addDef(Loc, &DVR, *I.getParent(), LiveSet); in process()
842 addDef(Loc, &I, *I.getParent(), LiveSet); in process()
933 VarFragMap LiveSet = LiveIn[BB]; in run() local
936 process(*BB, LiveSet); in run()
939 if (!varFragMapsAreEqual(LiveOut[BB], LiveSet)) { in run()
942 LiveOut[BB] = std::move(LiveSet); in run()
1344 void process(BasicBlock &BB, BlockInfo *LiveSet);
1349 void processNonDbgInstruction(Instruction &I, BlockInfo *LiveSet);
1350 void processDbgInstruction(DbgInfoIntrinsic &I, BlockInfo *LiveSet);
1353 void processTaggedInstruction(Instruction &I, BlockInfo *LiveSet);
1356 void processUntaggedInstruction(Instruction &I, BlockInfo *LiveSet);
1357 void processDbgAssign(AssignRecord Assign, BlockInfo *LiveSet);
1358 void processDbgVariableRecord(DbgVariableRecord &DVR, BlockInfo *LiveSet);
1361 BlockInfo *LiveSet);
1363 void addMemDef(BlockInfo *LiveSet, VariableID Var, const Assignment &AV);
1365 void addDbgDef(BlockInfo *LiveSet, VariableID Var, const Assignment &AV);
1369 void setLocKind(BlockInfo *LiveSet, VariableID Var, LocKind K);
1372 LocKind getLocKind(BlockInfo *LiveSet, VariableID Var);
1374 bool hasVarWithAssignment(BlockInfo *LiveSet, BlockInfo::AssignmentKind Kind,
1409 void AssignmentTrackingLowering::setLocKind(BlockInfo *LiveSet, VariableID Var, in setLocKind() argument
1411 auto SetKind = [this](BlockInfo *LiveSet, VariableID Var, LocKind K) { in setLocKind() argument
1412 LiveSet->setLocKind(Var, K); in setLocKind()
1415 SetKind(LiveSet, Var, K); in setLocKind()
1419 SetKind(LiveSet, Frag, K); in setLocKind()
1423 AssignmentTrackingLowering::getLocKind(BlockInfo *LiveSet, VariableID Var) { in getLocKind() argument
1424 return LiveSet->getLocKind(Var); in getLocKind()
1427 void AssignmentTrackingLowering::addMemDef(BlockInfo *LiveSet, VariableID Var, in addMemDef() argument
1429 LiveSet->setAssignment(BlockInfo::Stack, Var, AV); in addMemDef()
1437 LiveSet->setAssignment(BlockInfo::Stack, Frag, FragAV); in addMemDef()
1440 void AssignmentTrackingLowering::addDbgDef(BlockInfo *LiveSet, VariableID Var, in addDbgDef() argument
1442 LiveSet->setAssignment(BlockInfo::Debug, Var, AV); in addDbgDef()
1450 LiveSet->setAssignment(BlockInfo::Debug, Frag, FragAV); in addDbgDef()
1469 BlockInfo *LiveSet, BlockInfo::AssignmentKind Kind, VariableID Var, in hasVarWithAssignment() argument
1471 if (!LiveSet->hasAssignment(Kind, Var, AV)) in hasVarWithAssignment()
1477 if (!LiveSet->hasAssignment(Kind, Frag, AV)) in hasVarWithAssignment()
1599 Instruction &I, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processNonDbgInstruction() argument
1601 processTaggedInstruction(I, LiveSet); in processNonDbgInstruction()
1603 processUntaggedInstruction(I, LiveSet); in processNonDbgInstruction()
1607 Instruction &I, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processUntaggedInstruction() argument
1632 addMemDef(LiveSet, Var, Assignment::makeNoneOrPhi()); in processUntaggedInstruction()
1633 addDbgDef(LiveSet, Var, Assignment::makeNoneOrPhi()); in processUntaggedInstruction()
1634 setLocKind(LiveSet, Var, LocKind::Mem); in processUntaggedInstruction()
1676 Instruction &I, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processTaggedInstruction() argument
1695 addMemDef(LiveSet, Var, AV); in processTaggedInstruction()
1698 LLVM_DEBUG(dbgs() << " LiveLoc " << locStr(getLocKind(LiveSet, Var)) in processTaggedInstruction()
1703 if (hasVarWithAssignment(LiveSet, BlockInfo::Debug, Var, AV)) { in processTaggedInstruction()
1709 LiveSet->DebugValue[static_cast<unsigned>(Var)].dump(dbgs()); in processTaggedInstruction()
1711 setLocKind(LiveSet, Var, LocKind::Mem); in processTaggedInstruction()
1721 LocKind PrevLoc = getLocKind(LiveSet, Var); in processTaggedInstruction()
1727 setLocKind(LiveSet, Var, LocKind::Val); in processTaggedInstruction()
1733 Assignment DbgAV = LiveSet->getAssignment(BlockInfo::Debug, Var); in processTaggedInstruction()
1737 setLocKind(LiveSet, Var, LocKind::None); in processTaggedInstruction()
1742 setLocKind(LiveSet, Var, LocKind::Val); in processTaggedInstruction()
1755 setLocKind(LiveSet, Var, LocKind::None); in processTaggedInstruction()
1766 BlockInfo *LiveSet) { in processDbgAssign() argument
1775 addDbgDef(LiveSet, Var, AV); in processDbgAssign()
1778 LLVM_DEBUG(dbgs() << " LiveLoc " << locStr(getLocKind(LiveSet, Var)) in processDbgAssign()
1783 if (hasVarWithAssignment(LiveSet, BlockInfo::Stack, Var, AV)) { in processDbgAssign()
1797 setLocKind(LiveSet, Var, Kind); in processDbgAssign()
1803 setLocKind(LiveSet, Var, LocKind::Val); in processDbgAssign()
1814 BlockInfo *LiveSet) { in processDbgValue() argument
1829 addDbgDef(LiveSet, Var, AV); in processDbgValue()
1832 LLVM_DEBUG(dbgs() << " LiveLoc " << locStr(getLocKind(LiveSet, Var)) in processDbgValue()
1835 setLocKind(LiveSet, Var, LocKind::Val); in processDbgValue()
1850 DbgInfoIntrinsic &I, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processDbgInstruction() argument
1860 processDbgAssign(DAI, LiveSet); in processDbgInstruction()
1862 processDbgValue(DVI, LiveSet); in processDbgInstruction()
1865 DbgVariableRecord &DVR, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processDbgVariableRecord() argument
1871 processDbgAssign(&DVR, LiveSet); in processDbgVariableRecord()
1873 processDbgValue(&DVR, LiveSet); in processDbgVariableRecord()
1890 void AssignmentTrackingLowering::process(BasicBlock &BB, BlockInfo *LiveSet) { in process() argument
1911 processNonDbgInstruction(*II, LiveSet); in process()
1912 assert(LiveSet->isValid()); in process()
1925 processDbgVariableRecord(DVR, LiveSet); in process()
1926 assert(LiveSet->isValid()); in process()
1935 processDbgInstruction(*Dbg, LiveSet); in process()
1936 assert(LiveSet->isValid()); in process()
1947 LocKind Loc = getLocKind(LiveSet, Var); in process()
2352 BlockInfo LiveSet = LiveIn[BB]; in run() local
2355 process(*BB, &LiveSet); in run()
2358 if (LiveOut[BB] != LiveSet) { in run()
2361 LiveOut[BB] = std::move(LiveSet); in run()