Интернет магазин китайских планшетных компьютеров



Компьютеры - Low Level Virtual Machine - Операции с указателями

02 мая 2011


Оглавление:
1. Low Level Virtual Machine
2. Особенности
3. Типы данных
4. Операции
5. Память
6. Операции с указателями



Для вычисления адресов элементов массивов, структур и т. д. с правильной типизацией выполняется с помощью инструкции getelementptr.

%array = alloca i32, i32 %size 
%ptr = getelementptr i32* %array, i32 %index ; значение типа i32*

getelementptr только вычисляет адрес, но не обращается к памяти. Инструкция принимает произвольное количество индексов и может разыменовывать структуры любой вложенности.

Также существует инструкции extractvalue и insertvalue. Они отличаются от getelementptr тем, что принимают не указатель на агрегатный тип данных, а само значение такого типа. extractvalue возвращает соответственное значение подэлемента, а insertvalue порождает новое значение агрегатного типа.

%n = extractvalue { i32, } %s, 0 
%tmp = add i32 %n, 1 
%s.1 = insertvalue { i32, } %s, i32 %tmp, 0


Просмотров: 5106


<<< Microsoft Virtual PC