Lines Matching defs:VRMap
119 ValueMapTy *VRMap = new ValueMapTy[(MaxStageCount + 1) * 2];
131 generateProlog(MaxStageCount, KernelBB, VRMap, PrologBBs);
142 updateInstruction(NewMI, false, MaxStageCount, StageNum, VRMap);
151 updateInstruction(NewMI, false, MaxStageCount, 0, VRMap);
160 generateExistingPhis(KernelBB, PrologBBs.back(), KernelBB, KernelBB, VRMap,
162 generatePhis(KernelBB, PrologBBs.back(), KernelBB, KernelBB, VRMap, VRMapPhi,
169 generateEpilog(MaxStageCount, KernelBB, BB, VRMap, VRMapPhi, EpilogBBs,
180 addBranches(*Preheader, PrologBBs, KernelBB, EpilogBBs, VRMap);
182 delete[] VRMap;
197 ValueMapTy *VRMap,
227 updateInstruction(NewMI, false, i, (unsigned)StageNum, VRMap);
233 rewritePhiValues(NewBB, i, VRMap, InstrMap);
256 ValueMapTy *VRMap, ValueMapTy *VRMapPhi, MBBVectorTy &EpilogBBs,
304 updateInstruction(NewMI, i == 1, EpilogStage, 0, VRMap);
310 generateExistingPhis(NewBB, PrologBBs[i - 1], PredBB, KernelBB, VRMap,
312 generatePhis(NewBB, PrologBBs[i - 1], PredBB, KernelBB, VRMap, VRMapPhi,
371 MachineBasicBlock *KernelBB, ValueMapTy *VRMap, InstrMapTy &InstrMap,
400 if (VRMap[LastStageNum].count(LoopVal))
401 PhiOp2 = VRMap[LastStageNum][LoopVal];
409 unsigned NewReg = VRMap[PrevStage][LoopVal];
412 if (VRMap[CurStageNum].count(LoopVal))
413 VRMap[CurStageNum][Def] = VRMap[CurStageNum][LoopVal];
447 VRMap[PrologStage - StageDiff - np].count(LoopVal) != 0)
448 PhiOp1 = VRMap[PrologStage - StageDiff - np][LoopVal];
467 VRMap[PrologStage - StageAdj - Indirects - np].count(PhiOp1)) {
468 PhiOp1 = VRMap[PrologStage - StageAdj - Indirects - np][PhiOp1];
494 VRMap[PrevStage - StageDiffAdj].count(LoopVal))
495 PhiOp2 = VRMap[PrevStage - StageDiffAdj][LoopVal];
499 VRMap[PrevStage - np + 1].count(Def))
500 PhiOp2 = VRMap[PrevStage - np + 1][Def];
503 VRMap[PrevStage - StageDiffAdj - np].count(LoopVal))
504 PhiOp2 = VRMap[PrevStage - StageDiffAdj - np][LoopVal];
507 else if (VRMap[PrevStage - np].count(Def) &&
510 PhiOp2 = VRMap[PrevStage - np][Def];
523 if (LVNumStages > (int)np && VRMap[CurStageNum].count(LoopVal)) {
530 if (VRMap[ReuseStage - np].count(LoopVal)) {
531 NewReg = VRMap[ReuseStage - np][LoopVal];
536 VRMap[CurStageNum - np][Def] = NewReg;
538 if (VRMap[LastStageNum - np - 1].count(LoopVal))
539 PhiOp2 = VRMap[LastStageNum - np - 1][LoopVal];
548 VRMap[CurStageNum - StageDiff - np].count(LoopVal))
549 PhiOp2 = VRMap[CurStageNum - StageDiff - np][LoopVal];
567 if (InKernel && VRMap[PrevStage - np].count(LoopVal))
568 PrevReg = VRMap[PrevStage - np][LoopVal];
572 if (VRMap[CurStageNum - np].count(Def)) {
573 unsigned R = VRMap[CurStageNum - np][Def];
589 VRMap[CurStageNum - np][Def] = NewReg;
599 if (NumStages == 0 && IsLast && VRMap[CurStageNum].count(LoopVal))
600 replaceRegUsesAfterLoop(Def, VRMap[CurStageNum][LoopVal], BB, MRI, LIS);
609 MachineBasicBlock *KernelBB, ValueMapTy *VRMap, ValueMapTy *VRMapPhi,
649 PhiOp2 = VRMap[PrevStage][Def];
677 // VRMap = {0: %Clone0, 1: %Clone1, 2: %Clone2}
681 unsigned PhiOp1 = VRMap[PrologStage][Def];
683 PhiOp1 = VRMap[PrologStage - np][Def];
686 PhiOp2 = VRMap[LastStageNum][Def];
868 ValueMapTy *VRMap) {
916 updateInstruction(&*I, false, j, 0, VRMap);
1034 ValueMapTy *VRMap) {
1044 VRMap[CurStageNum][reg] = NewReg;
1058 if (VRMap[StageNum].count(reg))
1059 MO.setReg(VRMap[StageNum][reg]);
1085 ValueMapTy *VRMap, MachineBasicBlock *BB) {
1089 if (PhiStage == LoopStage && VRMap[StageNum - 1].count(LoopVal))
1091 PrevVal = VRMap[StageNum - 1][LoopVal];
1092 else if (VRMap[StageNum].count(LoopVal))
1095 PrevVal = VRMap[StageNum][LoopVal];
1106 LoopStage, VRMap, BB);
1117 ValueMapTy *VRMap,
1132 getPrevMapVal(StageNum - np, PhiStage, LoopVal, LoopStage, VRMap, BB);
2668 ValueMapTy &VRMap,
2677 VRMap[Reg] = NewReg;