Created
May 21, 2018 07:13
-
-
Save beholdnec/9e186064f64e5992f9dd50d20b6e4387 to your computer and use it in GitHub Desktop.
Test file for llvm-m6502; originates from a small game
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'SPACY4.c' | |
source_filename = "SPACY4.c" | |
target datalayout = "e-p:16:8-n8" | |
target triple = "m6502" | |
%struct.ENEMY = type { i8, i8, i8, i8, i8, i8, i8, i8 } | |
%struct.BULLET = type { i8, i8, i8, i8, i8, i8, i8, i8 } | |
@Title = constant [209 x i8] c"\01\00\01\C7\90\91\92\93\94\95\96\97\98\99\9A\9B\9C\9D\9E\9F\9F\00\01\0E\A0\A1\A2\A3\A4\A5\A6\A7\A8\A9\AA\AB\AC\AD\AE\AF\AF\00\01\0E\B0\B1\B2\B3\B4\B5\B6\B7\B8\B9\BA\BB\BC\BD\BE\BF\BF\00\01\0E\C0\C1\C2\C3\C4\C5\C6\C7\C8\C9\CA\CB\CC\CD\CE\CF\00\01\0F\D0\D1\D2\D3\D4\D5\D6\D7\D8\D9\DA\DB\DC\DD\DE\DF\00\01\0F\E0\E1\E2\E3\E4\E5\E6\E7\E8\E9\EA\EB\EC\ED\EE\EF\00\01\0F\F0\F1\F2\F3\F4\F5\F6\F7\00\F9\FA\FB\FC\FD\FE\FF\00\01\91Press\00\00Start\00\01\912015\00Doug\00Fraker\00\01N Updated\00Aug\002016\00\01\A9\08\0A\0A\02\00\01\0B\05\01\03\00\01\09\01\00", align 1 | |
@Stars = constant [160 x i8] c"\01\00\01\11\07\00\01\09\04\00\01\04\06\00\01*\04\00\01\05\06\00\01$\05\06\00\01#\04\00\06\00\07\00\01)\06\00\01\06\08\00\01\11\05\00\01'\04\00\01%\05\00\01\0E\06\00\01\11\06\00\01/\04\00\01\05\05\00\01\0B\05\00\01\0E\07\00\01&\04\00\014\06\00\01\0C\07\00\01\05\04\00\01%\05\00\01\06\05\00\01\0D\05\00\01F\05\00\01\0A\04\00\01\03\05\00\01\17\06\00\01\0F\07\00\019\04\00\01\10\05\00\01\04\06\00\01\0F\04\00\012\06\00\01\16\06\00\01\11\06\00\01\11\08\01\00", align 1 | |
@Keep = constant [42 x i8] c"\01\00\01\FE\00\01\09Keep\00Playing?\00\01UYes\00\01<No\00\01\FE\00\01\FE\00\01\13\01\00", align 1 | |
@PALETTE = constant [32 x i8] c"\0F\02\13$\00\00\00\00\00\00\00\00\00\00\10 \0F\01(\22\00\16'8\00\02\133\00\17\1A9", align 1 | |
@HUD = constant [7 x i8] c"SCORE:\00", align 1 | |
@HUD2 = constant [7 x i8] c"LIVES:\00", align 1 | |
@joypad1 = common global i8 0, align 1 | |
@song = common global i8 0, align 1 | |
@Game_Mode = common global i8 0, align 1 | |
@NMI_flag = common global i8 0, align 1 | |
@joypad1old = common global i8 0, align 1 | |
@hero_ship = common global %struct.ENEMY zeroinitializer, align 1 | |
@Wave = common global i8 0, align 1 | |
@Master_Delay = common global i8 0, align 1 | |
@Init_Wave_Flag = common global i8 0, align 1 | |
@injury_Timer = common global i8 0, align 1 | |
@Save_Game_Mode = common global i8 0, align 1 | |
@Death_Flag = common global i8 0, align 1 | |
@Wait = common global i8 0, align 1 | |
@Wait2 = common global i8 0, align 1 | |
@Selection = common global i8 0, align 1 | |
@SPRITES = common global [256 x i8] zeroinitializer, align 1 | |
@invincible = common global i8 0, align 1 | |
@Lives = common global i8 0, align 1 | |
@index_ = common global i8 0, align 1 | |
@Palette_Fade = constant [4 x i8] c"$\14\04\14", align 1 | |
@Frame_Count = common global i8 0, align 1 | |
@X_speed = common global i8 0, align 1 | |
@Vert_scroll = common global i8 0, align 1 | |
@bullet_Wait = common global i8 0, align 1 | |
@hero_bullet1 = common global %struct.BULLET zeroinitializer, align 1 | |
@hero_bullet2 = common global %struct.BULLET zeroinitializer, align 1 | |
@hero_bullet3 = common global %struct.BULLET zeroinitializer, align 1 | |
@hero_bullet4 = common global %struct.BULLET zeroinitializer, align 1 | |
@hero_bullet5 = common global %struct.BULLET zeroinitializer, align 1 | |
@hero_bullet6 = common global %struct.BULLET zeroinitializer, align 1 | |
@dummy = common global %struct.ENEMY zeroinitializer, align 1 | |
@Sprite_index_ = common global i8 0, align 1 | |
@hero_bullet7 = common global %struct.BULLET zeroinitializer, align 1 | |
@hero_bullet8 = common global %struct.BULLET zeroinitializer, align 1 | |
@enemy_bullet1 = common global %struct.BULLET zeroinitializer, align 1 | |
@enemy_bullet2 = common global %struct.BULLET zeroinitializer, align 1 | |
@enemy_bullet3 = common global %struct.BULLET zeroinitializer, align 1 | |
@enemy_bullet4 = common global %struct.BULLET zeroinitializer, align 1 | |
@enemy_bullet5 = common global %struct.BULLET zeroinitializer, align 1 | |
@enemy_bullet6 = common global %struct.BULLET zeroinitializer, align 1 | |
@enemy_bullet7 = common global %struct.BULLET zeroinitializer, align 1 | |
@enemy_bullet8 = common global %struct.BULLET zeroinitializer, align 1 | |
@Frame_Count2 = common global i8 0, align 1 | |
@ENEMY1 = common global %struct.ENEMY zeroinitializer, align 1 | |
@ENEMY2 = common global %struct.ENEMY zeroinitializer, align 1 | |
@ENEMY3 = common global %struct.ENEMY zeroinitializer, align 1 | |
@ENEMY4 = common global %struct.ENEMY zeroinitializer, align 1 | |
@ENEMY5 = common global %struct.ENEMY zeroinitializer, align 1 | |
@ENEMY6 = common global %struct.ENEMY zeroinitializer, align 1 | |
@ENEMY7 = common global %struct.ENEMY zeroinitializer, align 1 | |
@ENEMY8 = common global %struct.ENEMY zeroinitializer, align 1 | |
@Enemy_Pointer = common global %struct.ENEMY* null, align 1 | |
@Explode1 = common global %struct.ENEMY zeroinitializer, align 1 | |
@objectB_y = common global i8 0, align 1 | |
@objectB_x = common global i8 0, align 1 | |
@Explode2 = common global %struct.ENEMY zeroinitializer, align 1 | |
@Explode3 = common global %struct.ENEMY zeroinitializer, align 1 | |
@Explode4 = common global %struct.ENEMY zeroinitializer, align 1 | |
@collision = common global i8 0, align 1 | |
@Score4 = common global i8 0, align 1 | |
@objectA_width = common global i8 0, align 1 | |
@objectB_width = common global i8 0, align 1 | |
@objectB_height = common global i8 0, align 1 | |
@objectA_height = common global i8 0, align 1 | |
@objectA_y = common global i8 0, align 1 | |
@objectA_x = common global i8 0, align 1 | |
@Score3 = common global i8 0, align 1 | |
@Score2 = common global i8 0, align 1 | |
@Score1 = common global i8 0, align 1 | |
@Big_Math = common global i16 0, align 1 | |
@Wave0 = constant [64 x i8] c"\06\00 \FF\00\01\00\00\06\000\FF\10\00\00\00\06\00@\FF \00\00\00\06\00P\FF0\00\00\00\06\00`\FF@\02\00\00\06\00p\FFP\00\00\00\06\00\80\FF`\03\00\00\06\00\90\FFp\00\00\00", align 1 | |
@Wave1 = constant [64 x i8] c"\08@\01\10\00\00\00\00\08@\01\10\10\00\00\00\08@\01\10 \00\00\00\08@\01\100\00\00\00\08@\01\10@\00\00\00\08@\01\10P\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", align 1 | |
@Wave2 = constant [64 x i8] c"\08\00\01\E0\00\00\00\00\08\00\01\E0\10\00\00\00\08\00\01\E0 \00\00\00\08\00\01\E00\00\00\00\08\00\01\E0@\00\00\00\08\00\01\E0P\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00", align 1 | |
@Wave3 = constant [64 x i8] c"\06\00 \00\00\01\02\00\06\000\00@\00\02\00\06\00@\00\10\00\02\00\06\00P\00P\00\02\00\06\00`\00 \02\02\00\06\00p\00`\00\02\00\06\00\80\000\03\02\00\06\00\90\00p\00\02\00", align 1 | |
@Wave4 = constant [64 x i8] c"\0A\00\A0\FF\00\01\00\00\0A\00\A0\FF\10\00\00\00\0A\00\A0\FF \00\00\00\0A\00\A0\FF0\00\00\00\0A\00\A0\FF@\02\00\00\0A\00\A0\FFP\00\00\00\0A\00\A0\FF`\00\00\00\0A\00\A0\FFp\00\00\00", align 1 | |
@Wave5 = constant [64 x i8] c"\0A@\A0\00\00\01\00\00\0A@\A0\00\10\00\00\00\0A@\A0\00 \00\00\00\0A@\A0\000\00\00\00\0A@\A0\00@\03\00\00\0A@\A0\00P\00\00\00\0A@\A0\00`\00\00\00\0A@\A0\00p\00\00\00", align 1 | |
@Wave6 = constant [64 x i8] c"\09@\01\10\00\01\00\00\09\00\01\E0\10\00\02\00\09@\01\10 \00\00\00\09\00\01\E00\01\02\00\09@\01\10@\00\00\00\09\00\01\E0P\00\02\00\09@\01\10`\00\00\00\09\00\01\E0p\00\02\00", align 1 | |
@Wave7 = constant [64 x i8] c"\09@\01\10\00\02\00\00\09@\01\10\10\01\00\00\09@\01\10 \00\00\00\09@\01\100\00\00\00\09@\01\10@\00\00\00\09@\01\10P\00\00\00\09@\01\10`\00\00\00\09@\01\10p\00\00\00", align 1 | |
@Wave8 = constant [64 x i8] c"\09\00\01\E0\00\03\02\00\09\00\01\E0\10\01\02\00\09\00\01\E0 \00\02\00\09\00\01\E00\00\02\00\09\00\01\E0@\00\02\00\09\00\01\E0P\00\02\00\09\00\01\E0`\00\02\00\09\00\01\E0p\00\02\00", align 1 | |
@Wave9 = constant [64 x i8] c"\0A\00(\FF\00\00\00\00\0A\00(\FF\10\05\00\00\0A\00(\FF \00\00\00\0A\00(\FF0\06\00\00\0A\00(\FF@\00\00\00\0A\00(\FFP\00\00\00\0A\00(\FF`\05\00\00\0A\00(\FFp\00\00\00", align 1 | |
@Wave10 = constant [64 x i8] c"\06\00@\00\00\00\00\00\06\00\01\00\10\00\00\00\06\00\010 \00\00\00\06\00\01`0\00\00\00\06\00\01\A0\08\00\00\00\06\00\01\D0\18\00\00\00\06\00\01\FF8\00\00\00\06\00@\FFH\00\00\00", align 1 | |
@All_Wave_Addresses = constant [54 x i8*] [i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave0, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave3, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave1, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave2, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave3, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave1, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave2, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave7, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave8, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave1, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave2, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave7, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave8, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave6, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave0, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave4, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave5, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave3, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave4, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave5, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave0, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave6, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave6, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave9, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave1, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave2, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave9, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave1, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave2, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave6, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave6, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave10, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave9, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave9, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave1, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave2, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave1, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave2, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave6, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave6, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave7, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave8, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave6, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave10, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave4, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave5, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave10, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave4, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave5, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave9, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave9, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave10, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave10, i32 0, i32 0), i8* getelementptr inbounds ([64 x i8], [64 x i8]* @Wave10, i32 0, i32 0)], align 1 | |
@Wave_to_Pattern = constant [54 x i8] c"\00\00\01\02\00\01\02\05\05\01\02\05\05\05\00\03\04\00\03\04\00\05\05\06\01\02\06\01\02\05\05\07\06\06\01\02\01\02\05\05\05\05\05\07\03\04\07\03\04\06\06\07\07\07", align 1 | |
@Pattern = common global i8 0, align 1 | |
@p_Wave_Data = common global i8* null, align 1 | |
@CIRCLE_X = constant [32 x i8] c"\E4\E8\EC\F1\F4\F7\FA\FD\00\03\06\09\0C\0F\12\15\18\15\12\0F\0C\09\06\03\00\FD\FA\F7\F4\F1\EC\E8", align 1 | |
@CIRCLE_Y = constant [32 x i8] c"\00\03\06\09\0C\0F\12\15\18\15\12\0F\0C\06\03\00\FE\FD\FA\F7\F4\F1\EC\E8\E4\E8\ED\F1\F4\F7\FA\FD", align 1 | |
@CIRCLE_D = constant [32 x i8] c"\00\00\00\00\00\00\00\00\00\00@@@@@@@@@@@@@@@@\00\00\00\00\00\00", align 1 | |
@CIRCLE_A = constant [32 x i8] c"\0A\0A\09\09\09\09\08\08\08\08\09\09\09\09\0A\0A\0A\0A\0B\0B\0B\0B\0C\0C\0C\0C\0B\0B\0B\0B\0A\0A", align 1 | |
@Current_Move = common global i8 0, align 1 | |
@temp = common global i8 0, align 1 | |
@temp2 = common global i8 0, align 1 | |
@temp3 = common global i8 0, align 1 | |
@Current_Type = common global i8 0, align 1 | |
@X_compare = common global i8 0, align 1 | |
@BOSS = common global %struct.ENEMY zeroinitializer, align 1 | |
@BOSS_health = common global i8 0, align 1 | |
@LASER1 = common global %struct.ENEMY zeroinitializer, align 1 | |
@LASER2 = common global %struct.ENEMY zeroinitializer, align 1 | |
@LASER3 = common global %struct.ENEMY zeroinitializer, align 1 | |
@LASER4 = common global %struct.ENEMY zeroinitializer, align 1 | |
@BOSS_health_test = common global i8 0, align 1 | |
@BOSS_eyes = common global i8 0, align 1 | |
@BOSS_BLINK = constant [4 x i8] c"\02\12\1F\12", align 1 | |
@Shake_Timer_1 = common global i8 0, align 1 | |
@Shake_Timer_2 = common global i8 0, align 1 | |
@Flag_Blink_Boss = common global i8 0, align 1 | |
@index_4 = common global i8 0, align 1 | |
@joypad1test = common global i8 0, align 1 | |
@joypad2 = common global i8 0, align 1 | |
@joypad2old = common global i8 0, align 1 | |
@joypad2test = common global i8 0, align 1 | |
@Vert_scroll2 = common global i8 0, align 1 | |
@Y_speed = common global i8 0, align 1 | |
@ENEMY_X = common global i8 0, align 1 | |
@ENEMY_Y = common global i8 0, align 1 | |
; Function Attrs: nounwind | |
define void @main() #0 { | |
entry: | |
call void @All_Off() | |
call void @Draw_Title() | |
store i8 -1, i8* @joypad1, align 1 | |
call void @Load_Palette() | |
call void @Reset_Scroll() | |
call void @Reset_Music() | |
%0 = load i8, i8* @song, align 1 | |
call void @Play_Music(i8 zeroext %0) | |
call void @Wait_Vblank() | |
call void @All_On() | |
br label %while.body | |
while.body: ; preds = %entry, %while.end209 | |
br label %while.cond1 | |
while.cond1: ; preds = %if.end, %while.body | |
%1 = load i8, i8* @Game_Mode, align 1 | |
%conv = zext i8 %1 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %while.body3, label %while.end22 | |
while.body3: ; preds = %while.cond1 | |
br label %while.cond4 | |
while.cond4: ; preds = %while.body8, %while.body3 | |
%2 = load i8, i8* @NMI_flag, align 1 | |
%conv5 = zext i8 %2 to i16 | |
%cmp6 = icmp eq i16 %conv5, 0 | |
br i1 %cmp6, label %while.body8, label %while.end | |
while.body8: ; preds = %while.cond4 | |
br label %while.cond4 | |
while.end: ; preds = %while.cond4 | |
call void @Rotate_Palette() | |
call void @Reset_Scroll() | |
call void @Get_Input() | |
%3 = load i8, i8* @joypad1old, align 1 | |
%conv9 = zext i8 %3 to i16 | |
%and = and i16 %conv9, 16 | |
%cmp10 = icmp eq i16 %and, 0 | |
br i1 %cmp10, label %land.lhs.true, label %if.end | |
land.lhs.true: ; preds = %while.end | |
%4 = load i8, i8* @joypad1, align 1 | |
%conv12 = zext i8 %4 to i16 | |
%and13 = and i16 %conv12, 16 | |
%cmp14 = icmp ne i16 %and13, 0 | |
br i1 %cmp14, label %if.then, label %if.end | |
if.then: ; preds = %land.lhs.true | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond16 | |
while.cond16: ; preds = %while.body20, %if.then | |
%5 = load i8, i8* @NMI_flag, align 1 | |
%conv17 = zext i8 %5 to i16 | |
%cmp18 = icmp eq i16 %conv17, 0 | |
br i1 %cmp18, label %while.body20, label %while.end21 | |
while.body20: ; preds = %while.cond16 | |
br label %while.cond16 | |
while.end21: ; preds = %while.cond16 | |
call void @All_Off() | |
store i8 1, i8* @Game_Mode, align 1 | |
store i8 120, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 -48, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 2), align 1 | |
store i8 0, i8* @Wave, align 1 | |
store i8 50, i8* @Master_Delay, align 1 | |
call void @Clear_Enemies() | |
call void @Set_Sprite_Zero() | |
call void @Draw_Background() | |
call void @Reset_Music() | |
store i8 1, i8* @song, align 1 | |
%6 = load i8, i8* @song, align 1 | |
call void @Play_Music(i8 zeroext %6) | |
call void @Wait_Vblank() | |
store i8 -111, i8* inttoptr (i16 8192 to i8*), align 1 | |
br label %if.end | |
if.end: ; preds = %while.end21, %land.lhs.true, %while.end | |
call void @Music_Update() | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond1 | |
while.end22: ; preds = %while.cond1 | |
br label %while.cond23 | |
while.cond23: ; preds = %if.end73, %while.end22 | |
%7 = load i8, i8* @Game_Mode, align 1 | |
%conv24 = zext i8 %7 to i16 | |
%cmp25 = icmp eq i16 %conv24, 1 | |
br i1 %cmp25, label %while.body27, label %while.end74 | |
while.body27: ; preds = %while.cond23 | |
br label %while.cond28 | |
while.cond28: ; preds = %while.body32, %while.body27 | |
%8 = load i8, i8* @NMI_flag, align 1 | |
%conv29 = zext i8 %8 to i16 | |
%cmp30 = icmp eq i16 %conv29, 0 | |
br i1 %cmp30, label %while.body32, label %while.end33 | |
while.body32: ; preds = %while.cond28 | |
br label %while.cond28 | |
while.end33: ; preds = %while.cond28 | |
call void @Get_Input() | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
%9 = load i8, i8* @Master_Delay, align 1 | |
%conv34 = zext i8 %9 to i16 | |
%cmp35 = icmp ne i16 %conv34, 0 | |
br i1 %cmp35, label %if.then37, label %if.end43 | |
if.then37: ; preds = %while.end33 | |
%10 = load i8, i8* @Master_Delay, align 1 | |
%dec = add i8 %10, -1 | |
store i8 %dec, i8* @Master_Delay, align 1 | |
%11 = load i8, i8* @Master_Delay, align 1 | |
%conv38 = zext i8 %11 to i16 | |
%cmp39 = icmp eq i16 %conv38, 0 | |
br i1 %cmp39, label %if.then41, label %if.end42 | |
if.then41: ; preds = %if.then37 | |
%12 = load i8, i8* @Init_Wave_Flag, align 1 | |
%inc = add i8 %12, 1 | |
store i8 %inc, i8* @Init_Wave_Flag, align 1 | |
br label %if.end42 | |
if.end42: ; preds = %if.then41, %if.then37 | |
br label %if.end43 | |
if.end43: ; preds = %if.end42, %while.end33 | |
%13 = load i8, i8* @Init_Wave_Flag, align 1 | |
%conv44 = zext i8 %13 to i16 | |
%cmp45 = icmp ne i16 %conv44, 0 | |
br i1 %cmp45, label %if.then47, label %if.end48 | |
if.then47: ; preds = %if.end43 | |
store i8 0, i8* @Init_Wave_Flag, align 1 | |
call void @Init_New_Wave() | |
br label %if.end48 | |
if.end48: ; preds = %if.then47, %if.end43 | |
call void @Check_Wave_Over() | |
%14 = load i8, i8* @injury_Timer, align 1 | |
%conv49 = zext i8 %14 to i16 | |
%cmp50 = icmp eq i16 %conv49, 0 | |
br i1 %cmp50, label %if.then52, label %if.end53 | |
if.then52: ; preds = %if.end48 | |
call void @shooting() | |
br label %if.end53 | |
if.end53: ; preds = %if.then52, %if.end48 | |
call void @Check_Injury() | |
call void @move_logic() | |
call void @collision_Test() | |
call void @Randomly_Shoot() | |
call void @Draw_Bullets() | |
call void @Draw_Hero() | |
call void @Draw_Enemies2() | |
call void @Set_Sprite_Zero() | |
call void @Music_Update() | |
call void @Adjust_Scoreboard() | |
%15 = load i8, i8* @joypad1old, align 1 | |
%conv54 = zext i8 %15 to i16 | |
%and55 = and i16 %conv54, 16 | |
%cmp56 = icmp eq i16 %and55, 0 | |
br i1 %cmp56, label %land.lhs.true58, label %if.end64 | |
land.lhs.true58: ; preds = %if.end53 | |
%16 = load i8, i8* @joypad1, align 1 | |
%conv59 = zext i8 %16 to i16 | |
%and60 = and i16 %conv59, 16 | |
%cmp61 = icmp ne i16 %and60, 0 | |
br i1 %cmp61, label %if.then63, label %if.end64 | |
if.then63: ; preds = %land.lhs.true58 | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
call void @Turn_On_Pause_Sprites() | |
call void @Reset_Music() | |
store i8 2, i8* @song, align 1 | |
%17 = load i8, i8* @song, align 1 | |
call void @Play_Music(i8 zeroext %17) | |
%18 = load i8, i8* @Game_Mode, align 1 | |
store i8 %18, i8* @Save_Game_Mode, align 1 | |
store i8 2, i8* @Game_Mode, align 1 | |
br label %if.end64 | |
if.end64: ; preds = %if.then63, %land.lhs.true58, %if.end53 | |
%19 = load i8, i8* @injury_Timer, align 1 | |
%conv65 = zext i8 %19 to i16 | |
%cmp66 = icmp eq i16 %conv65, 99 | |
br i1 %cmp66, label %land.lhs.true68, label %if.end73 | |
land.lhs.true68: ; preds = %if.end64 | |
%20 = load i8, i8* @Death_Flag, align 1 | |
%conv69 = zext i8 %20 to i16 | |
%cmp70 = icmp ne i16 %conv69, 0 | |
br i1 %cmp70, label %if.then72, label %if.end73 | |
if.then72: ; preds = %land.lhs.true68 | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
call void @Turn_On_Game_Over_Sprites() | |
call void @Reset_Music() | |
store i8 3, i8* @song, align 1 | |
%21 = load i8, i8* @song, align 1 | |
call void @Play_Music(i8 zeroext %21) | |
store i8 3, i8* @Game_Mode, align 1 | |
br label %if.end73 | |
if.end73: ; preds = %if.then72, %land.lhs.true68, %if.end64 | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond23 | |
while.end74: ; preds = %while.cond23 | |
br label %while.cond75 | |
while.cond75: ; preds = %if.end115, %while.end74 | |
%22 = load i8, i8* @Game_Mode, align 1 | |
%conv76 = zext i8 %22 to i16 | |
%cmp77 = icmp eq i16 %conv76, 5 | |
br i1 %cmp77, label %while.body79, label %while.end116 | |
while.body79: ; preds = %while.cond75 | |
br label %while.cond80 | |
while.cond80: ; preds = %while.body84, %while.body79 | |
%23 = load i8, i8* @NMI_flag, align 1 | |
%conv81 = zext i8 %23 to i16 | |
%cmp82 = icmp eq i16 %conv81, 0 | |
br i1 %cmp82, label %while.body84, label %while.end85 | |
while.body84: ; preds = %while.cond80 | |
br label %while.cond80 | |
while.end85: ; preds = %while.cond80 | |
call void @Get_Input() | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
%24 = load i8, i8* @injury_Timer, align 1 | |
%conv86 = zext i8 %24 to i16 | |
%cmp87 = icmp eq i16 %conv86, 0 | |
br i1 %cmp87, label %if.then89, label %if.end90 | |
if.then89: ; preds = %while.end85 | |
call void @shooting() | |
br label %if.end90 | |
if.end90: ; preds = %if.then89, %while.end85 | |
call void @Check_Injury() | |
call void @move_logic() | |
call void @collision_Test4() | |
%25 = load i8, i8* @Game_Mode, align 1 | |
%conv91 = zext i8 %25 to i16 | |
%cmp92 = icmp ne i16 %conv91, 5 | |
br i1 %cmp92, label %if.then94, label %if.end95 | |
if.then94: ; preds = %if.end90 | |
br label %while.end116 | |
if.end95: ; preds = %if.end90 | |
call void @Draw_Bullets() | |
call void @Draw_Hero() | |
call void @Move_Lasers() | |
call void @Move_Boss() | |
call void @Set_Sprite_Zero() | |
call void @Music_Update() | |
call void @Adjust_Scoreboard() | |
%26 = load i8, i8* @joypad1old, align 1 | |
%conv96 = zext i8 %26 to i16 | |
%and97 = and i16 %conv96, 16 | |
%cmp98 = icmp eq i16 %and97, 0 | |
br i1 %cmp98, label %land.lhs.true100, label %if.end106 | |
land.lhs.true100: ; preds = %if.end95 | |
%27 = load i8, i8* @joypad1, align 1 | |
%conv101 = zext i8 %27 to i16 | |
%and102 = and i16 %conv101, 16 | |
%cmp103 = icmp ne i16 %and102, 0 | |
br i1 %cmp103, label %if.then105, label %if.end106 | |
if.then105: ; preds = %land.lhs.true100 | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
call void @Turn_On_Pause_Sprites() | |
call void @Reset_Music() | |
store i8 2, i8* @song, align 1 | |
%28 = load i8, i8* @song, align 1 | |
call void @Play_Music(i8 zeroext %28) | |
%29 = load i8, i8* @Game_Mode, align 1 | |
store i8 %29, i8* @Save_Game_Mode, align 1 | |
store i8 2, i8* @Game_Mode, align 1 | |
br label %if.end106 | |
if.end106: ; preds = %if.then105, %land.lhs.true100, %if.end95 | |
%30 = load i8, i8* @injury_Timer, align 1 | |
%conv107 = zext i8 %30 to i16 | |
%cmp108 = icmp eq i16 %conv107, 99 | |
br i1 %cmp108, label %land.lhs.true110, label %if.end115 | |
land.lhs.true110: ; preds = %if.end106 | |
%31 = load i8, i8* @Death_Flag, align 1 | |
%conv111 = zext i8 %31 to i16 | |
%cmp112 = icmp ne i16 %conv111, 0 | |
br i1 %cmp112, label %if.then114, label %if.end115 | |
if.then114: ; preds = %land.lhs.true110 | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
call void @Turn_On_Game_Over_Sprites() | |
call void @Reset_Music() | |
store i8 3, i8* @song, align 1 | |
%32 = load i8, i8* @song, align 1 | |
call void @Play_Music(i8 zeroext %32) | |
store i8 3, i8* @Game_Mode, align 1 | |
br label %if.end115 | |
if.end115: ; preds = %if.then114, %land.lhs.true110, %if.end106 | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond75 | |
while.end116: ; preds = %if.then94, %while.cond75 | |
br label %while.cond117 | |
while.cond117: ; preds = %if.end138, %while.end116 | |
%33 = load i8, i8* @Game_Mode, align 1 | |
%conv118 = zext i8 %33 to i16 | |
%cmp119 = icmp eq i16 %conv118, 2 | |
br i1 %cmp119, label %while.body121, label %while.end139 | |
while.body121: ; preds = %while.cond117 | |
br label %while.cond122 | |
while.cond122: ; preds = %while.body126, %while.body121 | |
%34 = load i8, i8* @NMI_flag, align 1 | |
%conv123 = zext i8 %34 to i16 | |
%cmp124 = icmp eq i16 %conv123, 0 | |
br i1 %cmp124, label %while.body126, label %while.end127 | |
while.body126: ; preds = %while.cond122 | |
br label %while.cond122 | |
while.end127: ; preds = %while.cond122 | |
call void @Get_Input() | |
call void @Music_Update() | |
%35 = load i8, i8* @joypad1old, align 1 | |
%conv128 = zext i8 %35 to i16 | |
%and129 = and i16 %conv128, 16 | |
%cmp130 = icmp eq i16 %and129, 0 | |
br i1 %cmp130, label %land.lhs.true132, label %if.end138 | |
land.lhs.true132: ; preds = %while.end127 | |
%36 = load i8, i8* @joypad1, align 1 | |
%conv133 = zext i8 %36 to i16 | |
%and134 = and i16 %conv133, 16 | |
%cmp135 = icmp ne i16 %and134, 0 | |
br i1 %cmp135, label %if.then137, label %if.end138 | |
if.then137: ; preds = %land.lhs.true132 | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
call void @Reset_Music() | |
store i8 1, i8* @song, align 1 | |
%37 = load i8, i8* @song, align 1 | |
call void @Play_Music(i8 zeroext %37) | |
%38 = load i8, i8* @Save_Game_Mode, align 1 | |
store i8 %38, i8* @Game_Mode, align 1 | |
br label %if.end138 | |
if.end138: ; preds = %if.then137, %land.lhs.true132, %while.end127 | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond117 | |
while.end139: ; preds = %while.cond117 | |
br label %while.cond140 | |
while.cond140: ; preds = %if.end162, %while.end139 | |
%39 = load i8, i8* @Game_Mode, align 1 | |
%conv141 = zext i8 %39 to i16 | |
%cmp142 = icmp eq i16 %conv141, 3 | |
br i1 %cmp142, label %while.body144, label %while.end163 | |
while.body144: ; preds = %while.cond140 | |
br label %while.cond145 | |
while.cond145: ; preds = %while.body149, %while.body144 | |
%40 = load i8, i8* @NMI_flag, align 1 | |
%conv146 = zext i8 %40 to i16 | |
%cmp147 = icmp eq i16 %conv146, 0 | |
br i1 %cmp147, label %while.body149, label %while.end150 | |
while.body149: ; preds = %while.cond145 | |
br label %while.cond145 | |
while.end150: ; preds = %while.cond145 | |
call void @Get_Input() | |
call void @Music_Update() | |
%41 = load i8, i8* @Wait, align 1 | |
%inc151 = add i8 %41, 1 | |
store i8 %inc151, i8* @Wait, align 1 | |
%42 = load i8, i8* @Wait, align 1 | |
%conv152 = zext i8 %42 to i16 | |
%cmp153 = icmp eq i16 %conv152, 0 | |
br i1 %cmp153, label %if.then155, label %if.end157 | |
if.then155: ; preds = %while.end150 | |
%43 = load i8, i8* @Wait2, align 1 | |
%inc156 = add i8 %43, 1 | |
store i8 %inc156, i8* @Wait2, align 1 | |
br label %if.end157 | |
if.end157: ; preds = %if.then155, %while.end150 | |
%44 = load i8, i8* @Wait2, align 1 | |
%conv158 = zext i8 %44 to i16 | |
%cmp159 = icmp eq i16 %conv158, 2 | |
br i1 %cmp159, label %if.then161, label %if.end162 | |
if.then161: ; preds = %if.end157 | |
call void @All_Off() | |
call void @Reset() | |
br label %if.end162 | |
if.end162: ; preds = %if.then161, %if.end157 | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond140 | |
while.end163: ; preds = %while.cond140 | |
br label %while.cond164 | |
while.cond164: ; preds = %if.end208, %while.end163 | |
%45 = load i8, i8* @Game_Mode, align 1 | |
%conv165 = zext i8 %45 to i16 | |
%cmp166 = icmp eq i16 %conv165, 4 | |
br i1 %cmp166, label %while.body168, label %while.end209 | |
while.body168: ; preds = %while.cond164 | |
br label %while.cond169 | |
while.cond169: ; preds = %while.body173, %while.body168 | |
%46 = load i8, i8* @NMI_flag, align 1 | |
%conv170 = zext i8 %46 to i16 | |
%cmp171 = icmp eq i16 %conv170, 0 | |
br i1 %cmp171, label %while.body173, label %while.end174 | |
while.body173: ; preds = %while.cond169 | |
br label %while.cond169 | |
while.end174: ; preds = %while.cond169 | |
call void @Get_Input() | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
call void @Turn_On_Victory_Sprites() | |
call void @Draw_Hero() | |
call void @Music_Update() | |
%47 = load i8, i8* @Wait2, align 1 | |
%conv175 = zext i8 %47 to i16 | |
%cmp176 = icmp slt i16 %conv175, 2 | |
br i1 %cmp176, label %if.then178, label %if.end186 | |
if.then178: ; preds = %while.end174 | |
%48 = load i8, i8* @Wait, align 1 | |
%inc179 = add i8 %48, 1 | |
store i8 %inc179, i8* @Wait, align 1 | |
%49 = load i8, i8* @Wait, align 1 | |
%conv180 = zext i8 %49 to i16 | |
%cmp181 = icmp eq i16 %conv180, 0 | |
br i1 %cmp181, label %if.then183, label %if.end185 | |
if.then183: ; preds = %if.then178 | |
%50 = load i8, i8* @Wait2, align 1 | |
%inc184 = add i8 %50, 1 | |
store i8 %inc184, i8* @Wait2, align 1 | |
br label %if.end185 | |
if.end185: ; preds = %if.then183, %if.then178 | |
br label %if.end186 | |
if.end186: ; preds = %if.end185, %while.end174 | |
%51 = load i8, i8* @Wait2, align 1 | |
%conv187 = zext i8 %51 to i16 | |
%cmp188 = icmp eq i16 %conv187, 2 | |
br i1 %cmp188, label %if.then190, label %if.end208 | |
if.then190: ; preds = %if.end186 | |
%52 = load i8, i8* @joypad1old, align 1 | |
%conv191 = zext i8 %52 to i16 | |
%and192 = and i16 %conv191, 16 | |
%cmp193 = icmp eq i16 %and192, 0 | |
br i1 %cmp193, label %land.lhs.true195, label %if.end207 | |
land.lhs.true195: ; preds = %if.then190 | |
%53 = load i8, i8* @joypad1, align 1 | |
%conv196 = zext i8 %53 to i16 | |
%and197 = and i16 %conv196, 16 | |
%cmp198 = icmp ne i16 %and197, 0 | |
br i1 %cmp198, label %if.then200, label %if.end207 | |
if.then200: ; preds = %land.lhs.true195 | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond201 | |
while.cond201: ; preds = %while.body205, %if.then200 | |
%54 = load i8, i8* @NMI_flag, align 1 | |
%conv202 = zext i8 %54 to i16 | |
%cmp203 = icmp eq i16 %conv202, 0 | |
br i1 %cmp203, label %while.body205, label %while.end206 | |
while.body205: ; preds = %while.cond201 | |
br label %while.cond201 | |
while.end206: ; preds = %while.cond201 | |
call void @All_Off() | |
store i8 32, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* inttoptr (i16 8198 to i8*), align 1 | |
call void @UnRLE(i8* getelementptr inbounds ([42 x i8], [42 x i8]* @Keep, i32 0, i32 0)) | |
store i8 63, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 3, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 48, i8* inttoptr (i16 8199 to i8*), align 1 | |
call void @Reset_Scroll() | |
store i8 0, i8* @Game_Mode, align 1 | |
call void @Blank_sprite() | |
store i8 0, i8* @Selection, align 1 | |
call void @Wait_Vblank() | |
call void @All_On() | |
store i8 0, i8* @NMI_flag, align 1 | |
call void @Keep_Loop() | |
br label %if.end207 | |
if.end207: ; preds = %while.end206, %land.lhs.true195, %if.then190 | |
br label %if.end208 | |
if.end208: ; preds = %if.end207, %if.end186 | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond164 | |
while.end209: ; preds = %while.cond164 | |
br label %while.body | |
return: ; No predecessors! | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @All_Off() #0 { | |
entry: | |
store i8 0, i8* inttoptr (i16 8192 to i8*), align 1 | |
store i8 0, i8* inttoptr (i16 8193 to i8*), align 1 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Draw_Title() #0 { | |
entry: | |
store i8 32, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* inttoptr (i16 8198 to i8*), align 1 | |
call void @UnRLE(i8* getelementptr inbounds ([209 x i8], [209 x i8]* @Title, i32 0, i32 0)) | |
store i8 36, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 100, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* @index_, align 1 | |
br label %for.cond | |
for.cond: ; preds = %for.inc, %entry | |
%0 = load i8, i8* @index_, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp ult i16 %conv, 7 | |
br i1 %cmp, label %for.body, label %for.end | |
for.body: ; preds = %for.cond | |
%1 = load i8, i8* @index_, align 1 | |
%idxprom = zext i8 %1 to i16 | |
%arrayidx = getelementptr inbounds [7 x i8], [7 x i8]* @HUD, i16 0, i16 %idxprom | |
%2 = load i8, i8* %arrayidx, align 1 | |
store i8 %2, i8* inttoptr (i16 8199 to i8*), align 1 | |
br label %for.inc | |
for.inc: ; preds = %for.body | |
%3 = load i8, i8* @index_, align 1 | |
%inc = add i8 %3, 1 | |
store i8 %inc, i8* @index_, align 1 | |
br label %for.cond | |
for.end: ; preds = %for.cond | |
store i8 36, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 116, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* @index_, align 1 | |
br label %for.cond2 | |
for.cond2: ; preds = %for.inc9, %for.end | |
%4 = load i8, i8* @index_, align 1 | |
%conv3 = zext i8 %4 to i16 | |
%cmp4 = icmp ult i16 %conv3, 7 | |
br i1 %cmp4, label %for.body6, label %for.end11 | |
for.body6: ; preds = %for.cond2 | |
%5 = load i8, i8* @index_, align 1 | |
%idxprom7 = zext i8 %5 to i16 | |
%arrayidx8 = getelementptr inbounds [7 x i8], [7 x i8]* @HUD2, i16 0, i16 %idxprom7 | |
%6 = load i8, i8* %arrayidx8, align 1 | |
store i8 %6, i8* inttoptr (i16 8199 to i8*), align 1 | |
br label %for.inc9 | |
for.inc9: ; preds = %for.body6 | |
%7 = load i8, i8* @index_, align 1 | |
%inc10 = add i8 %7, 1 | |
store i8 %inc10, i8* @index_, align 1 | |
br label %for.cond2 | |
for.end11: ; preds = %for.cond2 | |
store i8 39, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 -64, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* @index_, align 1 | |
br label %for.cond12 | |
for.cond12: ; preds = %for.inc17, %for.end11 | |
%8 = load i8, i8* @index_, align 1 | |
%conv13 = zext i8 %8 to i16 | |
%cmp14 = icmp slt i16 %conv13, 8 | |
br i1 %cmp14, label %for.body16, label %for.end19 | |
for.body16: ; preds = %for.cond12 | |
store i8 -1, i8* inttoptr (i16 8199 to i8*), align 1 | |
br label %for.inc17 | |
for.inc17: ; preds = %for.body16 | |
%9 = load i8, i8* @index_, align 1 | |
%inc18 = add i8 %9, 1 | |
store i8 %inc18, i8* @index_, align 1 | |
br label %for.cond12 | |
for.end19: ; preds = %for.cond12 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Load_Palette() #0 { | |
entry: | |
store i8 63, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* @index_, align 1 | |
br label %for.cond | |
for.cond: ; preds = %for.inc, %entry | |
%0 = load i8, i8* @index_, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp ult i16 %conv, 32 | |
br i1 %cmp, label %for.body, label %for.end | |
for.body: ; preds = %for.cond | |
%1 = load i8, i8* @index_, align 1 | |
%idxprom = zext i8 %1 to i16 | |
%arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* @PALETTE, i16 0, i16 %idxprom | |
%2 = load i8, i8* %arrayidx, align 1 | |
store i8 %2, i8* inttoptr (i16 8199 to i8*), align 1 | |
br label %for.inc | |
for.inc: ; preds = %for.body | |
%3 = load i8, i8* @index_, align 1 | |
%inc = add i8 %3, 1 | |
store i8 %inc, i8* @index_, align 1 | |
br label %for.cond | |
for.end: ; preds = %for.cond | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Reset_Scroll() #0 { | |
entry: | |
store i8 0, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* inttoptr (i16 8197 to i8*), align 1 | |
store i8 0, i8* inttoptr (i16 8197 to i8*), align 1 | |
ret void | |
} | |
declare void @Reset_Music() #1 | |
declare void @Play_Music(i8 zeroext) #1 | |
declare void @Wait_Vblank() #1 | |
; Function Attrs: nounwind | |
define void @All_On() #0 { | |
entry: | |
store i8 -112, i8* inttoptr (i16 8192 to i8*), align 1 | |
store i8 30, i8* inttoptr (i16 8193 to i8*), align 1 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Rotate_Palette() #0 { | |
entry: | |
store i8 63, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 11, i8* inttoptr (i16 8198 to i8*), align 1 | |
%0 = load i8, i8* @Frame_Count, align 1 | |
%conv = zext i8 %0 to i16 | |
%shr = ashr i16 %conv, 2 | |
%and = and i16 %shr, 3 | |
%arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* @Palette_Fade, i16 0, i16 %and | |
%1 = load i8, i8* %arrayidx, align 1 | |
store i8 %1, i8* inttoptr (i16 8199 to i8*), align 1 | |
ret void | |
} | |
declare void @Get_Input() #1 | |
; Function Attrs: nounwind | |
define void @Clear_Enemies() #0 { | |
entry: | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 0), align 1 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Set_Sprite_Zero() #0 { | |
entry: | |
store i8 29, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @SPRITES, i16 0, i16 0), align 1 | |
store i8 -1, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @SPRITES, i16 0, i16 1), align 1 | |
store i8 32, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @SPRITES, i16 0, i16 2), align 1 | |
store i8 -71, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @SPRITES, i16 0, i16 3), align 1 | |
store i8 4, i8* @Sprite_index_, align 1 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Draw_Background() #0 { | |
entry: | |
store i8 32, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 0, i8* inttoptr (i16 8198 to i8*), align 1 | |
call void @UnRLE(i8* getelementptr inbounds ([160 x i8], [160 x i8]* @Stars, i32 0, i32 0)) | |
store i8 63, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 1, i8* inttoptr (i16 8198 to i8*), align 1 | |
store i8 3, i8* inttoptr (i16 8199 to i8*), align 1 | |
store i8 39, i8* inttoptr (i16 8199 to i8*), align 1 | |
store i8 5, i8* inttoptr (i16 8199 to i8*), align 1 | |
ret void | |
} | |
declare void @Music_Update() #1 | |
declare void @Blank_sprite() #1 | |
; Function Attrs: nounwind | |
define void @Init_New_Wave() #0 { | |
entry: | |
%0 = load i8, i8* @Wave, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp uge i16 %conv, 54 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
call void @Init_Boss_Level() | |
br label %return | |
if.end: ; preds = %entry | |
%1 = load i8, i8* @Wave, align 1 | |
%idxprom = zext i8 %1 to i16 | |
%arrayidx = getelementptr inbounds [54 x i8], [54 x i8]* @Wave_to_Pattern, i16 0, i16 %idxprom | |
%2 = load i8, i8* %arrayidx, align 1 | |
store i8 %2, i8* @Pattern, align 1 | |
%3 = load i8, i8* @Wave, align 1 | |
%idxprom2 = zext i8 %3 to i16 | |
%arrayidx3 = getelementptr inbounds [54 x i8*], [54 x i8*]* @All_Wave_Addresses, i16 0, i16 %idxprom2 | |
%4 = load i8*, i8** %arrayidx3, align 1 | |
store i8* %4, i8** @p_Wave_Data, align 1 | |
%5 = load i8*, i8** @p_Wave_Data, align 1 | |
call void @memcpy(i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 0), i8* %5, i16 64) | |
%6 = load i8, i8* @Wave, align 1 | |
%inc = add i8 %6, 1 | |
store i8 %inc, i8* @Wave, align 1 | |
br label %return | |
return: ; preds = %if.end, %if.then | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Check_Wave_Over() #0 { | |
entry: | |
%0 = load i8, i8* @Init_Wave_Flag, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %land.lhs.true, label %if.end22 | |
land.lhs.true: ; preds = %entry | |
%1 = load i8, i8* @Master_Delay, align 1 | |
%conv2 = zext i8 %1 to i16 | |
%cmp3 = icmp eq i16 %conv2, 0 | |
br i1 %cmp3, label %if.then, label %if.end22 | |
if.then: ; preds = %land.lhs.true | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
%conv5 = zext i8 %2 to i16 | |
store i16 %conv5, i16* @Big_Math, align 1 | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
%conv6 = zext i8 %3 to i16 | |
%4 = load i16, i16* @Big_Math, align 1 | |
%add = add nsw i16 %4, %conv6 | |
store i16 %add, i16* @Big_Math, align 1 | |
%5 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
%conv7 = zext i8 %5 to i16 | |
%6 = load i16, i16* @Big_Math, align 1 | |
%add8 = add nsw i16 %6, %conv7 | |
store i16 %add8, i16* @Big_Math, align 1 | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
%conv9 = zext i8 %7 to i16 | |
%8 = load i16, i16* @Big_Math, align 1 | |
%add10 = add nsw i16 %8, %conv9 | |
store i16 %add10, i16* @Big_Math, align 1 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
%conv11 = zext i8 %9 to i16 | |
%10 = load i16, i16* @Big_Math, align 1 | |
%add12 = add nsw i16 %10, %conv11 | |
store i16 %add12, i16* @Big_Math, align 1 | |
%11 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
%conv13 = zext i8 %11 to i16 | |
%12 = load i16, i16* @Big_Math, align 1 | |
%add14 = add nsw i16 %12, %conv13 | |
store i16 %add14, i16* @Big_Math, align 1 | |
%13 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
%conv15 = zext i8 %13 to i16 | |
%14 = load i16, i16* @Big_Math, align 1 | |
%add16 = add nsw i16 %14, %conv15 | |
store i16 %add16, i16* @Big_Math, align 1 | |
%15 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
%conv17 = zext i8 %15 to i16 | |
%16 = load i16, i16* @Big_Math, align 1 | |
%add18 = add nsw i16 %16, %conv17 | |
store i16 %add18, i16* @Big_Math, align 1 | |
%17 = load i16, i16* @Big_Math, align 1 | |
%cmp19 = icmp eq i16 %17, 0 | |
br i1 %cmp19, label %if.then21, label %if.end | |
if.then21: ; preds = %if.then | |
store i8 100, i8* @Master_Delay, align 1 | |
br label %if.end | |
if.end: ; preds = %if.then21, %if.then | |
br label %if.end22 | |
if.end22: ; preds = %if.end, %land.lhs.true, %entry | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @shooting() #0 { | |
entry: | |
%0 = load i8, i8* @joypad1, align 1 | |
%conv = zext i8 %0 to i16 | |
%and = and i16 %conv, 192 | |
%cmp = icmp eq i16 %and, 0 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
store i8 0, i8* @bullet_Wait, align 1 | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
%1 = load i8, i8* @bullet_Wait, align 1 | |
%conv2 = zext i8 %1 to i16 | |
%cmp3 = icmp ne i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.else | |
if.then5: ; preds = %if.end | |
%2 = load i8, i8* @bullet_Wait, align 1 | |
%dec = add i8 %2, -1 | |
store i8 %dec, i8* @bullet_Wait, align 1 | |
br label %if.end12 | |
if.else: ; preds = %if.end | |
%3 = load i8, i8* @joypad1, align 1 | |
%conv6 = zext i8 %3 to i16 | |
%and7 = and i16 %conv6, 192 | |
%cmp8 = icmp ne i16 %and7, 0 | |
br i1 %cmp8, label %if.then10, label %if.end11 | |
if.then10: ; preds = %if.else | |
call void @spawn_bullets() | |
br label %if.end11 | |
if.end11: ; preds = %if.then10, %if.else | |
br label %if.end12 | |
if.end12: ; preds = %if.end11, %if.then5 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Check_Injury() #0 { | |
entry: | |
%0 = load i8, i8* @injury_Timer, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.else16 | |
if.then: ; preds = %entry | |
%1 = load i8, i8* @invincible, align 1 | |
%conv2 = zext i8 %1 to i16 | |
%cmp3 = icmp eq i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.end15 | |
if.then5: ; preds = %if.then | |
%2 = load i8, i8* @Game_Mode, align 1 | |
%conv6 = zext i8 %2 to i16 | |
%cmp7 = icmp eq i16 %conv6, 1 | |
br i1 %cmp7, label %if.then9, label %if.else | |
if.then9: ; preds = %if.then5 | |
call void @collision_Test2() | |
br label %if.end14 | |
if.else: ; preds = %if.then5 | |
%3 = load i8, i8* @Game_Mode, align 1 | |
%conv10 = zext i8 %3 to i16 | |
%cmp11 = icmp eq i16 %conv10, 5 | |
br i1 %cmp11, label %if.then13, label %if.end | |
if.then13: ; preds = %if.else | |
call void @collision_Test3() | |
br label %if.end | |
if.end: ; preds = %if.then13, %if.else | |
br label %if.end14 | |
if.end14: ; preds = %if.end, %if.then9 | |
br label %if.end15 | |
if.end15: ; preds = %if.end14, %if.then | |
br label %if.end22 | |
if.else16: ; preds = %entry | |
store i8 0, i8* @joypad1, align 1 | |
%4 = load i8, i8* @injury_Timer, align 1 | |
%inc = add i8 %4, 1 | |
store i8 %inc, i8* @injury_Timer, align 1 | |
%5 = load i8, i8* @injury_Timer, align 1 | |
%conv17 = zext i8 %5 to i16 | |
%cmp18 = icmp eq i16 %conv17, 100 | |
br i1 %cmp18, label %if.then20, label %if.end21 | |
if.then20: ; preds = %if.else16 | |
store i8 0, i8* @injury_Timer, align 1 | |
store i8 30, i8* @invincible, align 1 | |
br label %if.end21 | |
if.end21: ; preds = %if.then20, %if.else16 | |
br label %if.end22 | |
if.end22: ; preds = %if.end21, %if.end15 | |
%6 = load i8, i8* @invincible, align 1 | |
%conv23 = zext i8 %6 to i16 | |
%cmp24 = icmp ne i16 %conv23, 0 | |
br i1 %cmp24, label %if.then26, label %if.end27 | |
if.then26: ; preds = %if.end22 | |
%7 = load i8, i8* @invincible, align 1 | |
%dec = add i8 %7, -1 | |
store i8 %dec, i8* @invincible, align 1 | |
br label %if.end27 | |
if.end27: ; preds = %if.then26, %if.end22 | |
%8 = load i8, i8* @Lives, align 1 | |
%conv28 = zext i8 %8 to i16 | |
%cmp29 = icmp eq i16 %conv28, 255 | |
br i1 %cmp29, label %if.then31, label %if.end33 | |
if.then31: ; preds = %if.end27 | |
%9 = load i8, i8* @Death_Flag, align 1 | |
%inc32 = add i8 %9, 1 | |
store i8 %inc32, i8* @Death_Flag, align 1 | |
store i8 0, i8* @Lives, align 1 | |
br label %if.end33 | |
if.end33: ; preds = %if.then31, %if.end27 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @move_logic() #0 { | |
entry: | |
%0 = load i8, i8* @joypad1, align 1 | |
%conv = zext i8 %0 to i16 | |
%and = and i16 %conv, 3 | |
%cmp = icmp eq i16 %and, 0 | |
br i1 %cmp, label %if.then, label %if.end15 | |
if.then: ; preds = %entry | |
%1 = load i8, i8* @X_speed, align 1 | |
%conv2 = sext i8 %1 to i16 | |
%cmp3 = icmp sgt i16 %conv2, 7 | |
br i1 %cmp3, label %if.then5, label %if.end | |
if.then5: ; preds = %if.then | |
%2 = load i8, i8* @X_speed, align 1 | |
%conv6 = sext i8 %2 to i16 | |
%sub = sub nsw i16 %conv6, 2 | |
%conv7 = trunc i16 %sub to i8 | |
store i8 %conv7, i8* @X_speed, align 1 | |
br label %if.end | |
if.end: ; preds = %if.then5, %if.then | |
%3 = load i8, i8* @X_speed, align 1 | |
%conv8 = sext i8 %3 to i16 | |
%cmp9 = icmp slt i16 %conv8, 6 | |
br i1 %cmp9, label %if.then11, label %if.end14 | |
if.then11: ; preds = %if.end | |
%4 = load i8, i8* @X_speed, align 1 | |
%conv12 = sext i8 %4 to i16 | |
%add = add nsw i16 %conv12, 2 | |
%conv13 = trunc i16 %add to i8 | |
store i8 %conv13, i8* @X_speed, align 1 | |
br label %if.end14 | |
if.end14: ; preds = %if.then11, %if.end | |
br label %if.end15 | |
if.end15: ; preds = %if.end14, %entry | |
%5 = load i8, i8* @joypad1, align 1 | |
%conv16 = zext i8 %5 to i16 | |
%and17 = and i16 %conv16, 1 | |
%cmp18 = icmp ne i16 %and17, 0 | |
br i1 %cmp18, label %if.then20, label %if.end32 | |
if.then20: ; preds = %if.end15 | |
%6 = load i8, i8* @X_speed, align 1 | |
%conv21 = sext i8 %6 to i16 | |
%cmp22 = icmp sge i16 %conv21, 7 | |
br i1 %cmp22, label %if.then24, label %if.else | |
if.then24: ; preds = %if.then20 | |
%7 = load i8, i8* @X_speed, align 1 | |
%conv25 = sext i8 %7 to i16 | |
%add26 = add nsw i16 %conv25, 2 | |
%conv27 = trunc i16 %add26 to i8 | |
store i8 %conv27, i8* @X_speed, align 1 | |
br label %if.end31 | |
if.else: ; preds = %if.then20 | |
%8 = load i8, i8* @X_speed, align 1 | |
%conv28 = sext i8 %8 to i16 | |
%add29 = add nsw i16 %conv28, 4 | |
%conv30 = trunc i16 %add29 to i8 | |
store i8 %conv30, i8* @X_speed, align 1 | |
br label %if.end31 | |
if.end31: ; preds = %if.else, %if.then24 | |
br label %if.end32 | |
if.end32: ; preds = %if.end31, %if.end15 | |
%9 = load i8, i8* @joypad1, align 1 | |
%conv33 = zext i8 %9 to i16 | |
%and34 = and i16 %conv33, 2 | |
%cmp35 = icmp ne i16 %and34, 0 | |
br i1 %cmp35, label %if.then37, label %if.end50 | |
if.then37: ; preds = %if.end32 | |
%10 = load i8, i8* @X_speed, align 1 | |
%conv38 = sext i8 %10 to i16 | |
%cmp39 = icmp sle i16 %conv38, 7 | |
br i1 %cmp39, label %if.then41, label %if.else45 | |
if.then41: ; preds = %if.then37 | |
%11 = load i8, i8* @X_speed, align 1 | |
%conv42 = sext i8 %11 to i16 | |
%sub43 = sub nsw i16 %conv42, 2 | |
%conv44 = trunc i16 %sub43 to i8 | |
store i8 %conv44, i8* @X_speed, align 1 | |
br label %if.end49 | |
if.else45: ; preds = %if.then37 | |
%12 = load i8, i8* @X_speed, align 1 | |
%conv46 = sext i8 %12 to i16 | |
%sub47 = sub nsw i16 %conv46, 4 | |
%conv48 = trunc i16 %sub47 to i8 | |
store i8 %conv48, i8* @X_speed, align 1 | |
br label %if.end49 | |
if.end49: ; preds = %if.else45, %if.then41 | |
br label %if.end50 | |
if.end50: ; preds = %if.end49, %if.end32 | |
%13 = load i8, i8* @X_speed, align 1 | |
%conv51 = sext i8 %13 to i16 | |
%cmp52 = icmp sge i16 %conv51, 0 | |
br i1 %cmp52, label %if.then54, label %if.else60 | |
if.then54: ; preds = %if.end50 | |
%14 = load i8, i8* @X_speed, align 1 | |
%conv55 = sext i8 %14 to i16 | |
%cmp56 = icmp sgt i16 %conv55, 52 | |
br i1 %cmp56, label %if.then58, label %if.end59 | |
if.then58: ; preds = %if.then54 | |
store i8 52, i8* @X_speed, align 1 | |
br label %if.end59 | |
if.end59: ; preds = %if.then58, %if.then54 | |
br label %if.end66 | |
if.else60: ; preds = %if.end50 | |
%15 = load i8, i8* @X_speed, align 1 | |
%conv61 = sext i8 %15 to i16 | |
%cmp62 = icmp slt i16 %conv61, -52 | |
br i1 %cmp62, label %if.then64, label %if.end65 | |
if.then64: ; preds = %if.else60 | |
store i8 -52, i8* @X_speed, align 1 | |
br label %if.end65 | |
if.end65: ; preds = %if.then64, %if.else60 | |
br label %if.end66 | |
if.end66: ; preds = %if.end65, %if.end59 | |
%16 = load i8, i8* @X_speed, align 1 | |
%conv67 = sext i8 %16 to i16 | |
%add68 = add nsw i16 %conv67, 8 | |
%shr = ashr i16 %add68, 4 | |
%17 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv69 = zext i8 %17 to i16 | |
%add70 = add nsw i16 %conv69, %shr | |
%conv71 = trunc i16 %add70 to i8 | |
store i8 %conv71, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%18 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv72 = zext i8 %18 to i16 | |
%cmp73 = icmp slt i16 %conv72, 8 | |
br i1 %cmp73, label %if.then75, label %if.end76 | |
if.then75: ; preds = %if.end66 | |
store i8 8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 7, i8* @X_speed, align 1 | |
br label %if.end76 | |
if.end76: ; preds = %if.then75, %if.end66 | |
%19 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv77 = zext i8 %19 to i16 | |
%cmp78 = icmp sgt i16 %conv77, 232 | |
br i1 %cmp78, label %if.then80, label %if.end81 | |
if.then80: ; preds = %if.end76 | |
store i8 -24, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 7, i8* @X_speed, align 1 | |
br label %if.end81 | |
if.end81: ; preds = %if.then80, %if.end76 | |
%20 = load i8, i8* @Vert_scroll, align 1 | |
%dec = add i8 %20, -1 | |
store i8 %dec, i8* @Vert_scroll, align 1 | |
%21 = load i8, i8* @Vert_scroll, align 1 | |
%conv82 = zext i8 %21 to i16 | |
%cmp83 = icmp sgt i16 %conv82, 239 | |
br i1 %cmp83, label %if.then85, label %if.end86 | |
if.then85: ; preds = %if.end81 | |
store i8 -17, i8* @Vert_scroll, align 1 | |
br label %if.end86 | |
if.end86: ; preds = %if.then85, %if.end81 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @collision_Test() #0 { | |
entry: | |
store i8 15, i8* @objectA_width, align 1 | |
store i8 15, i8* @objectB_width, align 1 | |
store i8 15, i8* @objectB_height, align 1 | |
store i8 7, i8* @objectA_height, align 1 | |
%0 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 0), align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp ne i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end6 | |
if.then: ; preds = %entry | |
%1 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 0), align 1 | |
store i8 %1, i8* @objectA_y, align 1 | |
%2 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 4), align 1 | |
store i8 %2, i8* @objectA_x, align 1 | |
call void @All_Enemies() | |
%3 = load i8, i8* @collision, align 1 | |
%conv2 = zext i8 %3 to i16 | |
%cmp3 = icmp ne i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.end | |
if.then5: ; preds = %if.then | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 0), align 1 | |
br label %if.end | |
if.end: ; preds = %if.then5, %if.then | |
br label %if.end6 | |
if.end6: ; preds = %if.end, %entry | |
%4 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 0), align 1 | |
%conv7 = zext i8 %4 to i16 | |
%cmp8 = icmp ne i16 %conv7, 0 | |
br i1 %cmp8, label %if.then10, label %if.end16 | |
if.then10: ; preds = %if.end6 | |
%5 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 0), align 1 | |
store i8 %5, i8* @objectA_y, align 1 | |
%6 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 4), align 1 | |
store i8 %6, i8* @objectA_x, align 1 | |
call void @All_Enemies() | |
%7 = load i8, i8* @collision, align 1 | |
%conv11 = zext i8 %7 to i16 | |
%cmp12 = icmp ne i16 %conv11, 0 | |
br i1 %cmp12, label %if.then14, label %if.end15 | |
if.then14: ; preds = %if.then10 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 0), align 1 | |
br label %if.end15 | |
if.end15: ; preds = %if.then14, %if.then10 | |
br label %if.end16 | |
if.end16: ; preds = %if.end15, %if.end6 | |
%8 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 0), align 1 | |
%conv17 = zext i8 %8 to i16 | |
%cmp18 = icmp ne i16 %conv17, 0 | |
br i1 %cmp18, label %if.then20, label %if.end26 | |
if.then20: ; preds = %if.end16 | |
%9 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 0), align 1 | |
store i8 %9, i8* @objectA_y, align 1 | |
%10 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 4), align 1 | |
store i8 %10, i8* @objectA_x, align 1 | |
call void @All_Enemies() | |
%11 = load i8, i8* @collision, align 1 | |
%conv21 = zext i8 %11 to i16 | |
%cmp22 = icmp ne i16 %conv21, 0 | |
br i1 %cmp22, label %if.then24, label %if.end25 | |
if.then24: ; preds = %if.then20 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 0), align 1 | |
br label %if.end25 | |
if.end25: ; preds = %if.then24, %if.then20 | |
br label %if.end26 | |
if.end26: ; preds = %if.end25, %if.end16 | |
%12 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 0), align 1 | |
%conv27 = zext i8 %12 to i16 | |
%cmp28 = icmp ne i16 %conv27, 0 | |
br i1 %cmp28, label %if.then30, label %if.end36 | |
if.then30: ; preds = %if.end26 | |
%13 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 0), align 1 | |
store i8 %13, i8* @objectA_y, align 1 | |
%14 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 4), align 1 | |
store i8 %14, i8* @objectA_x, align 1 | |
call void @All_Enemies() | |
%15 = load i8, i8* @collision, align 1 | |
%conv31 = zext i8 %15 to i16 | |
%cmp32 = icmp ne i16 %conv31, 0 | |
br i1 %cmp32, label %if.then34, label %if.end35 | |
if.then34: ; preds = %if.then30 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 0), align 1 | |
br label %if.end35 | |
if.end35: ; preds = %if.then34, %if.then30 | |
br label %if.end36 | |
if.end36: ; preds = %if.end35, %if.end26 | |
%16 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 0), align 1 | |
%conv37 = zext i8 %16 to i16 | |
%cmp38 = icmp ne i16 %conv37, 0 | |
br i1 %cmp38, label %if.then40, label %if.end46 | |
if.then40: ; preds = %if.end36 | |
%17 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 0), align 1 | |
store i8 %17, i8* @objectA_y, align 1 | |
%18 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 4), align 1 | |
store i8 %18, i8* @objectA_x, align 1 | |
call void @All_Enemies() | |
%19 = load i8, i8* @collision, align 1 | |
%conv41 = zext i8 %19 to i16 | |
%cmp42 = icmp ne i16 %conv41, 0 | |
br i1 %cmp42, label %if.then44, label %if.end45 | |
if.then44: ; preds = %if.then40 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 0), align 1 | |
br label %if.end45 | |
if.end45: ; preds = %if.then44, %if.then40 | |
br label %if.end46 | |
if.end46: ; preds = %if.end45, %if.end36 | |
%20 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 0), align 1 | |
%conv47 = zext i8 %20 to i16 | |
%cmp48 = icmp ne i16 %conv47, 0 | |
br i1 %cmp48, label %if.then50, label %if.end56 | |
if.then50: ; preds = %if.end46 | |
%21 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 0), align 1 | |
store i8 %21, i8* @objectA_y, align 1 | |
%22 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 4), align 1 | |
store i8 %22, i8* @objectA_x, align 1 | |
call void @All_Enemies() | |
%23 = load i8, i8* @collision, align 1 | |
%conv51 = zext i8 %23 to i16 | |
%cmp52 = icmp ne i16 %conv51, 0 | |
br i1 %cmp52, label %if.then54, label %if.end55 | |
if.then54: ; preds = %if.then50 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 0), align 1 | |
br label %if.end55 | |
if.end55: ; preds = %if.then54, %if.then50 | |
br label %if.end56 | |
if.end56: ; preds = %if.end55, %if.end46 | |
%24 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet7, i32 0, i32 0), align 1 | |
%conv57 = zext i8 %24 to i16 | |
%cmp58 = icmp ne i16 %conv57, 0 | |
br i1 %cmp58, label %if.then60, label %if.end66 | |
if.then60: ; preds = %if.end56 | |
%25 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet7, i32 0, i32 0), align 1 | |
store i8 %25, i8* @objectA_y, align 1 | |
%26 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet7, i32 0, i32 4), align 1 | |
store i8 %26, i8* @objectA_x, align 1 | |
call void @All_Enemies() | |
%27 = load i8, i8* @collision, align 1 | |
%conv61 = zext i8 %27 to i16 | |
%cmp62 = icmp ne i16 %conv61, 0 | |
br i1 %cmp62, label %if.then64, label %if.end65 | |
if.then64: ; preds = %if.then60 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet7, i32 0, i32 0), align 1 | |
br label %if.end65 | |
if.end65: ; preds = %if.then64, %if.then60 | |
br label %if.end66 | |
if.end66: ; preds = %if.end65, %if.end56 | |
%28 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet8, i32 0, i32 0), align 1 | |
%conv67 = zext i8 %28 to i16 | |
%cmp68 = icmp ne i16 %conv67, 0 | |
br i1 %cmp68, label %if.then70, label %if.end76 | |
if.then70: ; preds = %if.end66 | |
%29 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet8, i32 0, i32 0), align 1 | |
store i8 %29, i8* @objectA_y, align 1 | |
%30 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet8, i32 0, i32 4), align 1 | |
store i8 %30, i8* @objectA_x, align 1 | |
call void @All_Enemies() | |
%31 = load i8, i8* @collision, align 1 | |
%conv71 = zext i8 %31 to i16 | |
%cmp72 = icmp ne i16 %conv71, 0 | |
br i1 %cmp72, label %if.then74, label %if.end75 | |
if.then74: ; preds = %if.then70 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet8, i32 0, i32 0), align 1 | |
br label %if.end75 | |
if.end75: ; preds = %if.then74, %if.then70 | |
br label %if.end76 | |
if.end76: ; preds = %if.end75, %if.end66 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Randomly_Shoot() #0 { | |
entry: | |
%0 = load i8, i8* @Frame_Count2, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end72 | |
if.then: ; preds = %entry | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
%conv2 = zext i8 %1 to i16 | |
%cmp3 = icmp ne i16 %conv2, 0 | |
br i1 %cmp3, label %land.lhs.true, label %if.end | |
land.lhs.true: ; preds = %if.then | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
%conv5 = zext i8 %2 to i16 | |
%cmp6 = icmp slt i16 %conv5, 128 | |
br i1 %cmp6, label %if.then8, label %if.end | |
if.then8: ; preds = %land.lhs.true | |
store %struct.ENEMY* @ENEMY1, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Spawn_Bullet_E() | |
br label %if.end72 | |
if.end: ; preds = %land.lhs.true, %if.then | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
%conv9 = zext i8 %3 to i16 | |
%cmp10 = icmp ne i16 %conv9, 0 | |
br i1 %cmp10, label %land.lhs.true12, label %if.end17 | |
land.lhs.true12: ; preds = %if.end | |
%4 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
%conv13 = zext i8 %4 to i16 | |
%cmp14 = icmp slt i16 %conv13, 128 | |
br i1 %cmp14, label %if.then16, label %if.end17 | |
if.then16: ; preds = %land.lhs.true12 | |
store %struct.ENEMY* @ENEMY2, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Spawn_Bullet_E() | |
br label %if.end72 | |
if.end17: ; preds = %land.lhs.true12, %if.end | |
%5 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
%conv18 = zext i8 %5 to i16 | |
%cmp19 = icmp ne i16 %conv18, 0 | |
br i1 %cmp19, label %land.lhs.true21, label %if.end26 | |
land.lhs.true21: ; preds = %if.end17 | |
%6 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
%conv22 = zext i8 %6 to i16 | |
%cmp23 = icmp slt i16 %conv22, 128 | |
br i1 %cmp23, label %if.then25, label %if.end26 | |
if.then25: ; preds = %land.lhs.true21 | |
store %struct.ENEMY* @ENEMY3, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Spawn_Bullet_E() | |
br label %if.end72 | |
if.end26: ; preds = %land.lhs.true21, %if.end17 | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
%conv27 = zext i8 %7 to i16 | |
%cmp28 = icmp ne i16 %conv27, 0 | |
br i1 %cmp28, label %land.lhs.true30, label %if.end35 | |
land.lhs.true30: ; preds = %if.end26 | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
%conv31 = zext i8 %8 to i16 | |
%cmp32 = icmp slt i16 %conv31, 128 | |
br i1 %cmp32, label %if.then34, label %if.end35 | |
if.then34: ; preds = %land.lhs.true30 | |
store %struct.ENEMY* @ENEMY4, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Spawn_Bullet_E() | |
br label %if.end72 | |
if.end35: ; preds = %land.lhs.true30, %if.end26 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
%conv36 = zext i8 %9 to i16 | |
%cmp37 = icmp ne i16 %conv36, 0 | |
br i1 %cmp37, label %land.lhs.true39, label %if.end44 | |
land.lhs.true39: ; preds = %if.end35 | |
%10 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
%conv40 = zext i8 %10 to i16 | |
%cmp41 = icmp slt i16 %conv40, 128 | |
br i1 %cmp41, label %if.then43, label %if.end44 | |
if.then43: ; preds = %land.lhs.true39 | |
store %struct.ENEMY* @ENEMY5, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Spawn_Bullet_E() | |
br label %if.end72 | |
if.end44: ; preds = %land.lhs.true39, %if.end35 | |
%11 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
%conv45 = zext i8 %11 to i16 | |
%cmp46 = icmp ne i16 %conv45, 0 | |
br i1 %cmp46, label %land.lhs.true48, label %if.end53 | |
land.lhs.true48: ; preds = %if.end44 | |
%12 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
%conv49 = zext i8 %12 to i16 | |
%cmp50 = icmp slt i16 %conv49, 128 | |
br i1 %cmp50, label %if.then52, label %if.end53 | |
if.then52: ; preds = %land.lhs.true48 | |
store %struct.ENEMY* @ENEMY6, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Spawn_Bullet_E() | |
br label %if.end72 | |
if.end53: ; preds = %land.lhs.true48, %if.end44 | |
%13 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
%conv54 = zext i8 %13 to i16 | |
%cmp55 = icmp ne i16 %conv54, 0 | |
br i1 %cmp55, label %land.lhs.true57, label %if.end62 | |
land.lhs.true57: ; preds = %if.end53 | |
%14 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
%conv58 = zext i8 %14 to i16 | |
%cmp59 = icmp slt i16 %conv58, 128 | |
br i1 %cmp59, label %if.then61, label %if.end62 | |
if.then61: ; preds = %land.lhs.true57 | |
store %struct.ENEMY* @ENEMY7, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Spawn_Bullet_E() | |
br label %if.end72 | |
if.end62: ; preds = %land.lhs.true57, %if.end53 | |
%15 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
%conv63 = zext i8 %15 to i16 | |
%cmp64 = icmp ne i16 %conv63, 0 | |
br i1 %cmp64, label %land.lhs.true66, label %if.end71 | |
land.lhs.true66: ; preds = %if.end62 | |
%16 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
%conv67 = zext i8 %16 to i16 | |
%cmp68 = icmp slt i16 %conv67, 128 | |
br i1 %cmp68, label %if.then70, label %if.end71 | |
if.then70: ; preds = %land.lhs.true66 | |
store %struct.ENEMY* @ENEMY8, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Spawn_Bullet_E() | |
br label %if.end72 | |
if.end71: ; preds = %land.lhs.true66, %if.end62 | |
br label %if.end72 | |
if.end72: ; preds = %if.then8, %if.then16, %if.then25, %if.then34, %if.then43, %if.then52, %if.then61, %if.then70, %if.end71, %entry | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Draw_Bullets() #0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 0), align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp ne i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
call void @move_bullets(%struct.BULLET* @hero_bullet1) | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
%1 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 0), align 1 | |
%conv2 = zext i8 %1 to i16 | |
%cmp3 = icmp ne i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.end6 | |
if.then5: ; preds = %if.end | |
call void @move_bullets(%struct.BULLET* @hero_bullet2) | |
br label %if.end6 | |
if.end6: ; preds = %if.then5, %if.end | |
%2 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 0), align 1 | |
%conv7 = zext i8 %2 to i16 | |
%cmp8 = icmp ne i16 %conv7, 0 | |
br i1 %cmp8, label %if.then10, label %if.end11 | |
if.then10: ; preds = %if.end6 | |
call void @move_bullets(%struct.BULLET* @hero_bullet3) | |
br label %if.end11 | |
if.end11: ; preds = %if.then10, %if.end6 | |
%3 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 0), align 1 | |
%conv12 = zext i8 %3 to i16 | |
%cmp13 = icmp ne i16 %conv12, 0 | |
br i1 %cmp13, label %if.then15, label %if.end16 | |
if.then15: ; preds = %if.end11 | |
call void @move_bullets(%struct.BULLET* @hero_bullet4) | |
br label %if.end16 | |
if.end16: ; preds = %if.then15, %if.end11 | |
%4 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 0), align 1 | |
%conv17 = zext i8 %4 to i16 | |
%cmp18 = icmp ne i16 %conv17, 0 | |
br i1 %cmp18, label %if.then20, label %if.end21 | |
if.then20: ; preds = %if.end16 | |
call void @move_bullets(%struct.BULLET* @hero_bullet5) | |
br label %if.end21 | |
if.end21: ; preds = %if.then20, %if.end16 | |
%5 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 0), align 1 | |
%conv22 = zext i8 %5 to i16 | |
%cmp23 = icmp ne i16 %conv22, 0 | |
br i1 %cmp23, label %if.then25, label %if.end26 | |
if.then25: ; preds = %if.end21 | |
call void @move_bullets(%struct.BULLET* @hero_bullet6) | |
br label %if.end26 | |
if.end26: ; preds = %if.then25, %if.end21 | |
%6 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet7, i32 0, i32 0), align 1 | |
%conv27 = zext i8 %6 to i16 | |
%cmp28 = icmp ne i16 %conv27, 0 | |
br i1 %cmp28, label %if.then30, label %if.end31 | |
if.then30: ; preds = %if.end26 | |
call void @move_bullets(%struct.BULLET* @hero_bullet7) | |
br label %if.end31 | |
if.end31: ; preds = %if.then30, %if.end26 | |
%7 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet8, i32 0, i32 0), align 1 | |
%conv32 = zext i8 %7 to i16 | |
%cmp33 = icmp ne i16 %conv32, 0 | |
br i1 %cmp33, label %if.then35, label %if.end36 | |
if.then35: ; preds = %if.end31 | |
call void @move_bullets(%struct.BULLET* @hero_bullet8) | |
br label %if.end36 | |
if.end36: ; preds = %if.then35, %if.end31 | |
%8 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 0), align 1 | |
%conv37 = zext i8 %8 to i16 | |
%cmp38 = icmp ne i16 %conv37, 0 | |
br i1 %cmp38, label %if.then40, label %if.end41 | |
if.then40: ; preds = %if.end36 | |
call void @move_bullets2(%struct.BULLET* @enemy_bullet1) | |
br label %if.end41 | |
if.end41: ; preds = %if.then40, %if.end36 | |
%9 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 0), align 1 | |
%conv42 = zext i8 %9 to i16 | |
%cmp43 = icmp ne i16 %conv42, 0 | |
br i1 %cmp43, label %if.then45, label %if.end46 | |
if.then45: ; preds = %if.end41 | |
call void @move_bullets2(%struct.BULLET* @enemy_bullet2) | |
br label %if.end46 | |
if.end46: ; preds = %if.then45, %if.end41 | |
%10 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 0), align 1 | |
%conv47 = zext i8 %10 to i16 | |
%cmp48 = icmp ne i16 %conv47, 0 | |
br i1 %cmp48, label %if.then50, label %if.end51 | |
if.then50: ; preds = %if.end46 | |
call void @move_bullets2(%struct.BULLET* @enemy_bullet3) | |
br label %if.end51 | |
if.end51: ; preds = %if.then50, %if.end46 | |
%11 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 0), align 1 | |
%conv52 = zext i8 %11 to i16 | |
%cmp53 = icmp ne i16 %conv52, 0 | |
br i1 %cmp53, label %if.then55, label %if.end56 | |
if.then55: ; preds = %if.end51 | |
call void @move_bullets2(%struct.BULLET* @enemy_bullet4) | |
br label %if.end56 | |
if.end56: ; preds = %if.then55, %if.end51 | |
%12 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 0), align 1 | |
%conv57 = zext i8 %12 to i16 | |
%cmp58 = icmp ne i16 %conv57, 0 | |
br i1 %cmp58, label %if.then60, label %if.end61 | |
if.then60: ; preds = %if.end56 | |
call void @move_bullets2(%struct.BULLET* @enemy_bullet5) | |
br label %if.end61 | |
if.end61: ; preds = %if.then60, %if.end56 | |
%13 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 0), align 1 | |
%conv62 = zext i8 %13 to i16 | |
%cmp63 = icmp ne i16 %conv62, 0 | |
br i1 %cmp63, label %if.then65, label %if.end66 | |
if.then65: ; preds = %if.end61 | |
call void @move_bullets2(%struct.BULLET* @enemy_bullet6) | |
br label %if.end66 | |
if.end66: ; preds = %if.then65, %if.end61 | |
%14 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 0), align 1 | |
%conv67 = zext i8 %14 to i16 | |
%cmp68 = icmp ne i16 %conv67, 0 | |
br i1 %cmp68, label %if.then70, label %if.end71 | |
if.then70: ; preds = %if.end66 | |
call void @move_bullets2(%struct.BULLET* @enemy_bullet7) | |
br label %if.end71 | |
if.end71: ; preds = %if.then70, %if.end66 | |
%15 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 0), align 1 | |
%conv72 = zext i8 %15 to i16 | |
%cmp73 = icmp ne i16 %conv72, 0 | |
br i1 %cmp73, label %if.then75, label %if.end76 | |
if.then75: ; preds = %if.end71 | |
call void @move_bullets2(%struct.BULLET* @enemy_bullet8) | |
br label %if.end76 | |
if.end76: ; preds = %if.then75, %if.end71 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Draw_Hero() #0 { | |
entry: | |
%0 = load i8, i8* @injury_Timer, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.else | |
if.then: ; preds = %entry | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 0), align 1 | |
%1 = load i8, i8* @joypad1, align 1 | |
%conv2 = zext i8 %1 to i16 | |
%and = and i16 %conv2, 2 | |
%cmp3 = icmp ne i16 %and, 0 | |
br i1 %cmp3, label %if.then5, label %if.end | |
if.then5: ; preds = %if.then | |
store i8 1, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 0), align 1 | |
br label %if.end | |
if.end: ; preds = %if.then5, %if.then | |
%2 = load i8, i8* @joypad1, align 1 | |
%conv6 = zext i8 %2 to i16 | |
%and7 = and i16 %conv6, 1 | |
%cmp8 = icmp ne i16 %and7, 0 | |
br i1 %cmp8, label %if.then10, label %if.end11 | |
if.then10: ; preds = %if.end | |
store i8 2, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 0), align 1 | |
br label %if.end11 | |
if.end11: ; preds = %if.then10, %if.end | |
br label %if.end30 | |
if.else: ; preds = %entry | |
%3 = load i8, i8* @injury_Timer, align 1 | |
%conv12 = zext i8 %3 to i16 | |
%cmp13 = icmp slt i16 %conv12, 10 | |
br i1 %cmp13, label %if.then15, label %if.else16 | |
if.then15: ; preds = %if.else | |
store i8 3, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 0), align 1 | |
br label %if.end29 | |
if.else16: ; preds = %if.else | |
%4 = load i8, i8* @injury_Timer, align 1 | |
%conv17 = zext i8 %4 to i16 | |
%cmp18 = icmp slt i16 %conv17, 20 | |
br i1 %cmp18, label %if.then20, label %if.else21 | |
if.then20: ; preds = %if.else16 | |
store i8 4, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 0), align 1 | |
br label %if.end28 | |
if.else21: ; preds = %if.else16 | |
%5 = load i8, i8* @injury_Timer, align 1 | |
%conv22 = zext i8 %5 to i16 | |
%cmp23 = icmp slt i16 %conv22, 30 | |
br i1 %cmp23, label %if.then25, label %if.else26 | |
if.then25: ; preds = %if.else21 | |
store i8 5, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 0), align 1 | |
br label %if.end27 | |
if.else26: ; preds = %if.else21 | |
br label %return | |
if.end27: ; preds = %if.then25 | |
br label %if.end28 | |
if.end28: ; preds = %if.end27, %if.then20 | |
br label %if.end29 | |
if.end29: ; preds = %if.end28, %if.then15 | |
br label %if.end30 | |
if.end30: ; preds = %if.end29, %if.end11 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 1), align 1 | |
call void @Draw_Sprites(%struct.ENEMY* @hero_ship) | |
br label %return | |
return: ; preds = %if.end30, %if.else26 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Draw_Enemies2() #0 { | |
entry: | |
%0 = load i8, i8* @Frame_Count2, align 1 | |
%inc = add i8 %0, 1 | |
store i8 %inc, i8* @Frame_Count2, align 1 | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 4), align 1 | |
%conv = zext i8 %1 to i16 | |
%cmp = icmp ne i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 4), align 1 | |
%dec = add i8 %2, -1 | |
store i8 %dec, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 4), align 1 | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 4), align 1 | |
%conv2 = zext i8 %3 to i16 | |
%cmp3 = icmp ne i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.end7 | |
if.then5: ; preds = %if.end | |
%4 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 4), align 1 | |
%dec6 = add i8 %4, -1 | |
store i8 %dec6, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 4), align 1 | |
br label %if.end7 | |
if.end7: ; preds = %if.then5, %if.end | |
%5 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 4), align 1 | |
%conv8 = zext i8 %5 to i16 | |
%cmp9 = icmp ne i16 %conv8, 0 | |
br i1 %cmp9, label %if.then11, label %if.end13 | |
if.then11: ; preds = %if.end7 | |
%6 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 4), align 1 | |
%dec12 = add i8 %6, -1 | |
store i8 %dec12, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 4), align 1 | |
br label %if.end13 | |
if.end13: ; preds = %if.then11, %if.end7 | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 4), align 1 | |
%conv14 = zext i8 %7 to i16 | |
%cmp15 = icmp ne i16 %conv14, 0 | |
br i1 %cmp15, label %if.then17, label %if.end19 | |
if.then17: ; preds = %if.end13 | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 4), align 1 | |
%dec18 = add i8 %8, -1 | |
store i8 %dec18, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 4), align 1 | |
br label %if.end19 | |
if.end19: ; preds = %if.then17, %if.end13 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 4), align 1 | |
%conv20 = zext i8 %9 to i16 | |
%cmp21 = icmp ne i16 %conv20, 0 | |
br i1 %cmp21, label %if.then23, label %if.end25 | |
if.then23: ; preds = %if.end19 | |
%10 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 4), align 1 | |
%dec24 = add i8 %10, -1 | |
store i8 %dec24, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 4), align 1 | |
br label %if.end25 | |
if.end25: ; preds = %if.then23, %if.end19 | |
%11 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 4), align 1 | |
%conv26 = zext i8 %11 to i16 | |
%cmp27 = icmp ne i16 %conv26, 0 | |
br i1 %cmp27, label %if.then29, label %if.end31 | |
if.then29: ; preds = %if.end25 | |
%12 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 4), align 1 | |
%dec30 = add i8 %12, -1 | |
store i8 %dec30, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 4), align 1 | |
br label %if.end31 | |
if.end31: ; preds = %if.then29, %if.end25 | |
%13 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 4), align 1 | |
%conv32 = zext i8 %13 to i16 | |
%cmp33 = icmp ne i16 %conv32, 0 | |
br i1 %cmp33, label %if.then35, label %if.end37 | |
if.then35: ; preds = %if.end31 | |
%14 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 4), align 1 | |
%dec36 = add i8 %14, -1 | |
store i8 %dec36, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 4), align 1 | |
br label %if.end37 | |
if.end37: ; preds = %if.then35, %if.end31 | |
%15 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 4), align 1 | |
%conv38 = zext i8 %15 to i16 | |
%cmp39 = icmp ne i16 %conv38, 0 | |
br i1 %cmp39, label %if.then41, label %if.end43 | |
if.then41: ; preds = %if.end37 | |
%16 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 4), align 1 | |
%dec42 = add i8 %16, -1 | |
store i8 %dec42, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 4), align 1 | |
br label %if.end43 | |
if.end43: ; preds = %if.then41, %if.end37 | |
%17 = load i8, i8* @Frame_Count2, align 1 | |
%conv44 = zext i8 %17 to i16 | |
%and = and i16 %conv44, 3 | |
%cmp45 = icmp eq i16 %and, 0 | |
br i1 %cmp45, label %if.then47, label %if.else | |
if.then47: ; preds = %if.end43 | |
call void @Draw_Explosion() | |
%18 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
%conv48 = zext i8 %18 to i16 | |
%cmp49 = icmp ne i16 %conv48, 0 | |
br i1 %cmp49, label %land.lhs.true, label %if.end55 | |
land.lhs.true: ; preds = %if.then47 | |
%19 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 4), align 1 | |
%conv51 = zext i8 %19 to i16 | |
%cmp52 = icmp eq i16 %conv51, 0 | |
br i1 %cmp52, label %if.then54, label %if.end55 | |
if.then54: ; preds = %land.lhs.true | |
store %struct.ENEMY* @ENEMY1, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end55 | |
if.end55: ; preds = %if.then54, %land.lhs.true, %if.then47 | |
%20 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
%conv56 = zext i8 %20 to i16 | |
%cmp57 = icmp ne i16 %conv56, 0 | |
br i1 %cmp57, label %land.lhs.true59, label %if.end64 | |
land.lhs.true59: ; preds = %if.end55 | |
%21 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 4), align 1 | |
%conv60 = zext i8 %21 to i16 | |
%cmp61 = icmp eq i16 %conv60, 0 | |
br i1 %cmp61, label %if.then63, label %if.end64 | |
if.then63: ; preds = %land.lhs.true59 | |
store %struct.ENEMY* @ENEMY2, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end64 | |
if.end64: ; preds = %if.then63, %land.lhs.true59, %if.end55 | |
%22 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
%conv65 = zext i8 %22 to i16 | |
%cmp66 = icmp ne i16 %conv65, 0 | |
br i1 %cmp66, label %land.lhs.true68, label %if.end73 | |
land.lhs.true68: ; preds = %if.end64 | |
%23 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 4), align 1 | |
%conv69 = zext i8 %23 to i16 | |
%cmp70 = icmp eq i16 %conv69, 0 | |
br i1 %cmp70, label %if.then72, label %if.end73 | |
if.then72: ; preds = %land.lhs.true68 | |
store %struct.ENEMY* @ENEMY3, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end73 | |
if.end73: ; preds = %if.then72, %land.lhs.true68, %if.end64 | |
%24 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
%conv74 = zext i8 %24 to i16 | |
%cmp75 = icmp ne i16 %conv74, 0 | |
br i1 %cmp75, label %land.lhs.true77, label %if.end82 | |
land.lhs.true77: ; preds = %if.end73 | |
%25 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 4), align 1 | |
%conv78 = zext i8 %25 to i16 | |
%cmp79 = icmp eq i16 %conv78, 0 | |
br i1 %cmp79, label %if.then81, label %if.end82 | |
if.then81: ; preds = %land.lhs.true77 | |
store %struct.ENEMY* @ENEMY4, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end82 | |
if.end82: ; preds = %if.then81, %land.lhs.true77, %if.end73 | |
%26 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
%conv83 = zext i8 %26 to i16 | |
%cmp84 = icmp ne i16 %conv83, 0 | |
br i1 %cmp84, label %land.lhs.true86, label %if.end91 | |
land.lhs.true86: ; preds = %if.end82 | |
%27 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 4), align 1 | |
%conv87 = zext i8 %27 to i16 | |
%cmp88 = icmp eq i16 %conv87, 0 | |
br i1 %cmp88, label %if.then90, label %if.end91 | |
if.then90: ; preds = %land.lhs.true86 | |
store %struct.ENEMY* @ENEMY5, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end91 | |
if.end91: ; preds = %if.then90, %land.lhs.true86, %if.end82 | |
%28 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
%conv92 = zext i8 %28 to i16 | |
%cmp93 = icmp ne i16 %conv92, 0 | |
br i1 %cmp93, label %land.lhs.true95, label %if.end100 | |
land.lhs.true95: ; preds = %if.end91 | |
%29 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 4), align 1 | |
%conv96 = zext i8 %29 to i16 | |
%cmp97 = icmp eq i16 %conv96, 0 | |
br i1 %cmp97, label %if.then99, label %if.end100 | |
if.then99: ; preds = %land.lhs.true95 | |
store %struct.ENEMY* @ENEMY6, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end100 | |
if.end100: ; preds = %if.then99, %land.lhs.true95, %if.end91 | |
%30 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
%conv101 = zext i8 %30 to i16 | |
%cmp102 = icmp ne i16 %conv101, 0 | |
br i1 %cmp102, label %land.lhs.true104, label %if.end109 | |
land.lhs.true104: ; preds = %if.end100 | |
%31 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 4), align 1 | |
%conv105 = zext i8 %31 to i16 | |
%cmp106 = icmp eq i16 %conv105, 0 | |
br i1 %cmp106, label %if.then108, label %if.end109 | |
if.then108: ; preds = %land.lhs.true104 | |
store %struct.ENEMY* @ENEMY7, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end109 | |
if.end109: ; preds = %if.then108, %land.lhs.true104, %if.end100 | |
%32 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
%conv110 = zext i8 %32 to i16 | |
%cmp111 = icmp ne i16 %conv110, 0 | |
br i1 %cmp111, label %land.lhs.true113, label %if.end118 | |
land.lhs.true113: ; preds = %if.end109 | |
%33 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 4), align 1 | |
%conv114 = zext i8 %33 to i16 | |
%cmp115 = icmp eq i16 %conv114, 0 | |
br i1 %cmp115, label %if.then117, label %if.end118 | |
if.then117: ; preds = %land.lhs.true113 | |
store %struct.ENEMY* @ENEMY8, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end118 | |
if.end118: ; preds = %if.then117, %land.lhs.true113, %if.end109 | |
br label %if.end349 | |
if.else: ; preds = %if.end43 | |
%34 = load i8, i8* @Frame_Count2, align 1 | |
%conv119 = zext i8 %34 to i16 | |
%and120 = and i16 %conv119, 3 | |
%cmp121 = icmp eq i16 %and120, 1 | |
br i1 %cmp121, label %if.then123, label %if.else196 | |
if.then123: ; preds = %if.else | |
%35 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
%conv124 = zext i8 %35 to i16 | |
%cmp125 = icmp ne i16 %conv124, 0 | |
br i1 %cmp125, label %land.lhs.true127, label %if.end132 | |
land.lhs.true127: ; preds = %if.then123 | |
%36 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 4), align 1 | |
%conv128 = zext i8 %36 to i16 | |
%cmp129 = icmp eq i16 %conv128, 0 | |
br i1 %cmp129, label %if.then131, label %if.end132 | |
if.then131: ; preds = %land.lhs.true127 | |
store %struct.ENEMY* @ENEMY1, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end132 | |
if.end132: ; preds = %if.then131, %land.lhs.true127, %if.then123 | |
%37 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
%conv133 = zext i8 %37 to i16 | |
%cmp134 = icmp ne i16 %conv133, 0 | |
br i1 %cmp134, label %land.lhs.true136, label %if.end141 | |
land.lhs.true136: ; preds = %if.end132 | |
%38 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 4), align 1 | |
%conv137 = zext i8 %38 to i16 | |
%cmp138 = icmp eq i16 %conv137, 0 | |
br i1 %cmp138, label %if.then140, label %if.end141 | |
if.then140: ; preds = %land.lhs.true136 | |
store %struct.ENEMY* @ENEMY3, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end141 | |
if.end141: ; preds = %if.then140, %land.lhs.true136, %if.end132 | |
%39 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
%conv142 = zext i8 %39 to i16 | |
%cmp143 = icmp ne i16 %conv142, 0 | |
br i1 %cmp143, label %land.lhs.true145, label %if.end150 | |
land.lhs.true145: ; preds = %if.end141 | |
%40 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 4), align 1 | |
%conv146 = zext i8 %40 to i16 | |
%cmp147 = icmp eq i16 %conv146, 0 | |
br i1 %cmp147, label %if.then149, label %if.end150 | |
if.then149: ; preds = %land.lhs.true145 | |
store %struct.ENEMY* @ENEMY5, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end150 | |
if.end150: ; preds = %if.then149, %land.lhs.true145, %if.end141 | |
%41 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
%conv151 = zext i8 %41 to i16 | |
%cmp152 = icmp ne i16 %conv151, 0 | |
br i1 %cmp152, label %land.lhs.true154, label %if.end159 | |
land.lhs.true154: ; preds = %if.end150 | |
%42 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 4), align 1 | |
%conv155 = zext i8 %42 to i16 | |
%cmp156 = icmp eq i16 %conv155, 0 | |
br i1 %cmp156, label %if.then158, label %if.end159 | |
if.then158: ; preds = %land.lhs.true154 | |
store %struct.ENEMY* @ENEMY7, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end159 | |
if.end159: ; preds = %if.then158, %land.lhs.true154, %if.end150 | |
call void @Draw_Explosion() | |
%43 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
%conv160 = zext i8 %43 to i16 | |
%cmp161 = icmp ne i16 %conv160, 0 | |
br i1 %cmp161, label %land.lhs.true163, label %if.end168 | |
land.lhs.true163: ; preds = %if.end159 | |
%44 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 4), align 1 | |
%conv164 = zext i8 %44 to i16 | |
%cmp165 = icmp eq i16 %conv164, 0 | |
br i1 %cmp165, label %if.then167, label %if.end168 | |
if.then167: ; preds = %land.lhs.true163 | |
store %struct.ENEMY* @ENEMY2, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end168 | |
if.end168: ; preds = %if.then167, %land.lhs.true163, %if.end159 | |
%45 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
%conv169 = zext i8 %45 to i16 | |
%cmp170 = icmp ne i16 %conv169, 0 | |
br i1 %cmp170, label %land.lhs.true172, label %if.end177 | |
land.lhs.true172: ; preds = %if.end168 | |
%46 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 4), align 1 | |
%conv173 = zext i8 %46 to i16 | |
%cmp174 = icmp eq i16 %conv173, 0 | |
br i1 %cmp174, label %if.then176, label %if.end177 | |
if.then176: ; preds = %land.lhs.true172 | |
store %struct.ENEMY* @ENEMY4, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end177 | |
if.end177: ; preds = %if.then176, %land.lhs.true172, %if.end168 | |
%47 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
%conv178 = zext i8 %47 to i16 | |
%cmp179 = icmp ne i16 %conv178, 0 | |
br i1 %cmp179, label %land.lhs.true181, label %if.end186 | |
land.lhs.true181: ; preds = %if.end177 | |
%48 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 4), align 1 | |
%conv182 = zext i8 %48 to i16 | |
%cmp183 = icmp eq i16 %conv182, 0 | |
br i1 %cmp183, label %if.then185, label %if.end186 | |
if.then185: ; preds = %land.lhs.true181 | |
store %struct.ENEMY* @ENEMY6, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end186 | |
if.end186: ; preds = %if.then185, %land.lhs.true181, %if.end177 | |
%49 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
%conv187 = zext i8 %49 to i16 | |
%cmp188 = icmp ne i16 %conv187, 0 | |
br i1 %cmp188, label %land.lhs.true190, label %if.end195 | |
land.lhs.true190: ; preds = %if.end186 | |
%50 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 4), align 1 | |
%conv191 = zext i8 %50 to i16 | |
%cmp192 = icmp eq i16 %conv191, 0 | |
br i1 %cmp192, label %if.then194, label %if.end195 | |
if.then194: ; preds = %land.lhs.true190 | |
store %struct.ENEMY* @ENEMY8, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end195 | |
if.end195: ; preds = %if.then194, %land.lhs.true190, %if.end186 | |
br label %if.end348 | |
if.else196: ; preds = %if.else | |
%51 = load i8, i8* @Frame_Count2, align 1 | |
%conv197 = zext i8 %51 to i16 | |
%and198 = and i16 %conv197, 3 | |
%cmp199 = icmp eq i16 %and198, 2 | |
br i1 %cmp199, label %if.then201, label %if.else274 | |
if.then201: ; preds = %if.else196 | |
%52 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
%conv202 = zext i8 %52 to i16 | |
%cmp203 = icmp ne i16 %conv202, 0 | |
br i1 %cmp203, label %land.lhs.true205, label %if.end210 | |
land.lhs.true205: ; preds = %if.then201 | |
%53 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 4), align 1 | |
%conv206 = zext i8 %53 to i16 | |
%cmp207 = icmp eq i16 %conv206, 0 | |
br i1 %cmp207, label %if.then209, label %if.end210 | |
if.then209: ; preds = %land.lhs.true205 | |
store %struct.ENEMY* @ENEMY8, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end210 | |
if.end210: ; preds = %if.then209, %land.lhs.true205, %if.then201 | |
%54 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
%conv211 = zext i8 %54 to i16 | |
%cmp212 = icmp ne i16 %conv211, 0 | |
br i1 %cmp212, label %land.lhs.true214, label %if.end219 | |
land.lhs.true214: ; preds = %if.end210 | |
%55 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 4), align 1 | |
%conv215 = zext i8 %55 to i16 | |
%cmp216 = icmp eq i16 %conv215, 0 | |
br i1 %cmp216, label %if.then218, label %if.end219 | |
if.then218: ; preds = %land.lhs.true214 | |
store %struct.ENEMY* @ENEMY7, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end219 | |
if.end219: ; preds = %if.then218, %land.lhs.true214, %if.end210 | |
%56 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
%conv220 = zext i8 %56 to i16 | |
%cmp221 = icmp ne i16 %conv220, 0 | |
br i1 %cmp221, label %land.lhs.true223, label %if.end228 | |
land.lhs.true223: ; preds = %if.end219 | |
%57 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 4), align 1 | |
%conv224 = zext i8 %57 to i16 | |
%cmp225 = icmp eq i16 %conv224, 0 | |
br i1 %cmp225, label %if.then227, label %if.end228 | |
if.then227: ; preds = %land.lhs.true223 | |
store %struct.ENEMY* @ENEMY6, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end228 | |
if.end228: ; preds = %if.then227, %land.lhs.true223, %if.end219 | |
%58 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
%conv229 = zext i8 %58 to i16 | |
%cmp230 = icmp ne i16 %conv229, 0 | |
br i1 %cmp230, label %land.lhs.true232, label %if.end237 | |
land.lhs.true232: ; preds = %if.end228 | |
%59 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 4), align 1 | |
%conv233 = zext i8 %59 to i16 | |
%cmp234 = icmp eq i16 %conv233, 0 | |
br i1 %cmp234, label %if.then236, label %if.end237 | |
if.then236: ; preds = %land.lhs.true232 | |
store %struct.ENEMY* @ENEMY5, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end237 | |
if.end237: ; preds = %if.then236, %land.lhs.true232, %if.end228 | |
%60 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
%conv238 = zext i8 %60 to i16 | |
%cmp239 = icmp ne i16 %conv238, 0 | |
br i1 %cmp239, label %land.lhs.true241, label %if.end246 | |
land.lhs.true241: ; preds = %if.end237 | |
%61 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 4), align 1 | |
%conv242 = zext i8 %61 to i16 | |
%cmp243 = icmp eq i16 %conv242, 0 | |
br i1 %cmp243, label %if.then245, label %if.end246 | |
if.then245: ; preds = %land.lhs.true241 | |
store %struct.ENEMY* @ENEMY4, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end246 | |
if.end246: ; preds = %if.then245, %land.lhs.true241, %if.end237 | |
%62 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
%conv247 = zext i8 %62 to i16 | |
%cmp248 = icmp ne i16 %conv247, 0 | |
br i1 %cmp248, label %land.lhs.true250, label %if.end255 | |
land.lhs.true250: ; preds = %if.end246 | |
%63 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 4), align 1 | |
%conv251 = zext i8 %63 to i16 | |
%cmp252 = icmp eq i16 %conv251, 0 | |
br i1 %cmp252, label %if.then254, label %if.end255 | |
if.then254: ; preds = %land.lhs.true250 | |
store %struct.ENEMY* @ENEMY3, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end255 | |
if.end255: ; preds = %if.then254, %land.lhs.true250, %if.end246 | |
%64 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
%conv256 = zext i8 %64 to i16 | |
%cmp257 = icmp ne i16 %conv256, 0 | |
br i1 %cmp257, label %land.lhs.true259, label %if.end264 | |
land.lhs.true259: ; preds = %if.end255 | |
%65 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 4), align 1 | |
%conv260 = zext i8 %65 to i16 | |
%cmp261 = icmp eq i16 %conv260, 0 | |
br i1 %cmp261, label %if.then263, label %if.end264 | |
if.then263: ; preds = %land.lhs.true259 | |
store %struct.ENEMY* @ENEMY2, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end264 | |
if.end264: ; preds = %if.then263, %land.lhs.true259, %if.end255 | |
%66 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
%conv265 = zext i8 %66 to i16 | |
%cmp266 = icmp ne i16 %conv265, 0 | |
br i1 %cmp266, label %land.lhs.true268, label %if.end273 | |
land.lhs.true268: ; preds = %if.end264 | |
%67 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 4), align 1 | |
%conv269 = zext i8 %67 to i16 | |
%cmp270 = icmp eq i16 %conv269, 0 | |
br i1 %cmp270, label %if.then272, label %if.end273 | |
if.then272: ; preds = %land.lhs.true268 | |
store %struct.ENEMY* @ENEMY1, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end273 | |
if.end273: ; preds = %if.then272, %land.lhs.true268, %if.end264 | |
call void @Draw_Explosion() | |
br label %if.end347 | |
if.else274: ; preds = %if.else196 | |
%68 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
%conv275 = zext i8 %68 to i16 | |
%cmp276 = icmp ne i16 %conv275, 0 | |
br i1 %cmp276, label %land.lhs.true278, label %if.end283 | |
land.lhs.true278: ; preds = %if.else274 | |
%69 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 4), align 1 | |
%conv279 = zext i8 %69 to i16 | |
%cmp280 = icmp eq i16 %conv279, 0 | |
br i1 %cmp280, label %if.then282, label %if.end283 | |
if.then282: ; preds = %land.lhs.true278 | |
store %struct.ENEMY* @ENEMY8, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end283 | |
if.end283: ; preds = %if.then282, %land.lhs.true278, %if.else274 | |
%70 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
%conv284 = zext i8 %70 to i16 | |
%cmp285 = icmp ne i16 %conv284, 0 | |
br i1 %cmp285, label %land.lhs.true287, label %if.end292 | |
land.lhs.true287: ; preds = %if.end283 | |
%71 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 4), align 1 | |
%conv288 = zext i8 %71 to i16 | |
%cmp289 = icmp eq i16 %conv288, 0 | |
br i1 %cmp289, label %if.then291, label %if.end292 | |
if.then291: ; preds = %land.lhs.true287 | |
store %struct.ENEMY* @ENEMY6, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end292 | |
if.end292: ; preds = %if.then291, %land.lhs.true287, %if.end283 | |
%72 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
%conv293 = zext i8 %72 to i16 | |
%cmp294 = icmp ne i16 %conv293, 0 | |
br i1 %cmp294, label %land.lhs.true296, label %if.end301 | |
land.lhs.true296: ; preds = %if.end292 | |
%73 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 4), align 1 | |
%conv297 = zext i8 %73 to i16 | |
%cmp298 = icmp eq i16 %conv297, 0 | |
br i1 %cmp298, label %if.then300, label %if.end301 | |
if.then300: ; preds = %land.lhs.true296 | |
store %struct.ENEMY* @ENEMY4, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end301 | |
if.end301: ; preds = %if.then300, %land.lhs.true296, %if.end292 | |
%74 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
%conv302 = zext i8 %74 to i16 | |
%cmp303 = icmp ne i16 %conv302, 0 | |
br i1 %cmp303, label %land.lhs.true305, label %if.end310 | |
land.lhs.true305: ; preds = %if.end301 | |
%75 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 4), align 1 | |
%conv306 = zext i8 %75 to i16 | |
%cmp307 = icmp eq i16 %conv306, 0 | |
br i1 %cmp307, label %if.then309, label %if.end310 | |
if.then309: ; preds = %land.lhs.true305 | |
store %struct.ENEMY* @ENEMY2, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end310 | |
if.end310: ; preds = %if.then309, %land.lhs.true305, %if.end301 | |
call void @Draw_Explosion() | |
%76 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
%conv311 = zext i8 %76 to i16 | |
%cmp312 = icmp ne i16 %conv311, 0 | |
br i1 %cmp312, label %land.lhs.true314, label %if.end319 | |
land.lhs.true314: ; preds = %if.end310 | |
%77 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 4), align 1 | |
%conv315 = zext i8 %77 to i16 | |
%cmp316 = icmp eq i16 %conv315, 0 | |
br i1 %cmp316, label %if.then318, label %if.end319 | |
if.then318: ; preds = %land.lhs.true314 | |
store %struct.ENEMY* @ENEMY7, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end319 | |
if.end319: ; preds = %if.then318, %land.lhs.true314, %if.end310 | |
%78 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
%conv320 = zext i8 %78 to i16 | |
%cmp321 = icmp ne i16 %conv320, 0 | |
br i1 %cmp321, label %land.lhs.true323, label %if.end328 | |
land.lhs.true323: ; preds = %if.end319 | |
%79 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 4), align 1 | |
%conv324 = zext i8 %79 to i16 | |
%cmp325 = icmp eq i16 %conv324, 0 | |
br i1 %cmp325, label %if.then327, label %if.end328 | |
if.then327: ; preds = %land.lhs.true323 | |
store %struct.ENEMY* @ENEMY5, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end328 | |
if.end328: ; preds = %if.then327, %land.lhs.true323, %if.end319 | |
%80 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
%conv329 = zext i8 %80 to i16 | |
%cmp330 = icmp ne i16 %conv329, 0 | |
br i1 %cmp330, label %land.lhs.true332, label %if.end337 | |
land.lhs.true332: ; preds = %if.end328 | |
%81 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 4), align 1 | |
%conv333 = zext i8 %81 to i16 | |
%cmp334 = icmp eq i16 %conv333, 0 | |
br i1 %cmp334, label %if.then336, label %if.end337 | |
if.then336: ; preds = %land.lhs.true332 | |
store %struct.ENEMY* @ENEMY3, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end337 | |
if.end337: ; preds = %if.then336, %land.lhs.true332, %if.end328 | |
%82 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
%conv338 = zext i8 %82 to i16 | |
%cmp339 = icmp ne i16 %conv338, 0 | |
br i1 %cmp339, label %land.lhs.true341, label %if.end346 | |
land.lhs.true341: ; preds = %if.end337 | |
%83 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 4), align 1 | |
%conv342 = zext i8 %83 to i16 | |
%cmp343 = icmp eq i16 %conv342, 0 | |
br i1 %cmp343, label %if.then345, label %if.end346 | |
if.then345: ; preds = %land.lhs.true341 | |
store %struct.ENEMY* @ENEMY1, %struct.ENEMY** @Enemy_Pointer, align 1 | |
call void @Move_Enemies() | |
call void @draw_enemies() | |
br label %if.end346 | |
if.end346: ; preds = %if.then345, %land.lhs.true341, %if.end337 | |
br label %if.end347 | |
if.end347: ; preds = %if.end346, %if.end273 | |
br label %if.end348 | |
if.end348: ; preds = %if.end347, %if.end195 | |
br label %if.end349 | |
if.end349: ; preds = %if.end348, %if.end118 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Adjust_Scoreboard() #0 { | |
entry: | |
br label %while.cond | |
while.cond: ; preds = %while.body, %entry | |
%0 = load i8, i8* @Score4, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp sgt i16 %conv, 9 | |
br i1 %cmp, label %while.body, label %while.end | |
while.body: ; preds = %while.cond | |
%1 = load i8, i8* @Score3, align 1 | |
%inc = add i8 %1, 1 | |
store i8 %inc, i8* @Score3, align 1 | |
%2 = load i8, i8* @Score4, align 1 | |
%conv2 = zext i8 %2 to i16 | |
%sub = sub nsw i16 %conv2, 10 | |
%conv3 = trunc i16 %sub to i8 | |
store i8 %conv3, i8* @Score4, align 1 | |
br label %while.cond | |
while.end: ; preds = %while.cond | |
br label %while.cond4 | |
while.cond4: ; preds = %while.body8, %while.end | |
%3 = load i8, i8* @Score3, align 1 | |
%conv5 = zext i8 %3 to i16 | |
%cmp6 = icmp sgt i16 %conv5, 9 | |
br i1 %cmp6, label %while.body8, label %while.end13 | |
while.body8: ; preds = %while.cond4 | |
%4 = load i8, i8* @Score2, align 1 | |
%inc9 = add i8 %4, 1 | |
store i8 %inc9, i8* @Score2, align 1 | |
%5 = load i8, i8* @Score3, align 1 | |
%conv10 = zext i8 %5 to i16 | |
%sub11 = sub nsw i16 %conv10, 10 | |
%conv12 = trunc i16 %sub11 to i8 | |
store i8 %conv12, i8* @Score3, align 1 | |
br label %while.cond4 | |
while.end13: ; preds = %while.cond4 | |
%6 = load i8, i8* @Score2, align 1 | |
%conv14 = zext i8 %6 to i16 | |
%cmp15 = icmp sgt i16 %conv14, 9 | |
br i1 %cmp15, label %if.then, label %if.end | |
if.then: ; preds = %while.end13 | |
%7 = load i8, i8* @Score1, align 1 | |
%inc17 = add i8 %7, 1 | |
store i8 %inc17, i8* @Score1, align 1 | |
%8 = load i8, i8* @Score2, align 1 | |
%conv18 = zext i8 %8 to i16 | |
%sub19 = sub nsw i16 %conv18, 10 | |
%conv20 = trunc i16 %sub19 to i8 | |
store i8 %conv20, i8* @Score2, align 1 | |
br label %if.end | |
if.end: ; preds = %if.then, %while.end13 | |
%9 = load i8, i8* @Score1, align 1 | |
%conv21 = zext i8 %9 to i16 | |
%cmp22 = icmp sgt i16 %conv21, 9 | |
br i1 %cmp22, label %if.then24, label %if.end25 | |
if.then24: ; preds = %if.end | |
store i8 9, i8* @Score4, align 1 | |
store i8 9, i8* @Score3, align 1 | |
store i8 9, i8* @Score2, align 1 | |
store i8 9, i8* @Score1, align 1 | |
br label %if.end25 | |
if.end25: ; preds = %if.then24, %if.end | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Turn_On_Pause_Sprites() #0 { | |
entry: | |
store i8 14, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 1), align 1 | |
store i8 108, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 3), align 1 | |
store i8 112, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 2), align 1 | |
call void @Draw_Sprites(%struct.ENEMY* @dummy) | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Turn_On_Game_Over_Sprites() #0 { | |
entry: | |
store i8 15, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 1), align 1 | |
store i8 92, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 3), align 1 | |
store i8 112, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 2), align 1 | |
call void @Draw_Sprites(%struct.ENEMY* @dummy) | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @collision_Test4() #0 { | |
entry: | |
store i8 15, i8* @objectA_width, align 1 | |
store i8 7, i8* @objectA_height, align 1 | |
store i8 47, i8* @objectB_width, align 1 | |
store i8 39, i8* @objectB_height, align 1 | |
%0 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
store i8 %0, i8* @objectB_y, align 1 | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
store i8 %1, i8* @objectB_x, align 1 | |
%2 = load i8, i8* @BOSS_health, align 1 | |
store i8 %2, i8* @BOSS_health_test, align 1 | |
%3 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 0), align 1 | |
%conv = zext i8 %3 to i16 | |
%cmp = icmp ne i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end6 | |
if.then: ; preds = %entry | |
%4 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 0), align 1 | |
store i8 %4, i8* @objectA_y, align 1 | |
%5 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 4), align 1 | |
store i8 %5, i8* @objectA_x, align 1 | |
call void @Hitbox() | |
%6 = load i8, i8* @collision, align 1 | |
%conv2 = zext i8 %6 to i16 | |
%cmp3 = icmp ne i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.end | |
if.then5: ; preds = %if.then | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 0), align 1 | |
%7 = load i8, i8* @BOSS_health, align 1 | |
%dec = add i8 %7, -1 | |
store i8 %dec, i8* @BOSS_health, align 1 | |
br label %if.end | |
if.end: ; preds = %if.then5, %if.then | |
br label %if.end6 | |
if.end6: ; preds = %if.end, %entry | |
%8 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 0), align 1 | |
%conv7 = zext i8 %8 to i16 | |
%cmp8 = icmp ne i16 %conv7, 0 | |
br i1 %cmp8, label %if.then10, label %if.end17 | |
if.then10: ; preds = %if.end6 | |
%9 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 0), align 1 | |
store i8 %9, i8* @objectA_y, align 1 | |
%10 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 4), align 1 | |
store i8 %10, i8* @objectA_x, align 1 | |
call void @Hitbox() | |
%11 = load i8, i8* @collision, align 1 | |
%conv11 = zext i8 %11 to i16 | |
%cmp12 = icmp ne i16 %conv11, 0 | |
br i1 %cmp12, label %if.then14, label %if.end16 | |
if.then14: ; preds = %if.then10 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 0), align 1 | |
%12 = load i8, i8* @BOSS_health, align 1 | |
%dec15 = add i8 %12, -1 | |
store i8 %dec15, i8* @BOSS_health, align 1 | |
br label %if.end16 | |
if.end16: ; preds = %if.then14, %if.then10 | |
br label %if.end17 | |
if.end17: ; preds = %if.end16, %if.end6 | |
%13 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 0), align 1 | |
%conv18 = zext i8 %13 to i16 | |
%cmp19 = icmp ne i16 %conv18, 0 | |
br i1 %cmp19, label %if.then21, label %if.end28 | |
if.then21: ; preds = %if.end17 | |
%14 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 0), align 1 | |
store i8 %14, i8* @objectA_y, align 1 | |
%15 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 4), align 1 | |
store i8 %15, i8* @objectA_x, align 1 | |
call void @Hitbox() | |
%16 = load i8, i8* @collision, align 1 | |
%conv22 = zext i8 %16 to i16 | |
%cmp23 = icmp ne i16 %conv22, 0 | |
br i1 %cmp23, label %if.then25, label %if.end27 | |
if.then25: ; preds = %if.then21 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 0), align 1 | |
%17 = load i8, i8* @BOSS_health, align 1 | |
%dec26 = add i8 %17, -1 | |
store i8 %dec26, i8* @BOSS_health, align 1 | |
br label %if.end27 | |
if.end27: ; preds = %if.then25, %if.then21 | |
br label %if.end28 | |
if.end28: ; preds = %if.end27, %if.end17 | |
%18 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 0), align 1 | |
%conv29 = zext i8 %18 to i16 | |
%cmp30 = icmp ne i16 %conv29, 0 | |
br i1 %cmp30, label %if.then32, label %if.end39 | |
if.then32: ; preds = %if.end28 | |
%19 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 0), align 1 | |
store i8 %19, i8* @objectA_y, align 1 | |
%20 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 4), align 1 | |
store i8 %20, i8* @objectA_x, align 1 | |
call void @Hitbox() | |
%21 = load i8, i8* @collision, align 1 | |
%conv33 = zext i8 %21 to i16 | |
%cmp34 = icmp ne i16 %conv33, 0 | |
br i1 %cmp34, label %if.then36, label %if.end38 | |
if.then36: ; preds = %if.then32 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 0), align 1 | |
%22 = load i8, i8* @BOSS_health, align 1 | |
%dec37 = add i8 %22, -1 | |
store i8 %dec37, i8* @BOSS_health, align 1 | |
br label %if.end38 | |
if.end38: ; preds = %if.then36, %if.then32 | |
br label %if.end39 | |
if.end39: ; preds = %if.end38, %if.end28 | |
%23 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 0), align 1 | |
%conv40 = zext i8 %23 to i16 | |
%cmp41 = icmp ne i16 %conv40, 0 | |
br i1 %cmp41, label %if.then43, label %if.end50 | |
if.then43: ; preds = %if.end39 | |
%24 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 0), align 1 | |
store i8 %24, i8* @objectA_y, align 1 | |
%25 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 4), align 1 | |
store i8 %25, i8* @objectA_x, align 1 | |
call void @Hitbox() | |
%26 = load i8, i8* @collision, align 1 | |
%conv44 = zext i8 %26 to i16 | |
%cmp45 = icmp ne i16 %conv44, 0 | |
br i1 %cmp45, label %if.then47, label %if.end49 | |
if.then47: ; preds = %if.then43 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 0), align 1 | |
%27 = load i8, i8* @BOSS_health, align 1 | |
%dec48 = add i8 %27, -1 | |
store i8 %dec48, i8* @BOSS_health, align 1 | |
br label %if.end49 | |
if.end49: ; preds = %if.then47, %if.then43 | |
br label %if.end50 | |
if.end50: ; preds = %if.end49, %if.end39 | |
%28 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 0), align 1 | |
%conv51 = zext i8 %28 to i16 | |
%cmp52 = icmp ne i16 %conv51, 0 | |
br i1 %cmp52, label %if.then54, label %if.end61 | |
if.then54: ; preds = %if.end50 | |
%29 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 0), align 1 | |
store i8 %29, i8* @objectA_y, align 1 | |
%30 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 4), align 1 | |
store i8 %30, i8* @objectA_x, align 1 | |
call void @Hitbox() | |
%31 = load i8, i8* @collision, align 1 | |
%conv55 = zext i8 %31 to i16 | |
%cmp56 = icmp ne i16 %conv55, 0 | |
br i1 %cmp56, label %if.then58, label %if.end60 | |
if.then58: ; preds = %if.then54 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 0), align 1 | |
%32 = load i8, i8* @BOSS_health, align 1 | |
%dec59 = add i8 %32, -1 | |
store i8 %dec59, i8* @BOSS_health, align 1 | |
br label %if.end60 | |
if.end60: ; preds = %if.then58, %if.then54 | |
br label %if.end61 | |
if.end61: ; preds = %if.end60, %if.end50 | |
%33 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet7, i32 0, i32 0), align 1 | |
%conv62 = zext i8 %33 to i16 | |
%cmp63 = icmp ne i16 %conv62, 0 | |
br i1 %cmp63, label %if.then65, label %if.end72 | |
if.then65: ; preds = %if.end61 | |
%34 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet7, i32 0, i32 0), align 1 | |
store i8 %34, i8* @objectA_y, align 1 | |
%35 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet7, i32 0, i32 4), align 1 | |
store i8 %35, i8* @objectA_x, align 1 | |
call void @Hitbox() | |
%36 = load i8, i8* @collision, align 1 | |
%conv66 = zext i8 %36 to i16 | |
%cmp67 = icmp ne i16 %conv66, 0 | |
br i1 %cmp67, label %if.then69, label %if.end71 | |
if.then69: ; preds = %if.then65 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet7, i32 0, i32 0), align 1 | |
%37 = load i8, i8* @BOSS_health, align 1 | |
%dec70 = add i8 %37, -1 | |
store i8 %dec70, i8* @BOSS_health, align 1 | |
br label %if.end71 | |
if.end71: ; preds = %if.then69, %if.then65 | |
br label %if.end72 | |
if.end72: ; preds = %if.end71, %if.end61 | |
%38 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet8, i32 0, i32 0), align 1 | |
%conv73 = zext i8 %38 to i16 | |
%cmp74 = icmp ne i16 %conv73, 0 | |
br i1 %cmp74, label %if.then76, label %if.end83 | |
if.then76: ; preds = %if.end72 | |
%39 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet8, i32 0, i32 0), align 1 | |
store i8 %39, i8* @objectA_y, align 1 | |
%40 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet8, i32 0, i32 4), align 1 | |
store i8 %40, i8* @objectA_x, align 1 | |
call void @Hitbox() | |
%41 = load i8, i8* @collision, align 1 | |
%conv77 = zext i8 %41 to i16 | |
%cmp78 = icmp ne i16 %conv77, 0 | |
br i1 %cmp78, label %if.then80, label %if.end82 | |
if.then80: ; preds = %if.then76 | |
store i8 0, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet8, i32 0, i32 0), align 1 | |
%42 = load i8, i8* @BOSS_health, align 1 | |
%dec81 = add i8 %42, -1 | |
store i8 %dec81, i8* @BOSS_health, align 1 | |
br label %if.end82 | |
if.end82: ; preds = %if.then80, %if.then76 | |
br label %if.end83 | |
if.end83: ; preds = %if.end82, %if.end72 | |
%43 = load i8, i8* @BOSS_health, align 1 | |
%conv84 = zext i8 %43 to i16 | |
%44 = load i8, i8* @BOSS_health_test, align 1 | |
%conv85 = zext i8 %44 to i16 | |
%cmp86 = icmp sgt i16 %conv84, %conv85 | |
br i1 %cmp86, label %if.then88, label %if.end91 | |
if.then88: ; preds = %if.end83 | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
call void @SHAKE_AND_BLINK() | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
call void @Reset_Music() | |
store i8 31, i8* inttoptr (i16 16405 to i8*), align 1 | |
call void @Play_Fx(i8 zeroext 4) | |
store i8 4, i8* @song, align 1 | |
%45 = load i8, i8* @song, align 1 | |
call void @Play_Music(i8 zeroext %45) | |
store i8 4, i8* @Game_Mode, align 1 | |
%46 = load i8, i8* @Score2, align 1 | |
%conv89 = zext i8 %46 to i16 | |
%add = add nsw i16 %conv89, 2 | |
%conv90 = trunc i16 %add to i8 | |
store i8 %conv90, i8* @Score2, align 1 | |
call void @Adjust_Scoreboard() | |
br label %if.end91 | |
if.end91: ; preds = %if.then88, %if.end83 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Move_Lasers() #0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 2), align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp ne i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end20 | |
if.then: ; preds = %entry | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 2), align 1 | |
%conv2 = zext i8 %1 to i16 | |
%add = add nsw i16 %conv2, 2 | |
%conv3 = trunc i16 %add to i8 | |
store i8 %conv3, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 2), align 1 | |
%2 = load i8, i8* @Frame_Count, align 1 | |
%conv4 = zext i8 %2 to i16 | |
%and = and i16 %conv4, 3 | |
%cmp5 = icmp eq i16 %and, 0 | |
br i1 %cmp5, label %if.then7, label %if.end19 | |
if.then7: ; preds = %if.then | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 3), align 1 | |
%conv8 = zext i8 %3 to i16 | |
%4 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv9 = zext i8 %4 to i16 | |
%cmp10 = icmp sgt i16 %conv8, %conv9 | |
br i1 %cmp10, label %if.then12, label %if.else | |
if.then12: ; preds = %if.then7 | |
%5 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 3), align 1 | |
%dec = add i8 %5, -1 | |
store i8 %dec, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 3), align 1 | |
br label %if.end18 | |
if.else: ; preds = %if.then7 | |
%6 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 3), align 1 | |
%conv13 = zext i8 %6 to i16 | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv14 = zext i8 %7 to i16 | |
%cmp15 = icmp slt i16 %conv13, %conv14 | |
br i1 %cmp15, label %if.then17, label %if.end | |
if.then17: ; preds = %if.else | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 3), align 1 | |
%inc = add i8 %8, 1 | |
store i8 %inc, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 3), align 1 | |
br label %if.end | |
if.end: ; preds = %if.then17, %if.else | |
br label %if.end18 | |
if.end18: ; preds = %if.end, %if.then12 | |
br label %if.end19 | |
if.end19: ; preds = %if.end18, %if.then | |
call void @Draw_Sprites(%struct.ENEMY* @LASER1) | |
br label %if.end20 | |
if.end20: ; preds = %if.end19, %entry | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 2), align 1 | |
%conv21 = zext i8 %9 to i16 | |
%cmp22 = icmp sgt i16 %conv21, 240 | |
br i1 %cmp22, label %if.then24, label %if.end25 | |
if.then24: ; preds = %if.end20 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 2), align 1 | |
br label %if.end25 | |
if.end25: ; preds = %if.then24, %if.end20 | |
%10 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 2), align 1 | |
%conv26 = zext i8 %10 to i16 | |
%cmp27 = icmp ne i16 %conv26, 0 | |
br i1 %cmp27, label %if.then29, label %if.end54 | |
if.then29: ; preds = %if.end25 | |
%11 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 2), align 1 | |
%conv30 = zext i8 %11 to i16 | |
%add31 = add nsw i16 %conv30, 2 | |
%conv32 = trunc i16 %add31 to i8 | |
store i8 %conv32, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 2), align 1 | |
%12 = load i8, i8* @Frame_Count, align 1 | |
%conv33 = zext i8 %12 to i16 | |
%and34 = and i16 %conv33, 3 | |
%cmp35 = icmp eq i16 %and34, 0 | |
br i1 %cmp35, label %if.then37, label %if.end53 | |
if.then37: ; preds = %if.then29 | |
%13 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 3), align 1 | |
%conv38 = zext i8 %13 to i16 | |
%14 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv39 = zext i8 %14 to i16 | |
%cmp40 = icmp sgt i16 %conv38, %conv39 | |
br i1 %cmp40, label %if.then42, label %if.else44 | |
if.then42: ; preds = %if.then37 | |
%15 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 3), align 1 | |
%dec43 = add i8 %15, -1 | |
store i8 %dec43, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 3), align 1 | |
br label %if.end52 | |
if.else44: ; preds = %if.then37 | |
%16 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 3), align 1 | |
%conv45 = zext i8 %16 to i16 | |
%17 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv46 = zext i8 %17 to i16 | |
%cmp47 = icmp slt i16 %conv45, %conv46 | |
br i1 %cmp47, label %if.then49, label %if.end51 | |
if.then49: ; preds = %if.else44 | |
%18 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 3), align 1 | |
%inc50 = add i8 %18, 1 | |
store i8 %inc50, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 3), align 1 | |
br label %if.end51 | |
if.end51: ; preds = %if.then49, %if.else44 | |
br label %if.end52 | |
if.end52: ; preds = %if.end51, %if.then42 | |
br label %if.end53 | |
if.end53: ; preds = %if.end52, %if.then29 | |
call void @Draw_Sprites(%struct.ENEMY* @LASER2) | |
br label %if.end54 | |
if.end54: ; preds = %if.end53, %if.end25 | |
%19 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 2), align 1 | |
%conv55 = zext i8 %19 to i16 | |
%cmp56 = icmp sgt i16 %conv55, 240 | |
br i1 %cmp56, label %if.then58, label %if.end59 | |
if.then58: ; preds = %if.end54 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 2), align 1 | |
br label %if.end59 | |
if.end59: ; preds = %if.then58, %if.end54 | |
%20 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 2), align 1 | |
%conv60 = zext i8 %20 to i16 | |
%cmp61 = icmp ne i16 %conv60, 0 | |
br i1 %cmp61, label %if.then63, label %if.end88 | |
if.then63: ; preds = %if.end59 | |
%21 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 2), align 1 | |
%conv64 = zext i8 %21 to i16 | |
%add65 = add nsw i16 %conv64, 2 | |
%conv66 = trunc i16 %add65 to i8 | |
store i8 %conv66, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 2), align 1 | |
%22 = load i8, i8* @Frame_Count, align 1 | |
%conv67 = zext i8 %22 to i16 | |
%and68 = and i16 %conv67, 3 | |
%cmp69 = icmp eq i16 %and68, 0 | |
br i1 %cmp69, label %if.then71, label %if.end87 | |
if.then71: ; preds = %if.then63 | |
%23 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 3), align 1 | |
%conv72 = zext i8 %23 to i16 | |
%24 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv73 = zext i8 %24 to i16 | |
%cmp74 = icmp sgt i16 %conv72, %conv73 | |
br i1 %cmp74, label %if.then76, label %if.else78 | |
if.then76: ; preds = %if.then71 | |
%25 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 3), align 1 | |
%dec77 = add i8 %25, -1 | |
store i8 %dec77, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 3), align 1 | |
br label %if.end86 | |
if.else78: ; preds = %if.then71 | |
%26 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 3), align 1 | |
%conv79 = zext i8 %26 to i16 | |
%27 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv80 = zext i8 %27 to i16 | |
%cmp81 = icmp slt i16 %conv79, %conv80 | |
br i1 %cmp81, label %if.then83, label %if.end85 | |
if.then83: ; preds = %if.else78 | |
%28 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 3), align 1 | |
%inc84 = add i8 %28, 1 | |
store i8 %inc84, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 3), align 1 | |
br label %if.end85 | |
if.end85: ; preds = %if.then83, %if.else78 | |
br label %if.end86 | |
if.end86: ; preds = %if.end85, %if.then76 | |
br label %if.end87 | |
if.end87: ; preds = %if.end86, %if.then63 | |
call void @Draw_Sprites(%struct.ENEMY* @LASER3) | |
br label %if.end88 | |
if.end88: ; preds = %if.end87, %if.end59 | |
%29 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 2), align 1 | |
%conv89 = zext i8 %29 to i16 | |
%cmp90 = icmp sgt i16 %conv89, 240 | |
br i1 %cmp90, label %if.then92, label %if.end93 | |
if.then92: ; preds = %if.end88 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 2), align 1 | |
br label %if.end93 | |
if.end93: ; preds = %if.then92, %if.end88 | |
%30 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 2), align 1 | |
%conv94 = zext i8 %30 to i16 | |
%cmp95 = icmp ne i16 %conv94, 0 | |
br i1 %cmp95, label %if.then97, label %if.end122 | |
if.then97: ; preds = %if.end93 | |
%31 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 2), align 1 | |
%conv98 = zext i8 %31 to i16 | |
%add99 = add nsw i16 %conv98, 2 | |
%conv100 = trunc i16 %add99 to i8 | |
store i8 %conv100, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 2), align 1 | |
%32 = load i8, i8* @Frame_Count, align 1 | |
%conv101 = zext i8 %32 to i16 | |
%and102 = and i16 %conv101, 3 | |
%cmp103 = icmp eq i16 %and102, 0 | |
br i1 %cmp103, label %if.then105, label %if.end121 | |
if.then105: ; preds = %if.then97 | |
%33 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 3), align 1 | |
%conv106 = zext i8 %33 to i16 | |
%34 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv107 = zext i8 %34 to i16 | |
%cmp108 = icmp sgt i16 %conv106, %conv107 | |
br i1 %cmp108, label %if.then110, label %if.else112 | |
if.then110: ; preds = %if.then105 | |
%35 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 3), align 1 | |
%dec111 = add i8 %35, -1 | |
store i8 %dec111, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 3), align 1 | |
br label %if.end120 | |
if.else112: ; preds = %if.then105 | |
%36 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 3), align 1 | |
%conv113 = zext i8 %36 to i16 | |
%37 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv114 = zext i8 %37 to i16 | |
%cmp115 = icmp slt i16 %conv113, %conv114 | |
br i1 %cmp115, label %if.then117, label %if.end119 | |
if.then117: ; preds = %if.else112 | |
%38 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 3), align 1 | |
%inc118 = add i8 %38, 1 | |
store i8 %inc118, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 3), align 1 | |
br label %if.end119 | |
if.end119: ; preds = %if.then117, %if.else112 | |
br label %if.end120 | |
if.end120: ; preds = %if.end119, %if.then110 | |
br label %if.end121 | |
if.end121: ; preds = %if.end120, %if.then97 | |
call void @Draw_Sprites(%struct.ENEMY* @LASER4) | |
br label %if.end122 | |
if.end122: ; preds = %if.end121, %if.end93 | |
%39 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 2), align 1 | |
%conv123 = zext i8 %39 to i16 | |
%cmp124 = icmp sgt i16 %conv123, 240 | |
br i1 %cmp124, label %if.then126, label %if.end127 | |
if.then126: ; preds = %if.end122 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 2), align 1 | |
br label %if.end127 | |
if.end127: ; preds = %if.then126, %if.end122 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Move_Boss() #0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%inc = add i8 %0, 1 | |
store i8 %inc, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
%conv = zext i8 %1 to i16 | |
switch i16 %conv, label %sw.epilog [ | |
i16 0, label %sw.bb | |
i16 1, label %sw.bb18 | |
i16 2, label %sw.bb25 | |
i16 3, label %sw.bb49 | |
i16 4, label %sw.bb56 | |
i16 5, label %sw.bb69 | |
i16 6, label %sw.bb76 | |
i16 7, label %sw.bb86 | |
] | |
sw.bb: ; preds = %entry | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%dec = add i8 %2, -1 | |
store i8 %dec, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%conv1 = zext i8 %3 to i16 | |
%cmp = icmp eq i16 %conv1, 40 | |
br i1 %cmp, label %if.then, label %lor.lhs.false | |
lor.lhs.false: ; preds = %sw.bb | |
%4 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%conv3 = zext i8 %4 to i16 | |
%cmp4 = icmp eq i16 %conv3, 150 | |
br i1 %cmp4, label %if.then, label %if.end | |
if.then: ; preds = %lor.lhs.false, %sw.bb | |
call void @Spawn_Lasers() | |
store i8 8, i8* @BOSS_eyes, align 1 | |
br label %if.end | |
if.end: ; preds = %if.then, %lor.lhs.false | |
%5 = load i8, i8* @BOSS_eyes, align 1 | |
%conv6 = zext i8 %5 to i16 | |
%cmp7 = icmp ne i16 %conv6, 0 | |
br i1 %cmp7, label %if.then9, label %if.else | |
if.then9: ; preds = %if.end | |
%6 = load i8, i8* @BOSS_eyes, align 1 | |
%dec10 = add i8 %6, -1 | |
store i8 %dec10, i8* @BOSS_eyes, align 1 | |
store i8 18, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
br label %if.end11 | |
if.else: ; preds = %if.end | |
store i8 17, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
br label %if.end11 | |
if.end11: ; preds = %if.else, %if.then9 | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%conv12 = zext i8 %7 to i16 | |
%cmp13 = icmp slt i16 %conv12, 8 | |
br i1 %cmp13, label %if.then15, label %if.end17 | |
if.then15: ; preds = %if.end11 | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
%inc16 = add i8 %8, 1 | |
store i8 %inc16, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
br label %if.end17 | |
if.end17: ; preds = %if.then15, %if.end11 | |
br label %sw.epilog | |
sw.bb18: ; preds = %entry | |
store i8 18, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%conv19 = zext i8 %9 to i16 | |
%cmp20 = icmp sgt i16 %conv19, 10 | |
br i1 %cmp20, label %if.then22, label %if.end24 | |
if.then22: ; preds = %sw.bb18 | |
%10 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
%inc23 = add i8 %10, 1 | |
store i8 %inc23, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
call void @Spawn_Lasers() | |
br label %if.end24 | |
if.end24: ; preds = %if.then22, %sw.bb18 | |
br label %sw.epilog | |
sw.bb25: ; preds = %entry | |
%11 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%inc26 = add i8 %11, 1 | |
store i8 %inc26, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%12 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%conv27 = zext i8 %12 to i16 | |
%cmp28 = icmp eq i16 %conv27, 40 | |
br i1 %cmp28, label %if.then34, label %lor.lhs.false30 | |
lor.lhs.false30: ; preds = %sw.bb25 | |
%13 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%conv31 = zext i8 %13 to i16 | |
%cmp32 = icmp eq i16 %conv31, 150 | |
br i1 %cmp32, label %if.then34, label %if.end35 | |
if.then34: ; preds = %lor.lhs.false30, %sw.bb25 | |
call void @Spawn_Lasers() | |
store i8 8, i8* @BOSS_eyes, align 1 | |
br label %if.end35 | |
if.end35: ; preds = %if.then34, %lor.lhs.false30 | |
%14 = load i8, i8* @BOSS_eyes, align 1 | |
%conv36 = zext i8 %14 to i16 | |
%cmp37 = icmp ne i16 %conv36, 0 | |
br i1 %cmp37, label %if.then39, label %if.else41 | |
if.then39: ; preds = %if.end35 | |
%15 = load i8, i8* @BOSS_eyes, align 1 | |
%dec40 = add i8 %15, -1 | |
store i8 %dec40, i8* @BOSS_eyes, align 1 | |
store i8 18, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
br label %if.end42 | |
if.else41: ; preds = %if.end35 | |
store i8 17, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
br label %if.end42 | |
if.end42: ; preds = %if.else41, %if.then39 | |
%16 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%conv43 = zext i8 %16 to i16 | |
%cmp44 = icmp sgt i16 %conv43, 200 | |
br i1 %cmp44, label %if.then46, label %if.end48 | |
if.then46: ; preds = %if.end42 | |
%17 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
%inc47 = add i8 %17, 1 | |
store i8 %inc47, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
br label %if.end48 | |
if.end48: ; preds = %if.then46, %if.end42 | |
br label %sw.epilog | |
sw.bb49: ; preds = %entry | |
store i8 18, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
%18 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%conv50 = zext i8 %18 to i16 | |
%cmp51 = icmp sgt i16 %conv50, 10 | |
br i1 %cmp51, label %if.then53, label %if.end55 | |
if.then53: ; preds = %sw.bb49 | |
%19 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
%inc54 = add i8 %19, 1 | |
store i8 %inc54, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
call void @Spawn_Lasers() | |
br label %if.end55 | |
if.end55: ; preds = %if.then53, %sw.bb49 | |
br label %sw.epilog | |
sw.bb56: ; preds = %entry | |
store i8 17, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
%20 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%dec57 = add i8 %20, -1 | |
store i8 %dec57, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%21 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%conv58 = zext i8 %21 to i16 | |
%add = add nsw i16 %conv58, 16 | |
%22 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv59 = zext i8 %22 to i16 | |
%cmp60 = icmp slt i16 %add, %conv59 | |
br i1 %cmp60, label %if.then66, label %lor.lhs.false62 | |
lor.lhs.false62: ; preds = %sw.bb56 | |
%23 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%conv63 = zext i8 %23 to i16 | |
%cmp64 = icmp slt i16 %conv63, 10 | |
br i1 %cmp64, label %if.then66, label %if.end68 | |
if.then66: ; preds = %lor.lhs.false62, %sw.bb56 | |
%24 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
%inc67 = add i8 %24, 1 | |
store i8 %inc67, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
br label %if.end68 | |
if.end68: ; preds = %if.then66, %lor.lhs.false62 | |
br label %sw.epilog | |
sw.bb69: ; preds = %entry | |
store i8 18, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
%25 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%conv70 = zext i8 %25 to i16 | |
%cmp71 = icmp sgt i16 %conv70, 10 | |
br i1 %cmp71, label %if.then73, label %if.end75 | |
if.then73: ; preds = %sw.bb69 | |
%26 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
%inc74 = add i8 %26, 1 | |
store i8 %inc74, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
br label %if.end75 | |
if.end75: ; preds = %if.then73, %sw.bb69 | |
br label %sw.epilog | |
sw.bb76: ; preds = %entry | |
store i8 17, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
%27 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%conv77 = zext i8 %27 to i16 | |
%add78 = add nsw i16 %conv77, 2 | |
%conv79 = trunc i16 %add78 to i8 | |
store i8 %conv79, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%28 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%conv80 = zext i8 %28 to i16 | |
%cmp81 = icmp sgt i16 %conv80, 190 | |
br i1 %cmp81, label %if.then83, label %if.end85 | |
if.then83: ; preds = %sw.bb76 | |
%29 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
%inc84 = add i8 %29, 1 | |
store i8 %inc84, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
br label %if.end85 | |
if.end85: ; preds = %if.then83, %sw.bb76 | |
br label %sw.epilog | |
sw.bb86: ; preds = %entry | |
%30 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%dec87 = add i8 %30, -1 | |
store i8 %dec87, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%31 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
%conv88 = zext i8 %31 to i16 | |
%cmp89 = icmp eq i16 %conv88, 60 | |
br i1 %cmp89, label %if.then91, label %if.end92 | |
if.then91: ; preds = %sw.bb86 | |
call void @Spawn_Lasers() | |
store i8 8, i8* @BOSS_eyes, align 1 | |
br label %if.end92 | |
if.end92: ; preds = %if.then91, %sw.bb86 | |
%32 = load i8, i8* @BOSS_eyes, align 1 | |
%conv93 = zext i8 %32 to i16 | |
%cmp94 = icmp ne i16 %conv93, 0 | |
br i1 %cmp94, label %if.then96, label %if.else98 | |
if.then96: ; preds = %if.end92 | |
%33 = load i8, i8* @BOSS_eyes, align 1 | |
%dec97 = add i8 %33, -1 | |
store i8 %dec97, i8* @BOSS_eyes, align 1 | |
store i8 18, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
br label %if.end99 | |
if.else98: ; preds = %if.end92 | |
store i8 17, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
br label %if.end99 | |
if.end99: ; preds = %if.else98, %if.then96 | |
%34 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%conv100 = zext i8 %34 to i16 | |
%cmp101 = icmp eq i16 %conv100, 80 | |
br i1 %cmp101, label %if.then103, label %if.end104 | |
if.then103: ; preds = %if.end99 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 6), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 7), align 1 | |
br label %if.end104 | |
if.end104: ; preds = %if.then103, %if.end99 | |
br label %sw.epilog | |
sw.epilog: ; preds = %entry, %if.end104, %if.end85, %if.end75, %if.end68, %if.end55, %if.end48, %if.end24, %if.end17 | |
call void @Draw_Sprites(%struct.ENEMY* @BOSS) | |
ret void | |
} | |
declare void @Reset() #1 | |
; Function Attrs: nounwind | |
define void @Turn_On_Victory_Sprites() #0 { | |
entry: | |
store i8 16, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 1), align 1 | |
store i8 96, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 3), align 1 | |
store i8 112, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @dummy, i32 0, i32 2), align 1 | |
call void @Draw_Sprites(%struct.ENEMY* @dummy) | |
ret void | |
} | |
declare void @UnRLE(i8*) #1 | |
; Function Attrs: nounwind | |
define void @Keep_Loop() #0 { | |
entry: | |
br label %while.body | |
while.body: ; preds = %entry, %if.end39 | |
br label %while.cond1 | |
while.cond1: ; preds = %while.body3, %while.body | |
%0 = load i8, i8* @NMI_flag, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %while.body3, label %while.end | |
while.body3: ; preds = %while.cond1 | |
br label %while.cond1 | |
while.end: ; preds = %while.cond1 | |
%1 = load i8, i8* @Selection, align 1 | |
%conv4 = zext i8 %1 to i16 | |
%cmp5 = icmp eq i16 %conv4, 0 | |
br i1 %cmp5, label %if.then, label %if.else | |
if.then: ; preds = %while.end | |
store i8 87, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @SPRITES, i16 0, i16 0), align 1 | |
br label %if.end | |
if.else: ; preds = %while.end | |
store i8 103, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @SPRITES, i16 0, i16 0), align 1 | |
br label %if.end | |
if.end: ; preds = %if.else, %if.then | |
store i8 13, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @SPRITES, i16 0, i16 1), align 1 | |
store i8 0, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @SPRITES, i16 0, i16 2), align 1 | |
store i8 80, i8* getelementptr inbounds ([256 x i8], [256 x i8]* @SPRITES, i16 0, i16 3), align 1 | |
call void @Get_Input() | |
%2 = load i8, i8* @joypad1old, align 1 | |
%conv7 = zext i8 %2 to i16 | |
%and = and i16 %conv7, 8 | |
%cmp8 = icmp ne i16 %and, 0 | |
br i1 %cmp8, label %if.then10, label %if.end11 | |
if.then10: ; preds = %if.end | |
store i8 0, i8* @Selection, align 1 | |
br label %if.end11 | |
if.end11: ; preds = %if.then10, %if.end | |
%3 = load i8, i8* @joypad1old, align 1 | |
%conv12 = zext i8 %3 to i16 | |
%and13 = and i16 %conv12, 4 | |
%cmp14 = icmp ne i16 %and13, 0 | |
br i1 %cmp14, label %if.then16, label %if.end17 | |
if.then16: ; preds = %if.end11 | |
store i8 1, i8* @Selection, align 1 | |
br label %if.end17 | |
if.end17: ; preds = %if.then16, %if.end11 | |
%4 = load i8, i8* @joypad1old, align 1 | |
%conv18 = zext i8 %4 to i16 | |
%and19 = and i16 %conv18, 16 | |
%cmp20 = icmp eq i16 %and19, 0 | |
br i1 %cmp20, label %land.lhs.true, label %if.end39 | |
land.lhs.true: ; preds = %if.end17 | |
%5 = load i8, i8* @joypad1, align 1 | |
%conv22 = zext i8 %5 to i16 | |
%and23 = and i16 %conv22, 16 | |
%cmp24 = icmp ne i16 %and23, 0 | |
br i1 %cmp24, label %if.then26, label %if.end39 | |
if.then26: ; preds = %land.lhs.true | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond27 | |
while.cond27: ; preds = %while.body31, %if.then26 | |
%6 = load i8, i8* @NMI_flag, align 1 | |
%conv28 = zext i8 %6 to i16 | |
%cmp29 = icmp eq i16 %conv28, 0 | |
br i1 %cmp29, label %while.body31, label %while.end32 | |
while.body31: ; preds = %while.cond27 | |
br label %while.cond27 | |
while.end32: ; preds = %while.cond27 | |
%7 = load i8, i8* @Selection, align 1 | |
%conv33 = zext i8 %7 to i16 | |
%cmp34 = icmp eq i16 %conv33, 0 | |
br i1 %cmp34, label %if.then36, label %if.else37 | |
if.then36: ; preds = %while.end32 | |
call void @Reset_Keep_Score() | |
br label %if.end38 | |
if.else37: ; preds = %while.end32 | |
call void @Reset() | |
br label %if.end38 | |
if.end38: ; preds = %if.else37, %if.then36 | |
br label %if.end39 | |
if.end39: ; preds = %if.end38, %land.lhs.true, %if.end17 | |
call void @Music_Update() | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.body | |
return: ; No predecessors! | |
ret void | |
} | |
declare void @Reset_Keep_Score() #1 | |
; Function Attrs: nounwind | |
define void @collision_Test2() #0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 %0, i8* @objectA_x, align 1 | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 2), align 1 | |
store i8 %1, i8* @objectA_y, align 1 | |
store i8 15, i8* @objectA_width, align 1 | |
store i8 15, i8* @objectA_height, align 1 | |
store i8 15, i8* @objectB_width, align 1 | |
store i8 15, i8* @objectB_height, align 1 | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
%conv = zext i8 %2 to i16 | |
%cmp = icmp ne i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end6 | |
if.then: ; preds = %entry | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
store i8 %3, i8* @objectB_y, align 1 | |
%4 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 3), align 1 | |
store i8 %4, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%5 = load i8, i8* @collision, align 1 | |
%conv2 = zext i8 %5 to i16 | |
%cmp3 = icmp ne i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.end | |
if.then5: ; preds = %if.then | |
%6 = load i8, i8* @injury_Timer, align 1 | |
%inc = add i8 %6, 1 | |
store i8 %inc, i8* @injury_Timer, align 1 | |
%7 = load i8, i8* @Lives, align 1 | |
%dec = add i8 %7, -1 | |
store i8 %dec, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end: ; preds = %if.then | |
br label %if.end6 | |
if.end6: ; preds = %if.end, %entry | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
%conv7 = zext i8 %8 to i16 | |
%cmp8 = icmp ne i16 %conv7, 0 | |
br i1 %cmp8, label %if.then10, label %if.end18 | |
if.then10: ; preds = %if.end6 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
store i8 %9, i8* @objectB_y, align 1 | |
%10 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 3), align 1 | |
store i8 %10, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%11 = load i8, i8* @collision, align 1 | |
%conv11 = zext i8 %11 to i16 | |
%cmp12 = icmp ne i16 %conv11, 0 | |
br i1 %cmp12, label %if.then14, label %if.end17 | |
if.then14: ; preds = %if.then10 | |
%12 = load i8, i8* @injury_Timer, align 1 | |
%inc15 = add i8 %12, 1 | |
store i8 %inc15, i8* @injury_Timer, align 1 | |
%13 = load i8, i8* @Lives, align 1 | |
%dec16 = add i8 %13, -1 | |
store i8 %dec16, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end17: ; preds = %if.then10 | |
br label %if.end18 | |
if.end18: ; preds = %if.end17, %if.end6 | |
%14 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
%conv19 = zext i8 %14 to i16 | |
%cmp20 = icmp ne i16 %conv19, 0 | |
br i1 %cmp20, label %if.then22, label %if.end30 | |
if.then22: ; preds = %if.end18 | |
%15 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
store i8 %15, i8* @objectB_y, align 1 | |
%16 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 3), align 1 | |
store i8 %16, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%17 = load i8, i8* @collision, align 1 | |
%conv23 = zext i8 %17 to i16 | |
%cmp24 = icmp ne i16 %conv23, 0 | |
br i1 %cmp24, label %if.then26, label %if.end29 | |
if.then26: ; preds = %if.then22 | |
%18 = load i8, i8* @injury_Timer, align 1 | |
%inc27 = add i8 %18, 1 | |
store i8 %inc27, i8* @injury_Timer, align 1 | |
%19 = load i8, i8* @Lives, align 1 | |
%dec28 = add i8 %19, -1 | |
store i8 %dec28, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end29: ; preds = %if.then22 | |
br label %if.end30 | |
if.end30: ; preds = %if.end29, %if.end18 | |
%20 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
%conv31 = zext i8 %20 to i16 | |
%cmp32 = icmp ne i16 %conv31, 0 | |
br i1 %cmp32, label %if.then34, label %if.end42 | |
if.then34: ; preds = %if.end30 | |
%21 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
store i8 %21, i8* @objectB_y, align 1 | |
%22 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 3), align 1 | |
store i8 %22, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%23 = load i8, i8* @collision, align 1 | |
%conv35 = zext i8 %23 to i16 | |
%cmp36 = icmp ne i16 %conv35, 0 | |
br i1 %cmp36, label %if.then38, label %if.end41 | |
if.then38: ; preds = %if.then34 | |
%24 = load i8, i8* @injury_Timer, align 1 | |
%inc39 = add i8 %24, 1 | |
store i8 %inc39, i8* @injury_Timer, align 1 | |
%25 = load i8, i8* @Lives, align 1 | |
%dec40 = add i8 %25, -1 | |
store i8 %dec40, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end41: ; preds = %if.then34 | |
br label %if.end42 | |
if.end42: ; preds = %if.end41, %if.end30 | |
%26 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
%conv43 = zext i8 %26 to i16 | |
%cmp44 = icmp ne i16 %conv43, 0 | |
br i1 %cmp44, label %if.then46, label %if.end54 | |
if.then46: ; preds = %if.end42 | |
%27 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
store i8 %27, i8* @objectB_y, align 1 | |
%28 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 3), align 1 | |
store i8 %28, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%29 = load i8, i8* @collision, align 1 | |
%conv47 = zext i8 %29 to i16 | |
%cmp48 = icmp ne i16 %conv47, 0 | |
br i1 %cmp48, label %if.then50, label %if.end53 | |
if.then50: ; preds = %if.then46 | |
%30 = load i8, i8* @injury_Timer, align 1 | |
%inc51 = add i8 %30, 1 | |
store i8 %inc51, i8* @injury_Timer, align 1 | |
%31 = load i8, i8* @Lives, align 1 | |
%dec52 = add i8 %31, -1 | |
store i8 %dec52, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end53: ; preds = %if.then46 | |
br label %if.end54 | |
if.end54: ; preds = %if.end53, %if.end42 | |
%32 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
%conv55 = zext i8 %32 to i16 | |
%cmp56 = icmp ne i16 %conv55, 0 | |
br i1 %cmp56, label %if.then58, label %if.end66 | |
if.then58: ; preds = %if.end54 | |
%33 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
store i8 %33, i8* @objectB_y, align 1 | |
%34 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 3), align 1 | |
store i8 %34, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%35 = load i8, i8* @collision, align 1 | |
%conv59 = zext i8 %35 to i16 | |
%cmp60 = icmp ne i16 %conv59, 0 | |
br i1 %cmp60, label %if.then62, label %if.end65 | |
if.then62: ; preds = %if.then58 | |
%36 = load i8, i8* @injury_Timer, align 1 | |
%inc63 = add i8 %36, 1 | |
store i8 %inc63, i8* @injury_Timer, align 1 | |
%37 = load i8, i8* @Lives, align 1 | |
%dec64 = add i8 %37, -1 | |
store i8 %dec64, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end65: ; preds = %if.then58 | |
br label %if.end66 | |
if.end66: ; preds = %if.end65, %if.end54 | |
%38 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
%conv67 = zext i8 %38 to i16 | |
%cmp68 = icmp ne i16 %conv67, 0 | |
br i1 %cmp68, label %if.then70, label %if.end78 | |
if.then70: ; preds = %if.end66 | |
%39 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
store i8 %39, i8* @objectB_y, align 1 | |
%40 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 3), align 1 | |
store i8 %40, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%41 = load i8, i8* @collision, align 1 | |
%conv71 = zext i8 %41 to i16 | |
%cmp72 = icmp ne i16 %conv71, 0 | |
br i1 %cmp72, label %if.then74, label %if.end77 | |
if.then74: ; preds = %if.then70 | |
%42 = load i8, i8* @injury_Timer, align 1 | |
%inc75 = add i8 %42, 1 | |
store i8 %inc75, i8* @injury_Timer, align 1 | |
%43 = load i8, i8* @Lives, align 1 | |
%dec76 = add i8 %43, -1 | |
store i8 %dec76, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end77: ; preds = %if.then70 | |
br label %if.end78 | |
if.end78: ; preds = %if.end77, %if.end66 | |
%44 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
%conv79 = zext i8 %44 to i16 | |
%cmp80 = icmp ne i16 %conv79, 0 | |
br i1 %cmp80, label %if.then82, label %if.end90 | |
if.then82: ; preds = %if.end78 | |
%45 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
store i8 %45, i8* @objectB_y, align 1 | |
%46 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 3), align 1 | |
store i8 %46, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%47 = load i8, i8* @collision, align 1 | |
%conv83 = zext i8 %47 to i16 | |
%cmp84 = icmp ne i16 %conv83, 0 | |
br i1 %cmp84, label %if.then86, label %if.end89 | |
if.then86: ; preds = %if.then82 | |
%48 = load i8, i8* @injury_Timer, align 1 | |
%inc87 = add i8 %48, 1 | |
store i8 %inc87, i8* @injury_Timer, align 1 | |
%49 = load i8, i8* @Lives, align 1 | |
%dec88 = add i8 %49, -1 | |
store i8 %dec88, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end89: ; preds = %if.then82 | |
br label %if.end90 | |
if.end90: ; preds = %if.end89, %if.end78 | |
store i8 7, i8* @objectB_width, align 1 | |
store i8 7, i8* @objectB_height, align 1 | |
%50 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 0), align 1 | |
%conv91 = zext i8 %50 to i16 | |
%cmp92 = icmp ne i16 %conv91, 0 | |
br i1 %cmp92, label %if.then94, label %if.end102 | |
if.then94: ; preds = %if.end90 | |
%51 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 0), align 1 | |
store i8 %51, i8* @objectB_y, align 1 | |
%52 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 4), align 1 | |
store i8 %52, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%53 = load i8, i8* @collision, align 1 | |
%conv95 = zext i8 %53 to i16 | |
%cmp96 = icmp ne i16 %conv95, 0 | |
br i1 %cmp96, label %if.then98, label %if.end101 | |
if.then98: ; preds = %if.then94 | |
%54 = load i8, i8* @injury_Timer, align 1 | |
%inc99 = add i8 %54, 1 | |
store i8 %inc99, i8* @injury_Timer, align 1 | |
%55 = load i8, i8* @Lives, align 1 | |
%dec100 = add i8 %55, -1 | |
store i8 %dec100, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end101: ; preds = %if.then94 | |
br label %if.end102 | |
if.end102: ; preds = %if.end101, %if.end90 | |
%56 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 0), align 1 | |
%conv103 = zext i8 %56 to i16 | |
%cmp104 = icmp ne i16 %conv103, 0 | |
br i1 %cmp104, label %if.then106, label %if.end114 | |
if.then106: ; preds = %if.end102 | |
%57 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 0), align 1 | |
store i8 %57, i8* @objectB_y, align 1 | |
%58 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 4), align 1 | |
store i8 %58, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%59 = load i8, i8* @collision, align 1 | |
%conv107 = zext i8 %59 to i16 | |
%cmp108 = icmp ne i16 %conv107, 0 | |
br i1 %cmp108, label %if.then110, label %if.end113 | |
if.then110: ; preds = %if.then106 | |
%60 = load i8, i8* @injury_Timer, align 1 | |
%inc111 = add i8 %60, 1 | |
store i8 %inc111, i8* @injury_Timer, align 1 | |
%61 = load i8, i8* @Lives, align 1 | |
%dec112 = add i8 %61, -1 | |
store i8 %dec112, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end113: ; preds = %if.then106 | |
br label %if.end114 | |
if.end114: ; preds = %if.end113, %if.end102 | |
%62 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 0), align 1 | |
%conv115 = zext i8 %62 to i16 | |
%cmp116 = icmp ne i16 %conv115, 0 | |
br i1 %cmp116, label %if.then118, label %if.end126 | |
if.then118: ; preds = %if.end114 | |
%63 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 0), align 1 | |
store i8 %63, i8* @objectB_y, align 1 | |
%64 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 4), align 1 | |
store i8 %64, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%65 = load i8, i8* @collision, align 1 | |
%conv119 = zext i8 %65 to i16 | |
%cmp120 = icmp ne i16 %conv119, 0 | |
br i1 %cmp120, label %if.then122, label %if.end125 | |
if.then122: ; preds = %if.then118 | |
%66 = load i8, i8* @injury_Timer, align 1 | |
%inc123 = add i8 %66, 1 | |
store i8 %inc123, i8* @injury_Timer, align 1 | |
%67 = load i8, i8* @Lives, align 1 | |
%dec124 = add i8 %67, -1 | |
store i8 %dec124, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end125: ; preds = %if.then118 | |
br label %if.end126 | |
if.end126: ; preds = %if.end125, %if.end114 | |
%68 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 0), align 1 | |
%conv127 = zext i8 %68 to i16 | |
%cmp128 = icmp ne i16 %conv127, 0 | |
br i1 %cmp128, label %if.then130, label %if.end138 | |
if.then130: ; preds = %if.end126 | |
%69 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 0), align 1 | |
store i8 %69, i8* @objectB_y, align 1 | |
%70 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 4), align 1 | |
store i8 %70, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%71 = load i8, i8* @collision, align 1 | |
%conv131 = zext i8 %71 to i16 | |
%cmp132 = icmp ne i16 %conv131, 0 | |
br i1 %cmp132, label %if.then134, label %if.end137 | |
if.then134: ; preds = %if.then130 | |
%72 = load i8, i8* @injury_Timer, align 1 | |
%inc135 = add i8 %72, 1 | |
store i8 %inc135, i8* @injury_Timer, align 1 | |
%73 = load i8, i8* @Lives, align 1 | |
%dec136 = add i8 %73, -1 | |
store i8 %dec136, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end137: ; preds = %if.then130 | |
br label %if.end138 | |
if.end138: ; preds = %if.end137, %if.end126 | |
%74 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 0), align 1 | |
%conv139 = zext i8 %74 to i16 | |
%cmp140 = icmp ne i16 %conv139, 0 | |
br i1 %cmp140, label %if.then142, label %if.end150 | |
if.then142: ; preds = %if.end138 | |
%75 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 0), align 1 | |
store i8 %75, i8* @objectB_y, align 1 | |
%76 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 4), align 1 | |
store i8 %76, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%77 = load i8, i8* @collision, align 1 | |
%conv143 = zext i8 %77 to i16 | |
%cmp144 = icmp ne i16 %conv143, 0 | |
br i1 %cmp144, label %if.then146, label %if.end149 | |
if.then146: ; preds = %if.then142 | |
%78 = load i8, i8* @injury_Timer, align 1 | |
%inc147 = add i8 %78, 1 | |
store i8 %inc147, i8* @injury_Timer, align 1 | |
%79 = load i8, i8* @Lives, align 1 | |
%dec148 = add i8 %79, -1 | |
store i8 %dec148, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end149: ; preds = %if.then142 | |
br label %if.end150 | |
if.end150: ; preds = %if.end149, %if.end138 | |
%80 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 0), align 1 | |
%conv151 = zext i8 %80 to i16 | |
%cmp152 = icmp ne i16 %conv151, 0 | |
br i1 %cmp152, label %if.then154, label %if.end162 | |
if.then154: ; preds = %if.end150 | |
%81 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 0), align 1 | |
store i8 %81, i8* @objectB_y, align 1 | |
%82 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 4), align 1 | |
store i8 %82, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%83 = load i8, i8* @collision, align 1 | |
%conv155 = zext i8 %83 to i16 | |
%cmp156 = icmp ne i16 %conv155, 0 | |
br i1 %cmp156, label %if.then158, label %if.end161 | |
if.then158: ; preds = %if.then154 | |
%84 = load i8, i8* @injury_Timer, align 1 | |
%inc159 = add i8 %84, 1 | |
store i8 %inc159, i8* @injury_Timer, align 1 | |
%85 = load i8, i8* @Lives, align 1 | |
%dec160 = add i8 %85, -1 | |
store i8 %dec160, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end161: ; preds = %if.then154 | |
br label %if.end162 | |
if.end162: ; preds = %if.end161, %if.end150 | |
%86 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 0), align 1 | |
%conv163 = zext i8 %86 to i16 | |
%cmp164 = icmp ne i16 %conv163, 0 | |
br i1 %cmp164, label %if.then166, label %if.end174 | |
if.then166: ; preds = %if.end162 | |
%87 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 0), align 1 | |
store i8 %87, i8* @objectB_y, align 1 | |
%88 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 4), align 1 | |
store i8 %88, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%89 = load i8, i8* @collision, align 1 | |
%conv167 = zext i8 %89 to i16 | |
%cmp168 = icmp ne i16 %conv167, 0 | |
br i1 %cmp168, label %if.then170, label %if.end173 | |
if.then170: ; preds = %if.then166 | |
%90 = load i8, i8* @injury_Timer, align 1 | |
%inc171 = add i8 %90, 1 | |
store i8 %inc171, i8* @injury_Timer, align 1 | |
%91 = load i8, i8* @Lives, align 1 | |
%dec172 = add i8 %91, -1 | |
store i8 %dec172, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end173: ; preds = %if.then166 | |
br label %if.end174 | |
if.end174: ; preds = %if.end173, %if.end162 | |
%92 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 0), align 1 | |
%conv175 = zext i8 %92 to i16 | |
%cmp176 = icmp ne i16 %conv175, 0 | |
br i1 %cmp176, label %if.then178, label %if.end186 | |
if.then178: ; preds = %if.end174 | |
%93 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 0), align 1 | |
store i8 %93, i8* @objectB_y, align 1 | |
%94 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 4), align 1 | |
store i8 %94, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%95 = load i8, i8* @collision, align 1 | |
%conv179 = zext i8 %95 to i16 | |
%cmp180 = icmp ne i16 %conv179, 0 | |
br i1 %cmp180, label %if.then182, label %if.end185 | |
if.then182: ; preds = %if.then178 | |
%96 = load i8, i8* @injury_Timer, align 1 | |
%inc183 = add i8 %96, 1 | |
store i8 %inc183, i8* @injury_Timer, align 1 | |
%97 = load i8, i8* @Lives, align 1 | |
%dec184 = add i8 %97, -1 | |
store i8 %dec184, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end186 | |
if.end185: ; preds = %if.then178 | |
br label %if.end186 | |
if.end186: ; preds = %if.then5, %if.then14, %if.then26, %if.then38, %if.then50, %if.then62, %if.then74, %if.then86, %if.then98, %if.then110, %if.then122, %if.then134, %if.then146, %if.then158, %if.then170, %if.then182, %if.end185, %if.end174 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @collision_Test3() #0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 %0, i8* @objectA_x, align 1 | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 2), align 1 | |
store i8 %1, i8* @objectA_y, align 1 | |
store i8 15, i8* @objectA_width, align 1 | |
store i8 15, i8* @objectA_height, align 1 | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
store i8 %2, i8* @objectB_y, align 1 | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
store i8 %3, i8* @objectB_x, align 1 | |
store i8 47, i8* @objectB_width, align 1 | |
store i8 39, i8* @objectB_height, align 1 | |
call void @Hitbox() | |
%4 = load i8, i8* @collision, align 1 | |
%conv = zext i8 %4 to i16 | |
%cmp = icmp ne i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%5 = load i8, i8* @injury_Timer, align 1 | |
%inc = add i8 %5, 1 | |
store i8 %inc, i8* @injury_Timer, align 1 | |
%6 = load i8, i8* @Lives, align 1 | |
%dec = add i8 %6, -1 | |
store i8 %dec, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end49 | |
if.end: ; preds = %entry | |
store i8 7, i8* @objectB_width, align 1 | |
store i8 15, i8* @objectB_height, align 1 | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 2), align 1 | |
%conv2 = zext i8 %7 to i16 | |
%cmp3 = icmp ne i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.end13 | |
if.then5: ; preds = %if.end | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 2), align 1 | |
store i8 %8, i8* @objectB_y, align 1 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 3), align 1 | |
store i8 %9, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%10 = load i8, i8* @collision, align 1 | |
%conv6 = zext i8 %10 to i16 | |
%cmp7 = icmp ne i16 %conv6, 0 | |
br i1 %cmp7, label %if.then9, label %if.end12 | |
if.then9: ; preds = %if.then5 | |
%11 = load i8, i8* @injury_Timer, align 1 | |
%inc10 = add i8 %11, 1 | |
store i8 %inc10, i8* @injury_Timer, align 1 | |
%12 = load i8, i8* @Lives, align 1 | |
%dec11 = add i8 %12, -1 | |
store i8 %dec11, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end49 | |
if.end12: ; preds = %if.then5 | |
br label %if.end13 | |
if.end13: ; preds = %if.end12, %if.end | |
%13 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 2), align 1 | |
%conv14 = zext i8 %13 to i16 | |
%cmp15 = icmp ne i16 %conv14, 0 | |
br i1 %cmp15, label %if.then17, label %if.end25 | |
if.then17: ; preds = %if.end13 | |
%14 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 2), align 1 | |
store i8 %14, i8* @objectB_y, align 1 | |
%15 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 3), align 1 | |
store i8 %15, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%16 = load i8, i8* @collision, align 1 | |
%conv18 = zext i8 %16 to i16 | |
%cmp19 = icmp ne i16 %conv18, 0 | |
br i1 %cmp19, label %if.then21, label %if.end24 | |
if.then21: ; preds = %if.then17 | |
%17 = load i8, i8* @injury_Timer, align 1 | |
%inc22 = add i8 %17, 1 | |
store i8 %inc22, i8* @injury_Timer, align 1 | |
%18 = load i8, i8* @Lives, align 1 | |
%dec23 = add i8 %18, -1 | |
store i8 %dec23, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end49 | |
if.end24: ; preds = %if.then17 | |
br label %if.end25 | |
if.end25: ; preds = %if.end24, %if.end13 | |
%19 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 2), align 1 | |
%conv26 = zext i8 %19 to i16 | |
%cmp27 = icmp ne i16 %conv26, 0 | |
br i1 %cmp27, label %if.then29, label %if.end37 | |
if.then29: ; preds = %if.end25 | |
%20 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 2), align 1 | |
store i8 %20, i8* @objectB_y, align 1 | |
%21 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 3), align 1 | |
store i8 %21, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%22 = load i8, i8* @collision, align 1 | |
%conv30 = zext i8 %22 to i16 | |
%cmp31 = icmp ne i16 %conv30, 0 | |
br i1 %cmp31, label %if.then33, label %if.end36 | |
if.then33: ; preds = %if.then29 | |
%23 = load i8, i8* @injury_Timer, align 1 | |
%inc34 = add i8 %23, 1 | |
store i8 %inc34, i8* @injury_Timer, align 1 | |
%24 = load i8, i8* @Lives, align 1 | |
%dec35 = add i8 %24, -1 | |
store i8 %dec35, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end49 | |
if.end36: ; preds = %if.then29 | |
br label %if.end37 | |
if.end37: ; preds = %if.end36, %if.end25 | |
%25 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 2), align 1 | |
%conv38 = zext i8 %25 to i16 | |
%cmp39 = icmp ne i16 %conv38, 0 | |
br i1 %cmp39, label %if.then41, label %if.end49 | |
if.then41: ; preds = %if.end37 | |
%26 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 2), align 1 | |
store i8 %26, i8* @objectB_y, align 1 | |
%27 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 3), align 1 | |
store i8 %27, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%28 = load i8, i8* @collision, align 1 | |
%conv42 = zext i8 %28 to i16 | |
%cmp43 = icmp ne i16 %conv42, 0 | |
br i1 %cmp43, label %if.then45, label %if.end48 | |
if.then45: ; preds = %if.then41 | |
%29 = load i8, i8* @injury_Timer, align 1 | |
%inc46 = add i8 %29, 1 | |
store i8 %inc46, i8* @injury_Timer, align 1 | |
%30 = load i8, i8* @Lives, align 1 | |
%dec47 = add i8 %30, -1 | |
store i8 %dec47, i8* @Lives, align 1 | |
call void @Play_Fx(i8 zeroext 2) | |
br label %if.end49 | |
if.end48: ; preds = %if.then41 | |
br label %if.end49 | |
if.end49: ; preds = %if.then, %if.then9, %if.then21, %if.then33, %if.then45, %if.end48, %if.end37 | |
ret void | |
} | |
declare void @Draw_Sprites(%struct.ENEMY*) #1 | |
; Function Attrs: nounwind | |
define void @spawn_bullets() #0 { | |
entry: | |
store i8 16, i8* @bullet_Wait, align 1 | |
%0 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 0), align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 %1, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 4), align 1 | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 2), align 1 | |
store i8 %2, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 0), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 6), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet1, i32 0, i32 2), align 1 | |
call void @Play_Fx(i8 zeroext 0) | |
br label %return | |
if.end: ; preds = %entry | |
%3 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 0), align 1 | |
%conv2 = zext i8 %3 to i16 | |
%cmp3 = icmp eq i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.end6 | |
if.then5: ; preds = %if.end | |
%4 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 %4, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 4), align 1 | |
%5 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 2), align 1 | |
store i8 %5, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 0), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 6), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet2, i32 0, i32 2), align 1 | |
call void @Play_Fx(i8 zeroext 0) | |
br label %return | |
if.end6: ; preds = %if.end | |
%6 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 0), align 1 | |
%conv7 = zext i8 %6 to i16 | |
%cmp8 = icmp eq i16 %conv7, 0 | |
br i1 %cmp8, label %if.then10, label %if.end11 | |
if.then10: ; preds = %if.end6 | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 %7, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 4), align 1 | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 2), align 1 | |
store i8 %8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 0), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 6), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet3, i32 0, i32 2), align 1 | |
call void @Play_Fx(i8 zeroext 0) | |
br label %return | |
if.end11: ; preds = %if.end6 | |
%9 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 0), align 1 | |
%conv12 = zext i8 %9 to i16 | |
%cmp13 = icmp eq i16 %conv12, 0 | |
br i1 %cmp13, label %if.then15, label %if.end16 | |
if.then15: ; preds = %if.end11 | |
%10 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 %10, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 4), align 1 | |
%11 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 2), align 1 | |
store i8 %11, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 0), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 6), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet4, i32 0, i32 2), align 1 | |
call void @Play_Fx(i8 zeroext 0) | |
br label %return | |
if.end16: ; preds = %if.end11 | |
%12 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 0), align 1 | |
%conv17 = zext i8 %12 to i16 | |
%cmp18 = icmp eq i16 %conv17, 0 | |
br i1 %cmp18, label %if.then20, label %if.end21 | |
if.then20: ; preds = %if.end16 | |
%13 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 %13, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 4), align 1 | |
%14 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 2), align 1 | |
store i8 %14, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 0), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 6), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet5, i32 0, i32 2), align 1 | |
call void @Play_Fx(i8 zeroext 0) | |
br label %return | |
if.end21: ; preds = %if.end16 | |
%15 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 0), align 1 | |
%conv22 = zext i8 %15 to i16 | |
%cmp23 = icmp eq i16 %conv22, 0 | |
br i1 %cmp23, label %if.then25, label %if.end26 | |
if.then25: ; preds = %if.end21 | |
%16 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
store i8 %16, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 4), align 1 | |
%17 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 2), align 1 | |
store i8 %17, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 0), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 6), align 1 | |
store i8 -32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @hero_bullet6, i32 0, i32 2), align 1 | |
call void @Play_Fx(i8 zeroext 0) | |
br label %return | |
if.end26: ; preds = %if.end21 | |
store i8 32, i8* @bullet_Wait, align 1 | |
br label %return | |
return: ; preds = %if.end26, %if.then25, %if.then20, %if.then15, %if.then10, %if.then5, %if.then | |
ret void | |
} | |
declare void @Play_Fx(i8 zeroext) #1 | |
declare void @move_bullets(%struct.BULLET*) #1 | |
declare void @move_bullets2(%struct.BULLET*) #1 | |
; Function Attrs: nounwind | |
define void @Draw_Explosion() #0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 2), align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp ne i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end6 | |
if.then: ; preds = %entry | |
call void @Draw_Sprites(%struct.ENEMY* @Explode1) | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 7), align 1 | |
%dec = add i8 %1, -1 | |
store i8 %dec, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 7), align 1 | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 7), align 1 | |
%conv2 = zext i8 %2 to i16 | |
%cmp3 = icmp eq i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.end | |
if.then5: ; preds = %if.then | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 2), align 1 | |
br label %if.end | |
if.end: ; preds = %if.then5, %if.then | |
br label %if.end6 | |
if.end6: ; preds = %if.end, %entry | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 2), align 1 | |
%conv7 = zext i8 %3 to i16 | |
%cmp8 = icmp ne i16 %conv7, 0 | |
br i1 %cmp8, label %if.then10, label %if.end17 | |
if.then10: ; preds = %if.end6 | |
call void @Draw_Sprites(%struct.ENEMY* @Explode2) | |
%4 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 7), align 1 | |
%dec11 = add i8 %4, -1 | |
store i8 %dec11, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 7), align 1 | |
%5 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 7), align 1 | |
%conv12 = zext i8 %5 to i16 | |
%cmp13 = icmp eq i16 %conv12, 0 | |
br i1 %cmp13, label %if.then15, label %if.end16 | |
if.then15: ; preds = %if.then10 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 2), align 1 | |
br label %if.end16 | |
if.end16: ; preds = %if.then15, %if.then10 | |
br label %if.end17 | |
if.end17: ; preds = %if.end16, %if.end6 | |
%6 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 2), align 1 | |
%conv18 = zext i8 %6 to i16 | |
%cmp19 = icmp ne i16 %conv18, 0 | |
br i1 %cmp19, label %if.then21, label %if.end28 | |
if.then21: ; preds = %if.end17 | |
call void @Draw_Sprites(%struct.ENEMY* @Explode3) | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 7), align 1 | |
%dec22 = add i8 %7, -1 | |
store i8 %dec22, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 7), align 1 | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 7), align 1 | |
%conv23 = zext i8 %8 to i16 | |
%cmp24 = icmp eq i16 %conv23, 0 | |
br i1 %cmp24, label %if.then26, label %if.end27 | |
if.then26: ; preds = %if.then21 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 2), align 1 | |
br label %if.end27 | |
if.end27: ; preds = %if.then26, %if.then21 | |
br label %if.end28 | |
if.end28: ; preds = %if.end27, %if.end17 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 2), align 1 | |
%conv29 = zext i8 %9 to i16 | |
%cmp30 = icmp ne i16 %conv29, 0 | |
br i1 %cmp30, label %if.then32, label %if.end39 | |
if.then32: ; preds = %if.end28 | |
call void @Draw_Sprites(%struct.ENEMY* @Explode4) | |
%10 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 7), align 1 | |
%dec33 = add i8 %10, -1 | |
store i8 %dec33, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 7), align 1 | |
%11 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 7), align 1 | |
%conv34 = zext i8 %11 to i16 | |
%cmp35 = icmp eq i16 %conv34, 0 | |
br i1 %cmp35, label %if.then37, label %if.end38 | |
if.then37: ; preds = %if.then32 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 2), align 1 | |
br label %if.end38 | |
if.end38: ; preds = %if.then37, %if.then32 | |
br label %if.end39 | |
if.end39: ; preds = %if.end38, %if.end28 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Move_Enemies() #0 { | |
entry: | |
%0 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %0, i32 0, i32 6 | |
%1 = load i8, i8* %move, align 1 | |
store i8 %1, i8* @Current_Move, align 1 | |
%2 = load i8, i8* @Pattern, align 1 | |
%conv = zext i8 %2 to i16 | |
switch i16 %conv, label %sw.epilog363 [ | |
i16 0, label %sw.bb | |
i16 1, label %sw.bb39 | |
i16 2, label %sw.bb71 | |
i16 3, label %sw.bb105 | |
i16 4, label %sw.bb152 | |
i16 5, label %sw.bb199 | |
i16 6, label %sw.bb255 | |
i16 7, label %sw.bb300 | |
] | |
sw.bb: ; preds = %entry | |
%3 = load i8, i8* @Current_Move, align 1 | |
%conv1 = zext i8 %3 to i16 | |
switch i16 %conv1, label %sw.epilog [ | |
i16 0, label %sw.bb2 | |
i16 1, label %sw.bb9 | |
i16 2, label %sw.bb18 | |
i16 3, label %sw.bb30 | |
] | |
sw.bb2: ; preds = %sw.bb | |
%4 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %4, i32 0, i32 3 | |
%5 = load i8, i8* %X, align 1 | |
%conv3 = zext i8 %5 to i16 | |
%sub = sub nsw i16 %conv3, 2 | |
%conv4 = trunc i16 %sub to i8 | |
store i8 %conv4, i8* %X, align 1 | |
%6 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X5 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %6, i32 0, i32 3 | |
%7 = load i8, i8* %X5, align 1 | |
%conv6 = zext i8 %7 to i16 | |
%cmp = icmp slt i16 %conv6, 16 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %sw.bb2 | |
%8 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move8 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %8, i32 0, i32 6 | |
store i8 1, i8* %move8, align 1 | |
%9 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %9, i32 0, i32 7 | |
store i8 0, i8* %count, align 1 | |
br label %if.end | |
if.end: ; preds = %if.then, %sw.bb2 | |
br label %sw.epilog | |
sw.bb9: ; preds = %sw.bb | |
%10 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count10 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %10, i32 0, i32 7 | |
%11 = load i8, i8* %count10, align 1 | |
%conv11 = zext i8 %11 to i16 | |
%cmp12 = icmp sgt i16 %conv11, 128 | |
br i1 %cmp12, label %if.then14, label %if.end17 | |
if.then14: ; preds = %sw.bb9 | |
%12 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move15 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %12, i32 0, i32 6 | |
store i8 2, i8* %move15, align 1 | |
%13 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count16 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %13, i32 0, i32 7 | |
store i8 0, i8* %count16, align 1 | |
br label %if.end17 | |
if.end17: ; preds = %if.then14, %sw.bb9 | |
br label %sw.epilog | |
sw.bb18: ; preds = %sw.bb | |
%14 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X19 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %14, i32 0, i32 3 | |
%15 = load i8, i8* %X19, align 1 | |
%conv20 = zext i8 %15 to i16 | |
%add = add nsw i16 %conv20, 2 | |
%conv21 = trunc i16 %add to i8 | |
store i8 %conv21, i8* %X19, align 1 | |
%16 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X22 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %16, i32 0, i32 3 | |
%17 = load i8, i8* %X22, align 1 | |
%conv23 = zext i8 %17 to i16 | |
%cmp24 = icmp sgt i16 %conv23, 224 | |
br i1 %cmp24, label %if.then26, label %if.end29 | |
if.then26: ; preds = %sw.bb18 | |
%18 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move27 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %18, i32 0, i32 6 | |
store i8 3, i8* %move27, align 1 | |
%19 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count28 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %19, i32 0, i32 7 | |
store i8 0, i8* %count28, align 1 | |
br label %if.end29 | |
if.end29: ; preds = %if.then26, %sw.bb18 | |
br label %sw.epilog | |
sw.bb30: ; preds = %sw.bb | |
%20 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count31 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %20, i32 0, i32 7 | |
%21 = load i8, i8* %count31, align 1 | |
%conv32 = zext i8 %21 to i16 | |
%cmp33 = icmp sgt i16 %conv32, 128 | |
br i1 %cmp33, label %if.then35, label %if.end38 | |
if.then35: ; preds = %sw.bb30 | |
%22 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move36 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %22, i32 0, i32 6 | |
store i8 0, i8* %move36, align 1 | |
%23 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count37 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %23, i32 0, i32 7 | |
store i8 0, i8* %count37, align 1 | |
br label %if.end38 | |
if.end38: ; preds = %if.then35, %sw.bb30 | |
br label %sw.epilog | |
sw.epilog: ; preds = %sw.bb, %if.end38, %if.end29, %if.end17, %if.end | |
br label %sw.epilog363 | |
sw.bb39: ; preds = %entry | |
%24 = load i8, i8* @Current_Move, align 1 | |
%conv40 = zext i8 %24 to i16 | |
switch i16 %conv40, label %sw.epilog70 [ | |
i16 0, label %sw.bb41 | |
i16 1, label %sw.bb53 | |
] | |
sw.bb41: ; preds = %sw.bb39 | |
%25 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %25, i32 0, i32 2 | |
%26 = load i8, i8* %Y, align 1 | |
%conv42 = zext i8 %26 to i16 | |
%add43 = add nsw i16 %conv42, 2 | |
%conv44 = trunc i16 %add43 to i8 | |
store i8 %conv44, i8* %Y, align 1 | |
%27 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %27, i32 0, i32 0 | |
store i8 8, i8* %anime, align 1 | |
%28 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count45 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %28, i32 0, i32 7 | |
%29 = load i8, i8* %count45, align 1 | |
%conv46 = zext i8 %29 to i16 | |
%cmp47 = icmp sgt i16 %conv46, 32 | |
br i1 %cmp47, label %if.then49, label %if.end52 | |
if.then49: ; preds = %sw.bb41 | |
%30 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move50 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %30, i32 0, i32 6 | |
store i8 1, i8* %move50, align 1 | |
%31 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count51 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %31, i32 0, i32 7 | |
store i8 0, i8* %count51, align 1 | |
br label %if.end52 | |
if.end52: ; preds = %if.then49, %sw.bb41 | |
br label %sw.epilog70 | |
sw.bb53: ; preds = %sw.bb39 | |
%32 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y54 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %32, i32 0, i32 2 | |
%33 = load i8, i8* %Y54, align 1 | |
%conv55 = zext i8 %33 to i16 | |
%add56 = add nsw i16 %conv55, 2 | |
%conv57 = trunc i16 %add56 to i8 | |
store i8 %conv57, i8* %Y54, align 1 | |
%34 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X58 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %34, i32 0, i32 3 | |
%35 = load i8, i8* %X58, align 1 | |
%conv59 = zext i8 %35 to i16 | |
%add60 = add nsw i16 %conv59, 2 | |
%conv61 = trunc i16 %add60 to i8 | |
store i8 %conv61, i8* %X58, align 1 | |
%36 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime62 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %36, i32 0, i32 0 | |
store i8 9, i8* %anime62, align 1 | |
%37 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count63 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %37, i32 0, i32 7 | |
%38 = load i8, i8* %count63, align 1 | |
%conv64 = zext i8 %38 to i16 | |
%cmp65 = icmp sgt i16 %conv64, 21 | |
br i1 %cmp65, label %if.then67, label %if.end69 | |
if.then67: ; preds = %sw.bb53 | |
%39 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move68 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %39, i32 0, i32 6 | |
store i8 0, i8* %move68, align 1 | |
br label %if.end69 | |
if.end69: ; preds = %if.then67, %sw.bb53 | |
br label %sw.epilog70 | |
sw.epilog70: ; preds = %sw.bb39, %if.end69, %if.end52 | |
br label %sw.epilog363 | |
sw.bb71: ; preds = %entry | |
%40 = load i8, i8* @Current_Move, align 1 | |
%conv72 = zext i8 %40 to i16 | |
switch i16 %conv72, label %sw.epilog104 [ | |
i16 0, label %sw.bb73 | |
i16 1, label %sw.bb87 | |
] | |
sw.bb73: ; preds = %sw.bb71 | |
%41 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y74 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %41, i32 0, i32 2 | |
%42 = load i8, i8* %Y74, align 1 | |
%conv75 = zext i8 %42 to i16 | |
%add76 = add nsw i16 %conv75, 2 | |
%conv77 = trunc i16 %add76 to i8 | |
store i8 %conv77, i8* %Y74, align 1 | |
%43 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime78 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %43, i32 0, i32 0 | |
store i8 8, i8* %anime78, align 1 | |
%44 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count79 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %44, i32 0, i32 7 | |
%45 = load i8, i8* %count79, align 1 | |
%conv80 = zext i8 %45 to i16 | |
%cmp81 = icmp sgt i16 %conv80, 32 | |
br i1 %cmp81, label %if.then83, label %if.end86 | |
if.then83: ; preds = %sw.bb73 | |
%46 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move84 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %46, i32 0, i32 6 | |
store i8 1, i8* %move84, align 1 | |
%47 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count85 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %47, i32 0, i32 7 | |
store i8 0, i8* %count85, align 1 | |
br label %if.end86 | |
if.end86: ; preds = %if.then83, %sw.bb73 | |
br label %sw.epilog104 | |
sw.bb87: ; preds = %sw.bb71 | |
%48 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y88 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %48, i32 0, i32 2 | |
%49 = load i8, i8* %Y88, align 1 | |
%conv89 = zext i8 %49 to i16 | |
%add90 = add nsw i16 %conv89, 2 | |
%conv91 = trunc i16 %add90 to i8 | |
store i8 %conv91, i8* %Y88, align 1 | |
%50 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X92 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %50, i32 0, i32 3 | |
%51 = load i8, i8* %X92, align 1 | |
%conv93 = zext i8 %51 to i16 | |
%sub94 = sub nsw i16 %conv93, 2 | |
%conv95 = trunc i16 %sub94 to i8 | |
store i8 %conv95, i8* %X92, align 1 | |
%52 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime96 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %52, i32 0, i32 0 | |
store i8 9, i8* %anime96, align 1 | |
%53 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count97 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %53, i32 0, i32 7 | |
%54 = load i8, i8* %count97, align 1 | |
%conv98 = zext i8 %54 to i16 | |
%cmp99 = icmp sgt i16 %conv98, 21 | |
br i1 %cmp99, label %if.then101, label %if.end103 | |
if.then101: ; preds = %sw.bb87 | |
%55 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move102 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %55, i32 0, i32 6 | |
store i8 0, i8* %move102, align 1 | |
br label %if.end103 | |
if.end103: ; preds = %if.then101, %sw.bb87 | |
br label %sw.epilog104 | |
sw.epilog104: ; preds = %sw.bb71, %if.end103, %if.end86 | |
br label %sw.epilog363 | |
sw.bb105: ; preds = %entry | |
%56 = load i8, i8* @Current_Move, align 1 | |
%conv106 = zext i8 %56 to i16 | |
switch i16 %conv106, label %sw.epilog151 [ | |
i16 0, label %sw.bb107 | |
i16 1, label %sw.bb120 | |
i16 2, label %sw.bb133 | |
i16 3, label %sw.bb146 | |
] | |
sw.bb107: ; preds = %sw.bb105 | |
%57 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X108 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %57, i32 0, i32 3 | |
%58 = load i8, i8* %X108, align 1 | |
%conv109 = zext i8 %58 to i16 | |
%sub110 = sub nsw i16 %conv109, 2 | |
%conv111 = trunc i16 %sub110 to i8 | |
store i8 %conv111, i8* %X108, align 1 | |
%59 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X112 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %59, i32 0, i32 3 | |
%60 = load i8, i8* %X112, align 1 | |
%conv113 = zext i8 %60 to i16 | |
%cmp114 = icmp slt i16 %conv113, 208 | |
br i1 %cmp114, label %if.then116, label %if.end119 | |
if.then116: ; preds = %sw.bb107 | |
%61 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move117 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %61, i32 0, i32 6 | |
store i8 1, i8* %move117, align 1 | |
%62 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime118 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %62, i32 0, i32 0 | |
store i8 12, i8* %anime118, align 1 | |
br label %if.end119 | |
if.end119: ; preds = %if.then116, %sw.bb107 | |
br label %sw.epilog151 | |
sw.bb120: ; preds = %sw.bb105 | |
%63 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y121 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %63, i32 0, i32 2 | |
%64 = load i8, i8* %Y121, align 1 | |
%conv122 = zext i8 %64 to i16 | |
%sub123 = sub nsw i16 %conv122, 2 | |
%conv124 = trunc i16 %sub123 to i8 | |
store i8 %conv124, i8* %Y121, align 1 | |
%65 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y125 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %65, i32 0, i32 2 | |
%66 = load i8, i8* %Y125, align 1 | |
%conv126 = zext i8 %66 to i16 | |
%cmp127 = icmp slt i16 %conv126, 48 | |
br i1 %cmp127, label %if.then129, label %if.end132 | |
if.then129: ; preds = %sw.bb120 | |
%67 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move130 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %67, i32 0, i32 6 | |
store i8 2, i8* %move130, align 1 | |
%68 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime131 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %68, i32 0, i32 0 | |
store i8 10, i8* %anime131, align 1 | |
br label %if.end132 | |
if.end132: ; preds = %if.then129, %sw.bb120 | |
br label %sw.epilog151 | |
sw.bb133: ; preds = %sw.bb105 | |
%69 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X134 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %69, i32 0, i32 3 | |
%70 = load i8, i8* %X134, align 1 | |
%conv135 = zext i8 %70 to i16 | |
%sub136 = sub nsw i16 %conv135, 2 | |
%conv137 = trunc i16 %sub136 to i8 | |
store i8 %conv137, i8* %X134, align 1 | |
%71 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X138 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %71, i32 0, i32 3 | |
%72 = load i8, i8* %X138, align 1 | |
%conv139 = zext i8 %72 to i16 | |
%cmp140 = icmp slt i16 %conv139, 32 | |
br i1 %cmp140, label %if.then142, label %if.end145 | |
if.then142: ; preds = %sw.bb133 | |
%73 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move143 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %73, i32 0, i32 6 | |
store i8 3, i8* %move143, align 1 | |
%74 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime144 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %74, i32 0, i32 0 | |
store i8 8, i8* %anime144, align 1 | |
br label %if.end145 | |
if.end145: ; preds = %if.then142, %sw.bb133 | |
br label %sw.epilog151 | |
sw.bb146: ; preds = %sw.bb105 | |
%75 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y147 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %75, i32 0, i32 2 | |
%76 = load i8, i8* %Y147, align 1 | |
%conv148 = zext i8 %76 to i16 | |
%add149 = add nsw i16 %conv148, 2 | |
%conv150 = trunc i16 %add149 to i8 | |
store i8 %conv150, i8* %Y147, align 1 | |
br label %sw.epilog151 | |
sw.epilog151: ; preds = %sw.bb105, %sw.bb146, %if.end145, %if.end132, %if.end119 | |
br label %sw.epilog363 | |
sw.bb152: ; preds = %entry | |
%77 = load i8, i8* @Current_Move, align 1 | |
%conv153 = zext i8 %77 to i16 | |
switch i16 %conv153, label %sw.epilog198 [ | |
i16 0, label %sw.bb154 | |
i16 1, label %sw.bb167 | |
i16 2, label %sw.bb180 | |
i16 3, label %sw.bb193 | |
] | |
sw.bb154: ; preds = %sw.bb152 | |
%78 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X155 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %78, i32 0, i32 3 | |
%79 = load i8, i8* %X155, align 1 | |
%conv156 = zext i8 %79 to i16 | |
%add157 = add nsw i16 %conv156, 2 | |
%conv158 = trunc i16 %add157 to i8 | |
store i8 %conv158, i8* %X155, align 1 | |
%80 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X159 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %80, i32 0, i32 3 | |
%81 = load i8, i8* %X159, align 1 | |
%conv160 = zext i8 %81 to i16 | |
%cmp161 = icmp sgt i16 %conv160, 32 | |
br i1 %cmp161, label %if.then163, label %if.end166 | |
if.then163: ; preds = %sw.bb154 | |
%82 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move164 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %82, i32 0, i32 6 | |
store i8 1, i8* %move164, align 1 | |
%83 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime165 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %83, i32 0, i32 0 | |
store i8 12, i8* %anime165, align 1 | |
br label %if.end166 | |
if.end166: ; preds = %if.then163, %sw.bb154 | |
br label %sw.epilog198 | |
sw.bb167: ; preds = %sw.bb152 | |
%84 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y168 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %84, i32 0, i32 2 | |
%85 = load i8, i8* %Y168, align 1 | |
%conv169 = zext i8 %85 to i16 | |
%sub170 = sub nsw i16 %conv169, 2 | |
%conv171 = trunc i16 %sub170 to i8 | |
store i8 %conv171, i8* %Y168, align 1 | |
%86 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y172 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %86, i32 0, i32 2 | |
%87 = load i8, i8* %Y172, align 1 | |
%conv173 = zext i8 %87 to i16 | |
%cmp174 = icmp slt i16 %conv173, 48 | |
br i1 %cmp174, label %if.then176, label %if.end179 | |
if.then176: ; preds = %sw.bb167 | |
%88 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move177 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %88, i32 0, i32 6 | |
store i8 2, i8* %move177, align 1 | |
%89 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime178 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %89, i32 0, i32 0 | |
store i8 10, i8* %anime178, align 1 | |
br label %if.end179 | |
if.end179: ; preds = %if.then176, %sw.bb167 | |
br label %sw.epilog198 | |
sw.bb180: ; preds = %sw.bb152 | |
%90 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X181 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %90, i32 0, i32 3 | |
%91 = load i8, i8* %X181, align 1 | |
%conv182 = zext i8 %91 to i16 | |
%add183 = add nsw i16 %conv182, 2 | |
%conv184 = trunc i16 %add183 to i8 | |
store i8 %conv184, i8* %X181, align 1 | |
%92 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X185 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %92, i32 0, i32 3 | |
%93 = load i8, i8* %X185, align 1 | |
%conv186 = zext i8 %93 to i16 | |
%cmp187 = icmp sgt i16 %conv186, 224 | |
br i1 %cmp187, label %if.then189, label %if.end192 | |
if.then189: ; preds = %sw.bb180 | |
%94 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move190 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %94, i32 0, i32 6 | |
store i8 3, i8* %move190, align 1 | |
%95 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime191 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %95, i32 0, i32 0 | |
store i8 8, i8* %anime191, align 1 | |
br label %if.end192 | |
if.end192: ; preds = %if.then189, %sw.bb180 | |
br label %sw.epilog198 | |
sw.bb193: ; preds = %sw.bb152 | |
%96 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y194 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %96, i32 0, i32 2 | |
%97 = load i8, i8* %Y194, align 1 | |
%conv195 = zext i8 %97 to i16 | |
%add196 = add nsw i16 %conv195, 2 | |
%conv197 = trunc i16 %add196 to i8 | |
store i8 %conv197, i8* %Y194, align 1 | |
br label %sw.epilog198 | |
sw.epilog198: ; preds = %sw.bb152, %sw.bb193, %if.end192, %if.end179, %if.end166 | |
br label %sw.epilog363 | |
sw.bb199: ; preds = %entry | |
%98 = load i8, i8* @Current_Move, align 1 | |
%conv200 = zext i8 %98 to i16 | |
switch i16 %conv200, label %sw.epilog254 [ | |
i16 0, label %sw.bb201 | |
i16 1, label %sw.bb218 | |
i16 2, label %sw.bb227 | |
i16 3, label %sw.bb245 | |
] | |
sw.bb201: ; preds = %sw.bb199 | |
%99 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X202 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %99, i32 0, i32 3 | |
%100 = load i8, i8* %X202, align 1 | |
%conv203 = zext i8 %100 to i16 | |
%add204 = add nsw i16 %conv203, 2 | |
%conv205 = trunc i16 %add204 to i8 | |
store i8 %conv205, i8* %X202, align 1 | |
%101 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y206 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %101, i32 0, i32 2 | |
%102 = load i8, i8* %Y206, align 1 | |
%conv207 = zext i8 %102 to i16 | |
%add208 = add nsw i16 %conv207, 2 | |
%conv209 = trunc i16 %add208 to i8 | |
store i8 %conv209, i8* %Y206, align 1 | |
%103 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y210 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %103, i32 0, i32 2 | |
%104 = load i8, i8* %Y210, align 1 | |
%conv211 = zext i8 %104 to i16 | |
%cmp212 = icmp sgt i16 %conv211, 208 | |
br i1 %cmp212, label %if.then214, label %if.end217 | |
if.then214: ; preds = %sw.bb201 | |
%105 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move215 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %105, i32 0, i32 6 | |
store i8 1, i8* %move215, align 1 | |
%106 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime216 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %106, i32 0, i32 0 | |
store i8 11, i8* %anime216, align 1 | |
%107 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%dir = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %107, i32 0, i32 1 | |
store i8 0, i8* %dir, align 1 | |
br label %if.end217 | |
if.end217: ; preds = %if.then214, %sw.bb201 | |
br label %sw.epilog254 | |
sw.bb218: ; preds = %sw.bb199 | |
%108 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y219 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %108, i32 0, i32 2 | |
%109 = load i8, i8* %Y219, align 1 | |
%conv220 = zext i8 %109 to i16 | |
%sub221 = sub nsw i16 %conv220, 2 | |
%conv222 = trunc i16 %sub221 to i8 | |
store i8 %conv222, i8* %Y219, align 1 | |
%110 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X223 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %110, i32 0, i32 3 | |
%111 = load i8, i8* %X223, align 1 | |
%conv224 = zext i8 %111 to i16 | |
%sub225 = sub nsw i16 %conv224, 2 | |
%conv226 = trunc i16 %sub225 to i8 | |
store i8 %conv226, i8* %X223, align 1 | |
br label %sw.epilog254 | |
sw.bb227: ; preds = %sw.bb199 | |
%112 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X228 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %112, i32 0, i32 3 | |
%113 = load i8, i8* %X228, align 1 | |
%conv229 = zext i8 %113 to i16 | |
%sub230 = sub nsw i16 %conv229, 2 | |
%conv231 = trunc i16 %sub230 to i8 | |
store i8 %conv231, i8* %X228, align 1 | |
%114 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y232 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %114, i32 0, i32 2 | |
%115 = load i8, i8* %Y232, align 1 | |
%conv233 = zext i8 %115 to i16 | |
%add234 = add nsw i16 %conv233, 2 | |
%conv235 = trunc i16 %add234 to i8 | |
store i8 %conv235, i8* %Y232, align 1 | |
%116 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y236 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %116, i32 0, i32 2 | |
%117 = load i8, i8* %Y236, align 1 | |
%conv237 = zext i8 %117 to i16 | |
%cmp238 = icmp sgt i16 %conv237, 208 | |
br i1 %cmp238, label %if.then240, label %if.end244 | |
if.then240: ; preds = %sw.bb227 | |
%118 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move241 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %118, i32 0, i32 6 | |
store i8 3, i8* %move241, align 1 | |
%119 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime242 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %119, i32 0, i32 0 | |
store i8 11, i8* %anime242, align 1 | |
%120 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%dir243 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %120, i32 0, i32 1 | |
store i8 64, i8* %dir243, align 1 | |
br label %if.end244 | |
if.end244: ; preds = %if.then240, %sw.bb227 | |
br label %sw.epilog254 | |
sw.bb245: ; preds = %sw.bb199 | |
%121 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y246 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %121, i32 0, i32 2 | |
%122 = load i8, i8* %Y246, align 1 | |
%conv247 = zext i8 %122 to i16 | |
%sub248 = sub nsw i16 %conv247, 2 | |
%conv249 = trunc i16 %sub248 to i8 | |
store i8 %conv249, i8* %Y246, align 1 | |
%123 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X250 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %123, i32 0, i32 3 | |
%124 = load i8, i8* %X250, align 1 | |
%conv251 = zext i8 %124 to i16 | |
%add252 = add nsw i16 %conv251, 2 | |
%conv253 = trunc i16 %add252 to i8 | |
store i8 %conv253, i8* %X250, align 1 | |
br label %sw.epilog254 | |
sw.epilog254: ; preds = %sw.bb199, %sw.bb245, %if.end244, %sw.bb218, %if.end217 | |
br label %sw.epilog363 | |
sw.bb255: ; preds = %entry | |
%125 = load i8, i8* @Current_Move, align 1 | |
%conv256 = zext i8 %125 to i16 | |
switch i16 %conv256, label %sw.epilog299 [ | |
i16 0, label %sw.bb257 | |
i16 1, label %sw.bb270 | |
] | |
sw.bb257: ; preds = %sw.bb255 | |
%126 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X258 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %126, i32 0, i32 3 | |
%127 = load i8, i8* %X258, align 1 | |
%conv259 = zext i8 %127 to i16 | |
%sub260 = sub nsw i16 %conv259, 2 | |
%conv261 = trunc i16 %sub260 to i8 | |
store i8 %conv261, i8* %X258, align 1 | |
%128 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X262 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %128, i32 0, i32 3 | |
%129 = load i8, i8* %X262, align 1 | |
%conv263 = zext i8 %129 to i16 | |
%cmp264 = icmp slt i16 %conv263, 129 | |
br i1 %cmp264, label %if.then266, label %if.end269 | |
if.then266: ; preds = %sw.bb257 | |
%130 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move267 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %130, i32 0, i32 6 | |
store i8 1, i8* %move267, align 1 | |
%131 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count268 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %131, i32 0, i32 7 | |
store i8 -1, i8* %count268, align 1 | |
br label %if.end269 | |
if.end269: ; preds = %if.then266, %sw.bb257 | |
br label %sw.epilog299 | |
sw.bb270: ; preds = %sw.bb255 | |
%132 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count271 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %132, i32 0, i32 7 | |
%133 = load i8, i8* %count271, align 1 | |
%conv272 = zext i8 %133 to i16 | |
%shr = ashr i16 %conv272, 3 | |
%conv273 = trunc i16 %shr to i8 | |
store i8 %conv273, i8* @temp, align 1 | |
%134 = load i8, i8* @temp, align 1 | |
%idxprom = zext i8 %134 to i16 | |
%arrayidx = getelementptr inbounds [32 x i8], [32 x i8]* @CIRCLE_Y, i16 0, i16 %idxprom | |
%135 = load i8, i8* %arrayidx, align 1 | |
store i8 %135, i8* @temp2, align 1 | |
call void @Circle_Math() | |
%136 = load i8, i8* @temp3, align 1 | |
%conv274 = zext i8 %136 to i16 | |
%137 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y275 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %137, i32 0, i32 2 | |
%138 = load i8, i8* %Y275, align 1 | |
%conv276 = zext i8 %138 to i16 | |
%add277 = add nsw i16 %conv276, %conv274 | |
%conv278 = trunc i16 %add277 to i8 | |
store i8 %conv278, i8* %Y275, align 1 | |
%139 = load i8, i8* @temp, align 1 | |
%idxprom279 = zext i8 %139 to i16 | |
%arrayidx280 = getelementptr inbounds [32 x i8], [32 x i8]* @CIRCLE_X, i16 0, i16 %idxprom279 | |
%140 = load i8, i8* %arrayidx280, align 1 | |
store i8 %140, i8* @temp2, align 1 | |
call void @Circle_Math() | |
%141 = load i8, i8* @temp3, align 1 | |
%conv281 = zext i8 %141 to i16 | |
%142 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X282 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %142, i32 0, i32 3 | |
%143 = load i8, i8* %X282, align 1 | |
%conv283 = zext i8 %143 to i16 | |
%add284 = add nsw i16 %conv283, %conv281 | |
%conv285 = trunc i16 %add284 to i8 | |
store i8 %conv285, i8* %X282, align 1 | |
%144 = load i8, i8* @temp, align 1 | |
%idxprom286 = zext i8 %144 to i16 | |
%arrayidx287 = getelementptr inbounds [32 x i8], [32 x i8]* @CIRCLE_D, i16 0, i16 %idxprom286 | |
%145 = load i8, i8* %arrayidx287, align 1 | |
%146 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%dir288 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %146, i32 0, i32 1 | |
store i8 %145, i8* %dir288, align 1 | |
%147 = load i8, i8* @temp, align 1 | |
%idxprom289 = zext i8 %147 to i16 | |
%arrayidx290 = getelementptr inbounds [32 x i8], [32 x i8]* @CIRCLE_A, i16 0, i16 %idxprom289 | |
%148 = load i8, i8* %arrayidx290, align 1 | |
%149 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%anime291 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %149, i32 0, i32 0 | |
store i8 %148, i8* %anime291, align 1 | |
%150 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count292 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %150, i32 0, i32 7 | |
%151 = load i8, i8* %count292, align 1 | |
%conv293 = zext i8 %151 to i16 | |
%cmp294 = icmp eq i16 %conv293, 255 | |
br i1 %cmp294, label %if.then296, label %if.end298 | |
if.then296: ; preds = %sw.bb270 | |
%152 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move297 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %152, i32 0, i32 6 | |
store i8 0, i8* %move297, align 1 | |
br label %if.end298 | |
if.end298: ; preds = %if.then296, %sw.bb270 | |
br label %sw.epilog299 | |
sw.epilog299: ; preds = %sw.bb255, %if.end298, %if.end269 | |
br label %sw.epilog363 | |
sw.bb300: ; preds = %entry | |
%153 = load i8, i8* @Current_Move, align 1 | |
%conv301 = zext i8 %153 to i16 | |
switch i16 %conv301, label %sw.epilog362 [ | |
i16 0, label %sw.bb302 | |
i16 1, label %sw.bb337 | |
i16 2, label %sw.bb345 | |
i16 3, label %sw.bb357 | |
] | |
sw.bb302: ; preds = %sw.bb300 | |
%154 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X303 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %154, i32 0, i32 3 | |
%155 = load i8, i8* %X303, align 1 | |
%conv304 = zext i8 %155 to i16 | |
%156 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv305 = zext i8 %156 to i16 | |
%cmp306 = icmp sgt i16 %conv304, %conv305 | |
br i1 %cmp306, label %if.then308, label %if.end313 | |
if.then308: ; preds = %sw.bb302 | |
%157 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X309 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %157, i32 0, i32 3 | |
%158 = load i8, i8* %X309, align 1 | |
%conv310 = zext i8 %158 to i16 | |
%sub311 = sub nsw i16 %conv310, 1 | |
%conv312 = trunc i16 %sub311 to i8 | |
store i8 %conv312, i8* %X309, align 1 | |
br label %if.end313 | |
if.end313: ; preds = %if.then308, %sw.bb302 | |
%159 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X314 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %159, i32 0, i32 3 | |
%160 = load i8, i8* %X314, align 1 | |
%conv315 = zext i8 %160 to i16 | |
%161 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv316 = zext i8 %161 to i16 | |
%cmp317 = icmp slt i16 %conv315, %conv316 | |
br i1 %cmp317, label %if.then319, label %if.end324 | |
if.then319: ; preds = %if.end313 | |
%162 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X320 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %162, i32 0, i32 3 | |
%163 = load i8, i8* %X320, align 1 | |
%conv321 = zext i8 %163 to i16 | |
%add322 = add nsw i16 %conv321, 1 | |
%conv323 = trunc i16 %add322 to i8 | |
store i8 %conv323, i8* %X320, align 1 | |
br label %if.end324 | |
if.end324: ; preds = %if.then319, %if.end313 | |
%164 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y325 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %164, i32 0, i32 2 | |
%165 = load i8, i8* %Y325, align 1 | |
%conv326 = zext i8 %165 to i16 | |
%add327 = add nsw i16 %conv326, 1 | |
%conv328 = trunc i16 %add327 to i8 | |
store i8 %conv328, i8* %Y325, align 1 | |
%166 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y329 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %166, i32 0, i32 2 | |
%167 = load i8, i8* %Y329, align 1 | |
%conv330 = zext i8 %167 to i16 | |
%cmp331 = icmp sgt i16 %conv330, 144 | |
br i1 %cmp331, label %if.then333, label %if.end336 | |
if.then333: ; preds = %if.end324 | |
%168 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move334 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %168, i32 0, i32 6 | |
store i8 1, i8* %move334, align 1 | |
%169 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count335 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %169, i32 0, i32 7 | |
store i8 0, i8* %count335, align 1 | |
br label %if.end336 | |
if.end336: ; preds = %if.then333, %if.end324 | |
br label %sw.epilog362 | |
sw.bb337: ; preds = %sw.bb300 | |
%170 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count338 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %170, i32 0, i32 7 | |
%171 = load i8, i8* %count338, align 1 | |
%conv339 = zext i8 %171 to i16 | |
%cmp340 = icmp eq i16 %conv339, 32 | |
br i1 %cmp340, label %if.then342, label %if.end344 | |
if.then342: ; preds = %sw.bb337 | |
%172 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move343 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %172, i32 0, i32 6 | |
store i8 2, i8* %move343, align 1 | |
call void @Spawn_Bullet_E() | |
br label %if.end344 | |
if.end344: ; preds = %if.then342, %sw.bb337 | |
br label %sw.epilog362 | |
sw.bb345: ; preds = %sw.bb300 | |
%173 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y346 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %173, i32 0, i32 2 | |
%174 = load i8, i8* %Y346, align 1 | |
%conv347 = zext i8 %174 to i16 | |
%sub348 = sub nsw i16 %conv347, 1 | |
%conv349 = trunc i16 %sub348 to i8 | |
store i8 %conv349, i8* %Y346, align 1 | |
%175 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count350 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %175, i32 0, i32 7 | |
%176 = load i8, i8* %count350, align 1 | |
%conv351 = zext i8 %176 to i16 | |
%cmp352 = icmp eq i16 %conv351, 64 | |
br i1 %cmp352, label %if.then354, label %if.end356 | |
if.then354: ; preds = %sw.bb345 | |
%177 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%move355 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %177, i32 0, i32 6 | |
store i8 3, i8* %move355, align 1 | |
br label %if.end356 | |
if.end356: ; preds = %if.then354, %sw.bb345 | |
br label %sw.epilog362 | |
sw.bb357: ; preds = %sw.bb300 | |
%178 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y358 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %178, i32 0, i32 2 | |
%179 = load i8, i8* %Y358, align 1 | |
%conv359 = zext i8 %179 to i16 | |
%sub360 = sub nsw i16 %conv359, 2 | |
%conv361 = trunc i16 %sub360 to i8 | |
store i8 %conv361, i8* %Y358, align 1 | |
br label %sw.epilog362 | |
sw.epilog362: ; preds = %sw.bb300, %sw.bb357, %if.end356, %if.end344, %if.end336 | |
br label %sw.epilog363 | |
sw.epilog363: ; preds = %sw.epilog362, %entry, %sw.epilog299, %sw.epilog254, %sw.epilog198, %sw.epilog151, %sw.epilog104, %sw.epilog70, %sw.epilog | |
%180 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count364 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %180, i32 0, i32 7 | |
%181 = load i8, i8* %count364, align 1 | |
%inc = add i8 %181, 1 | |
store i8 %inc, i8* %count364, align 1 | |
%182 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%bullet_type = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %182, i32 0, i32 5 | |
%183 = load i8, i8* %bullet_type, align 1 | |
store i8 %183, i8* @Current_Type, align 1 | |
%184 = load i8, i8* @Current_Type, align 1 | |
%conv365 = zext i8 %184 to i16 | |
switch i16 %conv365, label %sw.epilog422 [ | |
i16 1, label %sw.bb366 | |
i16 2, label %sw.bb377 | |
i16 3, label %sw.bb389 | |
i16 4, label %sw.bb401 | |
i16 5, label %sw.bb408 | |
i16 6, label %sw.bb415 | |
] | |
sw.bb366: ; preds = %sw.epilog363 | |
%185 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X367 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %185, i32 0, i32 3 | |
%186 = load i8, i8* %X367, align 1 | |
%conv368 = zext i8 %186 to i16 | |
%cmp369 = icmp eq i16 %conv368, 128 | |
br i1 %cmp369, label %if.then375, label %lor.lhs.false | |
lor.lhs.false: ; preds = %sw.bb366 | |
%187 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X371 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %187, i32 0, i32 3 | |
%188 = load i8, i8* %X371, align 1 | |
%conv372 = zext i8 %188 to i16 | |
%cmp373 = icmp eq i16 %conv372, 129 | |
br i1 %cmp373, label %if.then375, label %if.end376 | |
if.then375: ; preds = %lor.lhs.false, %sw.bb366 | |
call void @Spawn_Bullet_E() | |
br label %if.end376 | |
if.end376: ; preds = %if.then375, %lor.lhs.false | |
br label %sw.epilog422 | |
sw.bb377: ; preds = %sw.epilog363 | |
%189 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X378 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %189, i32 0, i32 3 | |
%190 = load i8, i8* %X378, align 1 | |
%conv379 = zext i8 %190 to i16 | |
%cmp380 = icmp eq i16 %conv379, 64 | |
br i1 %cmp380, label %if.then387, label %lor.lhs.false382 | |
lor.lhs.false382: ; preds = %sw.bb377 | |
%191 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X383 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %191, i32 0, i32 3 | |
%192 = load i8, i8* %X383, align 1 | |
%conv384 = zext i8 %192 to i16 | |
%cmp385 = icmp eq i16 %conv384, 65 | |
br i1 %cmp385, label %if.then387, label %if.end388 | |
if.then387: ; preds = %lor.lhs.false382, %sw.bb377 | |
call void @Spawn_Bullet_E() | |
br label %if.end388 | |
if.end388: ; preds = %if.then387, %lor.lhs.false382 | |
br label %sw.epilog422 | |
sw.bb389: ; preds = %sw.epilog363 | |
%193 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X390 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %193, i32 0, i32 3 | |
%194 = load i8, i8* %X390, align 1 | |
%conv391 = zext i8 %194 to i16 | |
%cmp392 = icmp eq i16 %conv391, 192 | |
br i1 %cmp392, label %if.then399, label %lor.lhs.false394 | |
lor.lhs.false394: ; preds = %sw.bb389 | |
%195 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X395 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %195, i32 0, i32 3 | |
%196 = load i8, i8* %X395, align 1 | |
%conv396 = zext i8 %196 to i16 | |
%cmp397 = icmp eq i16 %conv396, 193 | |
br i1 %cmp397, label %if.then399, label %if.end400 | |
if.then399: ; preds = %lor.lhs.false394, %sw.bb389 | |
call void @Spawn_Bullet_E() | |
br label %if.end400 | |
if.end400: ; preds = %if.then399, %lor.lhs.false394 | |
br label %sw.epilog422 | |
sw.bb401: ; preds = %sw.epilog363 | |
%197 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y402 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %197, i32 0, i32 2 | |
%198 = load i8, i8* %Y402, align 1 | |
%conv403 = zext i8 %198 to i16 | |
%cmp404 = icmp eq i16 %conv403, 65 | |
br i1 %cmp404, label %if.then406, label %if.end407 | |
if.then406: ; preds = %sw.bb401 | |
call void @Spawn_Bullet_E() | |
br label %if.end407 | |
if.end407: ; preds = %if.then406, %sw.bb401 | |
br label %sw.epilog422 | |
sw.bb408: ; preds = %sw.epilog363 | |
%199 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count409 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %199, i32 0, i32 7 | |
%200 = load i8, i8* %count409, align 1 | |
%conv410 = zext i8 %200 to i16 | |
%cmp411 = icmp eq i16 %conv410, 64 | |
br i1 %cmp411, label %if.then413, label %if.end414 | |
if.then413: ; preds = %sw.bb408 | |
call void @Spawn_Bullet_E() | |
br label %if.end414 | |
if.end414: ; preds = %if.then413, %sw.bb408 | |
br label %sw.epilog422 | |
sw.bb415: ; preds = %sw.epilog363 | |
%201 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%count416 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %201, i32 0, i32 7 | |
%202 = load i8, i8* %count416, align 1 | |
%conv417 = zext i8 %202 to i16 | |
%cmp418 = icmp eq i16 %conv417, 192 | |
br i1 %cmp418, label %if.then420, label %if.end421 | |
if.then420: ; preds = %sw.bb415 | |
call void @Spawn_Bullet_E() | |
br label %if.end421 | |
if.end421: ; preds = %if.then420, %sw.bb415 | |
br label %sw.epilog422 | |
sw.epilog422: ; preds = %sw.epilog363, %if.end421, %if.end414, %if.end407, %if.end400, %if.end388, %if.end376 | |
ret void | |
} | |
declare void @draw_enemies() #1 | |
; Function Attrs: nounwind | |
define void @Spawn_Explosion() #0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 2), align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.else | |
if.then: ; preds = %entry | |
%1 = load i8, i8* @objectB_y, align 1 | |
store i8 %1, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 2), align 1 | |
%2 = load i8, i8* @objectB_x, align 1 | |
store i8 %2, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 3), align 1 | |
store i8 13, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 0), align 1 | |
store i8 10, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode1, i32 0, i32 7), align 1 | |
br label %if.end18 | |
if.else: ; preds = %entry | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 2), align 1 | |
%conv2 = zext i8 %3 to i16 | |
%cmp3 = icmp eq i16 %conv2, 0 | |
br i1 %cmp3, label %if.then5, label %if.else6 | |
if.then5: ; preds = %if.else | |
%4 = load i8, i8* @objectB_y, align 1 | |
store i8 %4, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 2), align 1 | |
%5 = load i8, i8* @objectB_x, align 1 | |
store i8 %5, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 3), align 1 | |
store i8 13, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 0), align 1 | |
store i8 10, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode2, i32 0, i32 7), align 1 | |
br label %if.end17 | |
if.else6: ; preds = %if.else | |
%6 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 2), align 1 | |
%conv7 = zext i8 %6 to i16 | |
%cmp8 = icmp eq i16 %conv7, 0 | |
br i1 %cmp8, label %if.then10, label %if.else11 | |
if.then10: ; preds = %if.else6 | |
%7 = load i8, i8* @objectB_y, align 1 | |
store i8 %7, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 2), align 1 | |
%8 = load i8, i8* @objectB_x, align 1 | |
store i8 %8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 3), align 1 | |
store i8 13, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 0), align 1 | |
store i8 10, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode3, i32 0, i32 7), align 1 | |
br label %if.end16 | |
if.else11: ; preds = %if.else6 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 2), align 1 | |
%conv12 = zext i8 %9 to i16 | |
%cmp13 = icmp eq i16 %conv12, 0 | |
br i1 %cmp13, label %if.then15, label %if.end | |
if.then15: ; preds = %if.else11 | |
%10 = load i8, i8* @objectB_y, align 1 | |
store i8 %10, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 2), align 1 | |
%11 = load i8, i8* @objectB_x, align 1 | |
store i8 %11, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 3), align 1 | |
store i8 13, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 0), align 1 | |
store i8 10, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @Explode4, i32 0, i32 7), align 1 | |
br label %if.end | |
if.end: ; preds = %if.then15, %if.else11 | |
br label %if.end16 | |
if.end16: ; preds = %if.end, %if.then10 | |
br label %if.end17 | |
if.end17: ; preds = %if.end16, %if.then5 | |
br label %if.end18 | |
if.end18: ; preds = %if.end17, %if.then | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @All_Enemies() #0 { | |
entry: | |
store i8 0, i8* @collision, align 1 | |
%0 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp ne i16 %conv, 0 | |
br i1 %cmp, label %land.lhs.true, label %if.end11 | |
land.lhs.true: ; preds = %entry | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 4), align 1 | |
%conv2 = zext i8 %1 to i16 | |
%cmp3 = icmp eq i16 %conv2, 0 | |
br i1 %cmp3, label %if.then, label %if.end11 | |
if.then: ; preds = %land.lhs.true | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
store i8 %2, i8* @objectB_y, align 1 | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 3), align 1 | |
store i8 %3, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%4 = load i8, i8* @collision, align 1 | |
%conv5 = zext i8 %4 to i16 | |
%cmp6 = icmp ne i16 %conv5, 0 | |
br i1 %cmp6, label %if.then8, label %if.end | |
if.then8: ; preds = %if.then | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY1, i32 0, i32 2), align 1 | |
call void @Spawn_Explosion() | |
%5 = load i8, i8* @Score4, align 1 | |
%conv9 = zext i8 %5 to i16 | |
%add = add nsw i16 %conv9, 5 | |
%conv10 = trunc i16 %add to i8 | |
store i8 %conv10, i8* @Score4, align 1 | |
br label %if.end130 | |
if.end: ; preds = %if.then | |
br label %if.end11 | |
if.end11: ; preds = %if.end, %land.lhs.true, %entry | |
%6 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
%conv12 = zext i8 %6 to i16 | |
%cmp13 = icmp ne i16 %conv12, 0 | |
br i1 %cmp13, label %land.lhs.true15, label %if.end28 | |
land.lhs.true15: ; preds = %if.end11 | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 4), align 1 | |
%conv16 = zext i8 %7 to i16 | |
%cmp17 = icmp eq i16 %conv16, 0 | |
br i1 %cmp17, label %if.then19, label %if.end28 | |
if.then19: ; preds = %land.lhs.true15 | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
store i8 %8, i8* @objectB_y, align 1 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 3), align 1 | |
store i8 %9, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%10 = load i8, i8* @collision, align 1 | |
%conv20 = zext i8 %10 to i16 | |
%cmp21 = icmp ne i16 %conv20, 0 | |
br i1 %cmp21, label %if.then23, label %if.end27 | |
if.then23: ; preds = %if.then19 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY2, i32 0, i32 2), align 1 | |
call void @Spawn_Explosion() | |
%11 = load i8, i8* @Score4, align 1 | |
%conv24 = zext i8 %11 to i16 | |
%add25 = add nsw i16 %conv24, 5 | |
%conv26 = trunc i16 %add25 to i8 | |
store i8 %conv26, i8* @Score4, align 1 | |
br label %if.end130 | |
if.end27: ; preds = %if.then19 | |
br label %if.end28 | |
if.end28: ; preds = %if.end27, %land.lhs.true15, %if.end11 | |
%12 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
%conv29 = zext i8 %12 to i16 | |
%cmp30 = icmp ne i16 %conv29, 0 | |
br i1 %cmp30, label %land.lhs.true32, label %if.end45 | |
land.lhs.true32: ; preds = %if.end28 | |
%13 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 4), align 1 | |
%conv33 = zext i8 %13 to i16 | |
%cmp34 = icmp eq i16 %conv33, 0 | |
br i1 %cmp34, label %if.then36, label %if.end45 | |
if.then36: ; preds = %land.lhs.true32 | |
%14 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
store i8 %14, i8* @objectB_y, align 1 | |
%15 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 3), align 1 | |
store i8 %15, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%16 = load i8, i8* @collision, align 1 | |
%conv37 = zext i8 %16 to i16 | |
%cmp38 = icmp ne i16 %conv37, 0 | |
br i1 %cmp38, label %if.then40, label %if.end44 | |
if.then40: ; preds = %if.then36 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY3, i32 0, i32 2), align 1 | |
call void @Spawn_Explosion() | |
%17 = load i8, i8* @Score4, align 1 | |
%conv41 = zext i8 %17 to i16 | |
%add42 = add nsw i16 %conv41, 5 | |
%conv43 = trunc i16 %add42 to i8 | |
store i8 %conv43, i8* @Score4, align 1 | |
br label %if.end130 | |
if.end44: ; preds = %if.then36 | |
br label %if.end45 | |
if.end45: ; preds = %if.end44, %land.lhs.true32, %if.end28 | |
%18 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
%conv46 = zext i8 %18 to i16 | |
%cmp47 = icmp ne i16 %conv46, 0 | |
br i1 %cmp47, label %land.lhs.true49, label %if.end62 | |
land.lhs.true49: ; preds = %if.end45 | |
%19 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 4), align 1 | |
%conv50 = zext i8 %19 to i16 | |
%cmp51 = icmp eq i16 %conv50, 0 | |
br i1 %cmp51, label %if.then53, label %if.end62 | |
if.then53: ; preds = %land.lhs.true49 | |
%20 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
store i8 %20, i8* @objectB_y, align 1 | |
%21 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 3), align 1 | |
store i8 %21, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%22 = load i8, i8* @collision, align 1 | |
%conv54 = zext i8 %22 to i16 | |
%cmp55 = icmp ne i16 %conv54, 0 | |
br i1 %cmp55, label %if.then57, label %if.end61 | |
if.then57: ; preds = %if.then53 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY4, i32 0, i32 2), align 1 | |
call void @Spawn_Explosion() | |
%23 = load i8, i8* @Score4, align 1 | |
%conv58 = zext i8 %23 to i16 | |
%add59 = add nsw i16 %conv58, 5 | |
%conv60 = trunc i16 %add59 to i8 | |
store i8 %conv60, i8* @Score4, align 1 | |
br label %if.end130 | |
if.end61: ; preds = %if.then53 | |
br label %if.end62 | |
if.end62: ; preds = %if.end61, %land.lhs.true49, %if.end45 | |
%24 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
%conv63 = zext i8 %24 to i16 | |
%cmp64 = icmp ne i16 %conv63, 0 | |
br i1 %cmp64, label %land.lhs.true66, label %if.end79 | |
land.lhs.true66: ; preds = %if.end62 | |
%25 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 4), align 1 | |
%conv67 = zext i8 %25 to i16 | |
%cmp68 = icmp eq i16 %conv67, 0 | |
br i1 %cmp68, label %if.then70, label %if.end79 | |
if.then70: ; preds = %land.lhs.true66 | |
%26 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
store i8 %26, i8* @objectB_y, align 1 | |
%27 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 3), align 1 | |
store i8 %27, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%28 = load i8, i8* @collision, align 1 | |
%conv71 = zext i8 %28 to i16 | |
%cmp72 = icmp ne i16 %conv71, 0 | |
br i1 %cmp72, label %if.then74, label %if.end78 | |
if.then74: ; preds = %if.then70 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY5, i32 0, i32 2), align 1 | |
call void @Spawn_Explosion() | |
%29 = load i8, i8* @Score4, align 1 | |
%conv75 = zext i8 %29 to i16 | |
%add76 = add nsw i16 %conv75, 5 | |
%conv77 = trunc i16 %add76 to i8 | |
store i8 %conv77, i8* @Score4, align 1 | |
br label %if.end130 | |
if.end78: ; preds = %if.then70 | |
br label %if.end79 | |
if.end79: ; preds = %if.end78, %land.lhs.true66, %if.end62 | |
%30 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
%conv80 = zext i8 %30 to i16 | |
%cmp81 = icmp ne i16 %conv80, 0 | |
br i1 %cmp81, label %land.lhs.true83, label %if.end96 | |
land.lhs.true83: ; preds = %if.end79 | |
%31 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 4), align 1 | |
%conv84 = zext i8 %31 to i16 | |
%cmp85 = icmp eq i16 %conv84, 0 | |
br i1 %cmp85, label %if.then87, label %if.end96 | |
if.then87: ; preds = %land.lhs.true83 | |
%32 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
store i8 %32, i8* @objectB_y, align 1 | |
%33 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 3), align 1 | |
store i8 %33, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%34 = load i8, i8* @collision, align 1 | |
%conv88 = zext i8 %34 to i16 | |
%cmp89 = icmp ne i16 %conv88, 0 | |
br i1 %cmp89, label %if.then91, label %if.end95 | |
if.then91: ; preds = %if.then87 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY6, i32 0, i32 2), align 1 | |
call void @Spawn_Explosion() | |
%35 = load i8, i8* @Score4, align 1 | |
%conv92 = zext i8 %35 to i16 | |
%add93 = add nsw i16 %conv92, 5 | |
%conv94 = trunc i16 %add93 to i8 | |
store i8 %conv94, i8* @Score4, align 1 | |
br label %if.end130 | |
if.end95: ; preds = %if.then87 | |
br label %if.end96 | |
if.end96: ; preds = %if.end95, %land.lhs.true83, %if.end79 | |
%36 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
%conv97 = zext i8 %36 to i16 | |
%cmp98 = icmp ne i16 %conv97, 0 | |
br i1 %cmp98, label %land.lhs.true100, label %if.end113 | |
land.lhs.true100: ; preds = %if.end96 | |
%37 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 4), align 1 | |
%conv101 = zext i8 %37 to i16 | |
%cmp102 = icmp eq i16 %conv101, 0 | |
br i1 %cmp102, label %if.then104, label %if.end113 | |
if.then104: ; preds = %land.lhs.true100 | |
%38 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
store i8 %38, i8* @objectB_y, align 1 | |
%39 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 3), align 1 | |
store i8 %39, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%40 = load i8, i8* @collision, align 1 | |
%conv105 = zext i8 %40 to i16 | |
%cmp106 = icmp ne i16 %conv105, 0 | |
br i1 %cmp106, label %if.then108, label %if.end112 | |
if.then108: ; preds = %if.then104 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY7, i32 0, i32 2), align 1 | |
call void @Spawn_Explosion() | |
%41 = load i8, i8* @Score4, align 1 | |
%conv109 = zext i8 %41 to i16 | |
%add110 = add nsw i16 %conv109, 5 | |
%conv111 = trunc i16 %add110 to i8 | |
store i8 %conv111, i8* @Score4, align 1 | |
br label %if.end130 | |
if.end112: ; preds = %if.then104 | |
br label %if.end113 | |
if.end113: ; preds = %if.end112, %land.lhs.true100, %if.end96 | |
%42 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
%conv114 = zext i8 %42 to i16 | |
%cmp115 = icmp ne i16 %conv114, 0 | |
br i1 %cmp115, label %land.lhs.true117, label %if.end130 | |
land.lhs.true117: ; preds = %if.end113 | |
%43 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 4), align 1 | |
%conv118 = zext i8 %43 to i16 | |
%cmp119 = icmp eq i16 %conv118, 0 | |
br i1 %cmp119, label %if.then121, label %if.end130 | |
if.then121: ; preds = %land.lhs.true117 | |
%44 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
store i8 %44, i8* @objectB_y, align 1 | |
%45 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 3), align 1 | |
store i8 %45, i8* @objectB_x, align 1 | |
call void @Hitbox() | |
%46 = load i8, i8* @collision, align 1 | |
%conv122 = zext i8 %46 to i16 | |
%cmp123 = icmp ne i16 %conv122, 0 | |
br i1 %cmp123, label %if.then125, label %if.end129 | |
if.then125: ; preds = %if.then121 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @ENEMY8, i32 0, i32 2), align 1 | |
call void @Spawn_Explosion() | |
%47 = load i8, i8* @Score4, align 1 | |
%conv126 = zext i8 %47 to i16 | |
%add127 = add nsw i16 %conv126, 5 | |
%conv128 = trunc i16 %add127 to i8 | |
store i8 %conv128, i8* @Score4, align 1 | |
br label %if.end130 | |
if.end129: ; preds = %if.then121 | |
br label %if.end130 | |
if.end130: ; preds = %if.then8, %if.then23, %if.then40, %if.then57, %if.then74, %if.then91, %if.then108, %if.then125, %if.end129, %land.lhs.true117, %if.end113 | |
ret void | |
} | |
declare void @Hitbox() #1 | |
; Function Attrs: nounwind | |
define void @Init_Boss_Level() #0 { | |
entry: | |
store i8 5, i8* @Game_Mode, align 1 | |
call void @Clear_Enemies() | |
store i8 17, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 1), align 1 | |
store i8 96, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
store i8 80, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
store i8 100, i8* @BOSS_health, align 1 | |
ret void | |
} | |
declare void @memcpy(i8*, i8*, i16) #1 | |
declare void @Circle_Math() #1 | |
; Function Attrs: nounwind | |
define void @Spawn_Bullet_E() #0 { | |
entry: | |
%0 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %0, i32 0, i32 3 | |
%1 = load i8, i8* %X, align 1 | |
%conv = zext i8 %1 to i16 | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv1 = zext i8 %2 to i16 | |
%cmp = icmp sgt i16 %conv, %conv1 | |
br i1 %cmp, label %if.then, label %if.else | |
if.then: ; preds = %entry | |
%3 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X3 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %3, i32 0, i32 3 | |
%4 = load i8, i8* %X3, align 1 | |
%conv4 = zext i8 %4 to i16 | |
%5 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv5 = zext i8 %5 to i16 | |
%sub = sub nsw i16 %conv4, %conv5 | |
%conv6 = trunc i16 %sub to i8 | |
store i8 %conv6, i8* @X_compare, align 1 | |
%6 = load i8, i8* @X_compare, align 1 | |
%conv7 = zext i8 %6 to i16 | |
%shr = ashr i16 %conv7, 3 | |
%conv8 = trunc i16 %shr to i8 | |
store i8 %conv8, i8* @X_compare, align 1 | |
%7 = load i8, i8* @X_compare, align 1 | |
%conv9 = zext i8 %7 to i16 | |
%sub10 = sub nsw i16 0, %conv9 | |
%conv11 = trunc i16 %sub10 to i8 | |
store i8 %conv11, i8* @X_compare, align 1 | |
br label %if.end | |
if.else: ; preds = %entry | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @hero_ship, i32 0, i32 3), align 1 | |
%conv12 = zext i8 %8 to i16 | |
%9 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X13 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %9, i32 0, i32 3 | |
%10 = load i8, i8* %X13, align 1 | |
%conv14 = zext i8 %10 to i16 | |
%sub15 = sub nsw i16 %conv12, %conv14 | |
%conv16 = trunc i16 %sub15 to i8 | |
store i8 %conv16, i8* @X_compare, align 1 | |
%11 = load i8, i8* @X_compare, align 1 | |
%conv17 = zext i8 %11 to i16 | |
%shr18 = ashr i16 %conv17, 3 | |
%conv19 = trunc i16 %shr18 to i8 | |
store i8 %conv19, i8* @X_compare, align 1 | |
br label %if.end | |
if.end: ; preds = %if.else, %if.then | |
%12 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 0), align 1 | |
%conv20 = zext i8 %12 to i16 | |
%cmp21 = icmp eq i16 %conv20, 0 | |
br i1 %cmp21, label %if.then23, label %if.end30 | |
if.then23: ; preds = %if.end | |
%13 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %13, i32 0, i32 2 | |
%14 = load i8, i8* %Y, align 1 | |
%conv24 = zext i8 %14 to i16 | |
%add = add nsw i16 %conv24, 15 | |
%conv25 = trunc i16 %add to i8 | |
store i8 %conv25, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 0), align 1 | |
%15 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X26 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %15, i32 0, i32 3 | |
%16 = load i8, i8* %X26, align 1 | |
%conv27 = zext i8 %16 to i16 | |
%add28 = add nsw i16 %conv27, 7 | |
%conv29 = trunc i16 %add28 to i8 | |
store i8 %conv29, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 4), align 1 | |
store i8 -30, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 2), align 1 | |
store i8 1, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 3), align 1 | |
store i8 32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 6), align 1 | |
%17 = load i8, i8* @X_compare, align 1 | |
store i8 %17, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet1, i32 0, i32 7), align 1 | |
br label %if.end121 | |
if.end30: ; preds = %if.end | |
%18 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 0), align 1 | |
%conv31 = zext i8 %18 to i16 | |
%cmp32 = icmp eq i16 %conv31, 0 | |
br i1 %cmp32, label %if.then34, label %if.end43 | |
if.then34: ; preds = %if.end30 | |
%19 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y35 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %19, i32 0, i32 2 | |
%20 = load i8, i8* %Y35, align 1 | |
%conv36 = zext i8 %20 to i16 | |
%add37 = add nsw i16 %conv36, 15 | |
%conv38 = trunc i16 %add37 to i8 | |
store i8 %conv38, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 0), align 1 | |
%21 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X39 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %21, i32 0, i32 3 | |
%22 = load i8, i8* %X39, align 1 | |
%conv40 = zext i8 %22 to i16 | |
%add41 = add nsw i16 %conv40, 7 | |
%conv42 = trunc i16 %add41 to i8 | |
store i8 %conv42, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 4), align 1 | |
store i8 -30, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 2), align 1 | |
store i8 1, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 3), align 1 | |
store i8 32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 6), align 1 | |
%23 = load i8, i8* @X_compare, align 1 | |
store i8 %23, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet2, i32 0, i32 7), align 1 | |
br label %if.end121 | |
if.end43: ; preds = %if.end30 | |
%24 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 0), align 1 | |
%conv44 = zext i8 %24 to i16 | |
%cmp45 = icmp eq i16 %conv44, 0 | |
br i1 %cmp45, label %if.then47, label %if.end56 | |
if.then47: ; preds = %if.end43 | |
%25 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y48 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %25, i32 0, i32 2 | |
%26 = load i8, i8* %Y48, align 1 | |
%conv49 = zext i8 %26 to i16 | |
%add50 = add nsw i16 %conv49, 15 | |
%conv51 = trunc i16 %add50 to i8 | |
store i8 %conv51, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 0), align 1 | |
%27 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X52 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %27, i32 0, i32 3 | |
%28 = load i8, i8* %X52, align 1 | |
%conv53 = zext i8 %28 to i16 | |
%add54 = add nsw i16 %conv53, 7 | |
%conv55 = trunc i16 %add54 to i8 | |
store i8 %conv55, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 4), align 1 | |
store i8 -30, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 2), align 1 | |
store i8 1, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 3), align 1 | |
store i8 32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 6), align 1 | |
%29 = load i8, i8* @X_compare, align 1 | |
store i8 %29, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet3, i32 0, i32 7), align 1 | |
br label %if.end121 | |
if.end56: ; preds = %if.end43 | |
%30 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 0), align 1 | |
%conv57 = zext i8 %30 to i16 | |
%cmp58 = icmp eq i16 %conv57, 0 | |
br i1 %cmp58, label %if.then60, label %if.end69 | |
if.then60: ; preds = %if.end56 | |
%31 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y61 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %31, i32 0, i32 2 | |
%32 = load i8, i8* %Y61, align 1 | |
%conv62 = zext i8 %32 to i16 | |
%add63 = add nsw i16 %conv62, 15 | |
%conv64 = trunc i16 %add63 to i8 | |
store i8 %conv64, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 0), align 1 | |
%33 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X65 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %33, i32 0, i32 3 | |
%34 = load i8, i8* %X65, align 1 | |
%conv66 = zext i8 %34 to i16 | |
%add67 = add nsw i16 %conv66, 7 | |
%conv68 = trunc i16 %add67 to i8 | |
store i8 %conv68, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 4), align 1 | |
store i8 -30, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 2), align 1 | |
store i8 1, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 3), align 1 | |
store i8 32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 6), align 1 | |
%35 = load i8, i8* @X_compare, align 1 | |
store i8 %35, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet4, i32 0, i32 7), align 1 | |
br label %if.end121 | |
if.end69: ; preds = %if.end56 | |
%36 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 0), align 1 | |
%conv70 = zext i8 %36 to i16 | |
%cmp71 = icmp eq i16 %conv70, 0 | |
br i1 %cmp71, label %if.then73, label %if.end82 | |
if.then73: ; preds = %if.end69 | |
%37 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y74 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %37, i32 0, i32 2 | |
%38 = load i8, i8* %Y74, align 1 | |
%conv75 = zext i8 %38 to i16 | |
%add76 = add nsw i16 %conv75, 15 | |
%conv77 = trunc i16 %add76 to i8 | |
store i8 %conv77, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 0), align 1 | |
%39 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X78 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %39, i32 0, i32 3 | |
%40 = load i8, i8* %X78, align 1 | |
%conv79 = zext i8 %40 to i16 | |
%add80 = add nsw i16 %conv79, 7 | |
%conv81 = trunc i16 %add80 to i8 | |
store i8 %conv81, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 4), align 1 | |
store i8 -30, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 2), align 1 | |
store i8 1, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 3), align 1 | |
store i8 32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 6), align 1 | |
%41 = load i8, i8* @X_compare, align 1 | |
store i8 %41, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet5, i32 0, i32 7), align 1 | |
br label %if.end121 | |
if.end82: ; preds = %if.end69 | |
%42 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 0), align 1 | |
%conv83 = zext i8 %42 to i16 | |
%cmp84 = icmp eq i16 %conv83, 0 | |
br i1 %cmp84, label %if.then86, label %if.end95 | |
if.then86: ; preds = %if.end82 | |
%43 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y87 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %43, i32 0, i32 2 | |
%44 = load i8, i8* %Y87, align 1 | |
%conv88 = zext i8 %44 to i16 | |
%add89 = add nsw i16 %conv88, 15 | |
%conv90 = trunc i16 %add89 to i8 | |
store i8 %conv90, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 0), align 1 | |
%45 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X91 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %45, i32 0, i32 3 | |
%46 = load i8, i8* %X91, align 1 | |
%conv92 = zext i8 %46 to i16 | |
%add93 = add nsw i16 %conv92, 7 | |
%conv94 = trunc i16 %add93 to i8 | |
store i8 %conv94, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 4), align 1 | |
store i8 -30, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 2), align 1 | |
store i8 1, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 3), align 1 | |
store i8 32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 6), align 1 | |
%47 = load i8, i8* @X_compare, align 1 | |
store i8 %47, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet6, i32 0, i32 7), align 1 | |
br label %if.end121 | |
if.end95: ; preds = %if.end82 | |
%48 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 0), align 1 | |
%conv96 = zext i8 %48 to i16 | |
%cmp97 = icmp eq i16 %conv96, 0 | |
br i1 %cmp97, label %if.then99, label %if.end108 | |
if.then99: ; preds = %if.end95 | |
%49 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y100 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %49, i32 0, i32 2 | |
%50 = load i8, i8* %Y100, align 1 | |
%conv101 = zext i8 %50 to i16 | |
%add102 = add nsw i16 %conv101, 15 | |
%conv103 = trunc i16 %add102 to i8 | |
store i8 %conv103, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 0), align 1 | |
%51 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X104 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %51, i32 0, i32 3 | |
%52 = load i8, i8* %X104, align 1 | |
%conv105 = zext i8 %52 to i16 | |
%add106 = add nsw i16 %conv105, 7 | |
%conv107 = trunc i16 %add106 to i8 | |
store i8 %conv107, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 4), align 1 | |
store i8 -30, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 2), align 1 | |
store i8 1, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 3), align 1 | |
store i8 32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 6), align 1 | |
%53 = load i8, i8* @X_compare, align 1 | |
store i8 %53, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet7, i32 0, i32 7), align 1 | |
br label %if.end121 | |
if.end108: ; preds = %if.end95 | |
%54 = load i8, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 0), align 1 | |
%conv109 = zext i8 %54 to i16 | |
%cmp110 = icmp eq i16 %conv109, 0 | |
br i1 %cmp110, label %if.then112, label %if.end121 | |
if.then112: ; preds = %if.end108 | |
%55 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%Y113 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %55, i32 0, i32 2 | |
%56 = load i8, i8* %Y113, align 1 | |
%conv114 = zext i8 %56 to i16 | |
%add115 = add nsw i16 %conv114, 15 | |
%conv116 = trunc i16 %add115 to i8 | |
store i8 %conv116, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 0), align 1 | |
%57 = load %struct.ENEMY*, %struct.ENEMY** @Enemy_Pointer, align 1 | |
%X117 = getelementptr inbounds %struct.ENEMY, %struct.ENEMY* %57, i32 0, i32 3 | |
%58 = load i8, i8* %X117, align 1 | |
%conv118 = zext i8 %58 to i16 | |
%add119 = add nsw i16 %conv118, 7 | |
%conv120 = trunc i16 %add119 to i8 | |
store i8 %conv120, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 4), align 1 | |
store i8 -30, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 2), align 1 | |
store i8 1, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 3), align 1 | |
store i8 32, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 6), align 1 | |
%59 = load i8, i8* @X_compare, align 1 | |
store i8 %59, i8* getelementptr inbounds (%struct.BULLET, %struct.BULLET* @enemy_bullet8, i32 0, i32 7), align 1 | |
br label %if.end121 | |
if.end121: ; preds = %if.then23, %if.then34, %if.then47, %if.then60, %if.then73, %if.then86, %if.then99, %if.then112, %if.end108 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @SHAKE_AND_BLINK() #0 { | |
entry: | |
store i8 0, i8* @Shake_Timer_1, align 1 | |
store i8 0, i8* @Shake_Timer_2, align 1 | |
call void @Play_Fx(i8 zeroext 3) | |
store i8 8, i8* inttoptr (i16 16405 to i8*), align 1 | |
store i8 0, i8* @NMI_flag, align 1 | |
br label %while.cond | |
while.cond: ; preds = %if.end33, %entry | |
%0 = load i8, i8* @Shake_Timer_2, align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %while.body, label %while.end36 | |
while.body: ; preds = %while.cond | |
br label %while.cond2 | |
while.cond2: ; preds = %while.body6, %while.body | |
%1 = load i8, i8* @NMI_flag, align 1 | |
%conv3 = zext i8 %1 to i16 | |
%cmp4 = icmp eq i16 %conv3, 0 | |
br i1 %cmp4, label %while.body6, label %while.end | |
while.body6: ; preds = %while.cond2 | |
br label %while.cond2 | |
while.end: ; preds = %while.cond2 | |
store i8 1, i8* @Flag_Blink_Boss, align 1 | |
call void @Reset_Scroll() | |
call void @Blank_sprite() | |
call void @Set_Sprite_Zero() | |
call void @Draw_Hero() | |
call void @Draw_Sprites(%struct.ENEMY* @BOSS) | |
call void @Music_Update() | |
call void @Adjust_Scoreboard() | |
%2 = load i8, i8* @Shake_Timer_1, align 1 | |
%inc = add i8 %2, 1 | |
store i8 %inc, i8* @Shake_Timer_1, align 1 | |
%3 = load i8, i8* @Shake_Timer_1, align 1 | |
%conv7 = zext i8 %3 to i16 | |
%cmp8 = icmp eq i16 %conv7, 0 | |
br i1 %cmp8, label %if.then, label %if.end | |
if.then: ; preds = %while.end | |
%4 = load i8, i8* @Shake_Timer_2, align 1 | |
%inc10 = add i8 %4, 1 | |
store i8 %inc10, i8* @Shake_Timer_2, align 1 | |
br label %if.end | |
if.end: ; preds = %if.then, %while.end | |
%5 = load i8, i8* @Shake_Timer_1, align 1 | |
%conv11 = zext i8 %5 to i16 | |
%and = and i16 %conv11, 63 | |
%cmp12 = icmp eq i16 %and, 0 | |
br i1 %cmp12, label %if.then14, label %if.end20 | |
if.then14: ; preds = %if.end | |
%6 = load i8, i8* @Shake_Timer_1, align 1 | |
%conv15 = zext i8 %6 to i16 | |
%cmp16 = icmp slt i16 %conv15, 176 | |
br i1 %cmp16, label %if.then18, label %if.end19 | |
if.then18: ; preds = %if.then14 | |
call void @Play_Fx(i8 zeroext 3) | |
br label %if.end19 | |
if.end19: ; preds = %if.then18, %if.then14 | |
br label %if.end20 | |
if.end20: ; preds = %if.end19, %if.end | |
%7 = load i8, i8* @Shake_Timer_1, align 1 | |
%conv21 = zext i8 %7 to i16 | |
%and22 = and i16 %conv21, 5 | |
%cmp23 = icmp eq i16 %and22, 0 | |
br i1 %cmp23, label %if.then25, label %if.else | |
if.then25: ; preds = %if.end20 | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%inc26 = add i8 %8, 1 | |
store i8 %inc26, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
br label %if.end33 | |
if.else: ; preds = %if.end20 | |
%9 = load i8, i8* @Shake_Timer_1, align 1 | |
%conv27 = zext i8 %9 to i16 | |
%and28 = and i16 %conv27, 5 | |
%cmp29 = icmp eq i16 %and28, 4 | |
br i1 %cmp29, label %if.then31, label %if.end32 | |
if.then31: ; preds = %if.else | |
%10 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%dec = add i8 %10, -1 | |
store i8 %dec, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
br label %if.end32 | |
if.end32: ; preds = %if.then31, %if.else | |
br label %if.end33 | |
if.end33: ; preds = %if.end32, %if.then25 | |
store i8 0, i8* @NMI_flag, align 1 | |
%11 = load i8, i8* @Shake_Timer_1, align 1 | |
%conv34 = zext i8 %11 to i16 | |
%and35 = and i16 %conv34, 12 | |
%shr = ashr i16 %and35, 2 | |
%arrayidx = getelementptr inbounds [4 x i8], [4 x i8]* @BOSS_BLINK, i16 0, i16 %shr | |
%12 = load i8, i8* %arrayidx, align 1 | |
store i8 %12, i8* @temp, align 1 | |
br label %while.cond | |
while.end36: ; preds = %while.cond | |
store i8 0, i8* @Flag_Blink_Boss, align 1 | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @Spawn_Lasers() #0 { | |
entry: | |
%0 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 2), align 1 | |
%conv = zext i8 %0 to i16 | |
%cmp = icmp eq i16 %conv, 0 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
store i8 19, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 1), align 1 | |
%1 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%conv2 = zext i8 %1 to i16 | |
%add = add nsw i16 %conv2, 15 | |
%conv3 = trunc i16 %add to i8 | |
store i8 %conv3, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 3), align 1 | |
%2 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%conv4 = zext i8 %2 to i16 | |
%add5 = add nsw i16 %conv4, 16 | |
%conv6 = trunc i16 %add5 to i8 | |
store i8 %conv6, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER1, i32 0, i32 2), align 1 | |
store i8 19, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 1), align 1 | |
%3 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%conv7 = zext i8 %3 to i16 | |
%add8 = add nsw i16 %conv7, 38 | |
%conv9 = trunc i16 %add8 to i8 | |
store i8 %conv9, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 3), align 1 | |
%4 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%conv10 = zext i8 %4 to i16 | |
%add11 = add nsw i16 %conv10, 16 | |
%conv12 = trunc i16 %add11 to i8 | |
store i8 %conv12, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER2, i32 0, i32 2), align 1 | |
call void @Play_Fx(i8 zeroext 1) | |
br label %if.end29 | |
if.end: ; preds = %entry | |
%5 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 2), align 1 | |
%conv13 = zext i8 %5 to i16 | |
%cmp14 = icmp eq i16 %conv13, 0 | |
br i1 %cmp14, label %if.then16, label %if.end29 | |
if.then16: ; preds = %if.end | |
store i8 19, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 1), align 1 | |
%6 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%conv17 = zext i8 %6 to i16 | |
%add18 = add nsw i16 %conv17, 15 | |
%conv19 = trunc i16 %add18 to i8 | |
store i8 %conv19, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 3), align 1 | |
%7 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%conv20 = zext i8 %7 to i16 | |
%add21 = add nsw i16 %conv20, 16 | |
%conv22 = trunc i16 %add21 to i8 | |
store i8 %conv22, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER3, i32 0, i32 2), align 1 | |
store i8 19, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 0), align 1 | |
store i8 0, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 1), align 1 | |
%8 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 3), align 1 | |
%conv23 = zext i8 %8 to i16 | |
%add24 = add nsw i16 %conv23, 38 | |
%conv25 = trunc i16 %add24 to i8 | |
store i8 %conv25, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 3), align 1 | |
%9 = load i8, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @BOSS, i32 0, i32 2), align 1 | |
%conv26 = zext i8 %9 to i16 | |
%add27 = add nsw i16 %conv26, 16 | |
%conv28 = trunc i16 %add27 to i8 | |
store i8 %conv28, i8* getelementptr inbounds (%struct.ENEMY, %struct.ENEMY* @LASER4, i32 0, i32 2), align 1 | |
call void @Play_Fx(i8 zeroext 1) | |
br label %if.end29 | |
if.end29: ; preds = %if.then, %if.then16, %if.end | |
ret void | |
} | |
attributes #0 = { nounwind "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
attributes #1 = { "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" } | |
!llvm.ident = !{!0} | |
!0 = !{!"clang version 3.9.1 (https://github.com/beholdnec/clang-m6502.git 04e492b2d0506c48866d33f4f4c221873ded9050) (https://github.com/beholdnec/llvm-m6502.git 64aa8f61885091ddfa2210bbf76ea79345c0c54e)"} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment