summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMTargetMachine.h
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-10-03 18:59:45 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-10-03 18:59:45 +0000
commit66e08d43d25c33e1b0dd8275ec113b1412d6c6e4 (patch)
tree1040b65cfe82830b6d4daeb025042100491b5a93 /llvm/lib/Target/ARM/ARMTargetMachine.h
parentb44b202d66172a9c0f6a46e70db7be2868105d85 (diff)
downloadbcm5719-llvm-66e08d43d25c33e1b0dd8275ec113b1412d6c6e4.tar.gz
bcm5719-llvm-66e08d43d25c33e1b0dd8275ec113b1412d6c6e4.zip
Jim Asked us to move DataLayout on ARM back to the most specialized classes. Do
so and also change X86 for consistency. Investigating if this can be improved a bit. llvm-svn: 115469
Diffstat (limited to 'llvm/lib/Target/ARM/ARMTargetMachine.h')
-rw-r--r--llvm/lib/Target/ARM/ARMTargetMachine.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/llvm/lib/Target/ARM/ARMTargetMachine.h b/llvm/lib/Target/ARM/ARMTargetMachine.h
index 923c609e7b2..62f14a5a7fc 100644
--- a/llvm/lib/Target/ARM/ARMTargetMachine.h
+++ b/llvm/lib/Target/ARM/ARMTargetMachine.h
@@ -40,19 +40,10 @@ private:
InstrItineraryData InstrItins;
Reloc::Model DefRelocModel; // Reloc model before it's overridden.
-protected:
- const TargetData DataLayout; // Calculates type size & alignment
- ARMELFWriterInfo ELFWriterInfo;
-
public:
ARMBaseTargetMachine(const Target &T, const std::string &TT,
const std::string &FS, bool isThumb);
- virtual const TargetData *getTargetData() const { return &DataLayout; }
- virtual const ARMELFWriterInfo *getELFWriterInfo() const {
- return Subtarget.isTargetELF() ? &ELFWriterInfo : 0;
- }
-
virtual const ARMFrameInfo *getFrameInfo() const { return &FrameInfo; }
virtual ARMJITInfo *getJITInfo() { return &JITInfo; }
virtual const ARMSubtarget *getSubtargetImpl() const { return &Subtarget; }
@@ -74,6 +65,8 @@ public:
///
class ARMTargetMachine : public ARMBaseTargetMachine {
ARMInstrInfo InstrInfo;
+ const TargetData DataLayout; // Calculates type size & alignment
+ ARMELFWriterInfo ELFWriterInfo;
ARMTargetLowering TLInfo;
ARMSelectionDAGInfo TSInfo;
public:
@@ -94,6 +87,9 @@ public:
virtual const ARMInstrInfo *getInstrInfo() const { return &InstrInfo; }
virtual const TargetData *getTargetData() const { return &DataLayout; }
+ virtual const ARMELFWriterInfo *getELFWriterInfo() const {
+ return Subtarget.isTargetELF() ? &ELFWriterInfo : 0;
+ }
};
/// ThumbTargetMachine - Thumb target machine.
@@ -103,6 +99,8 @@ public:
class ThumbTargetMachine : public ARMBaseTargetMachine {
// Either Thumb1InstrInfo or Thumb2InstrInfo.
OwningPtr<ARMBaseInstrInfo> InstrInfo;
+ const TargetData DataLayout; // Calculates type size & alignment
+ ARMELFWriterInfo ELFWriterInfo;
ARMTargetLowering TLInfo;
ARMSelectionDAGInfo TSInfo;
public:
@@ -127,6 +125,9 @@ public:
return InstrInfo.get();
}
virtual const TargetData *getTargetData() const { return &DataLayout; }
+ virtual const ARMELFWriterInfo *getELFWriterInfo() const {
+ return Subtarget.isTargetELF() ? &ELFWriterInfo : 0;
+ }
};
} // end namespace llvm
OpenPOWER on IntegriCloud