diff options
| author | Duraid Madina <duraid@octopus.com.au> | 2005-03-17 18:17:03 +0000 |
|---|---|---|
| committer | Duraid Madina <duraid@octopus.com.au> | 2005-03-17 18:17:03 +0000 |
| commit | 91ed0a11cf97abb68d44d70cc66de47678c4211d (patch) | |
| tree | 94b7214cdcd7f0ab9e1341e3911da35f5ba43b0e /llvm/lib/Target/IA64/IA64TargetMachine.h | |
| parent | 43832b049e0e1f04c47bab50d3864aa61b1d626a (diff) | |
| download | bcm5719-llvm-91ed0a11cf97abb68d44d70cc66de47678c4211d.tar.gz bcm5719-llvm-91ed0a11cf97abb68d44d70cc66de47678c4211d.zip | |
and so it begins...
PHASE 1: write instruction selector
PHASE 2: ???
PHASE 3: profit!
llvm-svn: 20652
Diffstat (limited to 'llvm/lib/Target/IA64/IA64TargetMachine.h')
| -rw-r--r-- | llvm/lib/Target/IA64/IA64TargetMachine.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/llvm/lib/Target/IA64/IA64TargetMachine.h b/llvm/lib/Target/IA64/IA64TargetMachine.h new file mode 100644 index 00000000000..639df924650 --- /dev/null +++ b/llvm/lib/Target/IA64/IA64TargetMachine.h @@ -0,0 +1,48 @@ +//===-- IA64TargetMachine.h - Define TargetMachine for IA64 ---*- C++ -*---===// +// +// The LLVM Compiler Infrastructure +// +// This file was developed by Duraid Madina and is distributed under the +// University of Illinois Open Source License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This file declares the IA64 specific subclass of TargetMachine. +// +//===----------------------------------------------------------------------===// + +#ifndef IA64TARGETMACHINE_H +#define IA64TARGETMACHINE_H + +#include "llvm/Target/TargetMachine.h" +#include "llvm/Target/TargetFrameInfo.h" +#include "llvm/PassManager.h" +#include "IA64InstrInfo.h" + +namespace llvm { +class IntrinsicLowering; + +class IA64TargetMachine : public TargetMachine { + IA64InstrInfo InstrInfo; + TargetFrameInfo FrameInfo; + //IA64JITInfo JITInfo; +public: + IA64TargetMachine(const Module &M, IntrinsicLowering *IL); + + virtual const IA64InstrInfo *getInstrInfo() const { return &InstrInfo; } + virtual const TargetFrameInfo *getFrameInfo() const { return &FrameInfo; } + virtual const MRegisterInfo *getRegisterInfo() const { + return &InstrInfo.getRegisterInfo(); + } + + virtual bool addPassesToEmitAssembly(PassManager &PM, std::ostream &Out); + + static unsigned getModuleMatchQuality(const Module &M); + static unsigned compileTimeMatchQuality(void); + +}; +} // End llvm namespace + +#endif + + |

