Я пытаюсь добавить строку метаданных в мой модуль LLVM.Урезанная версия того, что я пытаюсь сделать, это
#include <llvm/LLVMContext.h>
#include <llvm/Module.h>
#include <llvm/Metadata.h>
using namespace llvm;
int main() {
Module* module = new Module("test", getGlobalContext());
MDString::get(module->getContext(), "test");
module->dump();
}
Я могу скомпилировать и запустить его:
Desktop% g++ llvm.cc -o llvm `llvm-config --cppflags --ldflags --libs all`
Desktop% ./llvm
; ModuleID = 'test'
Но, как видно, метаданные не отображаются.
Можно ли как-нибудь добавить строку в модуль?Сам модуль , по-видимому, предоставляет доступ только к именованным метаданным.Теперь я не знаю, где еще я мог бы посмотреть.Любые предложения?
Дополнение: У меня сложилось впечатление, что вы не можете просто иметь строку метаданных, "плавающую вокруг" в вашем модуле, похоже, вам нужно добавить ее в именованный узел метаданных.Это правильно?