Home | History | Annotate | Download | only in PTX
      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