Refactor TargetMachine, pushing handling of TargetData into the target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference.

This fixes PR 759.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28074 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson
2006-05-03 01:29:57 +00:00
parent 0eb4d6b52e
commit a69571c799
38 changed files with 145 additions and 149 deletions

View File

@@ -85,7 +85,7 @@ protected:
AsmPrinter *Asm;
/// TD - Target data.
const TargetData &TD;
const TargetData *TD;
/// RI - Register Information.
const MRegisterInfo *RI;

View File

@@ -42,11 +42,11 @@ struct MachineConstantPoolEntry {
};
class MachineConstantPool {
const TargetData &TD;
const TargetData *TD;
unsigned PoolAlignment;
std::vector<MachineConstantPoolEntry> Constants;
public:
MachineConstantPool(const TargetData &td) : TD(td), PoolAlignment(1) {}
MachineConstantPool(const TargetData *td) : TD(td), PoolAlignment(1) {}
/// getConstantPoolAlignment - Return the log2 of the alignment required by
/// the whole constant pool, of which the first element must be aligned.

View File

@@ -37,10 +37,10 @@ struct MachineJumpTableEntry {
};
class MachineJumpTableInfo {
const TargetData &TD;
const TargetData *TD;
std::vector<MachineJumpTableEntry> JumpTables;
public:
MachineJumpTableInfo(const TargetData &td) : TD(td) {}
MachineJumpTableInfo(const TargetData *td) : TD(td) {}
/// getJumpTableIndex - Create a new jump table or return an existing one.
///