Starting to refactor Target to separate out code that's needed to fully describe
[oota-llvm.git] / lib / Target / CellSPU / SPU.h
1 //===-- SPU.h - Top-level interface for Cell SPU Target ----------*- C++ -*-==//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file contains the entry points for global functions defined in the LLVM
11 // Cell SPU back-end.
12 //
13 //===----------------------------------------------------------------------===//
14
15 #ifndef LLVM_TARGET_IBMCELLSPU_H
16 #define LLVM_TARGET_IBMCELLSPU_H
17
18 #include "llvm/Target/TargetMachine.h"
19
20 namespace llvm {
21   class SPUTargetMachine;
22   class FunctionPass;
23   class formatted_raw_ostream;
24
25   FunctionPass *createSPUISelDag(SPUTargetMachine &TM);
26   FunctionPass *createSPUNopFillerPass(SPUTargetMachine &tm);
27
28   extern Target TheCellSPUTarget;
29 }
30
31 // Defines symbolic names for the SPU instructions.
32 //
33 #include "SPUGenInstrNames.inc"
34
35 #endif /* LLVM_TARGET_IBMCELLSPU_H */