@msg_main = internal constant [13 x i8] c"Program: %s\0A\00" declare i32 @printf(i8* noalias nocapture, ...) define i32 @main(i32 %argc, i8** %argv) { %program = load i8** %argv call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([13 x i8]* @msg_main, i32 0, i32 0), i8* %program) ret i32 0 }