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 44