diff options
author | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-09-18 13:10:05 +0000 |
---|---|---|
committer | Vikram S. Adve <vadve@cs.uiuc.edu> | 2001-09-18 13:10:05 +0000 |
commit | e6cbbfeeadd0266f06da3a04e16c14258325a806 (patch) | |
tree | 996afaa4121396436f21895f55b9f50847dc3649 /include/llvm/Target/Machine.h | |
parent | f1adecc7c7d45c8795f3809ac41082fe46486cd6 (diff) |
Renamed files to match the primary classes they provide.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@620 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/Machine.h')
-rw-r--r-- | include/llvm/Target/Machine.h | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/include/llvm/Target/Machine.h b/include/llvm/Target/Machine.h deleted file mode 100644 index 3320c35b34..0000000000 --- a/include/llvm/Target/Machine.h +++ /dev/null @@ -1,84 +0,0 @@ -//===-- llvm/Target/Machine.h - General Target Information -------*- C++ -*-==// -// -// This file describes the general parts of a Target machine. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_TARGET_MACHINE_H -#define LLVM_TARGET_MACHINE_H - -#include "llvm/Target/Data.h" -#include "llvm/Support/NonCopyable.h" -#include <string> - -class TargetMachine; -class MachineInstrInfo; -class MachineInstrDescriptor; -class MachineRegInfo; - -//--------------------------------------------------------------------------- -// Data types used to define information about a single machine instruction -//--------------------------------------------------------------------------- - -typedef int MachineOpCode; -typedef int OpCodeMask; - - -//--------------------------------------------------------------------------- -// class TargetMachine -// -// Purpose: -// Primary interface to machine description for the target machine. -// -//--------------------------------------------------------------------------- - -class TargetMachine : public NonCopyableV { -public: - const string TargetName; - const TargetData DataLayout; // Calculates type size & alignment - int optSizeForSubWordData; - int minMemOpWordSize; - int maxAtomicMemOpWordSize; - - // Register information. This needs to be reorganized into a single class. - int zeroRegNum; // register that gives 0 if any (-1 if none) - -protected: - TargetMachine(const string &targetname, // Can only create subclasses... - unsigned char PtrSize = 8, unsigned char PtrAl = 8, - unsigned char DoubleAl = 8, unsigned char FloatAl = 4, - unsigned char LongAl = 8, unsigned char IntAl = 4, - unsigned char ShortAl = 2, unsigned char ByteAl = 1) - : TargetName(targetname), DataLayout(targetname, PtrSize, PtrAl, - DoubleAl, FloatAl, LongAl, IntAl, - ShortAl, ByteAl) { } -public: - virtual ~TargetMachine() {} - - virtual const MachineInstrInfo& getInstrInfo() const = 0; - - virtual const MachineRegInfo& getRegInfo() const = 0; - - virtual unsigned int findOptimalStorageSize (const Type* ty) const; - - // This really should be in the register info class - virtual bool regsMayBeAliased (unsigned int regNum1, - unsigned int regNum2) const { - return (regNum1 == regNum2); - } - - // compileMethod - This does everything neccesary to compile a method into the - // built in representation. This allows the target to have complete control - // over how it does compilation. This does not emit assembly or output - // machine code however, this is done later. - // - virtual bool compileMethod(Method *M) = 0; - - // emitAssembly - Output assembly language code (a .s file) for the specified - // method. The specified method must have been compiled before this may be - // used. - // - virtual void emitAssembly(Method *M, ostream &OutStr) { /* todo */ } -}; - -#endif |