summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeon/AMDILModuleInfo.h
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2012-04-25 11:55:01 -0400
committerTom Stellard <[email protected]>2012-04-25 12:52:43 -0400
commit540ec964db1c0046935def3c85b2a5c7bd634782 (patch)
treebb8b4d49e6a64151f9442e572e6456861904f56d /src/gallium/drivers/radeon/AMDILModuleInfo.h
parent914244e59d6ad08ec2dd815129c6e75b32843d80 (diff)
radeon/llvm: Remove AMDILModuleInfo.cpp
Diffstat (limited to 'src/gallium/drivers/radeon/AMDILModuleInfo.h')
-rw-r--r--src/gallium/drivers/radeon/AMDILModuleInfo.h159
1 files changed, 0 insertions, 159 deletions
diff --git a/src/gallium/drivers/radeon/AMDILModuleInfo.h b/src/gallium/drivers/radeon/AMDILModuleInfo.h
deleted file mode 100644
index 5111b87c338..00000000000
--- a/src/gallium/drivers/radeon/AMDILModuleInfo.h
+++ /dev/null
@@ -1,159 +0,0 @@
-//===--------------- AMDILModuleInfo.h -------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//==-----------------------------------------------------------------------===//
-//
-// This is an MMI implementation for AMDIL targets.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _AMDIL_MACHINE_MODULE_INFO_H_
-#define _AMDIL_MACHINE_MODULE_INFO_H_
-#include "AMDIL.h"
-#include "AMDILKernel.h"
-#include "llvm/ADT/DenseMap.h"
-#include "llvm/ADT/DenseSet.h"
-#include "llvm/ADT/SmallSet.h"
-#include "llvm/ADT/SmallVector.h"
-#include "llvm/ADT/StringMap.h"
-#include "llvm/CodeGen/MachineModuleInfo.h"
-#include "llvm/Module.h"
-#include "llvm/Support/raw_ostream.h"
-
-#include <set>
-#include <string>
-
-namespace llvm {
- class AMDILKernel;
- class Argument;
- class TypeSymbolTable;
- class GlobalValue;
- class MachineFunction;
- class GlobalValue;
-
- class AMDILModuleInfo : public MachineModuleInfoImpl {
- protected:
- const MachineModuleInfo *mMMI;
- public:
- AMDILModuleInfo(const MachineModuleInfo &);
- virtual ~AMDILModuleInfo();
-
- void processModule(const Module *MF, const AMDILTargetMachine* mTM);
-
- /// Process the given module and parse out the global variable metadata passed
- /// down from the frontend-compiler
-
- /// Returns true if the image ID corresponds to a read only image.
- bool isReadOnlyImage(const llvm::StringRef &name, uint32_t iID) const;
-
- /// Returns true if the image ID corresponds to a write only image.
- bool isWriteOnlyImage(const llvm::StringRef &name, uint32_t iID) const;
-
- /// Gets the group size of the kernel for the given dimension.
- uint32_t getRegion(const llvm::StringRef &name, uint32_t dim) const;
-
- /// Get the offset of the array for the kernel.
- int32_t getArrayOffset(const llvm::StringRef &name) const;
-
- /// Get the offset of the const memory for the kernel.
- int32_t getConstOffset(const llvm::StringRef &name) const;
-
- /// Get the boolean value if this particular constant uses HW or not.
- bool getConstHWBit(const llvm::StringRef &name) const;
-
- /// Get a reference to the kernel metadata information for the given function
- /// name.
- AMDILKernel *getKernel(const llvm::StringRef &name);
- bool isKernel(const llvm::StringRef &name) const;
-
- /// Dump the data section to the output stream for the given kernel.
- //void dumpDataSection(llvm::raw_ostream &O, AMDILKernelManager *km);
-
- /// Iterate through the constants that are global to the compilation unit.
- StringMap<AMDILConstPtr>::iterator consts_begin();
- StringMap<AMDILConstPtr>::iterator consts_end();
-
- /// Query if the kernel has a byte store.
- bool byteStoreExists(llvm::StringRef S) const;
-
- /// Query if the constant pointer is an argument.
- bool isConstPtrArgument(const AMDILKernel *krnl, const llvm::StringRef &arg);
-
- /// Query if the constant pointer is an array that is globally scoped.
- bool isConstPtrArray(const AMDILKernel *krnl, const llvm::StringRef &arg);
-
- /// Query the size of the constant pointer.
- uint32_t getConstPtrSize(const AMDILKernel *krnl, const llvm::StringRef &arg);
-
- /// Query the offset of the constant pointer.
- uint32_t getConstPtrOff(const AMDILKernel *krnl, const llvm::StringRef &arg);
-
- /// Query the constant buffer number for a constant pointer.
- uint32_t getConstPtrCB(const AMDILKernel *krnl, const llvm::StringRef &arg);
-
- /// Query the Value* that the constant pointer originates from.
- const Value *getConstPtrValue(const AMDILKernel *krnl, const llvm::StringRef &arg);
-
- /// Get the ID of the argument.
- int32_t getArgID(const Argument *arg);
-
- /// Get the unique function ID for the specific function name and create a new
- /// unique ID if it is not found.
- uint32_t getOrCreateFunctionID(const GlobalValue* func);
- uint32_t getOrCreateFunctionID(const std::string& func);
-
- /// Calculate the offsets of the constant pool for the given kernel and
- /// machine function.
- void calculateCPOffsets(const MachineFunction *MF, AMDILKernel *krnl);
-
- void add_printf_offset(uint32_t offset) { mPrintfOffset += offset; }
- uint32_t get_printf_offset() { return mPrintfOffset; }
-
- private:
- /// Various functions that parse global value information and store them in
- /// the global manager. This approach is used instead of dynamic parsing as it
- /// might require more space, but should allow caching of data that gets
- /// requested multiple times.
- AMDILKernelAttr parseSGV(const GlobalValue *GV);
- AMDILLocalArg parseLVGV(const GlobalValue *GV);
- void parseGlobalAnnotate(const GlobalValue *G);
- void parseImageAnnotate(const GlobalValue *G);
- void parseConstantPtrAnnotate(const GlobalValue *G);
- void printConstantValue(const Constant *CAval,
- llvm::raw_ostream& O,
- bool asByte);
- void parseKernelInformation(const Value *V);
- void parseAutoArray(const GlobalValue *G, bool isRegion);
- void parseConstantPtr(const GlobalValue *G);
- void allocateGlobalCB();
- bool checkConstPtrsUseHW(Module::const_iterator *F);
-
- llvm::StringMap<AMDILKernel*> mKernels;
- llvm::StringMap<AMDILKernelAttr> mKernelArgs;
- llvm::StringMap<AMDILArrayMem> mArrayMems;
- llvm::StringMap<AMDILConstPtr> mConstMems;
- llvm::StringMap<AMDILLocalArg> mLocalArgs;
- llvm::StringMap<uint32_t> mFuncNames;
- llvm::DenseMap<const GlobalValue*, uint32_t> mFuncPtrNames;
- llvm::DenseMap<uint32_t, llvm::StringRef> mImageNameMap;
- std::set<llvm::StringRef> mByteStore;
- std::set<llvm::StringRef> mIgnoreStr;
- llvm::DenseMap<const Argument *, int32_t> mArgIDMap;
- const TypeSymbolTable *symTab;
- const AMDILSubtarget *mSTM;
- size_t mOffset;
- uint32_t mReservedBuffs;
- uint32_t mCurrentCPOffset;
- uint32_t mPrintfOffset;
- };
-
-
-
-} // end namespace llvm
-
-#endif // _AMDIL_COFF_MACHINE_MODULE_INFO_H_
-