Lines Matching refs:M

48   DiagnosticInfoTranslateMD(const Module &M,  in DiagnosticInfoTranslateMD()  argument
51 : DiagnosticInfo(DK_Unsupported, Severity), Msg(Msg), Mod(M) {} in DiagnosticInfoTranslateMD()
76 static NamedMDNode *emitResourceMetadata(Module &M, DXILResourceMap &DRM, in emitResourceMetadata() argument
78 LLVMContext &Context = M.getContext(); in emitResourceMetadata()
82 RI.createSymbol(M, in emitResourceMetadata()
87 SRVs.push_back(RI.getAsMetadata(M, DRTM[RI.getHandleTy()])); in emitResourceMetadata()
89 UAVs.push_back(RI.getAsMetadata(M, DRTM[RI.getHandleTy()])); in emitResourceMetadata()
91 CBufs.push_back(RI.getAsMetadata(M, DRTM[RI.getHandleTy()])); in emitResourceMetadata()
93 Smps.push_back(RI.getAsMetadata(M, DRTM[RI.getHandleTy()])); in emitResourceMetadata()
103 NamedMDNode *ResourceMD = M.getOrInsertNamedMetadata("dx.resources"); in emitResourceMetadata()
105 MDNode::get(M.getContext(), {SRVMD, UAVMD, CBufMD, SmpMD})); in emitResourceMetadata()
234 static void emitValidatorVersionMD(Module &M, const ModuleMetadataInfo &MMDI) { in emitValidatorVersionMD() argument
238 LLVMContext &Ctx = M.getContext(); in emitValidatorVersionMD()
245 NamedMDNode *ValVerNode = M.getOrInsertNamedMetadata("dx.valver"); in emitValidatorVersionMD()
251 static void emitShaderModelVersionMD(Module &M, in emitShaderModelVersionMD() argument
253 LLVMContext &Ctx = M.getContext(); in emitShaderModelVersionMD()
260 NamedMDNode *SMMDNode = M.getOrInsertNamedMetadata("dx.shaderModel"); in emitShaderModelVersionMD()
264 static void emitDXILVersionTupleMD(Module &M, const ModuleMetadataInfo &MMDI) { in emitDXILVersionTupleMD() argument
265 LLVMContext &Ctx = M.getContext(); in emitDXILVersionTupleMD()
272 NamedMDNode *DXILVerMDNode = M.getOrInsertNamedMetadata("dx.version"); in emitDXILVersionTupleMD()
276 static MDTuple *emitTopLevelLibraryNode(Module &M, MDNode *RMD, in emitTopLevelLibraryNode() argument
278 LLVMContext &Ctx = M.getContext(); in emitTopLevelLibraryNode()
293 static void translateBranchMetadata(Module &M) { in translateBranchMetadata() argument
294 for (Function &F : M) { in translateBranchMetadata()
307 MDBuilder MDHelper(M.getContext()); in translateBranchMetadata()
315 MDNode *MDNode = llvm::MDNode::get(M.getContext(), Vals); in translateBranchMetadata()
323 static void translateMetadata(Module &M, DXILResourceMap &DRM, in translateMetadata() argument
327 LLVMContext &Ctx = M.getContext(); in translateMetadata()
331 emitValidatorVersionMD(M, MMDI); in translateMetadata()
332 emitShaderModelVersionMD(M, MMDI); in translateMetadata()
333 emitDXILVersionTupleMD(M, MMDI); in translateMetadata()
334 NamedMDNode *NamedResourceMD = emitResourceMetadata(M, DRM, DRTM); in translateMetadata()
347 emitTopLevelLibraryNode(M, ResourceMD, CombinedMask)); in translateMetadata()
349 M.getContext().diagnose(DiagnosticInfoTranslateMD( in translateMetadata()
350 M, "Non-library shader: One and only one entry expected")); in translateMetadata()
363 M.getContext().diagnose(DiagnosticInfoTranslateMD( in translateMetadata()
364 M, in translateMetadata()
379 M.getOrInsertNamedMetadata("dx.entryPoints"); in translateMetadata()
384 PreservedAnalyses DXILTranslateMetadata::run(Module &M, in run() argument
386 DXILResourceMap &DRM = MAM.getResult<DXILResourceAnalysis>(M); in run()
387 DXILResourceTypeMap &DRTM = MAM.getResult<DXILResourceTypeAnalysis>(M); in run()
388 const ModuleShaderFlags &ShaderFlags = MAM.getResult<ShaderFlagsAnalysis>(M); in run()
389 const dxil::ModuleMetadataInfo MMDI = MAM.getResult<DXILMetadataAnalysis>(M); in run()
391 translateMetadata(M, DRM, DRTM, ShaderFlags, MMDI); in run()
392 translateBranchMetadata(M); in run()
416 bool runOnModule(Module &M) override { in runOnModule() argument
426 translateMetadata(M, DRM, DRTM, ShaderFlags, MMDI); in runOnModule()
427 translateBranchMetadata(M); in runOnModule()