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/PTXMCTargetDesc.h" 19 #include "llvm/Target/TargetMachine.h" 20 21 namespace llvm { 22 class PTXTargetMachine; 23 class FunctionPass; 24 25 namespace PTX { 26 enum StateSpace { 27 GLOBAL = 0, // default to global state space 28 CONSTANT = 1, 29 LOCAL = 2, 30 PARAMETER = 3, 31 SHARED = 4 32 }; 33 34 enum Predicate { 35 PRED_NORMAL = 0, 36 PRED_NEGATE = 1 37 }; 38 } // namespace PTX 39 40 FunctionPass *createPTXISelDag(PTXTargetMachine &TM, 41 CodeGenOpt::Level OptLevel); 42 43 FunctionPass *createPTXMFInfoExtract(PTXTargetMachine &TM, 44 CodeGenOpt::Level OptLevel); 45 46 } // namespace llvm; 47 48 #endif // PTX_H 49