/// Returns true if the value V is uniform within the loop.
bool isUniform(Value *V);
- unsigned getMaxSafeDepDistBytes() { return MaxSafeDepDistBytes; }
+ unsigned getMaxSafeDepDistBytes() const { return MaxSafeDepDistBytes; }
+ unsigned getNumStores() const { return NumStores; }
+ unsigned getNumLoads() const { return NumLoads;}
private:
void emitAnalysis(VectorizationReport &Message);
DominatorTree *DT, TargetLibraryInfo *TLI,
AliasAnalysis *AA, Function *F,
const TargetTransformInfo *TTI)
- : NumLoads(0), NumStores(0), NumPredStores(0), TheLoop(L), SE(SE), DL(DL),
+ : NumPredStores(0), TheLoop(L), SE(SE), DL(DL),
TLI(TLI), TheFunction(F), TTI(TTI), Induction(nullptr),
WidestIndTy(nullptr),
LAA(F, L, SE, DL, TLI, AA, DT,
return (MaskedOp.count(I) != 0);
}
unsigned getNumStores() const {
- return NumStores;
+ return LAA.getNumStores();
}
unsigned getNumLoads() const {
- return NumLoads;
+ return LAA.getNumLoads();
}
unsigned getNumPredStores() const {
return NumPredStores;
VectorizationReport::emitAnalysis(Message, TheFunction, TheLoop);
}
- unsigned NumLoads;
- unsigned NumStores;
unsigned NumPredStores;
/// The loop that we evaluate.