Lines Matching refs:LiveSet
666 VarFragMap &LiveSet) { in addDef() argument
711 auto FragIt = LiveSet.find(Var); in addDef()
714 if (FragIt == LiveSet.end()) { in addDef()
716 auto P = LiveSet.try_emplace(Var, FragsInMemMap(IntervalMapAlloc)); in addDef()
829 void process(BasicBlock &BB, VarFragMap &LiveSet) { in process() argument
835 addDef(Loc, &DPV, *I.getParent(), LiveSet); in process()
841 addDef(Loc, &I, *I.getParent(), LiveSet); in process()
932 VarFragMap LiveSet = LiveIn[BB]; in run() local
935 process(*BB, LiveSet); in run()
938 if (!varFragMapsAreEqual(LiveOut[BB], LiveSet)) { in run()
941 LiveOut[BB] = std::move(LiveSet); in run()
1343 void process(BasicBlock &BB, BlockInfo *LiveSet);
1348 void processNonDbgInstruction(Instruction &I, BlockInfo *LiveSet);
1349 void processDbgInstruction(DbgInfoIntrinsic &I, BlockInfo *LiveSet);
1352 void processTaggedInstruction(Instruction &I, BlockInfo *LiveSet);
1355 void processUntaggedInstruction(Instruction &I, BlockInfo *LiveSet);
1356 void processDbgAssign(AssignRecord Assign, BlockInfo *LiveSet);
1357 void processDPValue(DPValue &DPV, BlockInfo *LiveSet);
1359 BlockInfo *LiveSet);
1361 void addMemDef(BlockInfo *LiveSet, VariableID Var, const Assignment &AV);
1363 void addDbgDef(BlockInfo *LiveSet, VariableID Var, const Assignment &AV);
1367 void setLocKind(BlockInfo *LiveSet, VariableID Var, LocKind K);
1370 LocKind getLocKind(BlockInfo *LiveSet, VariableID Var);
1372 bool hasVarWithAssignment(BlockInfo *LiveSet, BlockInfo::AssignmentKind Kind,
1407 void AssignmentTrackingLowering::setLocKind(BlockInfo *LiveSet, VariableID Var, in setLocKind() argument
1409 auto SetKind = [this](BlockInfo *LiveSet, VariableID Var, LocKind K) { in setLocKind() argument
1410 LiveSet->setLocKind(Var, K); in setLocKind()
1413 SetKind(LiveSet, Var, K); in setLocKind()
1417 SetKind(LiveSet, Frag, K); in setLocKind()
1421 AssignmentTrackingLowering::getLocKind(BlockInfo *LiveSet, VariableID Var) { in getLocKind() argument
1422 return LiveSet->getLocKind(Var); in getLocKind()
1425 void AssignmentTrackingLowering::addMemDef(BlockInfo *LiveSet, VariableID Var, in addMemDef() argument
1427 LiveSet->setAssignment(BlockInfo::Stack, Var, AV); in addMemDef()
1435 LiveSet->setAssignment(BlockInfo::Stack, Frag, FragAV); in addMemDef()
1438 void AssignmentTrackingLowering::addDbgDef(BlockInfo *LiveSet, VariableID Var, in addDbgDef() argument
1440 LiveSet->setAssignment(BlockInfo::Debug, Var, AV); in addDbgDef()
1448 LiveSet->setAssignment(BlockInfo::Debug, Frag, FragAV); in addDbgDef()
1467 BlockInfo *LiveSet, BlockInfo::AssignmentKind Kind, VariableID Var, in hasVarWithAssignment() argument
1469 if (!LiveSet->hasAssignment(Kind, Var, AV)) in hasVarWithAssignment()
1475 if (!LiveSet->hasAssignment(Kind, Frag, AV)) in hasVarWithAssignment()
1597 Instruction &I, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processNonDbgInstruction() argument
1599 processTaggedInstruction(I, LiveSet); in processNonDbgInstruction()
1601 processUntaggedInstruction(I, LiveSet); in processNonDbgInstruction()
1605 Instruction &I, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processUntaggedInstruction() argument
1630 addMemDef(LiveSet, Var, Assignment::makeNoneOrPhi()); in processUntaggedInstruction()
1631 addDbgDef(LiveSet, Var, Assignment::makeNoneOrPhi()); in processUntaggedInstruction()
1632 setLocKind(LiveSet, Var, LocKind::Mem); in processUntaggedInstruction()
1674 Instruction &I, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processTaggedInstruction() argument
1693 addMemDef(LiveSet, Var, AV); in processTaggedInstruction()
1696 LLVM_DEBUG(dbgs() << " LiveLoc " << locStr(getLocKind(LiveSet, Var)) in processTaggedInstruction()
1701 if (hasVarWithAssignment(LiveSet, BlockInfo::Debug, Var, AV)) { in processTaggedInstruction()
1707 LiveSet->DebugValue[static_cast<unsigned>(Var)].dump(dbgs()); in processTaggedInstruction()
1709 setLocKind(LiveSet, Var, LocKind::Mem); in processTaggedInstruction()
1719 LocKind PrevLoc = getLocKind(LiveSet, Var); in processTaggedInstruction()
1725 setLocKind(LiveSet, Var, LocKind::Val); in processTaggedInstruction()
1731 Assignment DbgAV = LiveSet->getAssignment(BlockInfo::Debug, Var); in processTaggedInstruction()
1735 setLocKind(LiveSet, Var, LocKind::None); in processTaggedInstruction()
1740 setLocKind(LiveSet, Var, LocKind::Val); in processTaggedInstruction()
1753 setLocKind(LiveSet, Var, LocKind::None); in processTaggedInstruction()
1764 BlockInfo *LiveSet) { in processDbgAssign() argument
1773 addDbgDef(LiveSet, Var, AV); in processDbgAssign()
1776 LLVM_DEBUG(dbgs() << " LiveLoc " << locStr(getLocKind(LiveSet, Var)) in processDbgAssign()
1781 if (hasVarWithAssignment(LiveSet, BlockInfo::Stack, Var, AV)) { in processDbgAssign()
1795 setLocKind(LiveSet, Var, Kind); in processDbgAssign()
1801 setLocKind(LiveSet, Var, LocKind::Val); in processDbgAssign()
1812 BlockInfo *LiveSet) { in processDbgValue() argument
1827 addDbgDef(LiveSet, Var, AV); in processDbgValue()
1830 LLVM_DEBUG(dbgs() << " LiveLoc " << locStr(getLocKind(LiveSet, Var)) in processDbgValue()
1833 setLocKind(LiveSet, Var, LocKind::Val); in processDbgValue()
1848 DbgInfoIntrinsic &I, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processDbgInstruction() argument
1858 processDbgAssign(DAI, LiveSet); in processDbgInstruction()
1860 processDbgValue(DVI, LiveSet); in processDbgInstruction()
1863 DPValue &DPV, AssignmentTrackingLowering::BlockInfo *LiveSet) { in processDPValue() argument
1869 processDbgAssign(&DPV, LiveSet); in processDPValue()
1871 processDbgValue(&DPV, LiveSet); in processDPValue()
1888 void AssignmentTrackingLowering::process(BasicBlock &BB, BlockInfo *LiveSet) { in process() argument
1909 processNonDbgInstruction(*II, LiveSet); in process()
1910 assert(LiveSet->isValid()); in process()
1920 processDPValue(DPV, LiveSet); in process()
1921 assert(LiveSet->isValid()); in process()
1930 processDbgInstruction(*Dbg, LiveSet); in process()
1931 assert(LiveSet->isValid()); in process()
1942 LocKind Loc = getLocKind(LiveSet, Var); in process()
2345 BlockInfo LiveSet = LiveIn[BB]; in run() local
2348 process(*BB, &LiveSet); in run()
2351 if (LiveOut[BB] != LiveSet) { in run()
2354 LiveOut[BB] = std::move(LiveSet); in run()