130 flattened_thread_id_in_group)
172 resource_getbasepointer)
185 resource_samplecmplevelzero)
189 resource_handlefrombinding)
191 resource_handlefromimplicitbinding)
193 resource_nonuniformindex)
197 all_memory_barrier_with_group_sync)
200 device_memory_barrier_with_group_sync)
203 group_memory_barrier_with_group_sync)
207 resource_getdimensions_levels_xy)
211 resource_calculate_lod_unclamped)
227 HLSLAppliedSemanticAttr *Semantic,
228 std::optional<
unsigned> Index);
232 HLSLAppliedSemanticAttr *Semantic,
233 std::optional<
unsigned> Index);
239 HLSLAppliedSemanticAttr *Semantic);
244 HLSLAppliedSemanticAttr *Semantic);
297 llvm::StructType *LayoutTy);
300 std::optional<LValue>
306 std::optional<LValue>
312 llvm::function_ref<llvm::Value *(
bool Promote)> EmitIdxAfterBase);
326 llvm::GlobalVariable *BufGV,
329 llvm::GlobalVariable *GV);
331 llvm::GlobalVariable *GV,
332 HLSLResourceBindingAttr *RBA);
334 llvm::Value *emitSPIRVUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
336 HLSLAppliedSemanticAttr *Semantic,
337 std::optional<unsigned> Index);
338 llvm::Value *emitDXILUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
339 HLSLAppliedSemanticAttr *Semantic,
340 std::optional<unsigned> Index);
341 llvm::Value *emitUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
343 HLSLAppliedSemanticAttr *Semantic,
344 std::optional<unsigned> Index);
346 void emitSPIRVUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
348 HLSLAppliedSemanticAttr *Semantic,
349 std::optional<unsigned> Index);
350 void emitDXILUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
351 HLSLAppliedSemanticAttr *Semantic,
352 std::optional<unsigned> Index);
353 void emitUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
355 HLSLAppliedSemanticAttr *Semantic,
356 std::optional<unsigned> Index);
363 llvm::Triple::ArchType getArch();
365 llvm::DenseMap<const clang::RecordType *, llvm::StructType *> LayoutTypes;
366 unsigned SPIRVLastAssignedInputSemanticLocation = 0;
367 unsigned SPIRVLastAssignedOutputSemanticLocation = 0;
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...