Added class MachineCacheInfo.
authorVikram S. Adve <vadve@cs.uiuc.edu>
Fri, 9 Nov 2001 02:20:18 +0000 (02:20 +0000)
committerVikram S. Adve <vadve@cs.uiuc.edu>
Fri, 9 Nov 2001 02:20:18 +0000 (02:20 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1229 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/TargetMachine.cpp

index 83bd2f3a3d8895b1a05a091217ec917e490865b0..69c7cfd428343309aa8fc4ca39deeae976c5be16 100644 (file)
@@ -1,11 +1,13 @@
 //===-- TargetMachine.cpp - General Target Information ---------------------==//
 //
 // This file describes the general parts of a Target machine.
-// This file also implements the InstInfo interface as well...
+// This file also implements MachineInstrInfo and MachineCacheInfo.
 //
 //===----------------------------------------------------------------------===//
 
+#include "llvm/Target/TargetMachine.h"
 #include "llvm/Target/MachineInstrInfo.h"
+#include "llvm/Target/MachineCacheInfo.h"
 #include "llvm/DerivedTypes.h"
 
 //---------------------------------------------------------------------------
@@ -85,3 +87,27 @@ MachineInstrInfo::constantFitsInImmedField(MachineOpCode opCode,
   
   return false;
 }
+
+
+//---------------------------------------------------------------------------
+// class MachineCacheInfo 
+// 
+// Purpose:
+//   Describes properties of the target cache architecture.
+//---------------------------------------------------------------------------
+
+/*ctor*/
+MachineCacheInfo::MachineCacheInfo(const TargetMachine& tgt)
+  : target(tgt)
+{
+  Initialize();
+}
+
+void
+MachineCacheInfo::Initialize()
+{
+  numLevels = 2;
+  cacheLineSizes.push_back(16);  cacheLineSizes.push_back(32); 
+  cacheSizes.push_back(1 << 15); cacheSizes.push_back(1 << 20);
+  cacheAssoc.push_back(1);       cacheAssoc.push_back(4);
+}