130 flattened_thread_id_in_group)
173 resource_getbasepointer)
186 resource_samplecmplevelzero)
190 resource_handlefrombinding)
192 resource_handlefromimplicitbinding)
194 resource_nonuniformindex)
198 all_memory_barrier_with_group_sync)
201 device_memory_barrier_with_group_sync)
204 group_memory_barrier_with_group_sync)
208 resource_getdimensions_levels_xy)
212 resource_calculate_lod_unclamped)
228 HLSLAppliedSemanticAttr *Semantic,
229 std::optional<
unsigned> Index);
233 HLSLAppliedSemanticAttr *Semantic,
234 std::optional<
unsigned> Index);
240 HLSLAppliedSemanticAttr *Semantic);
245 HLSLAppliedSemanticAttr *Semantic);
298 llvm::StructType *LayoutTy);
301 std::optional<LValue>
307 std::optional<LValue>
313 llvm::function_ref<llvm::Value *(
bool Promote)> EmitIdxAfterBase);
327 llvm::GlobalVariable *BufGV,
330 llvm::GlobalVariable *GV);
332 llvm::GlobalVariable *GV,
333 HLSLResourceBindingAttr *RBA);
335 llvm::Value *emitSPIRVUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
337 HLSLAppliedSemanticAttr *Semantic,
338 std::optional<unsigned> Index);
339 llvm::Value *emitDXILUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
340 HLSLAppliedSemanticAttr *Semantic,
341 std::optional<unsigned> Index);
342 llvm::Value *emitUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
344 HLSLAppliedSemanticAttr *Semantic,
345 std::optional<unsigned> Index);
347 void emitSPIRVUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
349 HLSLAppliedSemanticAttr *Semantic,
350 std::optional<unsigned> Index);
351 void emitDXILUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
352 HLSLAppliedSemanticAttr *Semantic,
353 std::optional<unsigned> Index);
354 void emitUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
356 HLSLAppliedSemanticAttr *Semantic,
357 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...