Lines Matching refs:Seg
266 Segment(const Segment &Seg) = default;
267 Segment &operator=(const Segment &Seg) = default;
274 Block(Value *Val, int Len, int Pos) : Seg(Val, 0, Len), Pos(Pos) {}
276 : Seg(Val, Off, Len), Pos(Pos) {}
279 Segment Seg; // Value segment.
399 OS << " @" << B.Pos << " [" << B.Seg.Start << ',' << B.Seg.Size << "] ";
400 if (B.Seg.Val == reinterpret_cast<const Value *>(&B)) {
401 OS << "(self:" << B.Seg.Val << ')';
402 } else if (B.Seg.Val != nullptr) {
403 OS << *B.Seg.Val;
579 int Max = Blocks[0].Pos + Blocks[0].Seg.Size;
582 Max = std::max(Max, Blocks[i].Pos + Blocks[i].Seg.Size);
591 int R = std::min(B.Pos + B.Seg.Size, Start + Length); // Right end+1.
595 Section.Blocks.emplace_back(B.Seg.Val, B.Seg.Start + Off, R - L, L);
610 Values[i] = Blocks[i].Seg.Val;
1129 // distincts values for Seg.Val in each ASpan.Blocks[i], and use a map
1130 // to store the location for each Seg.Val.
1131 // The distinct values happen to be Blocks[i].Seg.Val = &Blocks[i],
1140 ASpan.Blocks[Index].Seg.Val =
1175 ByteSpan ASection = ASpan.section(B.Pos, B.Seg.Size);
1177 EarliestUser[S.Seg.Val] = std::min(
1178 EarliestUser[S.Seg.Val], earliestUser(B.Seg.Val->uses()), isEarlier);
1250 ASpan[Index].Seg.Val = nullptr;
1260 ASpan[Index].Seg.Val = Val;
1266 ByteSpan ASection = ASpan.section(B.Pos, B.Seg.Size).shift(-B.Pos);
1267 Value *Accum = UndefValue::get(HVC.getByteTy(B.Seg.Size));
1268 Builder.SetInsertPoint(cast<Instruction>(B.Seg.Val));
1275 if (S.Seg.Val != nullptr)
1280 return isEarlier(cast<Instruction>(A->Seg.Val),
1281 cast<Instruction>(B->Seg.Val));
1286 Instruction *SegI = cast<Instruction>(S->Seg.Val);
1288 Value *Pay = HVC.vbytes(Builder, getPayload(S->Seg.Val));
1290 HVC.insertb(Builder, Accum, Pay, S->Seg.Start, S->Seg.Size, S->Pos);
1298 Type *ValTy = getPayload(B.Seg.Val)->getType();
1300 Value *Sel = Builder.CreateSelect(getMask(B.Seg.Val), Cast,
1301 getPassThrough(B.Seg.Val), "sel");
1302 B.Seg.Val->replaceAllUsesWith(Sel);
1341 Value *Pay = getPayload(S.Seg.Val);
1342 Value *Mask = HVC.rescale(Builder, MakeVec(Builder, getMask(S.Seg.Val)),
1345 S.Seg.Start, S.Seg.Size, S.Pos);
1349 S.Seg.Start, S.Seg.Size, S.Pos);
1366 Value *PrevV = ASpanV[Index - 1].Seg.Val, *ThisV = ASpanV[Index].Seg.Val;
1367 Value *PrevM = ASpanM[Index - 1].Seg.Val, *ThisM = ASpanM[Index].Seg.Val;
1369 ASpanV[Index - 1].Seg.Val = HVC.vlalignb(Builder, PrevV, ThisV, AlignVal);
1370 ASpanM[Index - 1].Seg.Val = HVC.vlalignb(Builder, PrevM, ThisM, AlignVal);
1381 Value *Val = ASpanV[Index].Seg.Val;
1382 Value *Mask = ASpanM[Index].Seg.Val; // bytes