Remove target specific code, move to TargetData.cpp file
authorChris Lattner <sabre@nondot.org>
Mon, 27 Aug 2001 15:49:16 +0000 (15:49 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 27 Aug 2001 15:49:16 +0000 (15:49 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@377 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/DerivedTypes.h

index 6b3fd1fc48be6be6ccf9820e270c9a4c45c148f8..eae4b7357e6ef84291ddc983d6f9e618f94d61ab 100644 (file)
 #define LLVM_DERIVED_TYPES_H
 
 #include "llvm/Type.h"
-#include "llvm/CodeGen/TargetMachine.h"
 #include <vector>
 
 // Future derived types: SIMD packed format
 
-
 class MethodType : public Type {
 public:
   typedef vector<const Type*> ParamTypes;
@@ -87,13 +85,7 @@ public:
 
 private:
   ElementTypes ETypes;
-  struct StructSizeAndOffsetInfo {
-    int storageSize;                   // -1 until the value is computd
-    vector<int> memberOffsets;         // -1 until values are computed 
-    const TargetMachine* targetInfo;
-  } *layoutCache;
-  
-private:
+
   StructType(const StructType &);                   // Do not implement
   const StructType &operator=(const StructType &);  // Do not implement
   
@@ -105,53 +97,12 @@ protected:
   // Private ctor - Only can be created by a static member...
   StructType(const vector<const Type*> &Types, const string &Name);
   
-  // Reset cached info so it will be computed when first requested
-  void ResetCachedInfo() const {
-    layoutCache->storageSize = -1;
-    layoutCache->memberOffsets.insert(layoutCache->memberOffsets.begin(),
-                                     ETypes.size(), -1);
-    layoutCache->targetInfo = 0;
-  }
-  
 public:
   inline const ElementTypes &getElementTypes() const { return ETypes; }
   static const StructType *getStructType(const ElementTypes &Params);
   static const StructType *get(const ElementTypes &Params) {
     return getStructType(Params);
   }
-
-
-  unsigned int getStorageSize(const TargetMachine& tmi) const {
-    if (layoutCache->targetInfo && layoutCache->targetInfo != &tmi) {
-      // target machine has changed (hey it could happen). discard cached info.
-      ResetCachedInfo();
-      layoutCache->targetInfo = &tmi;
-    }
-  
-    if (layoutCache->storageSize < 0) {
-      layoutCache->storageSize = tmi.findOptimalStorageSize(this);
-      assert(layoutCache->storageSize >= 0);
-    }
-    return layoutCache->storageSize;
-  }
-  unsigned int getElementOffset(int i, const TargetMachine& tmi) const {
-    // target machine has changed (hey it could happen). discard cached info.
-    if (layoutCache->targetInfo && layoutCache->targetInfo != &tmi)
-      ResetCachedInfo();
-  
-    if (layoutCache->memberOffsets[i] < 0) {
-      layoutCache->targetInfo = &tmi;  // remember which target was used
-      
-      unsigned int *offsetVec = tmi.findOptimalMemberOffsets(this);
-      for (unsigned i=0, N=layoutCache->memberOffsets.size(); i < N; ++i) {
-       layoutCache->memberOffsets[i] = offsetVec[i];
-       assert(layoutCache->memberOffsets[i] >= 0);
-      }
-      delete[] offsetVec; 
-    }
-    
-    return layoutCache->memberOffsets[i];
-  }
 };