@@ -835,8 +835,8 @@ class TargetTransformInfo {
835
835
// / TODO: Handle pre/postinc as well.
836
836
InstructionCost getScalingFactorCost (Type *Ty, GlobalValue *BaseGV,
837
837
int64_t BaseOffset, bool HasBaseReg,
838
- int64_t Scale,
839
- unsigned AddrSpace = 0 ) const ;
838
+ int64_t Scale, unsigned AddrSpace = 0 ,
839
+ int64_t ScalableOffset = 0 ) const ;
840
840
841
841
// / Return true if the loop strength reduce pass should make
842
842
// / Instruction* based TTI queries to isLegalAddressingMode(). This is
@@ -1894,7 +1894,8 @@ class TargetTransformInfo::Concept {
1894
1894
virtual InstructionCost getScalingFactorCost (Type *Ty, GlobalValue *BaseGV,
1895
1895
int64_t BaseOffset,
1896
1896
bool HasBaseReg, int64_t Scale,
1897
- unsigned AddrSpace) = 0;
1897
+ unsigned AddrSpace,
1898
+ int64_t ScalableOffset) = 0;
1898
1899
virtual bool LSRWithInstrQueries () = 0;
1899
1900
virtual bool isTruncateFree (Type *Ty1, Type *Ty2) = 0;
1900
1901
virtual bool isProfitableToHoist (Instruction *I) = 0;
@@ -2406,10 +2407,10 @@ class TargetTransformInfo::Model final : public TargetTransformInfo::Concept {
2406
2407
}
2407
2408
InstructionCost getScalingFactorCost (Type *Ty, GlobalValue *BaseGV,
2408
2409
int64_t BaseOffset, bool HasBaseReg,
2409
- int64_t Scale,
2410
- unsigned AddrSpace ) override {
2410
+ int64_t Scale, unsigned AddrSpace,
2411
+ int64_t ScalableOffset ) override {
2411
2412
return Impl.getScalingFactorCost (Ty, BaseGV, BaseOffset, HasBaseReg, Scale,
2412
- AddrSpace);
2413
+ AddrSpace, ScalableOffset );
2413
2414
}
2414
2415
bool LSRWithInstrQueries () override { return Impl.LSRWithInstrQueries (); }
2415
2416
bool isTruncateFree (Type *Ty1, Type *Ty2) override {
0 commit comments