129 flattened_thread_id_in_group)
163 quad_read_across_diagonal)
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,
338 HLSLAppliedSemanticAttr *Semantic,
339 std::optional<unsigned> Index);
340 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,
356 HLSLAppliedSemanticAttr *Semantic,
357 std::optional<unsigned> Index);
358 void emitUserSemanticStore(llvm::IRBuilder<> &B, llvm::Value *Source,
360 HLSLAppliedSemanticAttr *Semantic,
361 std::optional<unsigned> Index);
367 llvm::Triple::ArchType getArch();
369 llvm::DenseMap<const clang::RecordType *, llvm::StructType *> LayoutTypes;
370 unsigned SPIRVLastAssignedInputSemanticLocation = 0;
371 unsigned SPIRVLastAssignedOutputSemanticLocation = 0;
376 unsigned DXILInputSemanticIndex = 0;
377 unsigned DXILOutputSemanticIndex = 0;
DeclContext - This is used only as base class of specific decl types that can act as declaration cont...