summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2014-06-12 20:54:11 +0000
committerEric Christopher <echristo@gmail.com>2014-06-12 20:54:11 +0000
commitd104c31fc0b62dca30debb8a4647aea44eb79ec9 (patch)
tree7bac44e44afbbb2395646e711893db5b9c5af8a8 /llvm/lib/Target/PowerPC/PPCSubtarget.cpp
parentb03127d8a0b7875ed158a49cfaf1b8e0bb99638b (diff)
downloadbcm5719-llvm-d104c31fc0b62dca30debb8a4647aea44eb79ec9.tar.gz
bcm5719-llvm-d104c31fc0b62dca30debb8a4647aea44eb79ec9.zip
Move PPCFrameLowering into PPCSubtarget from PPCTargetMachine. Use
the initializeSubtargetDependencies code to obtain an initialized subtarget and migrate a couple of subtarget using functions to the .cpp file to avoid circular includes. llvm-svn: 210822
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCSubtarget.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCSubtarget.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
index 74a1392190b..107b9897d59 100644
--- a/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
+++ b/llvm/lib/Target/PowerPC/PPCSubtarget.cpp
@@ -32,14 +32,19 @@ using namespace llvm;
#define GET_SUBTARGETINFO_CTOR
#include "PPCGenSubtargetInfo.inc"
+PPCSubtarget &PPCSubtarget::initializeSubtargetDependencies(StringRef CPU,
+ StringRef FS) {
+ initializeEnvironment();
+ resetSubtargetFeatures(CPU, FS);
+ return *this;
+}
+
PPCSubtarget::PPCSubtarget(const std::string &TT, const std::string &CPU,
const std::string &FS, bool is64Bit,
CodeGenOpt::Level OptLevel)
: PPCGenSubtargetInfo(TT, CPU, FS), IsPPC64(is64Bit), TargetTriple(TT),
- OptLevel(OptLevel) {
- initializeEnvironment();
- resetSubtargetFeatures(CPU, FS);
-}
+ OptLevel(OptLevel),
+ FrameLowering(initializeSubtargetDependencies(CPU, FS)) {}
/// SetJITMode - This is called to inform the subtarget info that we are
/// producing code for the JIT.
OpenPOWER on IntegriCloud