跳转至

简单的 IR 语法:

数组

[<elementnumber> x <elementtype>] 
//example 
alloca [24 x i8], align 8 24个i8都是0 
alloca [4 x i32] === array 

i8:8位的整型

i32:32位的整型

i64:64位的整型

结构体

{}大括号括起来的表示结构体

%swift.refcounted = type { %swift.type*, i64 } 
//表示形式
%T = type {<type list>} //这种和C语言的结构体类似

指针类型

<type> * 
//example
i64* //64位的整形

getelementptr 指令

LLVM中我们获取数组和结构体的成员,通过 getelementptr ,语法规则如下: