diff options
author | Chris Lattner <sabre@nondot.org> | 2002-10-28 23:55:33 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-10-28 23:55:33 +0000 |
commit | 93fa70598c88fe14ebe4b3752daab4ea265233e1 (patch) | |
tree | d5f6f8339cdec87cfb30097abc1cdd2abb521b2d /lib/Target/TargetMachine.cpp | |
parent | 75276f150e081464300810c58934abcc9c4b9f53 (diff) |
Seperate code out of TargetMachine into MachineInstrInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4368 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/TargetMachine.cpp')
-rw-r--r-- | lib/Target/TargetMachine.cpp | 65 |
1 files changed, 3 insertions, 62 deletions
diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp index 31277ff3cd..2d0d330d8d 100644 --- a/lib/Target/TargetMachine.cpp +++ b/lib/Target/TargetMachine.cpp @@ -1,14 +1,13 @@ //===-- TargetMachine.cpp - General Target Information ---------------------==// // // This file describes the general parts of a Target machine. -// This file also implements MachineInstrInfo and MachineCacheInfo. +// This file also implements MachineCacheInfo. // //===----------------------------------------------------------------------===// #include "llvm/Target/TargetMachine.h" -#include "llvm/Target/MachineInstrInfo.h" #include "llvm/Target/MachineCacheInfo.h" -#include "llvm/Function.h" +#include "llvm/Type.h" //--------------------------------------------------------------------------- // class TargetMachine @@ -45,71 +44,13 @@ TargetMachine::findOptimalStorageSize(const Type* ty) const //--------------------------------------------------------------------------- -// class MachineInstructionInfo -// Interface to description of machine instructions -//--------------------------------------------------------------------------- - - -/*ctor*/ -MachineInstrInfo::MachineInstrInfo(const TargetMachine& tgt, - const MachineInstrDescriptor* _desc, - unsigned int _descSize, - unsigned int _numRealOpCodes) - : target(tgt), - desc(_desc), descSize(_descSize), numRealOpCodes(_numRealOpCodes) -{ - // FIXME: TargetInstrDescriptors should not be global - assert(TargetInstrDescriptors == NULL && desc != NULL); - TargetInstrDescriptors = desc; // initialize global variable -} - - -MachineInstrInfo::~MachineInstrInfo() -{ - TargetInstrDescriptors = NULL; // reset global variable -} - - -bool -MachineInstrInfo::constantFitsInImmedField(MachineOpCode opCode, - int64_t intValue) const -{ - // First, check if opCode has an immed field. - bool isSignExtended; - uint64_t maxImmedValue = maxImmedConstant(opCode, isSignExtended); - if (maxImmedValue != 0) - { - // NEED TO HANDLE UNSIGNED VALUES SINCE THEY MAY BECOME MUCH - // SMALLER AFTER CASTING TO SIGN-EXTENDED int, short, or char. - // See CreateUIntSetInstruction in SparcInstrInfo.cpp. - - // Now check if the constant fits - if (intValue <= (int64_t) maxImmedValue && - intValue >= -((int64_t) maxImmedValue+1)) - return true; - } - - return false; -} - - -//--------------------------------------------------------------------------- // class MachineCacheInfo // // Purpose: // Describes properties of the target cache architecture. //--------------------------------------------------------------------------- -/*ctor*/ -MachineCacheInfo::MachineCacheInfo(const TargetMachine& tgt) - : target(tgt) -{ - Initialize(); -} - -void -MachineCacheInfo::Initialize() -{ +void MachineCacheInfo::Initialize() { numLevels = 2; cacheLineSizes.push_back(16); cacheLineSizes.push_back(32); cacheSizes.push_back(1 << 15); cacheSizes.push_back(1 << 20); |