[mips] Merge disassemblers into a single implementation.
[oota-llvm.git] / lib / Analysis / TargetTransformInfo.cpp
index 6bd79f667b48cb6b992d8e44b8d53407856e443d..b5440e2a2c3711d56a91c987c0175ba2ed742360 100644 (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 {
@@ -148,6 +148,10 @@ bool TargetTransformInfo::haveFastSqrt(Type *Ty) const {
   return TTIImpl->haveFastSqrt(Ty);
 }
 
+unsigned TargetTransformInfo::getFPOpCost(Type *Ty) const {
+  return TTIImpl->getFPOpCost(Ty);
+}
+
 unsigned TargetTransformInfo::getIntImmCost(const APInt &Imm, Type *Ty) const {
   return TTIImpl->getIntImmCost(Imm, Ty);
 }
@@ -280,19 +284,24 @@ char TargetTransformInfoWrapperPass::ID = 0;
 void TargetTransformInfoWrapperPass::anchor() {}
 
 TargetTransformInfoWrapperPass::TargetTransformInfoWrapperPass()
-    : ImmutablePass(ID), TTI(NoTTIImpl(/*DataLayout*/ nullptr)) {
+    : ImmutablePass(ID) {
   initializeTargetTransformInfoWrapperPassPass(
       *PassRegistry::getPassRegistry());
 }
 
 TargetTransformInfoWrapperPass::TargetTransformInfoWrapperPass(
-    TargetTransformInfo TTI)
-    : ImmutablePass(ID), TTI(std::move(TTI)) {
+    TargetIRAnalysis TIRA)
+    : ImmutablePass(ID), TIRA(std::move(TIRA)) {
   initializeTargetTransformInfoWrapperPassPass(
       *PassRegistry::getPassRegistry());
 }
 
+TargetTransformInfo &TargetTransformInfoWrapperPass::getTTI(Function &F) {
+  TTI = TIRA.run(F);
+  return *TTI;
+}
+
 ImmutablePass *
-llvm::createTargetTransformInfoWrapperPass(TargetTransformInfo TTI) {
-  return new TargetTransformInfoWrapperPass(std::move(TTI));
+llvm::createTargetTransformInfoWrapperPass(TargetIRAnalysis TIRA) {
+  return new TargetTransformInfoWrapperPass(std::move(TIRA));
 }