OLD | NEW |
1 //===-- NVPTX.h - Top-level interface for NVPTX representation --*- C++ -*-===// | 1 //===-- NVPTX.h - Top-level interface for NVPTX representation --*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file contains the entry points for global functions defined in | 10 // This file contains the entry points for global functions defined in |
11 // the LLVM NVPTX back-end. | 11 // the LLVM NVPTX back-end. |
12 // | 12 // |
13 //===----------------------------------------------------------------------===// | 13 //===----------------------------------------------------------------------===// |
14 | 14 |
15 #ifndef LLVM_TARGET_NVPTX_H | 15 #ifndef LLVM_TARGET_NVPTX_H |
16 #define LLVM_TARGET_NVPTX_H | 16 #define LLVM_TARGET_NVPTX_H |
17 | 17 |
18 #include "MCTargetDesc/NVPTXBaseInfo.h" | 18 #include "MCTargetDesc/NVPTXBaseInfo.h" |
19 #include "llvm/ADT/StringMap.h" | |
20 #include "llvm/IR/Module.h" | 19 #include "llvm/IR/Module.h" |
21 #include "llvm/IR/Value.h" | 20 #include "llvm/IR/Value.h" |
22 #include "llvm/Support/ErrorHandling.h" | 21 #include "llvm/Support/ErrorHandling.h" |
23 #include "llvm/Target/TargetMachine.h" | 22 #include "llvm/Target/TargetMachine.h" |
24 #include <cassert> | 23 #include <cassert> |
25 #include <iosfwd> | 24 #include <iosfwd> |
26 | 25 |
27 namespace llvm { | 26 namespace llvm { |
28 class NVPTXTargetMachine; | 27 class NVPTXTargetMachine; |
29 class FunctionPass; | 28 class FunctionPass; |
(...skipping 26 matching lines...) Expand all Loading... |
56 return "ge"; | 55 return "ge"; |
57 } | 56 } |
58 llvm_unreachable("Unknown condition code"); | 57 llvm_unreachable("Unknown condition code"); |
59 } | 58 } |
60 | 59 |
61 FunctionPass * | 60 FunctionPass * |
62 createNVPTXISelDag(NVPTXTargetMachine &TM, llvm::CodeGenOpt::Level OptLevel); | 61 createNVPTXISelDag(NVPTXTargetMachine &TM, llvm::CodeGenOpt::Level OptLevel); |
63 FunctionPass *createLowerStructArgsPass(NVPTXTargetMachine &); | 62 FunctionPass *createLowerStructArgsPass(NVPTXTargetMachine &); |
64 FunctionPass *createNVPTXReMatPass(NVPTXTargetMachine &); | 63 FunctionPass *createNVPTXReMatPass(NVPTXTargetMachine &); |
65 FunctionPass *createNVPTXReMatBlockPass(NVPTXTargetMachine &); | 64 FunctionPass *createNVPTXReMatBlockPass(NVPTXTargetMachine &); |
66 ModulePass *createGenericToNVVMPass(); | |
67 ModulePass *createNVVMReflectPass(); | |
68 ModulePass *createNVVMReflectPass(const StringMap<int>& Mapping); | |
69 | 65 |
70 bool isImageOrSamplerVal(const Value *, const Module *); | 66 bool isImageOrSamplerVal(const Value *, const Module *); |
71 | 67 |
72 extern Target TheNVPTXTarget32; | 68 extern Target TheNVPTXTarget32; |
73 extern Target TheNVPTXTarget64; | 69 extern Target TheNVPTXTarget64; |
74 | 70 |
75 namespace NVPTX { | 71 namespace NVPTX { |
76 enum DrvInterface { | 72 enum DrvInterface { |
77 NVCL, | 73 NVCL, |
78 CUDA, | 74 CUDA, |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 // Defines symbolic names for NVPTX registers. This defines a mapping from | 132 // Defines symbolic names for NVPTX registers. This defines a mapping from |
137 // register name to register number. | 133 // register name to register number. |
138 #define GET_REGINFO_ENUM | 134 #define GET_REGINFO_ENUM |
139 #include "NVPTXGenRegisterInfo.inc" | 135 #include "NVPTXGenRegisterInfo.inc" |
140 | 136 |
141 // Defines symbolic names for the NVPTX instructions. | 137 // Defines symbolic names for the NVPTX instructions. |
142 #define GET_INSTRINFO_ENUM | 138 #define GET_INSTRINFO_ENUM |
143 #include "NVPTXGenInstrInfo.inc" | 139 #include "NVPTXGenInstrInfo.inc" |
144 | 140 |
145 #endif | 141 #endif |
OLD | NEW |