Я пытаюсь использовать проход LLVM для преобразования программы на C / C ++, чтобы все выделения памяти происходили только в определенной области памяти, которую я должен решить.
Например, для следующего кодаЯ хочу использовать проход LLVM для запуска всех выделений памяти по адресу 0x10000:
// Test.cpp
int main()
{
int x = 5; // I want to allocate memory for this variable
// starting at address 0x10000
int y = 6 // Memory allocated at 0x10004, since it's the second int
return 0;
}
Кто-нибудь знает, возможно ли это сделать с помощью прохода LLVM?Я уже знаю, что могу использовать проход для циклического прохождения всех инструкций в программе, чтобы найти все инструкции alloca, но я не знаю, как преобразовать программу, чтобы alloca выделяла память по определенному адресу.