Home | History | Annotate | Download | only in Scalar

Lines Matching refs:BaseOffset

250   int64_t BaseOffset;
280 : BaseGV(nullptr), BaseOffset(0), HasBaseReg(false), Scale(0),
472 if (BaseOffset != 0) {
474 OS << BaseOffset;
1017 int64_t Offset = (uint64_t)O + F.BaseOffset;
1358 GlobalValue *BaseGV, int64_t BaseOffset,
1362 return TTI.isLegalAddressingMode(AccessTy.MemTy, BaseGV, BaseOffset,
1372 if (Scale != 0 && HasBaseReg && BaseOffset != 0)
1382 if (BaseOffset != 0) {
1384 // ICmpZero BaseReg + BaseOffset => ICmp BaseReg, -BaseOffset
1385 // ICmpZero -1*ScaleReg + BaseOffset => ICmp ScaleReg, BaseOffset
1389 BaseOffset = -(uint64_t)BaseOffset;
1390 return TTI.isLegalICmpImmediate(BaseOffset);
1398 return !BaseGV && Scale == 0 && BaseOffset == 0;
1402 return !BaseGV && (Scale == 0 || Scale == -1) && BaseOffset == 0;
1411 GlobalValue *BaseGV, int64_t BaseOffset,
1414 if (((int64_t)((uint64_t)BaseOffset + MinOffset) > BaseOffset) !=
1417 MinOffset = (uint64_t)BaseOffset + MinOffset;
1418 if (((int64_t)((uint64_t)BaseOffset + MaxOffset) > BaseOffset) !=
1421 MaxOffset = (uint64_t)BaseOffset + MaxOffset;
1442 F.BaseGV, F.BaseOffset, F.HasBaseReg, F.Scale);
1449 int64_t BaseOffset, bool HasBaseReg, int64_t Scale) {
1452 BaseOffset, HasBaseReg, Scale) ||
1457 BaseGV, BaseOffset, true, 0));
1464 F.BaseOffset, F.HasBaseReg, F.Scale);
1470 LU.AccessTy, F.BaseGV, F.BaseOffset, F.HasBaseReg,
1489 LU.AccessTy.MemTy, F.BaseGV, F.BaseOffset + LU.MinOffset, F.HasBaseReg,
1492 LU.AccessTy.MemTy, F.BaseGV, F.BaseOffset + LU.MaxOffset, F.HasBaseReg,
1512 GlobalValue *BaseGV, int64_t BaseOffset,
1515 if (BaseOffset == 0 && !BaseGV) return true;
1528 return isAMCompletelyFolded(TTI, Kind, AccessTy, BaseGV, BaseOffset,
1542 int64_t BaseOffset = ExtractImmediate(S, SE);
1549 if (BaseOffset == 0 && !BaseGV) return true;
1556 BaseOffset, HasBaseReg, Scale);
2144 /*BaseOffset=*/0,
2150 /*BaseOffset=*/0,
2329 if (F.BaseOffset == 0)
3387 F.BaseOffset = (uint64_t)Base.BaseOffset - Offset;
3413 F.BaseOffset = (uint64_t)F.BaseOffset + Imm;
3459 if (Base.BaseOffset == INT64_MIN && Factor == -1)
3461 int64_t NewBaseOffset = (uint64_t)Base.BaseOffset * Factor;
3462 if (NewBaseOffset / Factor != Base.BaseOffset)
3482 F.BaseOffset = NewBaseOffset;
3489 F.BaseOffset = (uint64_t)F.BaseOffset + Offset - LU.MinOffset;
3560 !Base.HasBaseReg && Base.BaseOffset == 0 && !Base.BaseGV)
3741 int64_t Offset = (uint64_t)F.BaseOffset + Imm * (uint64_t)F.Scale;
3747 NewF.BaseOffset = Offset;
3757 if (C->getValue()->isNegative() != (NewF.BaseOffset < 0) &&
3759 .ule(std::abs(NewF.BaseOffset)))
3772 NewF.BaseOffset = (uint64_t)NewF.BaseOffset + Imm;
3787 if ((C->getAPInt() + NewF.BaseOffset)
3789 .slt(std::abs(NewF.BaseOffset)) &&
3790 (C->getAPInt() + NewF.BaseOffset).countTrailingZeros() >=
3791 countTrailingZeros<uint64_t>(NewF.BaseOffset))
3986 NewF.BaseOffset += C->getValue()->getSExtValue();
4041 if (F.BaseOffset == 0 || (F.Scale != 0 && F.Scale != 1))
4048 if (!reconcileNewOffset(*LUThatHas, F.BaseOffset, /*HasBaseReg=*/ false,
4060 Fixup.Offset += F.BaseOffset;
4543 int64_t Offset = (uint64_t)F.BaseOffset + LF.Offset;