1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00

[multiversion] Remove the function parameter from the unrolling

preferences interface on TTI now that all of TTI is per-function.

llvm-svn: 227741
This commit is contained in:
Chandler Carruth 2015-02-01 14:31:23 +00:00
parent 59453ca4a8
commit a2cd22e25f
11 changed files with 16 additions and 24 deletions

View File

@ -42,7 +42,7 @@ public:
void
getUnrollingPreferences(Loop *L,
TargetTransformInfo::UnrollingPreferences &UP) const {
TTI->getUnrollingPreferences(Fn, L, UP);
TTI->getUnrollingPreferences(L, UP);
}
};
}

View File

@ -249,8 +249,7 @@ public:
/// \brief Get target-customized preferences for the generic loop unrolling
/// transformation. The caller will initialize UP with the current
/// target-independent defaults.
void getUnrollingPreferences(const Function *F, Loop *L,
UnrollingPreferences &UP) const;
void getUnrollingPreferences(Loop *L, UnrollingPreferences &UP) const;
/// @}
@ -499,8 +498,7 @@ public:
virtual unsigned getUserCost(const User *U) = 0;
virtual bool hasBranchDivergence() = 0;
virtual bool isLoweredToCall(const Function *F) = 0;
virtual void getUnrollingPreferences(const Function *F, Loop *L,
UnrollingPreferences &UP) = 0;
virtual void getUnrollingPreferences(Loop *L, UnrollingPreferences &UP) = 0;
virtual bool isLegalAddImmediate(int64_t Imm) = 0;
virtual bool isLegalICmpImmediate(int64_t Imm) = 0;
virtual bool isLegalAddressingMode(Type *Ty, GlobalValue *BaseGV,
@ -596,9 +594,8 @@ public:
bool isLoweredToCall(const Function *F) override {
return Impl.isLoweredToCall(F);
}
void getUnrollingPreferences(const Function *F, Loop *L,
UnrollingPreferences &UP) override {
return Impl.getUnrollingPreferences(F, L, UP);
void getUnrollingPreferences(Loop *L, UnrollingPreferences &UP) override {
return Impl.getUnrollingPreferences(L, UP);
}
bool isLegalAddImmediate(int64_t Imm) override {
return Impl.isLegalAddImmediate(Imm);

View File

@ -198,8 +198,7 @@ public:
return true;
}
void getUnrollingPreferences(const Function *, Loop *,
TTI::UnrollingPreferences &) {}
void getUnrollingPreferences(Loop *, TTI::UnrollingPreferences &) {}
bool isLegalAddImmediate(int64_t Imm) { return false; }

View File

@ -167,8 +167,7 @@ public:
TLI->isOperationLegalOrCustom(ISD::FSQRT, VT);
}
void getUnrollingPreferences(const Function *F, Loop *L,
TTI::UnrollingPreferences &UP) {
void getUnrollingPreferences(Loop *L, TTI::UnrollingPreferences &UP) {
// This unrolling functionality is target independent, but to provide some
// motivation for its intended use, for x86:

View File

@ -81,8 +81,8 @@ bool TargetTransformInfo::isLoweredToCall(const Function *F) const {
}
void TargetTransformInfo::getUnrollingPreferences(
const Function *F, Loop *L, UnrollingPreferences &UP) const {
return TTIImpl->getUnrollingPreferences(F, L, UP);
Loop *L, UnrollingPreferences &UP) const {
return TTIImpl->getUnrollingPreferences(L, UP);
}
bool TargetTransformInfo::isLegalAddImmediate(int64_t Imm) const {

View File

@ -424,7 +424,7 @@ unsigned AArch64TTIImpl::getMaxInterleaveFactor() {
return 2;
}
void AArch64TTIImpl::getUnrollingPreferences(const Function *F, Loop *L,
void AArch64TTIImpl::getUnrollingPreferences(Loop *L,
TTI::UnrollingPreferences &UP) {
// Disable partial & runtime unrolling on -Os.
UP.PartialOptSizeThreshold = 0;

View File

@ -132,8 +132,7 @@ public:
unsigned getCostOfKeepingLiveOverCall(ArrayRef<Type *> Tys);
void getUnrollingPreferences(const Function *F, Loop *L,
TTI::UnrollingPreferences &UP);
void getUnrollingPreferences(Loop *L, TTI::UnrollingPreferences &UP);
Value *getOrCreateResultFromMemIntrinsic(IntrinsicInst *Inst,
Type *ExpectedType);

View File

@ -181,7 +181,7 @@ unsigned PPCTTIImpl::getIntImmCost(unsigned Opcode, unsigned Idx,
return PPCTTIImpl::getIntImmCost(Imm, Ty);
}
void PPCTTIImpl::getUnrollingPreferences(const Function *F, Loop *L,
void PPCTTIImpl::getUnrollingPreferences(Loop *L,
TTI::UnrollingPreferences &UP) {
if (ST->getDarwinDirective() == PPC::DIR_A2) {
// The A2 is in-order with a deep pipeline, and concatenation unrolling
@ -189,7 +189,7 @@ void PPCTTIImpl::getUnrollingPreferences(const Function *F, Loop *L,
UP.Partial = UP.Runtime = true;
}
BaseT::getUnrollingPreferences(F, L, UP);
BaseT::getUnrollingPreferences(L, UP);
}
unsigned PPCTTIImpl::getNumberOfRegisters(bool Vector) {

View File

@ -71,8 +71,7 @@ public:
Type *Ty);
TTI::PopcntSupportKind getPopcntSupport(unsigned TyWidth);
void getUnrollingPreferences(const Function *F, Loop *L,
TTI::UnrollingPreferences &UP);
void getUnrollingPreferences(Loop *L, TTI::UnrollingPreferences &UP);
/// @}

View File

@ -27,7 +27,7 @@ using namespace llvm;
#define DEBUG_TYPE "AMDGPUtti"
void AMDGPUTTIImpl::getUnrollingPreferences(const Function *, Loop *L,
void AMDGPUTTIImpl::getUnrollingPreferences(Loop *L,
TTI::UnrollingPreferences &UP) {
UP.Threshold = 300; // Twice the default.
UP.Count = UINT_MAX;

View File

@ -61,8 +61,7 @@ public:
bool hasBranchDivergence() { return true; }
void getUnrollingPreferences(const Function *F, Loop *L,
TTI::UnrollingPreferences &UP);
void getUnrollingPreferences(Loop *L, TTI::UnrollingPreferences &UP);
TTI::PopcntSupportKind getPopcntSupport(unsigned TyWidth) {
assert(isPowerOf2_32(TyWidth) && "Ty width must be power of 2");