Как добавить строку метаданных в модуль LLVM с помощью C ++ API?

Я пытаюсь добавить строку метаданных в свой модуль LLVM. Урезанная версия того, что я пробую,

#include 
#include 
#include 

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'

Но, как вы можете видеть, метаданные не отображаются.

Могу ли я как-то добавить строку в модуль? Сам модуль , кажется, предлагает доступ только к именованным метаданным. Теперь я не знаю, где еще я мог бы поискать. Есть предложения?

Дополнение: у меня возникло ощущение, что вы не можете просто «плавать» в вашем модуле строку метаданных, кажется, что вам нужно добавить ее в именованный узел метаданных. Это верно?

5
задан Thomas Schaub 8 August 2011 в 10:13
поделиться