mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
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:
parent
37ec811409
commit
10daaa1416
@ -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
|
||||||
|
@ -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:
|
||||||
|
@ -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) {
|
||||||
|
@ -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),
|
||||||
|
@ -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;
|
||||||
|
@ -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),
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user