Lines Matching defs:FnVarLocs
376 FunctionVarLocsBuilder *FnVarLocs;
669 DebugVariable DbgVar = FnVarLocs->getVariable(VarLoc.VariableID);
835 if (const auto *Locs = FnVarLocs->getWedge(&DVR)) {
841 if (const auto *Locs = FnVarLocs->getWedge(&I)) {
856 /// Add variable locations to \p FnVarLocs so that any bits of a variable
876 void run(FunctionVarLocsBuilder *FnVarLocs) {
880 this->FnVarLocs = FnVarLocs;
979 FnVarLocs->addVarLoc(InsertBefore, Var, Expr, FragMemLoc.DL,
1299 FunctionVarLocsBuilder *FnVarLocs;
1310 return static_cast<VariableID>(FnVarLocs->insertVariable(Var));
1386 bool emitPromotedVarLocs(FunctionVarLocsBuilder *FnVarLocs);
1392 /// Run the analysis, adding variable location info to \p FnVarLocs. Returns
1393 /// true if any variable locations have been added to FnVarLocs.
1394 bool run(FunctionVarLocsBuilder *FnVarLocs);
1641 DebugVariable V = FnVarLocs->getVariable(Var);
1957 DebugVariable DbgVar = FnVarLocs->getVariable(Var);
2139 /// dbg.declares to \p FnVarLocs.
2142 /// FnVarLocs->Variables first. TrackedVariablesVectorSize is set to the ID of
2153 Function &Fn, FunctionVarLocsBuilder *FnVarLocs,
2218 {FnVarLocs->insertVariable(DV), *Info});
2257 VariableID ThisVar = FnVarLocs->insertVariable(*It);
2260 VariableID OtherVar = FnVarLocs->insertVariable(*OtherIt);
2269 TrackedVariablesVectorSize = FnVarLocs->getNumVariables() + 1;
2274 FnVarLocs->addSingleLocVar(DebugVariable(DDI), DDI->getExpression(),
2277 FnVarLocs->addSingleLocVar(DebugVariable(DVR), DVR->getExpression(),
2291 FnVarLocs = FnVarLocsBuilder;
2301 Fn, FnVarLocs, *VarsWithStackSlot, UntaggedStoreVars,
2394 DebugVariable Var = FnVarLocs->getVariable(VarLoc.VariableID);
2424 DebugVariable Var = FnVarLocs->getVariable(VarLoc.VariableID);
2425 FnVarLocs->addSingleLocVar(Var, VarLoc.Expr, VarLoc.DL, VarLoc.Values);
2435 DebugVariable Var = FnVarLocs->getVariable(VarLoc.VariableID);
2445 FnVarLocs->setWedge(InsertBefore, std::move(NewDefs));
2448 InsertedAnyIntrinsics |= emitPromotedVarLocs(FnVarLocs);
2454 FunctionVarLocsBuilder *FnVarLocs) {
2457 // variables into FnVarLocs location defs. No analysis required for these.
2465 FnVarLocs->addVarLoc(InsertBefore, DebugVariable(Record),
2493 FunctionVarLocsBuilder &FnVarLocs) {
2497 // FnVarLocs, because wedges in FnVarLocs may only be separated by debug
2507 const auto *Locs = FnVarLocs.getWedge(WedgePosition);
2520 getAggregate(FnVarLocs.getVariable(RIt->VariableID));
2569 FnVarLocs.setWedge(WedgePosition, std::move(NewDefsReversed));
2591 FunctionVarLocsBuilder &FnVarLocs) {
2597 // FnVarLocs, because wedges in FnVarLocs may only be separated by debug
2602 const auto *Locs = FnVarLocs.getWedge(WedgePosition);
2614 DebugVariable Key(FnVarLocs.getVariable(Loc.VariableID).getVariable(),
2634 FnVarLocs.setWedge(WedgePosition, std::move(NewDefs));
2650 FunctionVarLocsBuilder &FnVarLocs) {
2685 // FnVarLocs, because wedges in FnVarLocs may only be separated by debug
2690 const auto *Locs = FnVarLocs.getWedge(WedgePosition);
2702 DebugAggregate Aggr{FnVarLocs.getVariable(Loc.VariableID).getVariable(),
2704 DebugVariable Var = FnVarLocs.getVariable(Loc.VariableID);
2721 FnVarLocs.setWedge(WedgePosition, std::move(NewDefs));
2735 FunctionVarLocsBuilder &FnVarLocs) {
2737 MadeChanges |= removeRedundantDbgLocsUsingBackwardScan(BB, FnVarLocs);
2739 MadeChanges |= removeUndefDbgLocsFromEntryBlock(BB, FnVarLocs);
2740 MadeChanges |= removeRedundantDbgLocsUsingForwardScan(BB, FnVarLocs);
2769 FunctionVarLocsBuilder *FnVarLocs) {
2781 Changed = Pass.run(FnVarLocs);
2787 Pass.run(FnVarLocs);
2794 removeRedundantDbgLocs(&BB, *FnVarLocs);