Я хочу создать функцию в LLVM, которая берет указатель на произвольную память из инструкций магазина. Например:LLVM create function with void pointer arg
%x = alloca i32, align 4
%z = alloca i32*, align 8
store i32 123, i32* %x, align 4
store i32* %x, i32** %z, align 8
Здесь я хочу инструмент инструкции магазин для вызова функции с указателями памяти, которые когда-то типа I32 * и один раз типа I32 **. Мне нужен только «первый указатель» в памяти, и мне не нужно переоценивать указатели или получать информацию о типе. Итак, мне нужен тип данных, который похож на указатели void в C.
Как это сделать в LLVM?
'bitcast' от I32 * до i8 *? –
Если не существует типа типа void *, то лучшим решением будет литье каждого указателя на i8 *. Вы можете сделать ответ – user2600312