130 flattened_thread_id_in_group)
167 quad_read_across_diagonal)
176 resource_getbasepointer)
189 resource_samplecmplevelzero)
193 resource_handlefrombinding)
195 resource_handlefromimplicitbinding)
197 resource_nonuniformindex)
201 all_memory_barrier_with_group_sync)
204 device_memory_barrier_with_group_sync)
207 group_memory_barrier_with_group_sync)
211 resource_getdimensions_levels_xy)
215 resource_calculate_lod_unclamped)
231 HLSLAppliedSemanticAttr *Semantic,
232 std::optional<
unsigned> Index);
236 HLSLAppliedSemanticAttr *Semantic,
237 std::optional<
unsigned> Index);
243 HLSLAppliedSemanticAttr *Semantic);
248 HLSLAppliedSemanticAttr *Semantic);
301 llvm::StructType *LayoutTy);
304 std::optional<LValue>
310 std::optional<LValue>
316 llvm::function_ref<llvm::Value *(
bool Promote)> EmitIdxAfterBase);
330 llvm::GlobalVariable *BufGV,
333 llvm::GlobalVariable *GV);
335 llvm::GlobalVariable *GV,
336 HLSLResourceBindingAttr *RBA);
338 llvm::Value *emitSPIRVUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
340 HLSLAppliedSemanticAttr *Semantic,
341 std::optional<unsigned> Index);
342 llvm::Value *emitDXILUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
343 HLSLAppliedSemanticAttr *Semantic,
344 std::optional<unsigned> Index);
345 llvm::Value *emitUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
347 HLSLAppliedSemanticAttr *Semantic,
348 std::optional<unsigned> Index);
350 void emitSPIRVUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
352 HLSLAppliedSemanticAttr *Semantic,
353 std::optional<unsigned> Index);
354 void emitDXILUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
355 HLSLAppliedSemanticAttr *Semantic,
356 std::optional<unsigned> Index);
357 void emitUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
359 HLSLAppliedSemanticAttr *Semantic,
360 std::optional<unsigned> Index);
366 llvm::Triple::ArchType getArch();
368 llvm::DenseMap<const clang::RecordType *, llvm::StructType *> LayoutTypes;
369 unsigned SPIRVLastAssignedInputSemanticLocation = 0;
370 unsigned SPIRVLastAssignedOutputSemanticLocation = 0;
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...