diff --git a/llvm/include/llvm/Analysis/TargetTransformInfo.h b/llvm/include/llvm/Analysis/TargetTransformInfo.h index 022530dc846ea..9dccf3b63b0e2 100644 --- a/llvm/include/llvm/Analysis/TargetTransformInfo.h +++ b/llvm/include/llvm/Analysis/TargetTransformInfo.h @@ -1454,8 +1454,9 @@ class TargetTransformInfo { /// vectorizer passes. InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index = -1, Value *Op0 = nullptr, - Value *Op1 = nullptr) const; + unsigned Index = -1, + const Value *Op0 = nullptr, + const Value *Op1 = nullptr) const; /// \return The expected cost of vector Insert and Extract. /// Use -1 to indicate that there is no information on the index value. diff --git a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h index 990252b1e5743..9c57c6f5b3ed4 100644 --- a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h +++ b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h @@ -780,8 +780,8 @@ class TargetTransformInfoImplBase { virtual InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, const Value *Op0, + const Value *Op1) const { return 1; } diff --git a/llvm/include/llvm/CodeGen/BasicTTIImpl.h b/llvm/include/llvm/CodeGen/BasicTTIImpl.h index 6e2f65c01bf77..a19fa06eff1e6 100644 --- a/llvm/include/llvm/CodeGen/BasicTTIImpl.h +++ b/llvm/include/llvm/CodeGen/BasicTTIImpl.h @@ -1409,8 +1409,8 @@ class BasicTTIImplBase : public TargetTransformInfoImplCRTPBase { InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override { + unsigned Index, const Value *Op0, + const Value *Op1) const override { return getRegUsageForType(Val->getScalarType()); } diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp index 8548afea72964..a6f69e6609a03 100644 --- a/llvm/lib/Analysis/TargetTransformInfo.cpp +++ b/llvm/lib/Analysis/TargetTransformInfo.cpp @@ -1084,7 +1084,7 @@ InstructionCost TargetTransformInfo::getCmpSelInstrCost( InstructionCost TargetTransformInfo::getVectorInstrCost( unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, unsigned Index, - Value *Op0, Value *Op1) const { + const Value *Op0, const Value *Op1) const { assert((Opcode == Instruction::InsertElement || Opcode == Instruction::ExtractElement) && "Expecting Opcode to be insertelement/extractelement."); diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp index fcc5eb1c05ba0..4a9b456dc7b3e 100644 --- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp +++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp @@ -3829,8 +3829,9 @@ InstructionCost AArch64TTIImpl::getVectorInstrCostHelper( InstructionCost AArch64TTIImpl::getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, + const Value *Op0, + const Value *Op1) const { bool HasRealUse = Opcode == Instruction::InsertElement && Op0 && !isa(Op0); return getVectorInstrCostHelper(Opcode, Val, CostKind, Index, HasRealUse); diff --git a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h index adfaec0ea618b..00b890573fbfd 100644 --- a/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h +++ b/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h @@ -205,8 +205,8 @@ class AArch64TTIImpl : public BasicTTIImplBase { InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; /// \param ScalarUserAndIdx encodes the information about extracts from a /// vector with 'Scalar' being the value being extracted,'User' being the user diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp index 204d3df546bbf..c26726c445401 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp @@ -834,8 +834,8 @@ GCNTTIImpl::getMinMaxReductionCost(Intrinsic::ID IID, VectorType *Ty, InstructionCost GCNTTIImpl::getVectorInstrCost(unsigned Opcode, Type *ValTy, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, const Value *Op0, + const Value *Op1) const { switch (Opcode) { case Instruction::ExtractElement: case Instruction::InsertElement: { diff --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h b/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h index f6f7bd4bfcf5b..7ad60829f9a01 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h +++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h @@ -170,8 +170,8 @@ class GCNTTIImpl final : public BasicTTIImplBase { using BaseT::getVectorInstrCost; InstructionCost getVectorInstrCost(unsigned Opcode, Type *ValTy, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; bool isReadRegisterSourceOfDivergence(const IntrinsicInst *ReadReg) const; bool isSourceOfDivergence(const Value *V) const override; diff --git a/llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp b/llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp index bbfd189d08a76..3093227279a31 100644 --- a/llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp +++ b/llvm/lib/Target/AMDGPU/R600TargetTransformInfo.cpp @@ -110,8 +110,9 @@ InstructionCost R600TTIImpl::getCFInstrCost(unsigned Opcode, InstructionCost R600TTIImpl::getVectorInstrCost(unsigned Opcode, Type *ValTy, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, + const Value *Op0, + const Value *Op1) const { switch (Opcode) { case Instruction::ExtractElement: case Instruction::InsertElement: { diff --git a/llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h b/llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h index f3128942a640b..3deae69bfc8c9 100644 --- a/llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h +++ b/llvm/lib/Target/AMDGPU/R600TargetTransformInfo.h @@ -64,8 +64,8 @@ class R600TTIImpl final : public BasicTTIImplBase { using BaseT::getVectorInstrCost; InstructionCost getVectorInstrCost(unsigned Opcode, Type *ValTy, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; }; } // end namespace llvm diff --git a/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp b/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp index 76eb01033c3cb..c3cb700b21c68 100644 --- a/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp +++ b/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp @@ -901,8 +901,8 @@ InstructionCost ARMTTIImpl::getCastInstrCost(unsigned Opcode, Type *Dst, InstructionCost ARMTTIImpl::getVectorInstrCost(unsigned Opcode, Type *ValTy, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, const Value *Op0, + const Value *Op1) const { // Penalize inserting into an D-subregister. We end up with a three times // lower estimated throughput on swift. if (ST->hasSlowLoadDSubregister() && Opcode == Instruction::InsertElement && diff --git a/llvm/lib/Target/ARM/ARMTargetTransformInfo.h b/llvm/lib/Target/ARM/ARMTargetTransformInfo.h index 6f25f4a26e81b..2ce449650c3b9 100644 --- a/llvm/lib/Target/ARM/ARMTargetTransformInfo.h +++ b/llvm/lib/Target/ARM/ARMTargetTransformInfo.h @@ -255,8 +255,8 @@ class ARMTTIImpl : public BasicTTIImplBase { using BaseT::getVectorInstrCost; InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; InstructionCost getAddressComputationCost(Type *Val, ScalarEvolution *SE, const SCEV *Ptr) const override; diff --git a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp index d6c1750e862c2..a4cc472fdbf29 100644 --- a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp +++ b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp @@ -316,8 +316,9 @@ InstructionCost HexagonTTIImpl::getCastInstrCost(unsigned Opcode, Type *DstTy, InstructionCost HexagonTTIImpl::getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, + const Value *Op0, + const Value *Op1) const { Type *ElemTy = Val->isVectorTy() ? cast(Val)->getElementType() : Val; if (Opcode == Instruction::InsertElement) { diff --git a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h index 6bcdd58ed5d4f..d7509c3bb1d2f 100644 --- a/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h +++ b/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h @@ -155,8 +155,8 @@ class HexagonTTIImpl : public BasicTTIImplBase { using BaseT::getVectorInstrCost; InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; InstructionCost getCFInstrCost(unsigned Opcode, TTI::TargetCostKind CostKind, diff --git a/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp b/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp index 35be9b26380b5..f9e77f2abdca2 100644 --- a/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp +++ b/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp @@ -674,8 +674,8 @@ InstructionCost PPCTTIImpl::getCmpSelInstrCost( InstructionCost PPCTTIImpl::getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, const Value *Op0, + const Value *Op1) const { assert(Val->isVectorTy() && "This must be a vector type"); int ISD = TLI->InstructionOpcodeToISD(Opcode); diff --git a/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h b/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h index 9af432512407f..361b2ff223ea0 100644 --- a/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h +++ b/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h @@ -130,8 +130,8 @@ class PPCTTIImpl : public BasicTTIImplBase { using BaseT::getVectorInstrCost; InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; InstructionCost getMemoryOpCost( unsigned Opcode, Type *Src, Align Alignment, unsigned AddressSpace, TTI::TargetCostKind CostKind, diff --git a/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp b/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp index 15cf909526257..3b37ac0ad760e 100644 --- a/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp +++ b/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp @@ -2188,8 +2188,9 @@ InstructionCost RISCVTTIImpl::getCFInstrCost(unsigned Opcode, InstructionCost RISCVTTIImpl::getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, + const Value *Op0, + const Value *Op1) const { assert(Val->isVectorTy() && "This must be a vector type"); if (Opcode != Instruction::ExtractElement && diff --git a/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h b/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h index ca4c0ccd27a74..0670296d871ca 100644 --- a/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h +++ b/llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h @@ -237,8 +237,8 @@ class RISCVTTIImpl : public BasicTTIImplBase { using BaseT::getVectorInstrCost; InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; InstructionCost getArithmeticInstrCost( unsigned Opcode, Type *Ty, TTI::TargetCostKind CostKind, diff --git a/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp b/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp index ee142ccd20e20..fd522aa9049ac 100644 --- a/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp +++ b/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp @@ -485,7 +485,7 @@ bool SystemZTTIImpl::hasDivRemOp(Type *DataType, bool IsSigned) const { return (VT.isScalarInteger() && TLI->isTypeLegal(VT)); } -static bool isFreeEltLoad(Value *Op) { +static bool isFreeEltLoad(const Value *Op) { if (isa(Op) && Op->hasOneUse()) { const Instruction *UserI = cast(*Op->user_begin()); return !isa(UserI); // Prefer MVC @@ -1181,8 +1181,9 @@ InstructionCost SystemZTTIImpl::getCmpSelInstrCost( InstructionCost SystemZTTIImpl::getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, + const Value *Op0, + const Value *Op1) const { if (Opcode == Instruction::InsertElement) { // Vector Element Load. if (Op1 != nullptr && isFreeEltLoad(Op1)) diff --git a/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h b/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h index c83f8e2542470..ed962a31a7ee7 100644 --- a/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h +++ b/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h @@ -122,8 +122,8 @@ class SystemZTTIImpl : public BasicTTIImplBase { using BaseT::getVectorInstrCost; InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; bool isFoldableLoad(const LoadInst *Ld, const Instruction *&FoldedValue) const; InstructionCost getMemoryOpCost( diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp index 49aa94956bda6..56fa8f9ce51ae 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp @@ -184,7 +184,7 @@ InstructionCost WebAssemblyTTIImpl::getMemoryOpCost( InstructionCost WebAssemblyTTIImpl::getVectorInstrCost( unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, unsigned Index, - Value *Op0, Value *Op1) const { + const Value *Op0, const Value *Op1) const { InstructionCost Cost = BasicTTIImplBase::getVectorInstrCost( Opcode, Val, CostKind, Index, Op0, Op1); diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h b/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h index 75ecb97b37131..6b6d060076a80 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h +++ b/llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h @@ -81,8 +81,8 @@ class WebAssemblyTTIImpl final : public BasicTTIImplBase { using BaseT::getVectorInstrCost; InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; InstructionCost getPartialReductionCost( unsigned Opcode, Type *InputTypeA, Type *InputTypeB, Type *AccumType, ElementCount VF, TTI::PartialReductionExtendKind OpAExtend, diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp index 74bb25781b534..3283d45deba1c 100644 --- a/llvm/lib/Target/X86/X86TargetTransformInfo.cpp +++ b/llvm/lib/Target/X86/X86TargetTransformInfo.cpp @@ -4767,8 +4767,8 @@ X86TTIImpl::getIntrinsicInstrCost(const IntrinsicCostAttributes &ICA, InstructionCost X86TTIImpl::getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const { + unsigned Index, const Value *Op0, + const Value *Op1) const { static const CostTblEntry SLMCostTbl[] = { { ISD::EXTRACT_VECTOR_ELT, MVT::i8, 4 }, { ISD::EXTRACT_VECTOR_ELT, MVT::i16, 4 }, diff --git a/llvm/lib/Target/X86/X86TargetTransformInfo.h b/llvm/lib/Target/X86/X86TargetTransformInfo.h index be2ede504f322..b8ef3e3f2187c 100644 --- a/llvm/lib/Target/X86/X86TargetTransformInfo.h +++ b/llvm/lib/Target/X86/X86TargetTransformInfo.h @@ -166,8 +166,8 @@ class X86TTIImpl : public BasicTTIImplBase { using BaseT::getVectorInstrCost; InstructionCost getVectorInstrCost(unsigned Opcode, Type *Val, TTI::TargetCostKind CostKind, - unsigned Index, Value *Op0, - Value *Op1) const override; + unsigned Index, const Value *Op0, + const Value *Op1) const override; InstructionCost getScalarizationOverhead( VectorType *Ty, const APInt &DemandedElts, bool Insert, bool Extract, TTI::TargetCostKind CostKind, ArrayRef VL = {}) const override;