Lines Matching defs:BaseRegs

239   /// BaseRegs - The list of "base" registers for this use. When this is
241 SmallVector<const SCEV *, 4> BaseRegs;
339 BaseRegs.push_back(Sum);
345 BaseRegs.push_back(Sum);
354 return !!ScaledReg + BaseRegs.size();
360 return !BaseRegs.empty() ? BaseRegs.front()->getType() :
366 /// DeleteBaseReg - Delete the given base reg from the BaseRegs list.
368 if (&S != &BaseRegs.back())
369 std::swap(S, BaseRegs.back());
370 BaseRegs.pop_back();
376 std::find(BaseRegs.begin(), BaseRegs.end(), S) != BaseRegs.end();
386 for (SmallVectorImpl<const SCEV *>::const_iterator I = BaseRegs.begin(),
387 E = BaseRegs.end(); I != E; ++I)
403 for (SmallVectorImpl<const SCEV *>::const_iterator I = BaseRegs.begin(),
404 E = BaseRegs.end(); I != E; ++I) {
408 if (HasBaseReg && BaseRegs.empty()) {
411 } else if (!HasBaseReg && !BaseRegs.empty()) {
935 for (SmallVectorImpl<const SCEV *>::const_iterator I = F.BaseRegs.begin(),
936 E = F.BaseRegs.end(); I != E; ++I) {
948 size_t NumBaseParts = F.BaseRegs.size() + (F.UnfoldedOffset != 0);
1215 SmallVector<const SCEV *, 4> Key = F.BaseRegs;
1228 SmallVector<const SCEV *, 4> Key = F.BaseRegs;
1241 F.BaseRegs.begin(), E = F.BaseRegs.end(); I != E; ++I)
1249 Regs.insert(F.BaseRegs.begin(), F.BaseRegs.end());
1270 Regs.insert(F.BaseRegs.begin(), F.BaseRegs.end());
1403 // This is possible if BaseRegs has at least 2 registers.
1415 if (F.BaseRegs.size() < 2)
2292 if (F.BaseRegs == OrigF.BaseRegs &&
3016 F.BaseRegs.push_back(S);
3027 for (SmallVectorImpl<const SCEV *>::const_iterator I = F.BaseRegs.begin(),
3028 E = F.BaseRegs.end(); I != E; ++I)
3199 for (size_t i = 0, e = Base.BaseRegs.size(); i != e; ++i) {
3200 const SCEV *BaseReg = Base.BaseRegs[i];
3249 F.BaseRegs.erase(F.BaseRegs.begin() + i);
3251 F.BaseRegs[i] = InnerSum;
3261 F.BaseRegs.push_back(*J);
3276 if (Base.BaseRegs.size() <= 1) return;
3279 F.BaseRegs.clear();
3282 I = Base.BaseRegs.begin(), E = Base.BaseRegs.end(); I != E; ++I) {
3288 F.BaseRegs.push_back(BaseReg);
3296 F.BaseRegs.push_back(Sum);
3308 for (size_t i = 0, e = Base.BaseRegs.size(); i != e; ++i) {
3309 const SCEV *G = Base.BaseRegs[i];
3317 F.BaseRegs[i] = G;
3332 for (size_t i = 0, e = Base.BaseRegs.size(); i != e; ++i) {
3333 const SCEV *G = Base.BaseRegs[i];
3345 std::swap(F.BaseRegs[i], F.BaseRegs.back());
3346 F.BaseRegs.pop_back();
3348 F.BaseRegs[i] = NewG;
3361 F.BaseRegs[i] = G;
3423 for (size_t i = 0, e = F.BaseRegs.size(); i != e; ++i) {
3424 F.BaseRegs[i] = SE.getMulExpr(F.BaseRegs[i], FactorS);
3425 if (getExactSDiv(F.BaseRegs[i], FactorS, SE) != Base.BaseRegs[i])
3471 Base.HasBaseReg = Base.BaseRegs.size() > 1;
3491 for (size_t i = 0, e = Base.BaseRegs.size(); i != e; ++i)
3493 dyn_cast<SCEVAddRecExpr>(Base.BaseRegs[i])) {
3503 F.DeleteBaseReg(F.BaseRegs[i]);
3527 for (SmallVectorImpl<const SCEV *>::iterator J = F.BaseRegs.begin(),
3528 JE = F.BaseRegs.end(); J != JE; ++J)
3696 for (size_t N = 0, NE = F.BaseRegs.size(); N != NE; ++N) {
3697 const SCEV *BaseReg = F.BaseRegs[N];
3709 NewF.BaseRegs[N] = SE.getAddExpr(NegImmS, BaseReg);
3715 J = NewF.BaseRegs.begin(), JE = NewF.BaseRegs.end();
3819 for (SmallVectorImpl<const SCEV *>::const_iterator J = F.BaseRegs.begin(),
3820 JE = F.BaseRegs.end(); J != JE; ++J) {
3918 I = F.BaseRegs.begin(), E = F.BaseRegs.end(); I != E; ++I) {
3922 NewF.BaseRegs.erase(NewF.BaseRegs.begin() +
3923 (I - F.BaseRegs.begin()));
3937 NewF.BaseRegs.erase(NewF.BaseRegs.begin() +
3938 (I - F.BaseRegs.begin()));
4179 std::find(F.BaseRegs.begin(), F.BaseRegs.end(), Reg) ==
4180 F.BaseRegs.end()) {
4203 VisitedRegs.insert(F.ScaledReg ? F.ScaledReg : F.BaseRegs[0]);
4410 // Expand the BaseRegs portion.
4411 for (SmallVectorImpl<const SCEV *>::const_iterator I = F.BaseRegs.begin(),
4412 E = F.BaseRegs.end(); I != E; ++I) {