129 flattened_thread_id_in_group)
164 quad_read_across_diagonal)
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,
339 HLSLAppliedSemanticAttr *Semantic,
340 std::optional<unsigned> Index);
341 llvm::Value *emitDXILUserSemanticLoad(llvm::IRBuilder<> &B, llvm::Type *
Type,
342 HLSLAppliedSemanticAttr *Semantic,
343 std::optional<unsigned> Index);
344 llvm::Value *emitUserSemanticLoad(llvm::IRBuilder<> &B,
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...