summaryrefslogtreecommitdiff
path: root/lib/Target/Sparc/SparcTargetMachine.h
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2006-05-03 01:29:57 +0000
committerOwen Anderson <resistor@mac.com>2006-05-03 01:29:57 +0000
commita69571c7991813c93cba64e88eced6899ce93d81 (patch)
tree06bc81338c35527b69a6e8e7434e7c1a824bc4ca /lib/Target/Sparc/SparcTargetMachine.h
parent0eb4d6b52e1b5db9a4c86e5a954356ae3507a287 (diff)
downloadllvm-a69571c7991813c93cba64e88eced6899ce93d81.tar.gz
llvm-a69571c7991813c93cba64e88eced6899ce93d81.tar.bz2
llvm-a69571c7991813c93cba64e88eced6899ce93d81.tar.xz
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
Diffstat (limited to 'lib/Target/Sparc/SparcTargetMachine.h')
-rw-r--r--lib/Target/Sparc/SparcTargetMachine.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/Sparc/SparcTargetMachine.h b/lib/Target/Sparc/SparcTargetMachine.h
index 0cad652f71..7d30dd829f 100644
--- a/lib/Target/Sparc/SparcTargetMachine.h
+++ b/lib/Target/Sparc/SparcTargetMachine.h
@@ -25,6 +25,7 @@ namespace llvm {
class Module;
class SparcTargetMachine : public TargetMachine {
+ const TargetData DataLayout; // Calculates type size & alignment
SparcSubtarget Subtarget;
SparcInstrInfo InstrInfo;
TargetFrameInfo FrameInfo;
@@ -37,7 +38,7 @@ public:
virtual const MRegisterInfo *getRegisterInfo() const {
return &InstrInfo.getRegisterInfo();
}
-
+ virtual const TargetData *getTargetData() const { return &DataLayout; }
static unsigned getModuleMatchQuality(const Module &M);
virtual bool addPassesToEmitFile(PassManager &PM, std::ostream &Out,