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:
parent
59453ca4a8
commit
a2cd22e25f
@ -42,7 +42,7 @@ public:
|
||||
void
|
||||
getUnrollingPreferences(Loop *L,
|
||||
TargetTransformInfo::UnrollingPreferences &UP) const {
|
||||
TTI->getUnrollingPreferences(Fn, L, UP);
|
||||
TTI->getUnrollingPreferences(L, UP);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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; }
|
||||
|
||||
|
@ -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:
|
||||
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
|
||||
/// @}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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");
|
||||
|
Loading…
Reference in New Issue
Block a user