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 21 namespace 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