Как я могу читать и записывать метаданные с LLVM c api - PullRequest
0 голосов
/ 23 марта 2020

Использование этого:

Как добавить узлы метаданных с помощью привязок LLVM C Api / llvm-fs

Мне удалось увидеть, как добавить метаданные к значению LLVM. Но я хочу добавить общее значение метаданных c. Моя цель - иметь ключ (например, «номер_файла») и значение (например, 127). Я попытался добавить его как флаг:

char len_str[50];    
sprintf(len_str, "%d", 127);
LLVMValueRef len_val = LLVMMDString(len_str, strlen(len_str));
LLVMValueRef len_v_md = LLVMMDNode(&len_val, 1);
LLVMMetadataRef len_md = LLVMValueAsMetadata(len_v_md);
LLVMAddModuleFlag(mod, LLVMModuleFlagBehaviorAppend, "file_number", sizeof("file_number") - 1, len_md);

Но у меня были проблемы с проверкой модуля. Кроме того, я не смог прочитать значение. Я также не знаю, является ли использование флага лучшей практикой. Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...