Module: Mesa
Branch: main
Commit: 73239d40290df0ec140a4d026aaddabd9f3651cc
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=73239d40290df0ec140a4d026aaddabd9f3651cc

Author: M Henning <[email protected]>
Date:   Sun Jul 16 21:56:13 2023 -0400

nouveau: Drop BuildUtil::DataArray

Reviewed-by: Karol Herbst <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24175>

---

 src/nouveau/codegen/nv50_ir_build_util.cpp | 89 ------------------------------
 src/nouveau/codegen/nv50_ir_build_util.h   | 61 --------------------
 src/nouveau/codegen/nv50_ir_util.h         | 23 --------
 3 files changed, 173 deletions(-)

diff --git a/src/nouveau/codegen/nv50_ir_build_util.cpp 
b/src/nouveau/codegen/nv50_ir_build_util.cpp
index 3da4bd18e82..afbd8a2d091 100644
--- a/src/nouveau/codegen/nv50_ir_build_util.cpp
+++ b/src/nouveau/codegen/nv50_ir_build_util.cpp
@@ -504,95 +504,6 @@ BuildUtil::mkTSVal(TSSemantic tsName)
    return sym;
 }
 
-void
-BuildUtil::DataArray::setup(unsigned array, unsigned arrayIdx,
-                            uint32_t base, int len, int vecDim, int eltSize,
-                            DataFile file, int8_t fileIdx)
-{
-   this->array = array;
-   this->arrayIdx = arrayIdx;
-   this->baseAddr = base;
-   this->arrayLen = len;
-   this->vecDim = vecDim;
-   this->eltSize = eltSize;
-   this->file = file;
-   this->regOnly = !isMemoryFile(file);
-
-   if (!regOnly) {
-      baseSym = new_Symbol(up->getProgram(), file, fileIdx);
-      baseSym->setOffset(baseAddr);
-      baseSym->reg.size = eltSize;
-   } else {
-      baseSym = NULL;
-   }
-}
-
-Value *
-BuildUtil::DataArray::acquire(ValueMap &m, int i, int c)
-{
-   if (regOnly) {
-      Value *v = lookup(m, i, c);
-      if (!v)
-         v = insert(m, i, c, new_LValue(up->getFunction(), file));
-
-      return v;
-   } else {
-      return up->getScratch(eltSize);
-   }
-}
-
-Value *
-BuildUtil::DataArray::load(ValueMap &m, int i, int c, Value *ptr)
-{
-   if (regOnly) {
-      Value *v = lookup(m, i, c);
-      if (!v)
-         v = insert(m, i, c, new_LValue(up->getFunction(), file));
-
-      return v;
-   } else {
-      Value *sym = lookup(m, i, c);
-      if (!sym)
-         sym = insert(m, i, c, mkSymbol(i, c));
-
-      return up->mkLoadv(typeOfSize(eltSize), static_cast<Symbol *>(sym), ptr);
-   }
-}
-
-void
-BuildUtil::DataArray::store(ValueMap &m, int i, int c, Value *ptr, Value 
*value)
-{
-   if (regOnly) {
-      assert(!ptr);
-      if (!lookup(m, i, c))
-         insert(m, i, c, value);
-
-      assert(lookup(m, i, c) == value);
-   } else {
-      Value *sym = lookup(m, i, c);
-      if (!sym)
-         sym = insert(m, i, c, mkSymbol(i, c));
-
-      const DataType stTy = typeOfSize(value->reg.size);
-
-      up->mkStore(OP_STORE, stTy, static_cast<Symbol *>(sym), ptr, value);
-   }
-}
-
-Symbol *
-BuildUtil::DataArray::mkSymbol(int i, int c)
-{
-   const unsigned int idx = i * vecDim + c;
-   Symbol *sym = new_Symbol(up->getProgram(), file, 0);
-
-   assert(baseSym || (idx < arrayLen && c < vecDim));
-
-   sym->reg.size = eltSize;
-   sym->reg.type = typeOfSize(eltSize);
-   sym->setAddress(baseSym, baseAddr + idx * eltSize);
-   return sym;
-}
-
 
 Instruction *
 BuildUtil::split64BitOpPostRA(Function *fn, Instruction *i,
diff --git a/src/nouveau/codegen/nv50_ir_build_util.h 
b/src/nouveau/codegen/nv50_ir_build_util.h
index 5c3a01df95f..8f66b02a7f9 100644
--- a/src/nouveau/codegen/nv50_ir_build_util.h
+++ b/src/nouveau/codegen/nv50_ir_build_util.h
@@ -135,46 +135,6 @@ public:
       unsigned array, arrayIdx, i, c;
    };
 
-   typedef bimap<Location, Value *> ValueMap;
-
-   class DataArray
-   {
-   public:
-      DataArray(BuildUtil *bld) : up(bld), array(0), arrayIdx(0), baseAddr(0),
-         arrayLen(0), baseSym(NULL), vecDim(0), eltSize(0), file(FILE_NULL),
-         regOnly(false) { }
-
-      void setup(unsigned array, unsigned arrayIdx,
-                 uint32_t base, int len, int vecDim, int eltSize,
-                 DataFile file, int8_t fileIdx);
-
-      inline bool exists(ValueMap&, unsigned int i, unsigned int c);
-
-      Value *load(ValueMap&, int i, int c, Value *ptr);
-      void store(ValueMap&, int i, int c, Value *ptr, Value *value);
-      Value *acquire(ValueMap&, int i, int c);
-
-   private:
-      inline Value *lookup(ValueMap&, unsigned i, unsigned c);
-      inline Value *insert(ValueMap&, unsigned i, unsigned c, Value *v);
-
-      Symbol *mkSymbol(int i, int c);
-
-   private:
-      BuildUtil *up;
-      unsigned array, arrayIdx;
-
-      uint32_t baseAddr;
-      uint32_t arrayLen;
-      Symbol *baseSym;
-
-      uint8_t vecDim;
-      uint8_t eltSize; // in bytes
-
-      DataFile file;
-      bool regOnly;
-   };
-
    Symbol *mkSymbol(DataFile file, int8_t fileIndex,
                     DataType ty, uint32_t baseAddress);
 
@@ -312,27 +272,6 @@ BuildUtil::mkBMov(Value *dst, Value *src)
    return mkCvt(OP_CVT, TYPE_U32, dst, TYPE_U32, src);
 }
 
-bool
-BuildUtil::DataArray::exists(ValueMap &m, unsigned int i, unsigned int c)
-{
-   assert(i < arrayLen && c < vecDim);
-   return !regOnly || m.r.count(Location(array, arrayIdx, i, c));
-}
-
-Value *
-BuildUtil::DataArray::lookup(ValueMap &m, unsigned i, unsigned c)
-{
-   ValueMap::r_iterator it = m.r.find(Location(array, arrayIdx, i, c));
-   return it != m.r.end() ? it->second : NULL;
-}
-
-Value *
-BuildUtil::DataArray::insert(ValueMap &m, unsigned i, unsigned c, Value *v)
-{
-   m.insert(Location(array, arrayIdx, i, c), v);
-   return v;
-}
-
 } // namespace nv50_ir
 
 #endif // __NV50_IR_BUILD_UTIL_H__
diff --git a/src/nouveau/codegen/nv50_ir_util.h 
b/src/nouveau/codegen/nv50_ir_util.h
index aa88e3575b3..8edd06edbe1 100644
--- a/src/nouveau/codegen/nv50_ir_util.h
+++ b/src/nouveau/codegen/nv50_ir_util.h
@@ -764,29 +764,6 @@ protected:
    }
 };
 
-template<typename S, typename T>
-struct bimap
-{
-   std::map<S, T> forth;
-   std::map<T, S> back;
-
-public:
-   bimap() : l(back), r(forth) { }
-   bimap(const bimap<S, T> &m)
-      : forth(m.forth), back(m.back), l(back), r(forth) { }
-
-   void insert(const S &s, const T &t)
-   {
-      forth.insert(std::make_pair(s, t));
-      back.insert(std::make_pair(t, s));
-   }
-
-   typedef typename std::map<T, S>::const_iterator l_iterator;
-   const std::map<T, S> &l;
-   typedef typename std::map<S, T>::const_iterator r_iterator;
-   const std::map<S, T> &r;
-};
-
 } // namespace nv50_ir
 
 #endif // __NV50_IR_UTIL_H__

Reply via email to