Slide 7
Slide 7 text
AN EXAMPLE “HELLO WORLD” IR
LLVM IR
@.str = private unnamed_addr constant [14 x i8] c"Hello World!
\0A\00", align 1
; Function Attrs: nounwind uwtable
define void @print() #0 {
entry:
%call = call i32 (i8*, ...) @printf(i8* getelementptr
inbounds ([14 x i8], [14 x i8]* @.str, i32 0, i32 0))
ret void
}
declare i32 @printf(i8*, ...) #1
; Function Attrs: nounwind uwtable
define i32 @main(i32 %argc, i8** %argv) #0 {
entry:
%argc.addr = alloca i32, align 4
%argv.addr = alloca i8**, align 8
store i32 %argc, i32* %argc.addr, align 4
store i8** %argv, i8*** %argv.addr, align 8
call void @print()
ret i32 0
}