Lines Matching refs:virtual
95 virtual ~SPIRVModule();
98 virtual bool exist(SPIRVId) const = 0;
99 virtual bool exist(SPIRVId, SPIRVEntry **)const = 0;
102 virtual SPIRVEntry *getEntry(SPIRVId) const = 0;
103 virtual bool hasDebugInfo() const = 0;
106 virtual SPIRVErrorLog &getErrorLog() = 0;
107 virtual SPIRVErrorCode getError(std::string&) = 0;
110 virtual SPIRVAddressingModelKind getAddressingModel() = 0;
111 virtual const SPIRVCapMap &getCapability() const = 0;
112 virtual bool hasCapability(SPIRVCapabilityKind) const = 0;
113 virtual SPIRVExtInstSetKind getBuiltinSet(SPIRVId) const = 0;
114 virtual SPIRVFunction *getEntryPoint(SPIRVExecutionModelKind, unsigned) const
116 virtual std::set<std::string> &getExtension() = 0;
117 virtual SPIRVFunction *getFunction(unsigned) const = 0;
118 virtual SPIRVVariable *getVariable(unsigned) const = 0;
119 virtual SPIRVMemoryModelKind getMemoryModel() const = 0;
120 virtual unsigned getNumFunctions() const = 0;
121 virtual unsigned getNumEntryPoints(SPIRVExecutionModelKind) const = 0;
122 virtual unsigned getNumVariables() const = 0;
123 virtual SourceLanguage getSourceLanguage(SPIRVWord *) const = 0;
124 virtual std::set<std::string> &getSourceExtension() = 0;
125 virtual SPIRVValue *getValue(SPIRVId TheId)const = 0;
126 virtual std::vector<SPIRVValue *> getValues(const std::vector<SPIRVId>&)const
128 virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVEntry *>&)const = 0;
129 virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVValue *>&)const = 0;
130 virtual SPIRVType *getValueType(SPIRVId TheId)const = 0;
131 virtual std::vector<SPIRVType *> getValueTypes(const std::vector<SPIRVId>&)
133 virtual SPIRVConstant* getLiteralAsConstant(unsigned Literal) = 0;
134 virtual bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId) const = 0;
135 virtual unsigned short getGeneratorId() const = 0;
136 virtual unsigned short getGeneratorVer() const = 0;
137 virtual SPIRVWord getSPIRVVersion() const = 0;
140 virtual bool importBuiltinSet(const std::string &, SPIRVId *) = 0;
141 virtual bool importBuiltinSetWithId(const std::string &, SPIRVId) = 0;
142 virtual void setAddressingModel(SPIRVAddressingModelKind) = 0;
143 virtual void setAlignment(SPIRVValue *, SPIRVWord) = 0;
144 virtual void setMemoryModel(SPIRVMemoryModelKind) = 0;
145 virtual void setName(SPIRVEntry *, const std::string&) = 0;
146 virtual void setSourceLanguage(SourceLanguage, SPIRVWord) = 0;
147 virtual void optimizeDecorates() = 0;
148 virtual void setAutoAddCapability(bool E){ AutoAddCapability = E;} in setAutoAddCapability()
149 virtual void setValidateCapability(bool E){ ValidateCapability = E;} in setValidateCapability()
150 virtual void setGeneratorId(unsigned short) = 0;
151 virtual void setGeneratorVer(unsigned short) = 0;
152 virtual void resolveUnknownStructFields() = 0;
153 virtual void setSPIRVVersion(SPIRVWord) = 0;
161 virtual SPIRVEntry *addEntry(SPIRVEntry *) = 0;
162 virtual SPIRVBasicBlock *addBasicBlock(SPIRVFunction *,
164 virtual SPIRVString *getString(const std::string &Str) = 0;
165 virtual SPIRVMemberName *addMemberName(SPIRVTypeStruct *ST,
167 virtual void addUnknownStructField(SPIRVTypeStruct *, unsigned idx,
169 virtual SPIRVLine *addLine(SPIRVEntry *E, SPIRVString *FileName, SPIRVWord Line,
171 virtual const SPIRVDecorateGeneric *addDecorate(const SPIRVDecorateGeneric*)
173 virtual SPIRVDecorationGroup *addDecorationGroup() = 0;
174 virtual SPIRVDecorationGroup *addDecorationGroup(SPIRVDecorationGroup *Group)
176 virtual SPIRVGroupDecorate *addGroupDecorate(SPIRVDecorationGroup *Group,
178 virtual SPIRVGroupMemberDecorate *addGroupMemberDecorate(
180 virtual SPIRVGroupDecorateGeneric *addGroupDecorateGeneric(
182 virtual void addEntryPoint(SPIRVExecutionModelKind, SPIRVId) = 0;
183 virtual SPIRVForward *addForward(SPIRVType *Ty) = 0;
184 virtual SPIRVForward *addForward(SPIRVId, SPIRVType *Ty) = 0;
185 virtual SPIRVFunction *addFunction(SPIRVFunction *) = 0;
186 virtual SPIRVFunction *addFunction(SPIRVTypeFunction *,
188 virtual SPIRVEntry *replaceForward(SPIRVForward *, SPIRVEntry *) = 0;
191 virtual SPIRVTypeArray *addArrayType(SPIRVType *, SPIRVConstant *) = 0;
192 virtual SPIRVTypeBool *addBoolType() = 0;
193 virtual SPIRVTypeFloat *addFloatType(unsigned) = 0;
194 virtual SPIRVTypeFunction *addFunctionType(SPIRVType *,
196 virtual SPIRVTypeImage *addImageType(SPIRVType *,
198 virtual SPIRVTypeImage *addImageType(SPIRVType *,
200 virtual SPIRVTypeSampler *addSamplerType() = 0;
201 virtual SPIRVTypePipeStorage *addPipeStorageType() = 0;
202 virtual SPIRVTypeSampledImage *addSampledImageType(SPIRVTypeImage *T) = 0;
203 virtual SPIRVTypeInt *addIntegerType(unsigned) = 0;
204 virtual SPIRVTypeOpaque *addOpaqueType(const std::string &) = 0;
205 virtual SPIRVTypePointer *addPointerType(SPIRVStorageClassKind, SPIRVType *) = 0;
206 virtual SPIRVTypeStruct *openStructType(unsigned, const std::string &) = 0;
207 virtual void closeStructType(SPIRVTypeStruct *, bool) = 0;
208 virtual SPIRVTypeVector *addVectorType(SPIRVType *, SPIRVWord) = 0;
209 virtual SPIRVTypeVoid *addVoidType() = 0;
210 virtual SPIRVType *addOpaqueGenericType(Op) = 0;
211 virtual SPIRVTypeDeviceEvent *addDeviceEventType() = 0;
212 virtual SPIRVTypeQueue *addQueueType() = 0;
213 virtual SPIRVTypePipe *addPipeType() = 0;
214 virtual void createForwardPointers() = 0;
217 virtual SPIRVValue *addCompositeConstant(SPIRVType *,
219 virtual SPIRVValue *addConstant(SPIRVValue *) = 0;
220 virtual SPIRVValue *addConstant(SPIRVType *, uint64_t) = 0;
221 virtual SPIRVValue *addDoubleConstant(SPIRVTypeFloat *, double) = 0;
222 virtual SPIRVValue *addFloatConstant(SPIRVTypeFloat *, float) = 0;
223 virtual SPIRVValue *addIntegerConstant(SPIRVTypeInt *, uint64_t) = 0;
224 virtual SPIRVValue *addNullConstant(SPIRVType *) = 0;
225 virtual SPIRVValue *addUndef(SPIRVType *TheType) = 0;
226 virtual SPIRVValue *addSamplerConstant(SPIRVType *TheType, SPIRVWord AddrMode,
228 virtual SPIRVValue* addPipeStorageConstant(SPIRVType* TheType,
232 virtual SPIRVInstruction *addPtrAccessChainInst(SPIRVType *, SPIRVValue *,
234 virtual SPIRVInstruction *addAsyncGroupCopy(SPIRVValue *Scope,
237 virtual SPIRVInstruction *addBinaryInst(Op, SPIRVType *, SPIRVValue *,
239 virtual SPIRVInstruction *addBranchConditionalInst(SPIRVValue *, SPIRVLabel *,
241 virtual SPIRVInstruction *addBranchInst(SPIRVLabel *, SPIRVBasicBlock *) = 0;
242 virtual SPIRVInstruction *addExtInst(SPIRVType *, SPIRVWord, SPIRVWord,
244 virtual SPIRVInstruction *addExtInst(SPIRVType *, SPIRVWord, SPIRVWord,
246 virtual void addCapability(SPIRVCapabilityKind) = 0;
254 virtual void addCapabilityInternal(SPIRVCapabilityKind) = 0;
255 virtual SPIRVInstruction *addCallInst(SPIRVFunction*,
257 virtual SPIRVInstruction *addCompositeExtractInst(SPIRVType *, SPIRVValue *,
259 virtual SPIRVInstruction *addCompositeInsertInst(SPIRVValue *,
261 virtual SPIRVInstruction *addCopyObjectInst(SPIRVType *, SPIRVValue *,
263 virtual SPIRVInstruction *addCopyMemoryInst(SPIRVValue *, SPIRVValue *,
265 virtual SPIRVInstruction *addCopyMemorySizedInst(SPIRVValue *, SPIRVValue *,
267 virtual SPIRVInstruction *addCmpInst(Op, SPIRVType *, SPIRVValue *,
269 virtual SPIRVInstruction *addControlBarrierInst(
272 virtual SPIRVInstruction *addGroupInst(Op OpCode, SPIRVType *Type,
275 virtual SPIRVInstTemplateBase* addInstTemplate(Op OC,
277 virtual SPIRVInstTemplateBase* addInstTemplate(Op OC,
279 virtual SPIRVInstruction *addLoadInst(SPIRVValue *,
281 virtual SPIRVInstruction *addMemoryBarrierInst(
284 virtual SPIRVInstruction *addPhiInst(SPIRVType *, std::vector<SPIRVValue *>,
286 virtual SPIRVInstruction *addReturnInst(SPIRVBasicBlock *) = 0;
287 virtual SPIRVInstruction *addReturnValueInst(SPIRVValue *, SPIRVBasicBlock *)
289 virtual SPIRVInstruction *addSelectInst(SPIRVValue *, SPIRVValue *, SPIRVValue *,
291 virtual SPIRVInstruction *addStoreInst(SPIRVValue *, SPIRVValue *,
293 virtual SPIRVInstruction *addSwitchInst(SPIRVValue *, SPIRVBasicBlock *,
296 virtual SPIRVInstruction *addUnaryInst(Op, SPIRVType *, SPIRVValue *,
298 virtual SPIRVInstruction *addVariable(SPIRVType *, bool, SPIRVLinkageTypeKind,
301 virtual SPIRVValue *addVectorShuffleInst(SPIRVType *Type, SPIRVValue *Vec1,
304 virtual SPIRVInstruction *addVectorExtractDynamicInst(SPIRVValue *,
306 virtual SPIRVInstruction *addVectorInsertDynamicInst(SPIRVValue *,