X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=lib%2FAnalysis%2FTargetTransformInfo.cpp;h=0353295345ced0cd0c4d1582cb1c67da940a370e;hb=2bc3cd83b34b3f76dfb98940201f35464150fa9f;hp=8c6005b31cbe4868b70fdfa66e33c69ef89b679b;hpb=f208398528efde82bc49f48d0fef0587c1f192bb;p=oota-llvm.git diff --git a/lib/Analysis/TargetTransformInfo.cpp b/lib/Analysis/TargetTransformInfo.cpp index 8c6005b31cb..0353295345c 100644 --- a/lib/Analysis/TargetTransformInfo.cpp +++ b/lib/Analysis/TargetTransformInfo.cpp @@ -96,6 +96,11 @@ bool TargetTransformInfo::isLoweredToCall(const Function *F) const { return PrevTTI->isLoweredToCall(F); } +void TargetTransformInfo::getUnrollingPreferences(Loop *L, + UnrollingPreferences &UP) const { + PrevTTI->getUnrollingPreferences(L, UP); +} + bool TargetTransformInfo::isLegalAddImmediate(int64_t Imm) const { return PrevTTI->isLegalAddImmediate(Imm); } @@ -219,6 +224,11 @@ unsigned TargetTransformInfo::getAddressComputationCost(Type *Tp, return PrevTTI->getAddressComputationCost(Tp, IsComplex); } +unsigned TargetTransformInfo::getReductionCost(unsigned Opcode, Type *Ty, + bool IsPairwise) const { + return PrevTTI->getReductionCost(Opcode, Ty, IsPairwise); +} + namespace { struct NoTTI : ImmutablePass, TargetTransformInfo { @@ -469,6 +479,8 @@ struct NoTTI : ImmutablePass, TargetTransformInfo { return true; } + void getUnrollingPreferences(Loop *, UnrollingPreferences &) const { } + bool isLegalAddImmediate(int64_t Imm) const { return false; } @@ -585,6 +597,10 @@ struct NoTTI : ImmutablePass, TargetTransformInfo { unsigned getAddressComputationCost(Type *Tp, bool) const { return 0; } + + unsigned getReductionCost(unsigned, Type *, bool) const { + return 1; + } }; } // end anonymous namespace