Remove two fields from TargetData which are target specific.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-04-26 20:11:09 +00:00
parent 37ec811409
commit 10daaa1416
7 changed files with 4 additions and 19 deletions

View File

@ -24,7 +24,6 @@ class StructLayout;
class TargetData : public ImmutablePass { class TargetData : public ImmutablePass {
bool LittleEndian; // Defaults to false bool LittleEndian; // Defaults to false
unsigned char SubWordDataSize; // Defaults to 1 byte (no rounding up)
unsigned char ByteAlignment; // Defaults to 1 bytes unsigned char ByteAlignment; // Defaults to 1 bytes
unsigned char ShortAlignment; // Defaults to 2 bytes unsigned char ShortAlignment; // Defaults to 2 bytes
unsigned char IntAlignment; // Defaults to 4 bytes unsigned char IntAlignment; // Defaults to 4 bytes
@ -32,7 +31,6 @@ class TargetData : public ImmutablePass {
unsigned char FloatAlignment; // Defaults to 4 bytes unsigned char FloatAlignment; // Defaults to 4 bytes
unsigned char DoubleAlignment; // Defaults to 8 bytes unsigned char DoubleAlignment; // Defaults to 8 bytes
unsigned char PointerSize; // Defaults to 8 bytes unsigned char PointerSize; // Defaults to 8 bytes
unsigned char IntegerRegSize; // Defaults to PointerSize = 8 bytes
unsigned char PointerAlignment; // Defaults to 8 bytes unsigned char PointerAlignment; // Defaults to 8 bytes
AnnotationID AID; // AID for structure layout annotation AnnotationID AID; // AID for structure layout annotation
@ -40,8 +38,6 @@ class TargetData : public ImmutablePass {
public: public:
TargetData(const std::string &TargetName = "", TargetData(const std::string &TargetName = "",
bool LittleEndian = false, bool LittleEndian = false,
unsigned char SubWordDataSize = 1,
unsigned char IntRegSize = 8,
unsigned char PtrSize = 8, unsigned char PtrSize = 8,
unsigned char PtrAl = 8, unsigned char DoubleAl = 8, unsigned char PtrAl = 8, unsigned char DoubleAl = 8,
unsigned char FloatAl = 4, unsigned char LongAl = 8, unsigned char FloatAl = 4, unsigned char LongAl = 8,
@ -55,7 +51,6 @@ public:
bool isBigEndian() const { return !LittleEndian; } bool isBigEndian() const { return !LittleEndian; }
/// Target alignment constraints /// Target alignment constraints
unsigned char getSubWordDataSize() const { return SubWordDataSize; }
unsigned char getByteAlignment() const { return ByteAlignment; } unsigned char getByteAlignment() const { return ByteAlignment; }
unsigned char getShortAlignment() const { return ShortAlignment; } unsigned char getShortAlignment() const { return ShortAlignment; }
unsigned char getIntAlignment() const { return IntAlignment; } unsigned char getIntAlignment() const { return IntAlignment; }
@ -64,7 +59,6 @@ public:
unsigned char getDoubleAlignment() const { return DoubleAlignment; } unsigned char getDoubleAlignment() const { return DoubleAlignment; }
unsigned char getPointerAlignment() const { return PointerAlignment; } unsigned char getPointerAlignment() const { return PointerAlignment; }
unsigned char getPointerSize() const { return PointerSize; } unsigned char getPointerSize() const { return PointerSize; }
unsigned char getIntegerRegSize() const { return IntegerRegSize; }
AnnotationID getStructLayoutAID() const { return AID; } AnnotationID getStructLayoutAID() const { return AID; }
// getTypeSize - Return the number of bytes neccesary to hold the specified // getTypeSize - Return the number of bytes neccesary to hold the specified

View File

@ -35,12 +35,11 @@ class TargetMachine : public NonCopyableV {
protected: protected:
TargetMachine(const std::string &name, // Can only create subclasses... TargetMachine(const std::string &name, // Can only create subclasses...
bool LittleEndian = false, bool LittleEndian = false,
unsigned char SubWordSize = 1, unsigned char IntRegSize = 8,
unsigned char PtrSize = 8, unsigned char PtrAl = 8, unsigned char PtrSize = 8, unsigned char PtrAl = 8,
unsigned char DoubleAl = 8, unsigned char FloatAl = 4, unsigned char DoubleAl = 8, unsigned char FloatAl = 4,
unsigned char LongAl = 8, unsigned char IntAl = 4, unsigned char LongAl = 8, unsigned char IntAl = 4,
unsigned char ShortAl = 2, unsigned char ByteAl = 1) unsigned char ShortAl = 2, unsigned char ByteAl = 1)
: Name(name), DataLayout(name, LittleEndian, SubWordSize, IntRegSize, : Name(name), DataLayout(name, LittleEndian,
PtrSize, PtrAl, DoubleAl, FloatAl, LongAl, PtrSize, PtrAl, DoubleAl, FloatAl, LongAl,
IntAl, ShortAl, ByteAl) {} IntAl, ShortAl, ByteAl) {}
public: public:

View File

@ -25,7 +25,6 @@ Interpreter::Interpreter(Module *M, unsigned Config,
bool DebugMode, bool TraceMode) bool DebugMode, bool TraceMode)
: ExecutionEngine(M), ExitCode(0), Debug(DebugMode), Trace(TraceMode), : ExecutionEngine(M), ExitCode(0), Debug(DebugMode), Trace(TraceMode),
CurFrame(-1), TD("lli", (Config & TM::EndianMask) == TM::LittleEndian, CurFrame(-1), TD("lli", (Config & TM::EndianMask) == TM::LittleEndian,
1, 4,
(Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4,
(Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4,
(Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4) { (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4) {

View File

@ -129,7 +129,7 @@ UltraSparcFrameInfo::getDynamicAreaOffset(MachineFunction& mcInfo,
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
UltraSparc::UltraSparc() UltraSparc::UltraSparc()
: TargetMachine("UltraSparc-Native", false, 4), : TargetMachine("UltraSparc-Native", false),
schedInfo(*this), schedInfo(*this),
regInfo(*this), regInfo(*this),
frameInfo(*this), frameInfo(*this),

View File

@ -82,8 +82,7 @@ Annotation *TargetData::TypeAnFactory(AnnotationID AID, const Annotable *T,
//===----------------------------------------------------------------------===// //===----------------------------------------------------------------------===//
TargetData::TargetData(const std::string &TargetName, TargetData::TargetData(const std::string &TargetName,
bool isLittleEndian, unsigned char SubWordSize, bool isLittleEndian, unsigned char PtrSize,
unsigned char IntRegSize, unsigned char PtrSize,
unsigned char PtrAl, unsigned char DoubleAl, unsigned char PtrAl, unsigned char DoubleAl,
unsigned char FloatAl, unsigned char LongAl, unsigned char FloatAl, unsigned char LongAl,
unsigned char IntAl, unsigned char ShortAl, unsigned char IntAl, unsigned char ShortAl,
@ -99,8 +98,6 @@ TargetData::TargetData(const std::string &TargetName,
"ERROR: Tool did not specify a target data to use!"); "ERROR: Tool did not specify a target data to use!");
LittleEndian = isLittleEndian; LittleEndian = isLittleEndian;
SubWordDataSize = SubWordSize;
IntegerRegSize = IntRegSize;
PointerSize = PtrSize; PointerSize = PtrSize;
PointerAlignment = PtrAl; PointerAlignment = PtrAl;
DoubleAlignment = DoubleAl; DoubleAlignment = DoubleAl;
@ -118,8 +115,6 @@ TargetData::TargetData(const std::string &ToolName, const Module *M)
AnnotationManager::registerAnnotationFactory(AID, TypeAnFactory, this); AnnotationManager::registerAnnotationFactory(AID, TypeAnFactory, this);
LittleEndian = M->isLittleEndian(); LittleEndian = M->isLittleEndian();
SubWordDataSize = 1;
IntegerRegSize = 8;
PointerSize = M->has32BitPointers() ? 4 : 8; PointerSize = M->has32BitPointers() ? 4 : 8;
PointerAlignment = PointerSize; PointerAlignment = PointerSize;
DoubleAlignment = PointerSize; DoubleAlignment = PointerSize;

View File

@ -35,7 +35,6 @@ TargetMachine *allocateX86TargetMachine(unsigned Configuration) {
X86TargetMachine::X86TargetMachine(unsigned Config) X86TargetMachine::X86TargetMachine(unsigned Config)
: TargetMachine("X86", : TargetMachine("X86",
(Config & TM::EndianMask) == TM::LittleEndian, (Config & TM::EndianMask) == TM::LittleEndian,
1, 4,
(Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4,
(Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4, (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4,
(Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4), (Config & TM::PtrSizeMask) == TM::PtrSize64 ? 8 : 4),

View File

@ -184,8 +184,7 @@ main(int argc, char **argv)
// Build up all of the passes that we want to do to the module... // Build up all of the passes that we want to do to the module...
PassManager Passes; PassManager Passes;
Passes.add(new TargetData("llc", TD.isLittleEndian(), TD.getSubWordDataSize(), Passes.add(new TargetData("llc", TD.isLittleEndian(), TD.getPointerSize(),
TD.getIntegerRegSize(), TD.getPointerSize(),
TD.getPointerAlignment(), TD.getDoubleAlignment())); TD.getPointerAlignment(), TD.getDoubleAlignment()));
// Create a new optimization pass for each one specified on the command line // Create a new optimization pass for each one specified on the command line