Как и в LLVM 3.0, в C API отсутствует функция для создания или изменения именованных метаданных. Новая функция (LLVMAddNamedMetadataOperand) была недавно добавлена в API после выпуска 3.0.
Если вам удобно собирать LLVM из исходного кода, вы можете получить эту поддержку из магистрали. См. Страницу Getting Started о том, как построить LLVM. В противном случае вам придется подождать, пока не выйдет LLVM 3.1.
Когда функция будет доступна, вызов будет простым:
LLVMAddNamedMetadataOperand(module, "named_md_name", mdnode);
Если нет именованных метаданных с именем "named_md_name", то они будут созданы. В противном случае существующий объект будет обновлен.