@@ -835,8 +835,8 @@ class TargetTransformInfo {
835835 // / TODO: Handle pre/postinc as well.
836836 InstructionCost getScalingFactorCost (Type *Ty, GlobalValue *BaseGV,
837837 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 ;
840840
841841 // / Return true if the loop strength reduce pass should make
842842 // / Instruction* based TTI queries to isLegalAddressingMode(). This is
@@ -1894,7 +1894,8 @@ class TargetTransformInfo::Concept {
18941894 virtual InstructionCost getScalingFactorCost (Type *Ty, GlobalValue *BaseGV,
18951895 int64_t BaseOffset,
18961896 bool HasBaseReg, int64_t Scale,
1897- unsigned AddrSpace) = 0;
1897+ unsigned AddrSpace,
1898+ int64_t ScalableOffset) = 0;
18981899 virtual bool LSRWithInstrQueries () = 0;
18991900 virtual bool isTruncateFree (Type *Ty1, Type *Ty2) = 0;
19001901 virtual bool isProfitableToHoist (Instruction *I) = 0;
@@ -2406,10 +2407,10 @@ class TargetTransformInfo::Model final : public TargetTransformInfo::Concept {
24062407 }
24072408 InstructionCost getScalingFactorCost (Type *Ty, GlobalValue *BaseGV,
24082409 int64_t BaseOffset, bool HasBaseReg,
2409- int64_t Scale,
2410- unsigned AddrSpace ) override {
2410+ int64_t Scale, unsigned AddrSpace,
2411+ int64_t ScalableOffset ) override {
24112412 return Impl.getScalingFactorCost (Ty, BaseGV, BaseOffset, HasBaseReg, Scale,
2412- AddrSpace);
2413+ AddrSpace, ScalableOffset );
24132414 }
24142415 bool LSRWithInstrQueries () override { return Impl.LSRWithInstrQueries (); }
24152416 bool isTruncateFree (Type *Ty1, Type *Ty2) override {
0 commit comments