Сохраните результат LoadInst в Int

Когда мы создаем LoadInst в LLVM IR, результатом является указатель на значение. Если я читаю значение int переменная называется x с помощью LoadInst в LLVM IR результат, который я получаю, является еще одним указателем на это значение. Как сохранить результат в int?

1 ответ

LLVM IR не имеет ни переменных, ни int тип. Но чтение из int x переменная на C-подобном языке обычно переводится в инструкцию загрузки в LLVM IR, и я предполагаю, что это то, о чем вы спрашиваете.

Ответ в том, что создание любой инструкции LLVM Value* (или указатель на подтип Value). Вопрос в том, что это за тип. Для инструкции загрузки, если ее операнд имеет тип i32*сама нагрузка будет иметь тип i32 - так что загрузка действительно получает фактическое значение из указателя.

Если вы хотите поместить целое число под каким-то другим адресом - сохраняя его где-то еще - вы должны использовать инструкцию store.

Другие вопросы по тегам