Add Subtarget support to PowerPC. Next up, using it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22644 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Nate Begeman
2005-08-04 07:12:09 +00:00
parent 49f72e68cf
commit 8c00f8cdc7
6 changed files with 116 additions and 10 deletions

View File

@@ -14,9 +14,11 @@
#ifndef POWERPC_TARGETMACHINE_H
#define POWERPC_TARGETMACHINE_H
#include "PowerPCFrameInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetFrameInfo.h"
#include "llvm/PassManager.h"
#include "PowerPCFrameInfo.h"
#include "PowerPCSubtarget.h"
namespace llvm {
@@ -24,13 +26,15 @@ class GlobalValue;
class IntrinsicLowering;
class PowerPCTargetMachine : public TargetMachine {
PowerPCFrameInfo FrameInfo;
PowerPCFrameInfo FrameInfo;
PPCSubtarget Subtarget;
protected:
PowerPCTargetMachine(const std::string &name, IntrinsicLowering *IL,
const TargetData &TD, const PowerPCFrameInfo &TFI);
const Module &M, const TargetData &TD,
const PowerPCFrameInfo &TFI);
public:
virtual const TargetFrameInfo *getFrameInfo() const { return &FrameInfo; }
virtual const TargetSubtarget *getSubtargetImpl() const{ return &Subtarget; }
virtual bool addPassesToEmitFile(PassManager &PM, std::ostream &Out,
CodeGenFileType FileType);