//===- llvm/VMCore/TargetTransformInfo.cpp ----------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#include "llvm/TargetTransformInfo.h"
#include "llvm/Support/ErrorHandling.h"

using namespace llvm;

/// Default ctor.
///
/// @note This has to exist, because this is a pass, but it should never be
/// used.
TargetTransformInfo::TargetTransformInfo() : ImmutablePass(ID) {
  /// You are seeing this error because your pass required the TTI
  /// using a call to "getAnalysis<TargetTransformInfo>()", and you did
  /// not initialize a machine target which can provide the TTI.
  /// You should use "getAnalysisIfAvailable<TargetTransformInfo>()" instead.
  report_fatal_error("Bad TargetTransformInfo ctor used.  "
                     "Tool did not specify a TargetTransformInfo to use?");
}

INITIALIZE_PASS(TargetTransformInfo, "TargetTransformInfo",
                "Target Transform Info", false, true)
char TargetTransformInfo::ID = 0;


//===- llvm/VMCore/TargetTransformInfo.cpp ----------------------*- C++ -*-===//
//
//                     The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//

#include "llvm/TargetTransformInfo.h"
#include "llvm/Support/ErrorHandling.h"

using namespace llvm;

/// Default ctor.
///
/// @note This has to exist, because this is a pass, but it should never be
/// used.
TargetTransformInfo::TargetTransformInfo() : ImmutablePass(ID) {
  report_fatal_error("Bad TargetTransformInfo ctor used.  "
                     "Tool did not specify a TargetTransformInfo to use?");
}

INITIALIZE_PASS(TargetTransformInfo, "TargetTransformInfo",
                "Target Transform Info", false, true)
char TargetTransformInfo::ID = 0;


--- 
+++ 
@@ -17,6 +17,10 @@
 /// @note This has to exist, because this is a pass, but it should never be
 /// used.
 TargetTransformInfo::TargetTransformInfo() : ImmutablePass(ID) {
+  /// You are seeing this error because your pass required the TTI
+  /// using a call to "getAnalysis<TargetTransformInfo>()", and you did
+  /// not initialize a machine target which can provide the TTI.
+  /// You should use "getAnalysisIfAvailable<TargetTransformInfo>()" instead.
   report_fatal_error("Bad TargetTransformInfo ctor used.  "
                      "Tool did not specify a TargetTransformInfo to use?");
 }
Add a comment which explains why the assert fired and how to fix it.

git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@166467 91177308-0d34-0410-b5e6-96231b3b80d8
