mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 04:33:05 +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 {
|
||||
bool LittleEndian; // Defaults to false
|
||||
unsigned char SubWordDataSize; // Defaults to 1 byte (no rounding up)
|
||||
unsigned char ByteAlignment; // Defaults to 1 bytes
|
||||
unsigned char ShortAlignment; // Defaults to 2 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 DoubleAlignment; // 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
|
||||
AnnotationID AID; // AID for structure layout annotation
|
||||
|
||||
@ -40,8 +38,6 @@ class TargetData : public ImmutablePass {
|
||||
public:
|
||||
TargetData(const std::string &TargetName = "",
|
||||
bool LittleEndian = false,
|
||||
unsigned char SubWordDataSize = 1,
|
||||
unsigned char IntRegSize = 8,
|
||||
unsigned char PtrSize = 8,
|
||||
unsigned char PtrAl = 8, unsigned char DoubleAl = 8,
|
||||
unsigned char FloatAl = 4, unsigned char LongAl = 8,
|
||||
@ -55,7 +51,6 @@ public:
|
||||
bool isBigEndian() const { return !LittleEndian; }
|
||||
|
||||
/// Target alignment constraints
|
||||
unsigned char getSubWordDataSize() const { return SubWordDataSize; }
|
||||
unsigned char getByteAlignment() const { return ByteAlignment; }
|
||||
unsigned char getShortAlignment() const { return ShortAlignment; }
|
||||
unsigned char getIntAlignment() const { return IntAlignment; }
|
||||
@ -64,7 +59,6 @@ public:
|
||||
unsigned char getDoubleAlignment() const { return DoubleAlignment; }
|
||||
unsigned char getPointerAlignment() const { return PointerAlignment; }
|
||||
unsigned char getPointerSize() const { return PointerSize; }
|
||||
unsigned char getIntegerRegSize() const { return IntegerRegSize; }
|
||||
AnnotationID getStructLayoutAID() const { return AID; }
|
||||
|
||||
// getTypeSize - Return the number of bytes neccesary to hold the specified
|
||||
|
@ -35,12 +35,11 @@ class TargetMachine : public NonCopyableV {
|
||||
protected:
|
||||
TargetMachine(const std::string &name, // Can only create subclasses...
|
||||
bool LittleEndian = false,
|
||||
unsigned char SubWordSize = 1, unsigned char IntRegSize = 8,
|
||||
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)
|
||||
: Name(name), DataLayout(name, LittleEndian, SubWordSize, IntRegSize,
|
||||
: Name(name), DataLayout(name, LittleEndian,
|
||||
PtrSize, PtrAl, DoubleAl, FloatAl, LongAl,
|
||||
IntAl, ShortAl, ByteAl) {}
|
||||
public:
|
||||
|
@ -25,7 +25,6 @@ Interpreter::Interpreter(Module *M, unsigned Config,
|
||||
bool DebugMode, bool TraceMode)
|
||||
: ExecutionEngine(M), ExitCode(0), Debug(DebugMode), Trace(TraceMode),
|
||||
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) {
|
||||
|
@ -129,7 +129,7 @@ UltraSparcFrameInfo::getDynamicAreaOffset(MachineFunction& mcInfo,
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
UltraSparc::UltraSparc()
|
||||
: TargetMachine("UltraSparc-Native", false, 4),
|
||||
: TargetMachine("UltraSparc-Native", false),
|
||||
schedInfo(*this),
|
||||
regInfo(*this),
|
||||
frameInfo(*this),
|
||||
|
@ -82,8 +82,7 @@ Annotation *TargetData::TypeAnFactory(AnnotationID AID, const Annotable *T,
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
TargetData::TargetData(const std::string &TargetName,
|
||||
bool isLittleEndian, unsigned char SubWordSize,
|
||||
unsigned char IntRegSize, unsigned char PtrSize,
|
||||
bool isLittleEndian, unsigned char PtrSize,
|
||||
unsigned char PtrAl, unsigned char DoubleAl,
|
||||
unsigned char FloatAl, unsigned char LongAl,
|
||||
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!");
|
||||
|
||||
LittleEndian = isLittleEndian;
|
||||
SubWordDataSize = SubWordSize;
|
||||
IntegerRegSize = IntRegSize;
|
||||
PointerSize = PtrSize;
|
||||
PointerAlignment = PtrAl;
|
||||
DoubleAlignment = DoubleAl;
|
||||
@ -118,8 +115,6 @@ TargetData::TargetData(const std::string &ToolName, const Module *M)
|
||||
AnnotationManager::registerAnnotationFactory(AID, TypeAnFactory, this);
|
||||
|
||||
LittleEndian = M->isLittleEndian();
|
||||
SubWordDataSize = 1;
|
||||
IntegerRegSize = 8;
|
||||
PointerSize = M->has32BitPointers() ? 4 : 8;
|
||||
PointerAlignment = PointerSize;
|
||||
DoubleAlignment = PointerSize;
|
||||
|
@ -35,7 +35,6 @@ TargetMachine *allocateX86TargetMachine(unsigned Configuration) {
|
||||
X86TargetMachine::X86TargetMachine(unsigned Config)
|
||||
: TargetMachine("X86",
|
||||
(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),
|
||||
|
@ -184,8 +184,7 @@ main(int argc, char **argv)
|
||||
// Build up all of the passes that we want to do to the module...
|
||||
PassManager Passes;
|
||||
|
||||
Passes.add(new TargetData("llc", TD.isLittleEndian(), TD.getSubWordDataSize(),
|
||||
TD.getIntegerRegSize(), TD.getPointerSize(),
|
||||
Passes.add(new TargetData("llc", TD.isLittleEndian(), TD.getPointerSize(),
|
||||
TD.getPointerAlignment(), TD.getDoubleAlignment()));
|
||||
|
||||
// Create a new optimization pass for each one specified on the command line
|
||||
|
Loading…
Reference in New Issue
Block a user