1
私は生成したLLVM IRのメタデータを生成しようとしています。LLVM IRのメタデータを生成する方法は?
!nvvm.annotations = !{!0}
!0 = metadata !{void()* @foo, metadata !"kernel", i32 1}
ここで、fooはLLVM IRの関数です。今私はフォームのメタデータを生成することができます:
!nvvm.annotations = !{!0}
!0 = !{!"kernel"}
私は上記のメタデータ生成に次のコードを使用しました。
char metaDataArgument[512];
sprintf(metaDataArgument, "%s", pipelineKernelName);
llvm::NamedMDNode *nvvmMetadataNode = LLVMModule->getOrInsertNamedMetadata("nvvm.annotations");
llvm::MDNode *MDNOdeNVVM = llvm::MDNode::get(*context, llvm::MDString::get(*context, "kernel"));
nvvmMetadataNode->addOperand(MDNOdeNVVM);
誰かがどのように