Eliminate the distinction between "real" and "unreal" instructions
[oota-llvm.git] / include / llvm / Target / TargetCacheInfo.h
index 67b549caa19e80078756de5668ee994be85249d1..357adf0685128768df644d8c6e72ec874de40fe8 100644 (file)
@@ -1,40 +1,40 @@
-// $Id$ -*-c++-*-
-//***************************************************************************
-// File:
-//     MachineCacheInfo.h
+//===-- llvm/Target/TargetCacheInfo.h ---------------------------*- C++ -*-===//
 // 
-// Purpose:
-//      Describes properties of the target cache architecture.
-//**************************************************************************/
+//                     The LLVM Compiler Infrastructure
+//
+// This file was developed by the LLVM research group and is distributed under
+// the University of Illinois Open Source License. See LICENSE.TXT for details.
+// 
+//===----------------------------------------------------------------------===//
+//
+//  Describes properties of the target cache architecture.
+//
+//===----------------------------------------------------------------------===//
 
-#ifndef LLVM_TARGET_MACHINECACHEINFO_H
-#define LLVM_TARGET_MACHINECACHEINFO_H
+#ifndef LLVM_TARGET_TARGETCACHEINFO_H
+#define LLVM_TARGET_TARGETCACHEINFO_H
 
-#include "llvm/Target/TargetMachine.h"
-#include "llvm/Support/DataTypes.h"
-#include <vector>
+#include "Support/DataTypes.h"
 
+namespace llvm {
 
-//---------------------------------------------------------------------------
-// class MachineCacheInfo 
-// 
-// Purpose:
-//   Describes properties of the target cache architecture.
-//---------------------------------------------------------------------------
+class TargetMachine;
 
-class MachineCacheInfo : public NonCopyableV {
-public:
-  const TargetMachine& target;
-  
+struct TargetCacheInfo {
+  const TargetMachine &target;
+  TargetCacheInfo(const TargetCacheInfo&); // DO NOT IMPLEMENT
+  void operator=(const TargetCacheInfo&);  // DO NOT IMPLEMENT
 protected:
   unsigned int           numLevels;
-  vector<unsigned short> cacheLineSizes;
-  vector<unsigned int>   cacheSizes;
-  vector<unsigned short> cacheAssoc;
+  std::vector<unsigned short> cacheLineSizes;
+  std::vector<unsigned int>   cacheSizes;
+  std::vector<unsigned short> cacheAssoc;
   
 public:
-  /*ctor*/          MachineCacheInfo    (const TargetMachine& tgt);
-  /*dtor*/ virtual ~MachineCacheInfo    () {}
+  TargetCacheInfo(const TargetMachine& tgt) : target(tgt) {
+    Initialize();
+  }
+  virtual ~TargetCacheInfo() {}
   
   // Default parameters are:
   //    NumLevels    = 2
@@ -61,7 +61,6 @@ public:
   }
 };
 
-
-//---------------------------------------------------------------------------
+} // End llvm namespace
 
 #endif