]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/blob - contrib/llvm/lib/Target/PTX/PTX.h
MFC r234353:
[FreeBSD/stable/9.git] / contrib / llvm / lib / Target / PTX / PTX.h
1 //
2 //                     The LLVM Compiler Infrastructure
3 //
4 // This file is distributed under the University of Illinois Open Source
5 // License. See LICENSE.TXT for details.
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file contains the entry points for global functions defined in the LLVM
10 // PTX back-end.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #ifndef PTX_H
15 #define PTX_H
16
17 #include "MCTargetDesc/PTXBaseInfo.h"
18 #include "llvm/Target/TargetMachine.h"
19
20 namespace llvm {
21   class MachineInstr;
22   class MCInst;
23   class PTXAsmPrinter;
24   class PTXTargetMachine;
25   class FunctionPass;
26
27   FunctionPass *createPTXISelDag(PTXTargetMachine &TM,
28                                  CodeGenOpt::Level OptLevel);
29
30   FunctionPass *createPTXMFInfoExtract(PTXTargetMachine &TM,
31                                        CodeGenOpt::Level OptLevel);
32
33   FunctionPass *createPTXFPRoundingModePass(PTXTargetMachine &TM,
34                                             CodeGenOpt::Level OptLevel);
35
36   FunctionPass *createPTXRegisterAllocator();
37
38   void LowerPTXMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI,
39                                     PTXAsmPrinter &AP);
40
41 } // namespace llvm;
42
43 #endif // PTX_H