#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ LCD_Delay(int);
int /*<<< orphan*/ LCD_IO_Init();
int /*<<< orphan*/ ili9341_WriteData(int);
int /*<<< orphan*/ ili9341_WriteReg(int);
void ili9341_Init(void) {
  LCD_IO_Init();
  ili9341_WriteReg(0xCA);
  ili9341_WriteData(0xC3);
  ili9341_WriteData(0x08);
  ili9341_WriteData(0x50);
  ili9341_WriteReg(0xCF);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0xC1);
  ili9341_WriteData(0x30);
  ili9341_WriteReg(0xED);
  ili9341_WriteData(0x64);
  ili9341_WriteData(0x03);
  ili9341_WriteData(0x12);
  ili9341_WriteData(0x81);
  ili9341_WriteReg(0xE8);
  ili9341_WriteData(0x85);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x78);
  ili9341_WriteReg(0xCB);
  ili9341_WriteData(0x39);
  ili9341_WriteData(0x2C);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x34);
  ili9341_WriteData(0x02);
  ili9341_WriteReg(0xF7);
  ili9341_WriteData(0x20);
  ili9341_WriteReg(0xEA);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteReg(0xB1);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x1B);
  ili9341_WriteReg(0xB6);
  ili9341_WriteData(0x0A);
  ili9341_WriteData(0xA2);
  ili9341_WriteReg(0xC0);
  ili9341_WriteData(0x10);
  ili9341_WriteReg(0xC1);
  ili9341_WriteData(0x10);
  ili9341_WriteReg(0xC5);
  ili9341_WriteData(0x45);
  ili9341_WriteData(0x15);
  ili9341_WriteReg(0xC7);
  ili9341_WriteData(0x90);
  ili9341_WriteReg(0x36);
  ili9341_WriteData(0xC8);
  ili9341_WriteReg(0xF2);
  ili9341_WriteData(0x00);
  ili9341_WriteReg(0xB0);
  ili9341_WriteData(0xC2);
  ili9341_WriteReg(0xB6);
  ili9341_WriteData(0x0A);
  ili9341_WriteData(0xA7);
  ili9341_WriteData(0x27);
  ili9341_WriteData(0x04);
  ili9341_WriteReg(0x2A);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0xEF);
  ili9341_WriteReg(0x2B);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x01);
  ili9341_WriteData(0x3F);
  ili9341_WriteReg(0xF6);
  ili9341_WriteData(0x01);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x06);
  ili9341_WriteReg(0x2C);
  LCD_Delay(200);
  ili9341_WriteReg(0x26);
  ili9341_WriteData(0x01);
  ili9341_WriteReg(0xE0);
  ili9341_WriteData(0x0F);
  ili9341_WriteData(0x29);
  ili9341_WriteData(0x24);
  ili9341_WriteData(0x0C);
  ili9341_WriteData(0x0E);
  ili9341_WriteData(0x09);
  ili9341_WriteData(0x4E);
  ili9341_WriteData(0x78);
  ili9341_WriteData(0x3C);
  ili9341_WriteData(0x09);
  ili9341_WriteData(0x13);
  ili9341_WriteData(0x05);
  ili9341_WriteData(0x17);
  ili9341_WriteData(0x11);
  ili9341_WriteData(0x00);
  ili9341_WriteReg(0xE1);
  ili9341_WriteData(0x00);
  ili9341_WriteData(0x16);
  ili9341_WriteData(0x1B);
  ili9341_WriteData(0x04);
  ili9341_WriteData(0x11);
  ili9341_WriteData(0x07);
  ili9341_WriteData(0x31);
  ili9341_WriteData(0x33);
  ili9341_WriteData(0x42);
  ili9341_WriteData(0x05);
  ili9341_WriteData(0x0C);
  ili9341_WriteData(0x0A);
  ili9341_WriteData(0x28);
  ili9341_WriteData(0x2F);
  ili9341_WriteData(0x0F);
  ili9341_WriteReg(0x11);
  LCD_Delay(200);
  ili9341_WriteReg(0x29);
  ili9341_WriteReg(0x2C);
}


x86 assembly (clang, -O0):
<ili9341_Init>:
push   %rbp
mov    %rsp,%rbp
mov    $0x0,%al
call   1060 <LCD_IO_Init@plt>
mov    $0xca,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc3,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x8,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x50,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xcf,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc1,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x30,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xed,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x64,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x3,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x12,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x81,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xe8,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x85,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x78,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xcb,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x39,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2c,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x34,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xf7,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x20,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xea,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xb1,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x1b,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xb6,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xa,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xa2,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc0,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x10,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc1,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x10,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc5,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x45,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x15,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc7,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x90,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x36,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc8,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xf2,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xb0,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc2,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xb6,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xa,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xa7,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x27,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x4,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2a,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xef,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2b,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x1,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x3f,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xf6,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x1,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x6,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2c,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc8,%edi
call   1040 <LCD_Delay@plt>
mov    $0x26,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x1,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xe0,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xf,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x29,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x24,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xe,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x9,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x4e,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x78,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x3c,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x9,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x13,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x5,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x17,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x11,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xe1,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x16,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x1b,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x4,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x11,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x7,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x31,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x33,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x42,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x5,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xa,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x28,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2f,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xf,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x11,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc8,%edi
call   1040 <LCD_Delay@plt>
mov    $0x29,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x2c,%edi
call   1030 <ili9341_WriteReg@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<ili9341_Init>:
push   %rax
xor    %eax,%eax
call   1060 <LCD_IO_Init@plt>
mov    $0xca,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc3,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x8,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x50,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xcf,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc1,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x30,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xed,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x64,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x3,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x12,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x81,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xe8,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x85,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x78,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xcb,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x39,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2c,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x34,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xf7,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x20,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xea,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xb1,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x1b,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xb6,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xa,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xa2,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc0,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x10,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc1,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x10,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc5,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x45,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x15,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc7,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x90,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x36,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc8,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xf2,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xb0,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc2,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xb6,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xa,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xa7,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x27,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x4,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2a,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xef,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2b,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x1,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x3f,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xf6,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x1,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x6,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2c,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc8,%edi
call   1040 <LCD_Delay@plt>
mov    $0x26,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x1,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xe0,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xf,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x29,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x24,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xe,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x9,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x4e,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x78,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x3c,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x9,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x13,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x5,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x17,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x11,%edi
call   1050 <ili9341_WriteData@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xe1,%edi
call   1030 <ili9341_WriteReg@plt>
xor    %edi,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x16,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x1b,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x4,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x11,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x7,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x31,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x33,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x42,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x5,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xc,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xa,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x28,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x2f,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0xf,%edi
call   1050 <ili9341_WriteData@plt>
mov    $0x11,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0xc8,%edi
call   1040 <LCD_Delay@plt>
mov    $0x29,%edi
call   1030 <ili9341_WriteReg@plt>
mov    $0x2c,%edi
pop    %rax
jmp    1030 <ili9341_WriteReg@plt>

LLVM IR (-O0):
define void @ili9341_Init() {
%1 = call i32 (...) @LCD_IO_Init()
%2 = call i32 @ili9341_WriteReg(i32 202)
%3 = call i32 @ili9341_WriteData(i32 195)
%4 = call i32 @ili9341_WriteData(i32 8)
%5 = call i32 @ili9341_WriteData(i32 80)
%6 = call i32 @ili9341_WriteReg(i32 207)
%7 = call i32 @ili9341_WriteData(i32 0)
%8 = call i32 @ili9341_WriteData(i32 193)
%9 = call i32 @ili9341_WriteData(i32 48)
%10 = call i32 @ili9341_WriteReg(i32 237)
%11 = call i32 @ili9341_WriteData(i32 100)
%12 = call i32 @ili9341_WriteData(i32 3)
%13 = call i32 @ili9341_WriteData(i32 18)
%14 = call i32 @ili9341_WriteData(i32 129)
%15 = call i32 @ili9341_WriteReg(i32 232)
%16 = call i32 @ili9341_WriteData(i32 133)
%17 = call i32 @ili9341_WriteData(i32 0)
%18 = call i32 @ili9341_WriteData(i32 120)
%19 = call i32 @ili9341_WriteReg(i32 203)
%20 = call i32 @ili9341_WriteData(i32 57)
%21 = call i32 @ili9341_WriteData(i32 44)
%22 = call i32 @ili9341_WriteData(i32 0)
%23 = call i32 @ili9341_WriteData(i32 52)
%24 = call i32 @ili9341_WriteData(i32 2)
%25 = call i32 @ili9341_WriteReg(i32 247)
%26 = call i32 @ili9341_WriteData(i32 32)
%27 = call i32 @ili9341_WriteReg(i32 234)
%28 = call i32 @ili9341_WriteData(i32 0)
%29 = call i32 @ili9341_WriteData(i32 0)
%30 = call i32 @ili9341_WriteReg(i32 177)
%31 = call i32 @ili9341_WriteData(i32 0)
%32 = call i32 @ili9341_WriteData(i32 27)
%33 = call i32 @ili9341_WriteReg(i32 182)
%34 = call i32 @ili9341_WriteData(i32 10)
%35 = call i32 @ili9341_WriteData(i32 162)
%36 = call i32 @ili9341_WriteReg(i32 192)
%37 = call i32 @ili9341_WriteData(i32 16)
%38 = call i32 @ili9341_WriteReg(i32 193)
%39 = call i32 @ili9341_WriteData(i32 16)
%40 = call i32 @ili9341_WriteReg(i32 197)
%41 = call i32 @ili9341_WriteData(i32 69)
%42 = call i32 @ili9341_WriteData(i32 21)
%43 = call i32 @ili9341_WriteReg(i32 199)
%44 = call i32 @ili9341_WriteData(i32 144)
%45 = call i32 @ili9341_WriteReg(i32 54)
%46 = call i32 @ili9341_WriteData(i32 200)
%47 = call i32 @ili9341_WriteReg(i32 242)
%48 = call i32 @ili9341_WriteData(i32 0)
%49 = call i32 @ili9341_WriteReg(i32 176)
%50 = call i32 @ili9341_WriteData(i32 194)
%51 = call i32 @ili9341_WriteReg(i32 182)
%52 = call i32 @ili9341_WriteData(i32 10)
%53 = call i32 @ili9341_WriteData(i32 167)
%54 = call i32 @ili9341_WriteData(i32 39)
%55 = call i32 @ili9341_WriteData(i32 4)
%56 = call i32 @ili9341_WriteReg(i32 42)
%57 = call i32 @ili9341_WriteData(i32 0)
%58 = call i32 @ili9341_WriteData(i32 0)
%59 = call i32 @ili9341_WriteData(i32 0)
%60 = call i32 @ili9341_WriteData(i32 239)
%61 = call i32 @ili9341_WriteReg(i32 43)
%62 = call i32 @ili9341_WriteData(i32 0)
%63 = call i32 @ili9341_WriteData(i32 0)
%64 = call i32 @ili9341_WriteData(i32 1)
%65 = call i32 @ili9341_WriteData(i32 63)
%66 = call i32 @ili9341_WriteReg(i32 246)
%67 = call i32 @ili9341_WriteData(i32 1)
%68 = call i32 @ili9341_WriteData(i32 0)
%69 = call i32 @ili9341_WriteData(i32 6)
%70 = call i32 @ili9341_WriteReg(i32 44)
%71 = call i32 @LCD_Delay(i32 200)
%72 = call i32 @ili9341_WriteReg(i32 38)
%73 = call i32 @ili9341_WriteData(i32 1)
%74 = call i32 @ili9341_WriteReg(i32 224)
%75 = call i32 @ili9341_WriteData(i32 15)
%76 = call i32 @ili9341_WriteData(i32 41)
%77 = call i32 @ili9341_WriteData(i32 36)
%78 = call i32 @ili9341_WriteData(i32 12)
%79 = call i32 @ili9341_WriteData(i32 14)
%80 = call i32 @ili9341_WriteData(i32 9)
%81 = call i32 @ili9341_WriteData(i32 78)
%82 = call i32 @ili9341_WriteData(i32 120)
%83 = call i32 @ili9341_WriteData(i32 60)
%84 = call i32 @ili9341_WriteData(i32 9)
%85 = call i32 @ili9341_WriteData(i32 19)
%86 = call i32 @ili9341_WriteData(i32 5)
%87 = call i32 @ili9341_WriteData(i32 23)
%88 = call i32 @ili9341_WriteData(i32 17)
%89 = call i32 @ili9341_WriteData(i32 0)
%90 = call i32 @ili9341_WriteReg(i32 225)
%91 = call i32 @ili9341_WriteData(i32 0)
%92 = call i32 @ili9341_WriteData(i32 22)
%93 = call i32 @ili9341_WriteData(i32 27)
%94 = call i32 @ili9341_WriteData(i32 4)
%95 = call i32 @ili9341_WriteData(i32 17)
%96 = call i32 @ili9341_WriteData(i32 7)
%97 = call i32 @ili9341_WriteData(i32 49)
%98 = call i32 @ili9341_WriteData(i32 51)
%99 = call i32 @ili9341_WriteData(i32 66)
%100 = call i32 @ili9341_WriteData(i32 5)
%101 = call i32 @ili9341_WriteData(i32 12)
%102 = call i32 @ili9341_WriteData(i32 10)
%103 = call i32 @ili9341_WriteData(i32 40)
%104 = call i32 @ili9341_WriteData(i32 47)
%105 = call i32 @ili9341_WriteData(i32 15)
%106 = call i32 @ili9341_WriteReg(i32 17)
%107 = call i32 @LCD_Delay(i32 200)
%108 = call i32 @ili9341_WriteReg(i32 41)
%109 = call i32 @ili9341_WriteReg(i32 44)
ret void
}

LLVM IR (-O2):
define void @ili9341_Init() {
%1 = tail call i32 (...) @LCD_IO_Init()
%2 = tail call i32 @ili9341_WriteReg(i32 202)
%3 = tail call i32 @ili9341_WriteData(i32 195)
%4 = tail call i32 @ili9341_WriteData(i32 8)
%5 = tail call i32 @ili9341_WriteData(i32 80)
%6 = tail call i32 @ili9341_WriteReg(i32 207)
%7 = tail call i32 @ili9341_WriteData(i32 0)
%8 = tail call i32 @ili9341_WriteData(i32 193)
%9 = tail call i32 @ili9341_WriteData(i32 48)
%10 = tail call i32 @ili9341_WriteReg(i32 237)
%11 = tail call i32 @ili9341_WriteData(i32 100)
%12 = tail call i32 @ili9341_WriteData(i32 3)
%13 = tail call i32 @ili9341_WriteData(i32 18)
%14 = tail call i32 @ili9341_WriteData(i32 129)
%15 = tail call i32 @ili9341_WriteReg(i32 232)
%16 = tail call i32 @ili9341_WriteData(i32 133)
%17 = tail call i32 @ili9341_WriteData(i32 0)
%18 = tail call i32 @ili9341_WriteData(i32 120)
%19 = tail call i32 @ili9341_WriteReg(i32 203)
%20 = tail call i32 @ili9341_WriteData(i32 57)
%21 = tail call i32 @ili9341_WriteData(i32 44)
%22 = tail call i32 @ili9341_WriteData(i32 0)
%23 = tail call i32 @ili9341_WriteData(i32 52)
%24 = tail call i32 @ili9341_WriteData(i32 2)
%25 = tail call i32 @ili9341_WriteReg(i32 247)
%26 = tail call i32 @ili9341_WriteData(i32 32)
%27 = tail call i32 @ili9341_WriteReg(i32 234)
%28 = tail call i32 @ili9341_WriteData(i32 0)
%29 = tail call i32 @ili9341_WriteData(i32 0)
%30 = tail call i32 @ili9341_WriteReg(i32 177)
%31 = tail call i32 @ili9341_WriteData(i32 0)
%32 = tail call i32 @ili9341_WriteData(i32 27)
%33 = tail call i32 @ili9341_WriteReg(i32 182)
%34 = tail call i32 @ili9341_WriteData(i32 10)
%35 = tail call i32 @ili9341_WriteData(i32 162)
%36 = tail call i32 @ili9341_WriteReg(i32 192)
%37 = tail call i32 @ili9341_WriteData(i32 16)
%38 = tail call i32 @ili9341_WriteReg(i32 193)
%39 = tail call i32 @ili9341_WriteData(i32 16)
%40 = tail call i32 @ili9341_WriteReg(i32 197)
%41 = tail call i32 @ili9341_WriteData(i32 69)
%42 = tail call i32 @ili9341_WriteData(i32 21)
%43 = tail call i32 @ili9341_WriteReg(i32 199)
%44 = tail call i32 @ili9341_WriteData(i32 144)
%45 = tail call i32 @ili9341_WriteReg(i32 54)
%46 = tail call i32 @ili9341_WriteData(i32 200)
%47 = tail call i32 @ili9341_WriteReg(i32 242)
%48 = tail call i32 @ili9341_WriteData(i32 0)
%49 = tail call i32 @ili9341_WriteReg(i32 176)
%50 = tail call i32 @ili9341_WriteData(i32 194)
%51 = tail call i32 @ili9341_WriteReg(i32 182)
%52 = tail call i32 @ili9341_WriteData(i32 10)
%53 = tail call i32 @ili9341_WriteData(i32 167)
%54 = tail call i32 @ili9341_WriteData(i32 39)
%55 = tail call i32 @ili9341_WriteData(i32 4)
%56 = tail call i32 @ili9341_WriteReg(i32 42)
%57 = tail call i32 @ili9341_WriteData(i32 0)
%58 = tail call i32 @ili9341_WriteData(i32 0)
%59 = tail call i32 @ili9341_WriteData(i32 0)
%60 = tail call i32 @ili9341_WriteData(i32 239)
%61 = tail call i32 @ili9341_WriteReg(i32 43)
%62 = tail call i32 @ili9341_WriteData(i32 0)
%63 = tail call i32 @ili9341_WriteData(i32 0)
%64 = tail call i32 @ili9341_WriteData(i32 1)
%65 = tail call i32 @ili9341_WriteData(i32 63)
%66 = tail call i32 @ili9341_WriteReg(i32 246)
%67 = tail call i32 @ili9341_WriteData(i32 1)
%68 = tail call i32 @ili9341_WriteData(i32 0)
%69 = tail call i32 @ili9341_WriteData(i32 6)
%70 = tail call i32 @ili9341_WriteReg(i32 44)
%71 = tail call i32 @LCD_Delay(i32 200)
%72 = tail call i32 @ili9341_WriteReg(i32 38)
%73 = tail call i32 @ili9341_WriteData(i32 1)
%74 = tail call i32 @ili9341_WriteReg(i32 224)
%75 = tail call i32 @ili9341_WriteData(i32 15)
%76 = tail call i32 @ili9341_WriteData(i32 41)
%77 = tail call i32 @ili9341_WriteData(i32 36)
%78 = tail call i32 @ili9341_WriteData(i32 12)
%79 = tail call i32 @ili9341_WriteData(i32 14)
%80 = tail call i32 @ili9341_WriteData(i32 9)
%81 = tail call i32 @ili9341_WriteData(i32 78)
%82 = tail call i32 @ili9341_WriteData(i32 120)
%83 = tail call i32 @ili9341_WriteData(i32 60)
%84 = tail call i32 @ili9341_WriteData(i32 9)
%85 = tail call i32 @ili9341_WriteData(i32 19)
%86 = tail call i32 @ili9341_WriteData(i32 5)
%87 = tail call i32 @ili9341_WriteData(i32 23)
%88 = tail call i32 @ili9341_WriteData(i32 17)
%89 = tail call i32 @ili9341_WriteData(i32 0)
%90 = tail call i32 @ili9341_WriteReg(i32 225)
%91 = tail call i32 @ili9341_WriteData(i32 0)
%92 = tail call i32 @ili9341_WriteData(i32 22)
%93 = tail call i32 @ili9341_WriteData(i32 27)
%94 = tail call i32 @ili9341_WriteData(i32 4)
%95 = tail call i32 @ili9341_WriteData(i32 17)
%96 = tail call i32 @ili9341_WriteData(i32 7)
%97 = tail call i32 @ili9341_WriteData(i32 49)
%98 = tail call i32 @ili9341_WriteData(i32 51)
%99 = tail call i32 @ili9341_WriteData(i32 66)
%100 = tail call i32 @ili9341_WriteData(i32 5)
%101 = tail call i32 @ili9341_WriteData(i32 12)
%102 = tail call i32 @ili9341_WriteData(i32 10)
%103 = tail call i32 @ili9341_WriteData(i32 40)
%104 = tail call i32 @ili9341_WriteData(i32 47)
%105 = tail call i32 @ili9341_WriteData(i32 15)
%106 = tail call i32 @ili9341_WriteReg(i32 17)
%107 = tail call i32 @LCD_Delay(i32 200)
%108 = tail call i32 @ili9341_WriteReg(i32 41)
%109 = tail call i32 @ili9341_WriteReg(i32 44)
ret void
}