PTX.h revision e602f473062a91e6ac9aa17097de8b5cd75b0852
1//===-- PTX.h - Top-level interface for PTX representation ------*- 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// PTX back-end.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef PTX_H
16#define PTX_H
17
18#include "MCTargetDesc/PTXBaseInfo.h"
19#include "llvm/Target/TargetMachine.h"
20
21namespace llvm {
22  class MachineInstr;
23  class MCInst;
24  class PTXAsmPrinter;
25  class PTXTargetMachine;
26  class FunctionPass;
27
28  FunctionPass *createPTXISelDag(PTXTargetMachine &TM,
29                                 CodeGenOpt::Level OptLevel);
30
31  FunctionPass *createPTXMFInfoExtract(PTXTargetMachine &TM,
32                                       CodeGenOpt::Level OptLevel);
33
34  FunctionPass *createPTXFPRoundingModePass(PTXTargetMachine &TM,
35                                            CodeGenOpt::Level OptLevel);
36
37  FunctionPass *createPTXRegisterAllocator();
38
39  void LowerPTXMachineInstrToMCInst(const MachineInstr *MI, MCInst &OutMI,
40                                    PTXAsmPrinter &AP);
41
42} // namespace llvm;
43
44#endif // PTX_H
45