Created
January 29, 2018 00:57
-
-
Save cr1901/fb53515a50397d890f11ec126036793f to your computer and use it in GitHub Desktop.
AT2XT Bad LLVM
This file contains hidden or 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 = 'at2xt0-77d68ea1ad8be81bc97a6e8a934656bf.rs' | |
source_filename = "at2xt0-77d68ea1ad8be81bc97a6e8a934656bf.rs" | |
target datalayout = "e-m:e-p:16:16-i32:16-i64:16-f32:16-f64:16-a:8-n8:16-S16" | |
target triple = "msp430-none--elf" | |
@_ZN5at2xt6keyfsm6keymap11KEYCODE_LUT17h83274ebdf4727c78E = internal unnamed_addr constant [132 x i8] c"\00C\00?=;<X\00DB@>\0F)\00\008*\00\1D\10\02\00\00\00,\1F\1E\11\03\00\00.- \12\05\04\00\009/!\14\13\06\00\0010#\22\15\07\00\00\002$\16\08\09\00\003%\17\18\0B\0A\00\0045&'\19\0C\00\00\00(\00\1A\0D\00\00:6\1C\1B\00+\00\00\00\00\00\00\00\00\0E\00\00O\00KG\00\00\00RSPLMH\01EWNQJ7IF\00\00\00\00A", align 1 | |
@_ZN5at2xt9HOST_MODE17h91cc6a6dea55319fE = internal global i8 0, align 1 | |
@_ZN5at2xt10DEVICE_ACK17hf51f838bcce74d5dE = internal global i8 0, align 1 | |
@str.0 = internal constant [43 x i8] c"called `Option::unwrap()` on a `None` value" | |
@str.1 = internal constant [108 x i8] c"C:\5CUsers\5CWilliam\5C.rustup\5Ctoolchains\5Cnightly-x86_64-pc-windows-gnu\5Clib\5Crustlib\5Csrc\5Crust\5Csrc\5Clibcore\5Coption.rs" | |
@ref.2 = private unnamed_addr constant { [0 x i8], { [0 x i8]*, i16 }, [0 x i8], { [0 x i8]*, i16 }, [0 x i8], i32, [0 x i8], i32, [0 x i8] } { [0 x i8] undef, { [0 x i8]*, i16 } { [0 x i8]* bitcast ([43 x i8]* @str.0 to [0 x i8]*), i16 43 }, [0 x i8] undef, { [0 x i8]*, i16 } { [0 x i8]* bitcast ([108 x i8]* @str.1 to [0 x i8]*), i16 108 }, [0 x i8] undef, i32 335, [0 x i8] undef, i32 21, [0 x i8] undef }, align 2 | |
@_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E = internal unnamed_addr global { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] } { [0 x i8] undef, { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] } { [0 x i8] undef, { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] } { [0 x i8] undef, [16 x i16] zeroinitializer, [0 x i8] undef, i8 0, [0 x i8] undef, i8 0, [0 x i8] undef }, [0 x i8] undef }, [0 x i8] undef }, align 2 | |
@_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.0 = internal unnamed_addr global i16 0, align 2 | |
@_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.1 = internal unnamed_addr global i8 10, align 2 | |
@_ZN5at2xt6KEY_IN17h68f4423617f224efE.0 = internal unnamed_addr global i16 0, align 2 | |
@_ZN5at2xt6KEY_IN17h68f4423617f224efE.1 = internal unnamed_addr global i8 0, align 2 | |
@INTERRUPTS = constant { {}*, {}*, void ()*, void ()*, {}*, {}*, {}*, {}*, void ()*, void ()*, void ()*, void ()*, {}*, {}*, void ()* } { {}* null, {}* null, void ()* @PORT1, void ()* @PORT2, {}* null, {}* null, {}* null, {}* null, void ()* @TIMERA1, void ()* @TIMERA0, void ()* @WDT, void ()* @COMPARATORA, {}* null, {}* null, void ()* @NMI }, section ".vector_table.interrupts", align 2 | |
@_ZN9msp430_rt13reset_handler12RESET_VECTOR17h9e46cc120d863f8bE = internal constant void ()* @_ZN9msp430_rt13reset_handler10trampoline17hbbef87ab866857d9E, section ".vector_table.reset_vector", align 2 | |
@_ZN9msp430_rt4KEEP17hadfa3a440c3cf2d8E = internal constant void ()* @DEFAULT_HANDLER, align 2 | |
@_sbss = external global i16 | |
@_ebss = external global i16 | |
@_sdata = external global i16 | |
@_edata = external global i16 | |
@_sidata = external local_unnamed_addr global i16 | |
@llvm.used = appending global [3 x i8*] [i8* bitcast ({ {}*, {}*, void ()*, void ()*, {}*, {}*, {}*, {}*, void ()*, void ()*, void ()*, void ()*, {}*, {}*, void ()* }* @INTERRUPTS to i8*), i8* bitcast (void ()** @_ZN9msp430_rt13reset_handler12RESET_VECTOR17h9e46cc120d863f8bE to i8*), i8* bitcast (void ()** @_ZN9msp430_rt4KEEP17hadfa3a440c3cf2d8E to i8*)], section "llvm.metadata" | |
; core::result::unwrap_failed | |
; Function Attrs: cold noinline noreturn nounwind optsize | |
define internal fastcc void @_ZN4core6result13unwrap_failed17h9e5f78c00d202781E() unnamed_addr #0 { | |
start: | |
; call core::panicking::panic_fmt | |
call fastcc void @_ZN4core9panicking9panic_fmt17hdb459387eb23255dE() | |
unreachable | |
} | |
; at2xt::send_xt_bit | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt11send_xt_bit17hd0dc70dc1c89d8acE(i8) unnamed_addr #1 { | |
start: | |
%1 = tail call i16 asm sideeffect "mov R2, $0", "=r"() #5, !noalias !0, !srcloc !3 | |
tail call void asm sideeffect "dint { nop", "~{memory}"() #5, !noalias !0, !srcloc !3 | |
%2 = icmp eq i8 %0, 1 | |
%3 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !4 | |
%4 = and i8 %3, -9 | |
%5 = or i8 %3, 8 | |
%.sink.i.i = select i1 %2, i8 %5, i8 %4 | |
store volatile i8 %.sink.i.i, i8* inttoptr (i16 33 to i8*), align 1, !noalias !4 | |
%6 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !7 | |
%7 = and i8 %6, -5 | |
store volatile i8 %7, i8* inttoptr (i16 33 to i8*), align 1, !noalias !7 | |
%8 = and i16 %1, 8 | |
%9 = icmp eq i16 %8, 0 | |
br i1 %9, label %_ZN6msp4309interrupt4free17h3d162a95ff2a947fE.exit, label %bb6.i | |
bb6.i: ; preds = %start | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !noalias !0, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h3d162a95ff2a947fE.exit | |
_ZN6msp4309interrupt4free17h3d162a95ff2a947fE.exit: ; preds = %start, %bb6.i | |
call void asm sideeffect "\0A1:\0A dec $0\0A jne 1b\0A ", "{r12},~{r12}"(i16 88) #5, !srcloc !12 | |
%10 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
%11 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !13 | |
%12 = or i8 %11, 4 | |
store volatile i8 %12, i8* inttoptr (i16 33 to i8*), align 1, !noalias !13 | |
%13 = and i16 %10, 8 | |
%14 = icmp eq i16 %13, 0 | |
br i1 %14, label %_ZN6msp4309interrupt4free17h418d9d873d64056eE.exit, label %bb6.i5 | |
bb6.i5: ; preds = %_ZN6msp4309interrupt4free17h3d162a95ff2a947fE.exit | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h418d9d873d64056eE.exit | |
_ZN6msp4309interrupt4free17h418d9d873d64056eE.exit: ; preds = %_ZN6msp4309interrupt4free17h3d162a95ff2a947fE.exit, %bb6.i5 | |
ret void | |
} | |
; at2xt::send_byte_to_pc | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt15send_byte_to_pc17h347cfc7490ff2c08E(i8) unnamed_addr #1 { | |
start: | |
br label %bb1 | |
bb1: ; preds = %_ZN6msp4309interrupt4free17h0462a2986e36fef4E.exit, %start | |
%1 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
%2 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !18 | |
%3 = and i8 %2, 4 | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h75aba8c354776111E.exit.i", label %bb5.i.i | |
bb5.i.i: ; preds = %bb1 | |
%5 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !21 | |
%6 = and i8 %5, 8 | |
%7 = icmp eq i8 %6, 0 | |
br label %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h75aba8c354776111E.exit.i" | |
"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h75aba8c354776111E.exit.i": ; preds = %bb5.i.i, %bb1 | |
%_0.0.i.i = phi i1 [ true, %bb1 ], [ %7, %bb5.i.i ] | |
%8 = and i16 %1, 8 | |
%9 = icmp eq i16 %8, 0 | |
br i1 %9, label %_ZN6msp4309interrupt4free17h0462a2986e36fef4E.exit, label %bb6.i | |
bb6.i: ; preds = %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h75aba8c354776111E.exit.i" | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h0462a2986e36fef4E.exit | |
_ZN6msp4309interrupt4free17h0462a2986e36fef4E.exit: ; preds = %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h75aba8c354776111E.exit.i", %bb6.i | |
br i1 %_0.0.i.i, label %bb1, label %bb2 | |
bb2: ; preds = %_ZN6msp4309interrupt4free17h0462a2986e36fef4E.exit | |
%10 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
%11 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !24 | |
%12 = or i8 %11, 12 | |
store volatile i8 %12, i8* inttoptr (i16 33 to i8*), align 1, !noalias !24 | |
%13 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !29 | |
%14 = or i8 %13, 12 | |
store volatile i8 %14, i8* inttoptr (i16 34 to i8*), align 2, !noalias !29 | |
%15 = and i16 %10, 8 | |
%16 = icmp eq i16 %15, 0 | |
br i1 %16, label %_ZN6msp4309interrupt4free17h893a530aa6d2b93cE.exit, label %bb6.i8 | |
bb6.i8: ; preds = %bb2 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h893a530aa6d2b93cE.exit | |
_ZN6msp4309interrupt4free17h893a530aa6d2b93cE.exit: ; preds = %bb2, %bb6.i8 | |
; call at2xt::send_xt_bit | |
call fastcc void @_ZN5at2xt11send_xt_bit17hd0dc70dc1c89d8acE(i8 0) | |
; call at2xt::send_xt_bit | |
call fastcc void @_ZN5at2xt11send_xt_bit17hd0dc70dc1c89d8acE(i8 1) | |
br label %bb13 | |
bb11: ; preds = %bb13 | |
%17 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
%18 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !32 | |
%19 = or i8 %18, 8 | |
store volatile i8 %19, i8* inttoptr (i16 33 to i8*), align 1, !noalias !32 | |
%20 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !37 | |
%21 = and i8 %20, -13 | |
store volatile i8 %21, i8* inttoptr (i16 34 to i8*), align 2, !noalias !37 | |
%22 = and i16 %17, 8 | |
%23 = icmp eq i16 %22, 0 | |
br i1 %23, label %_ZN6msp4309interrupt4free17h17686fccf52c55a4E.exit, label %bb6.i10 | |
bb6.i10: ; preds = %bb11 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h17686fccf52c55a4E.exit | |
_ZN6msp4309interrupt4free17h17686fccf52c55a4E.exit: ; preds = %bb11, %bb6.i10 | |
ret void | |
bb13: ; preds = %_ZN6msp4309interrupt4free17h893a530aa6d2b93cE.exit, %bb13 | |
%byte.021 = phi i8 [ %0, %_ZN6msp4309interrupt4free17h893a530aa6d2b93cE.exit ], [ %26, %bb13 ] | |
%iter.sroa.0.020 = phi i32 [ 0, %_ZN6msp4309interrupt4free17h893a530aa6d2b93cE.exit ], [ %24, %bb13 ] | |
%24 = add nuw nsw i32 %iter.sroa.0.020, 1 | |
%25 = and i8 %byte.021, 1 | |
; call at2xt::send_xt_bit | |
call fastcc void @_ZN5at2xt11send_xt_bit17hd0dc70dc1c89d8acE(i8 %25) | |
%26 = lshr i8 %byte.021, 1 | |
%27 = icmp slt i32 %24, 8 | |
br i1 %27, label %bb13, label %bb11 | |
} | |
; at2xt::send_byte_to_at_keyboard | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17hcc43cc4f662417f9E(i8) unnamed_addr #1 { | |
start: | |
%1 = tail call i16 asm sideeffect "mov R2, $0", "=r"() #5, !noalias !40, !srcloc !3 | |
tail call void asm sideeffect "dint { nop", "~{memory}"() #5, !noalias !40, !srcloc !3 | |
%2 = load i8, i8* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.1, align 2, !alias.scope !43, !noalias !48 | |
%3 = icmp ugt i8 %2, 9 | |
br i1 %3, label %bb9.i.i.i, label %bb3.i.i.i | |
bb9.i.i.i: ; preds = %start, %bb9.i.i.i | |
%sout.014.i.i.i = phi i8 [ %7, %bb9.i.i.i ], [ %0, %start ] | |
%num_ones.013.i.i.i = phi i8 [ %6, %bb9.i.i.i ], [ 0, %start ] | |
%iter.sroa.0.012.i.i.i = phi i32 [ %4, %bb9.i.i.i ], [ 0, %start ] | |
%4 = add nuw nsw i32 %iter.sroa.0.012.i.i.i, 1 | |
%5 = and i8 %sout.014.i.i.i, 1 | |
%6 = add i8 %5, %num_ones.013.i.i.i | |
%7 = shl i8 %sout.014.i.i.i, 1 | |
%8 = icmp slt i32 %4, 8 | |
br i1 %8, label %bb9.i.i.i, label %"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17hfdf50c52870c6f57E.exit.i" | |
bb3.i.i.i: ; preds = %start | |
; call core::result::unwrap_failed | |
tail call fastcc void @_ZN4core6result13unwrap_failed17h9e5f78c00d202781E() #5, !noalias !48 | |
unreachable | |
"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17hfdf50c52870c6f57E.exit.i": ; preds = %bb9.i.i.i | |
%fold.i.i.i = add i8 %num_ones.013.i.i.i, %sout.014.i.i.i | |
%9 = and i8 %fold.i.i.i, 1 | |
%10 = zext i8 %9 to i16 | |
%11 = shl nuw nsw i16 %10, 8 | |
%12 = zext i8 %0 to i16 | |
%13 = or i16 %11, %12 | |
%14 = xor i16 %13, 768 | |
store i16 %14, i16* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.0, align 2, !alias.scope !51, !noalias !48 | |
store i8 0, i8* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.1, align 2, !alias.scope !51, !noalias !48 | |
%15 = load volatile i8, i8* inttoptr (i16 37 to i8*), align 1, !noalias !52 | |
%16 = and i8 %15, -2 | |
store volatile i8 %16, i8* inttoptr (i16 37 to i8*), align 1, !noalias !52 | |
%17 = and i16 %1, 8 | |
%18 = icmp eq i16 %17, 0 | |
br i1 %18, label %bb2, label %bb6.i | |
bb6.i: ; preds = %"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17hfdf50c52870c6f57E.exit.i" | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !noalias !40, !srcloc !3 | |
br label %bb2 | |
bb2: ; preds = %bb6.i, %"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17hfdf50c52870c6f57E.exit.i", %_ZN6msp4309interrupt4free17h6eff08da8c9bd505E.exit | |
%19 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
%20 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !57 | |
%21 = and i8 %20, 1 | |
%22 = icmp eq i8 %21, 0 | |
%23 = and i16 %19, 8 | |
%24 = icmp eq i16 %23, 0 | |
br i1 %24, label %_ZN6msp4309interrupt4free17h6eff08da8c9bd505E.exit, label %bb6.i8 | |
bb6.i8: ; preds = %bb2 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h6eff08da8c9bd505E.exit | |
_ZN6msp4309interrupt4free17h6eff08da8c9bd505E.exit: ; preds = %bb2, %bb6.i8 | |
br i1 %22, label %bb2, label %bb3 | |
bb3: ; preds = %_ZN6msp4309interrupt4free17h6eff08da8c9bd505E.exit | |
%25 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
%26 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !60 | |
%27 = and i8 %26, -2 | |
store volatile i8 %27, i8* inttoptr (i16 33 to i8*), align 1, !noalias !60 | |
%28 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !65 | |
%29 = or i8 %28, 16 | |
store volatile i8 %29, i8* inttoptr (i16 33 to i8*), align 1, !noalias !65 | |
%30 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !70 | |
%31 = or i8 %30, 17 | |
store volatile i8 %31, i8* inttoptr (i16 34 to i8*), align 2, !noalias !70 | |
%32 = and i16 %25, 8 | |
%33 = icmp eq i16 %32, 0 | |
br i1 %33, label %_ZN6msp4309interrupt4free17had9c9aa3a8e1a472E.exit, label %bb6.i10 | |
bb6.i10: ; preds = %bb3 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17had9c9aa3a8e1a472E.exit | |
_ZN6msp4309interrupt4free17had9c9aa3a8e1a472E.exit: ; preds = %bb3, %bb6.i10 | |
call void asm sideeffect "\0A1:\0A dec $0\0A jne 1b\0A ", "{r12},~{r12}"(i16 160) #5, !srcloc !12 | |
%34 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
%35 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !73 | |
%36 = and i8 %35, -17 | |
store volatile i8 %36, i8* inttoptr (i16 33 to i8*), align 1, !noalias !73 | |
%37 = and i16 %34, 8 | |
%38 = icmp eq i16 %37, 0 | |
br i1 %38, label %_ZN6msp4309interrupt4free17h8d1b9ea4992e74f3E.exit, label %bb6.i12 | |
bb6.i12: ; preds = %_ZN6msp4309interrupt4free17had9c9aa3a8e1a472E.exit | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h8d1b9ea4992e74f3E.exit | |
_ZN6msp4309interrupt4free17h8d1b9ea4992e74f3E.exit: ; preds = %_ZN6msp4309interrupt4free17had9c9aa3a8e1a472E.exit, %bb6.i12 | |
call void asm sideeffect "\0A1:\0A dec $0\0A jne 1b\0A ", "{r12},~{r12}"(i16 52) #5, !srcloc !12 | |
%39 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
%40 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !78 | |
%41 = or i8 %40, 1 | |
store volatile i8 %41, i8* inttoptr (i16 33 to i8*), align 1, !noalias !78 | |
%42 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !83 | |
%43 = and i8 %42, -2 | |
store volatile i8 %43, i8* inttoptr (i16 34 to i8*), align 2, !noalias !83 | |
%44 = load volatile i8, i8* inttoptr (i16 35 to i8*), align 1, !noalias !88 | |
%45 = and i8 %44, -2 | |
store volatile i8 %45, i8* inttoptr (i16 35 to i8*), align 1, !noalias !88 | |
%46 = load volatile i8, i8* inttoptr (i16 37 to i8*), align 1, !noalias !93 | |
%47 = or i8 %46, 1 | |
store volatile i8 %47, i8* inttoptr (i16 37 to i8*), align 1, !noalias !93 | |
call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt9HOST_MODE17h91cc6a6dea55319fE, i8 1) #5, !srcloc !3 | |
call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt10DEVICE_ACK17hf51f838bcce74d5dE, i8 0) #5, !srcloc !3 | |
%48 = and i16 %39, 8 | |
%49 = icmp eq i16 %48, 0 | |
br i1 %49, label %bb13, label %bb6.i14 | |
bb6.i14: ; preds = %_ZN6msp4309interrupt4free17h8d1b9ea4992e74f3E.exit | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %bb13 | |
bb13: ; preds = %bb6.i14, %_ZN6msp4309interrupt4free17h8d1b9ea4992e74f3E.exit, %bb13 | |
%50 = call i8 asm sideeffect "mov.b $1, $0", "=r,*m,~{memory}"(i8* nonnull @_ZN5at2xt10DEVICE_ACK17hf51f838bcce74d5dE) #5, !srcloc !3 | |
%51 = icmp eq i8 %50, 0 | |
br i1 %51, label %bb13, label %bb14 | |
bb14: ; preds = %bb13 | |
call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt9HOST_MODE17h91cc6a6dea55319fE, i8 0) #5, !srcloc !3 | |
ret void | |
} | |
; Function Attrs: noreturn nounwind optsize | |
define void @abort() unnamed_addr #2 { | |
start: | |
br label %bb1 | |
bb1: ; preds = %bb1, %start | |
tail call void asm sideeffect "", "~{memory}"() #5, !srcloc !3 | |
br label %bb1 | |
} | |
; Function Attrs: nounwind optsize | |
define msp430_intrcc void @PORT1() unnamed_addr #1 { | |
start: | |
%0 = tail call i8 asm sideeffect "mov.b $1, $0", "=r,*m,~{memory}"(i8* nonnull @_ZN5at2xt9HOST_MODE17h91cc6a6dea55319fE) #5, !noalias !98, !srcloc !3 | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %bb3.i, label %bb2.i | |
bb2.i: ; preds = %start | |
%2 = load i8, i8* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.1, align 2, !alias.scope !101, !noalias !98 | |
%3 = icmp ugt i8 %2, 9 | |
br i1 %3, label %bb7.i, label %bb6.i | |
bb3.i: ; preds = %start | |
%4 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !104 | |
%5 = lshr i8 %4, 4 | |
%.lobit = and i8 %5, 1 | |
%6 = zext i8 %.lobit to i16 | |
%7 = load i16, i16* @_ZN5at2xt6KEY_IN17h68f4423617f224efE.0, align 2, !alias.scope !107, !noalias !98 | |
%8 = shl i16 %7, 1 | |
%9 = or i16 %6, %8 | |
store i16 %9, i16* @_ZN5at2xt6KEY_IN17h68f4423617f224efE.0, align 2, !alias.scope !107, !noalias !98 | |
%10 = load i8, i8* @_ZN5at2xt6KEY_IN17h68f4423617f224efE.1, align 2, !alias.scope !107, !noalias !98 | |
%11 = add i8 %10, 1 | |
store i8 %11, i8* @_ZN5at2xt6KEY_IN17h68f4423617f224efE.1, align 2, !alias.scope !107, !noalias !98 | |
%12 = icmp ugt i8 %11, 10 | |
br i1 %12, label %bb41.i, label %_ZN5at2xt13porta_handler17h93b8f0800b00ae74E.exit | |
bb6.i: ; preds = %bb2.i | |
%13 = load i16, i16* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.0, align 2, !alias.scope !110, !noalias !98 | |
%14 = and i16 %13, 1 | |
%15 = icmp ne i16 %14, 0 | |
%16 = lshr i16 %13, 1 | |
store i16 %16, i16* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.0, align 2, !alias.scope !110, !noalias !98 | |
%17 = add i8 %2, 1 | |
store i8 %17, i8* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.1, align 2, !alias.scope !110, !noalias !98 | |
%18 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !98 | |
%19 = and i8 %18, -17 | |
%20 = or i8 %18, 16 | |
%.sink.i = select i1 %15, i8 %20, i8 %19 | |
store volatile i8 %.sink.i, i8* inttoptr (i16 33 to i8*), align 1, !noalias !98 | |
%21 = load i8, i8* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.1, align 2, !alias.scope !113, !noalias !98 | |
%22 = icmp ugt i8 %21, 9 | |
br i1 %22, label %bb19.i, label %_ZN5at2xt13porta_handler17h93b8f0800b00ae74E.exit | |
bb7.i: ; preds = %bb2.i | |
%23 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !116 | |
%24 = and i8 %23, 16 | |
%25 = icmp eq i8 %24, 0 | |
br i1 %25, label %bb26.i, label %_ZN5at2xt13porta_handler17h93b8f0800b00ae74E.exit | |
bb19.i: ; preds = %bb6.i | |
%26 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !119 | |
%27 = or i8 %26, 1 | |
store volatile i8 %27, i8* inttoptr (i16 33 to i8*), align 1, !noalias !119 | |
%28 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !124 | |
%29 = or i8 %28, 16 | |
store volatile i8 %29, i8* inttoptr (i16 33 to i8*), align 1, !noalias !124 | |
%30 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !129 | |
%31 = and i8 %30, -18 | |
store volatile i8 %31, i8* inttoptr (i16 34 to i8*), align 2, !noalias !129 | |
br label %_ZN5at2xt13porta_handler17h93b8f0800b00ae74E.exit | |
bb26.i: ; preds = %bb7.i | |
tail call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt10DEVICE_ACK17hf51f838bcce74d5dE, i8 1) #5, !noalias !98, !srcloc !3 | |
store i8 10, i8* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.1, align 2, !alias.scope !132, !noalias !98 | |
store i16 0, i16* @_ZN5at2xt7KEY_OUT17hcc5c830d0b14d6a4E.0, align 2, !alias.scope !132, !noalias !98 | |
br label %_ZN5at2xt13porta_handler17h93b8f0800b00ae74E.exit | |
bb41.i: ; preds = %bb3.i | |
%32 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !135 | |
%33 = and i8 %32, -2 | |
store volatile i8 %33, i8* inttoptr (i16 33 to i8*), align 1, !noalias !135 | |
%34 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !140 | |
%35 = or i8 %34, 16 | |
store volatile i8 %35, i8* inttoptr (i16 33 to i8*), align 1, !noalias !140 | |
%36 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !145 | |
%37 = or i8 %36, 17 | |
store volatile i8 %37, i8* inttoptr (i16 34 to i8*), align 2, !noalias !145 | |
%38 = load i8, i8* @_ZN5at2xt6KEY_IN17h68f4423617f224efE.1, align 2, !alias.scope !148, !noalias !153 | |
%39 = icmp ugt i8 %38, 10 | |
br i1 %39, label %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hb46c7a3231a80e4dE.exit.i", label %bb1.i.i | |
bb1.i.i: ; preds = %bb41.i | |
; call core::panicking::panic | |
tail call fastcc void @_ZN4core9panicking5panic17h98ab0a586d7538e5E({ [0 x i16], { [0 x i8]*, i16 }, [0 x i16], { [0 x i8]*, i16 }, [0 x i16], i32, [0 x i16], i32, [0 x i16] }* noalias readonly dereferenceable(16) bitcast ({ [0 x i8], { [0 x i8]*, i16 }, [0 x i8], { [0 x i8]*, i16 }, [0 x i8], i32, [0 x i8], i32, [0 x i8] }* @ref.2 to { [0 x i16], { [0 x i8]*, i16 }, [0 x i16], { [0 x i8]*, i16 }, [0 x i16], i32, [0 x i16], i32, [0 x i16] }*)) #5, !noalias !155 | |
unreachable | |
"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hb46c7a3231a80e4dE.exit.i": ; preds = %bb41.i | |
store i8 0, i8* @_ZN5at2xt6KEY_IN17h68f4423617f224efE.1, align 2, !alias.scope !158, !noalias !153 | |
%40 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !159, !noalias !98 | |
%41 = zext i8 %40 to i16 | |
%42 = icmp ult i8 %40, 16 | |
br i1 %42, label %_ZN5at2xt9keybuffer13KeycodeBuffer3put17h51119db2c9e086a5E.exit.i, label %panic.i.i, !prof !162 | |
panic.i.i: ; preds = %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hb46c7a3231a80e4dE.exit.i" | |
; call core::panicking::panic_bounds_check | |
tail call fastcc void @_ZN4core9panicking18panic_bounds_check17hb2b74d1421107b88E(i16 %41, i16 16) #5 | |
unreachable | |
_ZN5at2xt9keybuffer13KeycodeBuffer3put17h51119db2c9e086a5E.exit.i: ; preds = %"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hb46c7a3231a80e4dE.exit.i" | |
%43 = load i16, i16* @_ZN5at2xt6KEY_IN17h68f4423617f224efE.0, align 2, !alias.scope !158, !noalias !153 | |
%44 = getelementptr inbounds [16 x i16], [16 x i16]* bitcast ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E to [16 x i16]*), i16 0, i16 %41 | |
store i16 %43, i16* %44, align 2, !alias.scope !159, !noalias !98 | |
%45 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !159, !noalias !98 | |
%46 = add i8 %45, 1 | |
%47 = and i8 %46, 15 | |
store i8 %47, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !159, !noalias !98 | |
store i8 0, i8* @_ZN5at2xt6KEY_IN17h68f4423617f224efE.1, align 2, !alias.scope !163, !noalias !98 | |
store i16 0, i16* @_ZN5at2xt6KEY_IN17h68f4423617f224efE.0, align 2, !alias.scope !163, !noalias !98 | |
%48 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !166 | |
%49 = or i8 %48, 1 | |
store volatile i8 %49, i8* inttoptr (i16 33 to i8*), align 1, !noalias !166 | |
%50 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !171 | |
%51 = or i8 %50, 16 | |
store volatile i8 %51, i8* inttoptr (i16 33 to i8*), align 1, !noalias !171 | |
%52 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !176 | |
%53 = and i8 %52, -18 | |
store volatile i8 %53, i8* inttoptr (i16 34 to i8*), align 2, !noalias !176 | |
br label %_ZN5at2xt13porta_handler17h93b8f0800b00ae74E.exit | |
_ZN5at2xt13porta_handler17h93b8f0800b00ae74E.exit: ; preds = %bb3.i, %bb6.i, %bb7.i, %bb19.i, %bb26.i, %_ZN5at2xt9keybuffer13KeycodeBuffer3put17h51119db2c9e086a5E.exit.i | |
%54 = load volatile i8, i8* inttoptr (i16 35 to i8*), align 1, !noalias !98 | |
%55 = and i8 %54, -2 | |
store volatile i8 %55, i8* inttoptr (i16 35 to i8*), align 1, !noalias !98 | |
ret void | |
} | |
; Function Attrs: noreturn nounwind optsize | |
define i16 @main(i16, i8** nocapture readnone) unnamed_addr #2 { | |
top: | |
store volatile i16 23168, i16* inttoptr (i16 288 to i16*), align 32, !noalias !179 | |
store volatile i8 0, i8* inttoptr (i16 34 to i8*), align 2, !noalias !183 | |
%2 = load volatile i8, i8* inttoptr (i16 35 to i8*), align 1, !noalias !186 | |
%3 = and i8 %2, -2 | |
store volatile i8 %3, i8* inttoptr (i16 35 to i8*), align 1, !noalias !186 | |
%4 = load volatile i8, i8* inttoptr (i16 36 to i8*), align 4, !noalias !189 | |
%5 = or i8 %4, 1 | |
store volatile i8 %5, i8* inttoptr (i16 36 to i8*), align 4, !noalias !189 | |
%6 = load volatile i8, i8* inttoptr (i16 37 to i8*), align 1, !noalias !192 | |
%7 = or i8 %6, 1 | |
store volatile i8 %7, i8* inttoptr (i16 37 to i8*), align 1, !noalias !192 | |
store volatile i8 -120, i8* inttoptr (i16 87 to i8*), align 1, !noalias !179 | |
store volatile i8 4, i8* inttoptr (i16 88 to i8*), align 8, !noalias !179 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17hcc43cc4f662417f9E(i8 -1) #5 | |
br label %bb3.outer.i.i | |
bb3.outer.i.i: ; preds = %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i", %bb10.i.i, %bb9.i.i, %top | |
%fsm_driver.sroa.14.0.ph.i.i = phi i8 [ 0, %top ], [ %fsm_driver.sroa.14.1.i.i, %bb9.i.i ], [ %fsm_driver.sroa.14.1.i.i, %bb10.i.i ], [ %fsm_driver.sroa.14.1.i.i, %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i" ] | |
%fsm_driver.sroa.10.0.ph.i.i = phi i8 [ 0, %top ], [ %fsm_driver.sroa.10.1.i.i, %bb9.i.i ], [ %fsm_driver.sroa.10.1.i.i, %bb10.i.i ], [ %fsm_driver.sroa.10.1.i.i, %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i" ] | |
%fsm_driver.sroa.8.0.ph.i.i = phi i8 [ undef, %top ], [ %_0.sroa.22.0.i.i.i.i, %bb9.i.i ], [ %_0.sroa.22.0.i.i.i.i, %bb10.i.i ], [ %_0.sroa.22.0.i.i.i.i, %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i" ] | |
%fsm_driver.sroa.0.0.ph.i.i = phi i8 [ 0, %top ], [ %abi_cast.sroa.0.0.extract.trunc.i.i.i, %bb9.i.i ], [ %abi_cast.sroa.0.0.extract.trunc.i.i.i, %bb10.i.i ], [ %abi_cast.sroa.0.0.extract.trunc.i.i.i, %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i" ] | |
%loop_reply.sroa.4.0.ph.i.i = phi i8 [ 0, %top ], [ %20, %bb9.i.i ], [ %next_cmd.sroa.14.0.i.ph.i.ph.i, %bb10.i.i ], [ %55, %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i" ] | |
%loop_reply.sroa.0.0.ph.i.i = phi i3 [ 0, %top ], [ -4, %bb9.i.i ], [ 2, %bb10.i.i ], [ 1, %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i" ] | |
%_14.sroa.8.0.ph.i.i = phi i8 [ undef, %top ], [ %20, %bb9.i.i ], [ %next_cmd.sroa.14.0.i.ph.i.ph.i, %bb10.i.i ], [ %55, %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i" ] | |
br label %bb3.i.i | |
bb3.i.i: ; preds = %bb20.i.i, %bb6.i.i, %bb6.i18.i.i, %bb3.outer.i.i | |
%fsm_driver.sroa.14.0.i.i = phi i8 [ %fsm_driver.sroa.14.0.ph.i.i, %bb3.outer.i.i ], [ %fsm_driver.sroa.14.1.i.i, %bb6.i18.i.i ], [ %fsm_driver.sroa.14.1.i.i, %bb6.i.i ], [ %fsm_driver.sroa.14.1.i.i, %bb20.i.i ] | |
%fsm_driver.sroa.10.0.i.i = phi i8 [ %fsm_driver.sroa.10.0.ph.i.i, %bb3.outer.i.i ], [ %fsm_driver.sroa.10.1.i.i, %bb6.i18.i.i ], [ %fsm_driver.sroa.10.1.i.i, %bb6.i.i ], [ %fsm_driver.sroa.10.1.i.i, %bb20.i.i ] | |
%fsm_driver.sroa.8.0.i.i = phi i8 [ %fsm_driver.sroa.8.0.ph.i.i, %bb3.outer.i.i ], [ %_0.sroa.22.0.i.i.i.i, %bb6.i18.i.i ], [ %_0.sroa.22.0.i.i.i.i, %bb6.i.i ], [ %_0.sroa.22.0.i.i.i.i, %bb20.i.i ] | |
%fsm_driver.sroa.0.0.i.i = phi i8 [ %fsm_driver.sroa.0.0.ph.i.i, %bb3.outer.i.i ], [ %abi_cast.sroa.0.0.extract.trunc.i.i.i, %bb6.i18.i.i ], [ %abi_cast.sroa.0.0.extract.trunc.i.i.i, %bb6.i.i ], [ %abi_cast.sroa.0.0.extract.trunc.i.i.i, %bb20.i.i ] | |
%loop_reply.sroa.4.0.i.i = phi i8 [ %loop_reply.sroa.4.0.ph.i.i, %bb3.outer.i.i ], [ %_14.sroa.8.0.ph.i.i, %bb6.i18.i.i ], [ %_14.sroa.8.0.ph.i.i, %bb6.i.i ], [ %_14.sroa.8.0.ph.i.i, %bb20.i.i ] | |
%loop_reply.sroa.0.0.i.i = phi i3 [ %loop_reply.sroa.0.0.ph.i.i, %bb3.outer.i.i ], [ 3, %bb6.i18.i.i ], [ 3, %bb6.i.i ], [ -3, %bb20.i.i ] | |
switch i3 %loop_reply.sroa.0.0.i.i, label %bb16.i.i.i.i [ | |
i3 0, label %bb11.i.i.i.i | |
i3 1, label %bb12.i.i.i.i | |
i3 2, label %bb13.i.i.i.i | |
i3 3, label %bb14.i.i.i.i | |
i3 -4, label %bb15.i.i.i.i | |
i3 -3, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
] | |
bb3.i.i.i.i: ; preds = %bb12.i.i.i.i | |
switch i8 %loop_reply.sroa.4.0.i.i, label %bb25.i.i.i.i [ | |
i8 -86, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
i8 -6, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
i8 -2, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
i8 -18, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
i8 -16, label %bb22.i.i.i.i | |
i8 -32, label %bb23.i.i.i.i | |
i8 -31, label %bb24.i.i.i.i | |
] | |
bb5.i.i.i.i: ; preds = %bb12.i.i.i.i | |
switch i8 %loop_reply.sroa.4.0.i.i, label %bb29.i.i.i.i [ | |
i8 126, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
i8 119, label %bb27.i.i.i.i | |
i8 88, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
] | |
bb10.i.i.i.i: ; preds = %bb15.i.i.i.i, %bb14.i.i.i.i, %bb13.i.i.i.i, %bb12.i.i.i.i, %bb11.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
bb11.i.i.i.i: ; preds = %bb3.i.i | |
%cond2.i.i.i.i = icmp eq i8 %fsm_driver.sroa.0.0.i.i, 0 | |
br i1 %cond2.i.i.i.i, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i, label %bb10.i.i.i.i | |
bb12.i.i.i.i: ; preds = %bb3.i.i | |
%trunc14.i.i.i.i = trunc i8 %fsm_driver.sroa.0.0.i.i to i3 | |
switch i3 %trunc14.i.i.i.i, label %bb10.i.i.i.i [ | |
i3 0, label %bb3.i.i.i.i | |
i3 2, label %bb5.i.i.i.i | |
] | |
bb13.i.i.i.i: ; preds = %bb3.i.i | |
%trunc13.i.i.i.i = trunc i8 %fsm_driver.sroa.0.0.i.i to i3 | |
switch i3 %trunc13.i.i.i.i, label %bb10.i.i.i.i [ | |
i3 1, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
i3 3, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
i3 -4, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
] | |
bb14.i.i.i.i: ; preds = %bb3.i.i | |
%cond1.i.i.i.i = icmp eq i8 %fsm_driver.sroa.0.0.i.i, 7 | |
br i1 %cond1.i.i.i.i, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i, label %bb10.i.i.i.i | |
bb15.i.i.i.i: ; preds = %bb3.i.i | |
%cond.i.i.i.i = icmp eq i8 %fsm_driver.sroa.0.0.i.i, 5 | |
br i1 %cond.i.i.i.i, label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i, label %bb10.i.i.i.i | |
bb16.i.i.i.i: ; preds = %bb3.i.i | |
unreachable | |
bb22.i.i.i.i: ; preds = %bb3.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
bb23.i.i.i.i: ; preds = %bb3.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
bb24.i.i.i.i: ; preds = %bb3.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
bb25.i.i.i.i: ; preds = %bb3.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
bb27.i.i.i.i: ; preds = %bb5.i.i.i.i | |
%8 = icmp eq i8 %fsm_driver.sroa.10.0.i.i, 0 | |
%..i.i = select i1 %8, i16 5, i16 3 | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
bb29.i.i.i.i: ; preds = %bb5.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i: ; preds = %bb29.i.i.i.i, %bb27.i.i.i.i, %bb25.i.i.i.i, %bb24.i.i.i.i, %bb23.i.i.i.i, %bb22.i.i.i.i, %bb15.i.i.i.i, %bb14.i.i.i.i, %bb13.i.i.i.i, %bb13.i.i.i.i, %bb13.i.i.i.i, %bb11.i.i.i.i, %bb10.i.i.i.i, %bb5.i.i.i.i, %bb5.i.i.i.i, %bb3.i.i.i.i, %bb3.i.i.i.i, %bb3.i.i.i.i, %bb3.i.i.i.i, %bb3.i.i | |
%fsm_driver.sroa.14.1.i.i = phi i8 [ %fsm_driver.sroa.14.0.i.i, %bb3.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb10.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb14.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb13.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb13.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb13.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb29.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb5.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb5.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb25.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb24.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb23.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb22.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb3.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb3.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb3.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb3.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb11.i.i.i.i ], [ %loop_reply.sroa.4.0.i.i, %bb15.i.i.i.i ], [ %fsm_driver.sroa.14.0.i.i, %bb27.i.i.i.i ] | |
%fsm_driver.sroa.10.1.i.i = phi i8 [ %fsm_driver.sroa.10.0.i.i, %bb3.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb10.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb14.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb13.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb13.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb13.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb29.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb5.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb5.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb25.i.i.i.i ], [ 1, %bb24.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb23.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb22.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb3.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb3.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb3.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb3.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb11.i.i.i.i ], [ %fsm_driver.sroa.10.0.i.i, %bb15.i.i.i.i ], [ 0, %bb27.i.i.i.i ] | |
%_0.sroa.22.0.i.i.i.i = phi i8 [ undef, %bb3.i.i ], [ undef, %bb10.i.i.i.i ], [ undef, %bb14.i.i.i.i ], [ undef, %bb13.i.i.i.i ], [ undef, %bb13.i.i.i.i ], [ undef, %bb13.i.i.i.i ], [ %loop_reply.sroa.4.0.i.i, %bb29.i.i.i.i ], [ %loop_reply.sroa.4.0.i.i, %bb5.i.i.i.i ], [ %loop_reply.sroa.4.0.i.i, %bb5.i.i.i.i ], [ %loop_reply.sroa.4.0.i.i, %bb25.i.i.i.i ], [ %loop_reply.sroa.4.0.i.i, %bb24.i.i.i.i ], [ %loop_reply.sroa.4.0.i.i, %bb23.i.i.i.i ], [ undef, %bb22.i.i.i.i ], [ undef, %bb3.i.i.i.i ], [ undef, %bb3.i.i.i.i ], [ undef, %bb3.i.i.i.i ], [ undef, %bb3.i.i.i.i ], [ undef, %bb11.i.i.i.i ], [ %fsm_driver.sroa.8.0.i.i, %bb15.i.i.i.i ], [ 119, %bb27.i.i.i.i ] | |
%_0.sroa.0.0.i.i.i.i = phi i16 [ 7, %bb3.i.i ], [ 6, %bb10.i.i.i.i ], [ 0, %bb14.i.i.i.i ], [ 0, %bb13.i.i.i.i ], [ 0, %bb13.i.i.i.i ], [ 0, %bb13.i.i.i.i ], [ 3, %bb29.i.i.i.i ], [ 5, %bb5.i.i.i.i ], [ 5, %bb5.i.i.i.i ], [ 1, %bb25.i.i.i.i ], [ 4, %bb24.i.i.i.i ], [ 4, %bb23.i.i.i.i ], [ 2, %bb22.i.i.i.i ], [ 0, %bb3.i.i.i.i ], [ 0, %bb3.i.i.i.i ], [ 0, %bb3.i.i.i.i ], [ 0, %bb3.i.i.i.i ], [ 0, %bb11.i.i.i.i ], [ 3, %bb15.i.i.i.i ], [ %..i.i, %bb27.i.i.i.i ] | |
%abi_cast.sroa.0.0.extract.trunc.i.i.i = trunc i16 %_0.sroa.0.0.i.i.i.i to i8 | |
%trunc.i.i.i = trunc i16 %_0.sroa.0.0.i.i.i.i to i3 | |
switch i3 %trunc.i.i.i, label %bb6.i15.i.i [ | |
i3 0, label %bb15.i.i | |
i3 1, label %bb7.i.i.i | |
i3 2, label %bb15.i.i | |
i3 3, label %bb8.i.i.i | |
i3 -4, label %bb10.i.i | |
i3 -3, label %bb10.i.i.i | |
i3 -2, label %bb3.i.i.i | |
i3 -1, label %bb6.i.i | |
] | |
bb6.i15.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
unreachable | |
bb7.i.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
%9 = icmp ult i8 %_0.sroa.22.0.i.i.i.i, -124 | |
br i1 %9, label %bb2.i43.i.i.i, label %bb10.i.i | |
bb2.i43.i.i.i: ; preds = %bb7.i.i.i | |
%10 = zext i8 %_0.sroa.22.0.i.i.i.i to i16 | |
%11 = getelementptr inbounds [132 x i8], [132 x i8]* @_ZN5at2xt6keyfsm6keymap11KEYCODE_LUT17h83274ebdf4727c78E, i16 0, i16 %10 | |
%12 = load i8, i8* %11, align 1, !noalias !195 | |
br label %bb10.i.i | |
bb8.i.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
%13 = icmp ult i8 %_0.sroa.22.0.i.i.i.i, -124 | |
br i1 %13, label %bb2.i.i.i.i, label %bb10.i.i | |
bb2.i.i.i.i: ; preds = %bb8.i.i.i | |
%14 = zext i8 %_0.sroa.22.0.i.i.i.i to i16 | |
%15 = getelementptr inbounds [132 x i8], [132 x i8]* @_ZN5at2xt6keyfsm6keymap11KEYCODE_LUT17h83274ebdf4727c78E, i16 0, i16 %14 | |
%16 = load i8, i8* %15, align 1, !noalias !195 | |
%phitmp.i.i.i = or i8 %16, -128 | |
br label %bb10.i.i | |
bb10.i.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
switch i8 %_0.sroa.22.0.i.i.i.i, label %bb3.i.i.i [ | |
i8 126, label %bb14.i.i.i | |
i8 119, label %bb9.i.i | |
i8 88, label %bb16.i.i.i | |
] | |
bb14.i.i.i: ; preds = %bb10.i.i.i | |
br label %bb9.i.i | |
bb16.i.i.i: ; preds = %bb10.i.i.i | |
br label %bb9.i.i | |
bb3.i.i.i: ; preds = %bb10.i.i.i, %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
; call core::result::unwrap_failed | |
call fastcc void @_ZN4core6result13unwrap_failed17h9e5f78c00d202781E() #5 | |
unreachable | |
bb6.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i | |
%17 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
store i8 0, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !199 | |
store i8 0, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !199 | |
%18 = and i16 %17, 8 | |
%19 = icmp eq i16 %18, 0 | |
br i1 %19, label %bb3.i.i, label %bb6.i18.i.i | |
bb6.i18.i.i: ; preds = %bb6.i.i | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %bb3.i.i | |
bb9.i.i: ; preds = %bb16.i.i.i, %bb14.i.i.i, %bb10.i.i.i | |
%.sink.i = phi i8 [ 1, %bb14.i.i.i ], [ 4, %bb16.i.i.i ], [ 2, %bb10.i.i.i ] | |
%20 = xor i8 %.sink.i, %fsm_driver.sroa.14.1.i.i | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17hcc43cc4f662417f9E(i8 -19) #5 | |
call void asm sideeffect "\0A1:\0A dec $0\0A jne 1b\0A ", "{r12},~{r12}"(i16 4800) #5, !srcloc !12 | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17hcc43cc4f662417f9E(i8 %20) #5 | |
br label %bb3.outer.i.i | |
bb10.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i, %bb2.i.i.i.i, %bb8.i.i.i, %bb2.i43.i.i.i, %bb7.i.i.i | |
%next_cmd.sroa.14.0.i.ph.i.ph.i = phi i8 [ 0, %bb7.i.i.i ], [ %12, %bb2.i43.i.i.i ], [ -128, %bb8.i.i.i ], [ %phitmp.i.i.i, %bb2.i.i.i.i ], [ %_0.sroa.22.0.i.i.i.i, %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i ] | |
; call at2xt::send_byte_to_pc | |
call fastcc void @_ZN5at2xt15send_byte_to_pc17h347cfc7490ff2c08E(i8 %next_cmd.sroa.14.0.i.ph.i.ph.i) #5 | |
br label %bb3.outer.i.i | |
bb15.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i, %_ZN5at2xt6keyfsm3Fsm10next_state17h4869a7430d9e0c5bE.exit.i.i.i, %_ZN6msp4309interrupt4free17hb716292a46fe0187E.exit.i.i | |
%21 = call i16 asm sideeffect "mov R2, $0", "=r"() #5, !srcloc !3 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
%22 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !202 | |
%23 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !202 | |
%24 = icmp eq i8 %22, %23 | |
%25 = and i16 %21, 8 | |
%26 = icmp eq i16 %25, 0 | |
br i1 %26, label %_ZN6msp4309interrupt4free17h1b6f9091805f14f0E.exit.i.i, label %bb6.i21.i.i | |
bb6.i21.i.i: ; preds = %bb15.i.i | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h1b6f9091805f14f0E.exit.i.i | |
_ZN6msp4309interrupt4free17h1b6f9091805f14f0E.exit.i.i: ; preds = %bb15.i.i, %bb6.i21.i.i | |
%27 = call i16 asm sideeffect "mov R2, $0", "=r"() #5 | |
call void asm sideeffect "dint { nop", "~{memory}"() #5 | |
br i1 %24, label %bb18.i.i, label %bb25.i.i | |
bb18.i.i: ; preds = %_ZN6msp4309interrupt4free17h1b6f9091805f14f0E.exit.i.i | |
%28 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !205 | |
%29 = and i8 %28, 2 | |
%30 = icmp eq i8 %29, 0 | |
%31 = and i16 %27, 8 | |
%32 = icmp eq i16 %31, 0 | |
br i1 %32, label %_ZN6msp4309interrupt4free17hb716292a46fe0187E.exit.i.i, label %bb6.i24.i.i | |
bb6.i24.i.i: ; preds = %bb18.i.i | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17hb716292a46fe0187E.exit.i.i | |
_ZN6msp4309interrupt4free17hb716292a46fe0187E.exit.i.i: ; preds = %bb18.i.i, %bb6.i24.i.i | |
br i1 %30, label %bb20.i.i, label %bb15.i.i | |
bb20.i.i: ; preds = %_ZN6msp4309interrupt4free17hb716292a46fe0187E.exit.i.i | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17hcc43cc4f662417f9E(i8 -1) #5 | |
; call at2xt::send_byte_to_pc | |
call fastcc void @_ZN5at2xt15send_byte_to_pc17h347cfc7490ff2c08E(i8 -86) #5 | |
br label %bb3.i.i | |
bb25.i.i: ; preds = %_ZN6msp4309interrupt4free17h1b6f9091805f14f0E.exit.i.i | |
%33 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !208, !noalias !213 | |
%34 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !208, !noalias !213 | |
%35 = icmp eq i8 %33, %34 | |
br i1 %35, label %bb1.i.i.i.i.i, label %bb3.i.i.i.i.i | |
bb3.i.i.i.i.i: ; preds = %bb25.i.i | |
%36 = zext i8 %33 to i16 | |
%37 = icmp ult i8 %33, 16 | |
br i1 %37, label %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17hf7725eebde0ddbf6E.exit.i.i.i", label %panic.i.i.i.i.i, !prof !162 | |
panic.i.i.i.i.i: ; preds = %bb3.i.i.i.i.i | |
; call core::panicking::panic_bounds_check | |
call fastcc void @_ZN4core9panicking18panic_bounds_check17hb2b74d1421107b88E(i16 %36, i16 16) #5 | |
unreachable | |
bb1.i.i.i.i.i: ; preds = %bb25.i.i | |
; call core::panicking::panic | |
call fastcc void @_ZN4core9panicking5panic17h98ab0a586d7538e5E({ [0 x i16], { [0 x i8]*, i16 }, [0 x i16], { [0 x i8]*, i16 }, [0 x i16], i32, [0 x i16], i32, [0 x i16] }* noalias readonly dereferenceable(16) bitcast ({ [0 x i8], { [0 x i8]*, i16 }, [0 x i8], { [0 x i8]*, i16 }, [0 x i8], i32, [0 x i8], i32, [0 x i8] }* @ref.2 to { [0 x i16], { [0 x i8]*, i16 }, [0 x i16], { [0 x i8]*, i16 }, [0 x i16], i32, [0 x i16], i32, [0 x i16] }*)) #5, !noalias !215 | |
unreachable | |
"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17hf7725eebde0ddbf6E.exit.i.i.i": ; preds = %bb3.i.i.i.i.i | |
%38 = getelementptr inbounds [16 x i16], [16 x i16]* bitcast ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E to [16 x i16]*), i16 0, i16 %36 | |
%39 = load i16, i16* %38, align 2, !alias.scope !218, !noalias !213 | |
%40 = add i8 %33, 1 | |
%41 = and i8 %40, 15 | |
store i8 %41, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }, { [0 x i8], { [0 x i8], { [0 x i8], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt9IN_BUFFER17h23c510f0cff1f466E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !218, !noalias !213 | |
%42 = and i16 %27, 8 | |
%43 = icmp eq i16 %42, 0 | |
br i1 %43, label %_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i, label %bb6.i.i.i | |
bb6.i.i.i: ; preds = %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17hf7725eebde0ddbf6E.exit.i.i.i" | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i | |
_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i: ; preds = %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17hf7725eebde0ddbf6E.exit.i.i.i", %bb6.i.i.i | |
%44 = lshr i16 %39, 2 | |
%45 = trunc i16 %44 to i8 | |
%v.07.i34.i.i = lshr i16 %39, 3 | |
%46 = trunc i16 %v.07.i34.i.i to i8 | |
%v.07.i.i.i = and i8 %46, 127 | |
%47 = icmp eq i8 %v.07.i.i.i, 0 | |
br i1 %47, label %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i", label %bb4.i.i.i | |
bb4.i.i.i: ; preds = %_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i, %bb4.i.i.i | |
%v.010.i.i.i = phi i8 [ %v.0.i.i.i, %bb4.i.i.i ], [ %v.07.i.i.i, %_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i ] | |
%r.09.i.i.i = phi i8 [ %50, %bb4.i.i.i ], [ %45, %_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i ] | |
%s.08.i.i.i = phi i16 [ %51, %bb4.i.i.i ], [ 7, %_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i ] | |
%48 = shl i8 %r.09.i.i.i, 1 | |
%49 = and i8 %v.010.i.i.i, 1 | |
%50 = or i8 %48, %49 | |
%51 = add nsw i16 %s.08.i.i.i, -1 | |
%v.0.i.i.i = lshr i8 %v.010.i.i.i, 1 | |
%52 = icmp eq i8 %v.0.i.i.i, 0 | |
br i1 %52, label %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i", label %bb4.i.i.i | |
"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc0aadff75f1ce514E.exit.i.i": ; preds = %bb4.i.i.i, %_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i | |
%s.0.lcssa.i.i.i = phi i16 [ 7, %_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i ], [ %51, %bb4.i.i.i ] | |
%r.0.lcssa.i.i.i = phi i8 [ %45, %_ZN6msp4309interrupt4free17h115f66655c4d6b39E.exit.i.i ], [ %50, %bb4.i.i.i ] | |
%53 = trunc i16 %s.0.lcssa.i.i.i to i8 | |
%54 = and i8 %53, 7 | |
%55 = shl i8 %r.0.lcssa.i.i.i, %54 | |
br label %bb3.outer.i.i | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @PORT2() unnamed_addr #3 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #5, !srcloc !219 | |
unreachable | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @TIMERA1() unnamed_addr #3 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #5, !srcloc !220 | |
unreachable | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @TIMERA0() unnamed_addr #3 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #5, !srcloc !221 | |
unreachable | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @WDT() unnamed_addr #3 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #5, !srcloc !222 | |
unreachable | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @COMPARATORA() unnamed_addr #3 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #5, !srcloc !223 | |
unreachable | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @NMI() unnamed_addr #3 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #5, !srcloc !224 | |
unreachable | |
} | |
; Function Attrs: nounwind optsize | |
define weak msp430_intrcc void @DEFAULT_HANDLER() unnamed_addr #1 { | |
br label %1 | |
; <label>:1: ; preds = %1, %0 | |
tail call void asm sideeffect "", "~{memory}"() #5, !srcloc !3 | |
br label %1 | |
} | |
; msp430_rt::reset_handler::trampoline | |
; Function Attrs: naked noreturn nounwind optsize | |
define internal msp430_intrcc void @_ZN9msp430_rt13reset_handler10trampoline17hbbef87ab866857d9E() unnamed_addr #4 section ".vector_table.reset_handler" { | |
tail call void asm sideeffect "mov #_stack_start, r1\0A br $0", "i"(void ()* nonnull @_ZN9msp430_rt13reset_handler17h03e25293d0265fc5E) #5, !srcloc !225 | |
unreachable | |
} | |
; msp430_rt::reset_handler | |
; Function Attrs: noreturn nounwind optsize | |
define internal void @_ZN9msp430_rt13reset_handler17h03e25293d0265fc5E() unnamed_addr #2 { | |
br i1 icmp ult (i16* @_sbss, i16* @_ebss), label %.preheader1, label %.loopexit2 | |
.preheader1: ; preds = %0, %.preheader1 | |
%1 = phi i16* [ %2, %.preheader1 ], [ @_sbss, %0 ] | |
store volatile i16 0, i16* %1, align 2 | |
%2 = getelementptr inbounds i16, i16* %1, i16 1 | |
%3 = icmp ult i16* %2, @_ebss | |
br i1 %3, label %.preheader1, label %.loopexit2 | |
.loopexit2: ; preds = %.preheader1, %0 | |
br i1 icmp ult (i16* @_sdata, i16* @_edata), label %.preheader, label %.loopexit | |
.preheader: ; preds = %.loopexit2, %.preheader | |
%4 = phi i16* [ %7, %.preheader ], [ @_sdata, %.loopexit2 ] | |
%5 = phi i16* [ %8, %.preheader ], [ @_sidata, %.loopexit2 ] | |
%6 = load i16, i16* %5, align 2 | |
store i16 %6, i16* %4, align 2 | |
%7 = getelementptr inbounds i16, i16* %4, i16 1 | |
%8 = getelementptr inbounds i16, i16* %5, i16 1 | |
%9 = icmp ult i16* %7, @_edata | |
br i1 %9, label %.preheader, label %.loopexit | |
.loopexit: ; preds = %.preheader, %.loopexit2 | |
%10 = tail call i16 @main(i16 undef, i8** undef) | |
unreachable | |
} | |
; core::panicking::panic_bounds_check | |
; Function Attrs: cold noinline noreturn nounwind optsize | |
define internal fastcc void @_ZN4core9panicking18panic_bounds_check17hb2b74d1421107b88E(i16, i16) unnamed_addr #0 { | |
; call core::panicking::panic_fmt | |
call fastcc void @_ZN4core9panicking9panic_fmt17hdb459387eb23255dE() | |
unreachable | |
} | |
; core::panicking::panic_fmt | |
; Function Attrs: cold noinline noreturn nounwind optsize | |
define internal fastcc void @_ZN4core9panicking9panic_fmt17hdb459387eb23255dE() unnamed_addr #0 { | |
call void asm sideeffect "dint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %1 | |
; <label>:1: ; preds = %1, %0 | |
call void asm sideeffect "", "~{memory}"() #5, !srcloc !3 | |
br label %1 | |
} | |
; core::panicking::panic | |
; Function Attrs: cold noinline noreturn nounwind optsize | |
define internal fastcc void @_ZN4core9panicking5panic17h98ab0a586d7538e5E({ [0 x i16], { [0 x i8]*, i16 }, [0 x i16], { [0 x i8]*, i16 }, [0 x i16], i32, [0 x i16], i32, [0 x i16] }* noalias nocapture readonly dereferenceable(16)) unnamed_addr #0 { | |
; call core::panicking::panic_fmt | |
call fastcc void @_ZN4core9panicking9panic_fmt17hdb459387eb23255dE() | |
unreachable | |
} | |
attributes #0 = { cold noinline noreturn nounwind optsize } | |
attributes #1 = { nounwind optsize } | |
attributes #2 = { noreturn nounwind optsize } | |
attributes #3 = { naked nounwind optsize } | |
attributes #4 = { naked noreturn nounwind optsize } | |
attributes #5 = { nounwind } | |
!0 = !{!1} | |
!1 = distinct !{!1, !2, !"_ZN6msp4309interrupt4free17h3d162a95ff2a947fE: %f.1"} | |
!2 = distinct !{!2, !"_ZN6msp4309interrupt4free17h3d162a95ff2a947fE"} | |
!3 = !{i32 0} | |
!4 = !{!5, !1} | |
!5 = distinct !{!5, !6, !"_ZN5at2xt11send_xt_bit28_$u7b$$u7b$closure$u7d$$u7d$17h396c18fd15698fbbE: %arg0.1"} | |
!6 = distinct !{!6, !"_ZN5at2xt11send_xt_bit28_$u7b$$u7b$closure$u7d$$u7d$17h396c18fd15698fbbE"} | |
!7 = !{!8, !10, !5, !1} | |
!8 = distinct !{!8, !9, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h84657ee21da7fc8cE: %f"} | |
!9 = distinct !{!9, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h84657ee21da7fc8cE"} | |
!10 = distinct !{!10, !11, !"_ZN5at2xt6driver3Pin5unset17hf4300654341619d0E: argument 0"} | |
!11 = distinct !{!11, !"_ZN5at2xt6driver3Pin5unset17hf4300654341619d0E"} | |
!12 = !{i32 28} | |
!13 = !{!14, !16} | |
!14 = distinct !{!14, !15, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE: %f"} | |
!15 = distinct !{!15, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE"} | |
!16 = distinct !{!16, !17, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E: argument 0"} | |
!17 = distinct !{!17, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E"} | |
!18 = !{!19} | |
!19 = distinct !{!19, !20, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E: %self"} | |
!20 = distinct !{!20, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E"} | |
!21 = !{!22} | |
!22 = distinct !{!22, !23, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E: %self"} | |
!23 = distinct !{!23, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E"} | |
!24 = !{!25, !27} | |
!25 = distinct !{!25, !26, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h82f44a3fb6950926E: %f"} | |
!26 = distinct !{!26, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h82f44a3fb6950926E"} | |
!27 = distinct !{!27, !28, !"_ZN5at2xt6driver12KeyboardPins6xt_out17h1dcc7522a19c15a1E: %self"} | |
!28 = distinct !{!28, !"_ZN5at2xt6driver12KeyboardPins6xt_out17h1dcc7522a19c15a1E"} | |
!29 = !{!30, !27} | |
!30 = distinct !{!30, !31, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hcb8389e2d9fc204eE: %f"} | |
!31 = distinct !{!31, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hcb8389e2d9fc204eE"} | |
!32 = !{!33, !35} | |
!33 = distinct !{!33, !34, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h8fb18031b51f8bfdE: %f"} | |
!34 = distinct !{!34, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h8fb18031b51f8bfdE"} | |
!35 = distinct !{!35, !36, !"_ZN5at2xt6driver12KeyboardPins5xt_in17h50d2a63a694c915dE: argument 0"} | |
!36 = distinct !{!36, !"_ZN5at2xt6driver12KeyboardPins5xt_in17h50d2a63a694c915dE"} | |
!37 = !{!38, !35} | |
!38 = distinct !{!38, !39, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h25cb3f78d725b0b3E: %f"} | |
!39 = distinct !{!39, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h25cb3f78d725b0b3E"} | |
!40 = !{!41} | |
!41 = distinct !{!41, !42, !"_ZN6msp4309interrupt4free17hb0a109fb6ea67a77E: %f.1"} | |
!42 = distinct !{!42, !"_ZN6msp4309interrupt4free17hb0a109fb6ea67a77E"} | |
!43 = !{!44, !46} | |
!44 = distinct !{!44, !45, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf114ea32f20c2bf1E: %self"} | |
!45 = distinct !{!45, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf114ea32f20c2bf1E"} | |
!46 = distinct !{!46, !47, !"_ZN5at2xt9keybuffer6KeyOut3put17hd7198803e0e28fbdE: %self"} | |
!47 = distinct !{!47, !"_ZN5at2xt9keybuffer6KeyOut3put17hd7198803e0e28fbdE"} | |
!48 = !{!49, !41} | |
!49 = distinct !{!49, !50, !"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17hfdf50c52870c6f57E: %arg0.1"} | |
!50 = distinct !{!50, !"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17hfdf50c52870c6f57E"} | |
!51 = !{!46} | |
!52 = !{!53, !55, !49, !41} | |
!53 = distinct !{!53, !54, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h505ca3f1a4eb6325E: %f"} | |
!54 = distinct !{!54, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h505ca3f1a4eb6325E"} | |
!55 = distinct !{!55, !56, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int17h6ae89a7884714669E: argument 0"} | |
!56 = distinct !{!56, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int17h6ae89a7884714669E"} | |
!57 = !{!58} | |
!58 = distinct !{!58, !59, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E: %self"} | |
!59 = distinct !{!59, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E"} | |
!60 = !{!61, !63} | |
!61 = distinct !{!61, !62, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h84657ee21da7fc8cE: %f"} | |
!62 = distinct !{!62, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h84657ee21da7fc8cE"} | |
!63 = distinct !{!63, !64, !"_ZN5at2xt6driver3Pin5unset17hf4300654341619d0E: argument 0"} | |
!64 = distinct !{!64, !"_ZN5at2xt6driver3Pin5unset17hf4300654341619d0E"} | |
!65 = !{!66, !68} | |
!66 = distinct !{!66, !67, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE: %f"} | |
!67 = distinct !{!67, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE"} | |
!68 = distinct !{!68, !69, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E: argument 0"} | |
!69 = distinct !{!69, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E"} | |
!70 = !{!71} | |
!71 = distinct !{!71, !72, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h3dee8720169907cfE: %f"} | |
!72 = distinct !{!72, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h3dee8720169907cfE"} | |
!73 = !{!74, !76} | |
!74 = distinct !{!74, !75, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h84657ee21da7fc8cE: %f"} | |
!75 = distinct !{!75, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h84657ee21da7fc8cE"} | |
!76 = distinct !{!76, !77, !"_ZN5at2xt6driver3Pin5unset17hf4300654341619d0E: argument 0"} | |
!77 = distinct !{!77, !"_ZN5at2xt6driver3Pin5unset17hf4300654341619d0E"} | |
!78 = !{!79, !81} | |
!79 = distinct !{!79, !80, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE: %f"} | |
!80 = distinct !{!80, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE"} | |
!81 = distinct !{!81, !82, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E: argument 0"} | |
!82 = distinct !{!82, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E"} | |
!83 = !{!84, !86} | |
!84 = distinct !{!84, !85, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hf044ebad77feb1bbE: %f"} | |
!85 = distinct !{!85, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hf044ebad77feb1bbE"} | |
!86 = distinct !{!86, !87, !"_ZN5at2xt6driver3Pin5mk_in17hd577f4ef175c8f51E: argument 0"} | |
!87 = distinct !{!87, !"_ZN5at2xt6driver3Pin5mk_in17hd577f4ef175c8f51E"} | |
!88 = !{!89, !91} | |
!89 = distinct !{!89, !90, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17h5aef6e855b02b8d4E: %f"} | |
!90 = distinct !{!90, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17h5aef6e855b02b8d4E"} | |
!91 = distinct !{!91, !92, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17h6eb7a464f5c73c0bE: argument 0"} | |
!92 = distinct !{!92, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17h6eb7a464f5c73c0bE"} | |
!93 = !{!94, !96} | |
!94 = distinct !{!94, !95, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17he6a8dcdf67e0163cE: %f"} | |
!95 = distinct !{!95, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17he6a8dcdf67e0163cE"} | |
!96 = distinct !{!96, !97, !"_ZN5at2xt6driver12KeyboardPins17enable_at_clk_int17hec20cb936e77d9d3E: argument 0"} | |
!97 = distinct !{!97, !"_ZN5at2xt6driver12KeyboardPins17enable_at_clk_int17hec20cb936e77d9d3E"} | |
!98 = !{!99} | |
!99 = distinct !{!99, !100, !"_ZN5at2xt13porta_handler17h93b8f0800b00ae74E: %r"} | |
!100 = distinct !{!100, !"_ZN5at2xt13porta_handler17h93b8f0800b00ae74E"} | |
!101 = !{!102} | |
!102 = distinct !{!102, !103, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf114ea32f20c2bf1E: %self"} | |
!103 = distinct !{!103, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf114ea32f20c2bf1E"} | |
!104 = !{!105, !99} | |
!105 = distinct !{!105, !106, !"_ZN5at2xt6driver3Pin6is_set17h3512994a98bd17ebE: %self"} | |
!106 = distinct !{!106, !"_ZN5at2xt6driver3Pin6is_set17h3512994a98bd17ebE"} | |
!107 = !{!108} | |
!108 = distinct !{!108, !109, !"_ZN5at2xt9keybuffer5KeyIn8shift_in17hb417c2b1b04b8bf7E: %self"} | |
!109 = distinct !{!109, !"_ZN5at2xt9keybuffer5KeyIn8shift_in17hb417c2b1b04b8bf7E"} | |
!110 = !{!111} | |
!111 = distinct !{!111, !112, !"_ZN5at2xt9keybuffer6KeyOut9shift_out17hd16eb344f1294a60E: %self"} | |
!112 = distinct !{!112, !"_ZN5at2xt9keybuffer6KeyOut9shift_out17hd16eb344f1294a60E"} | |
!113 = !{!114} | |
!114 = distinct !{!114, !115, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf114ea32f20c2bf1E: %self"} | |
!115 = distinct !{!115, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf114ea32f20c2bf1E"} | |
!116 = !{!117, !99} | |
!117 = distinct !{!117, !118, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E: %self"} | |
!118 = distinct !{!118, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E"} | |
!119 = !{!120, !122} | |
!120 = distinct !{!120, !121, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE: %f"} | |
!121 = distinct !{!121, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE"} | |
!122 = distinct !{!122, !123, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E: argument 0"} | |
!123 = distinct !{!123, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E"} | |
!124 = !{!125, !127} | |
!125 = distinct !{!125, !126, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE: %f"} | |
!126 = distinct !{!126, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE"} | |
!127 = distinct !{!127, !128, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E: argument 0"} | |
!128 = distinct !{!128, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E"} | |
!129 = !{!130} | |
!130 = distinct !{!130, !131, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h7faa0df85d743d92E: %f"} | |
!131 = distinct !{!131, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h7faa0df85d743d92E"} | |
!132 = !{!133} | |
!133 = distinct !{!133, !134, !"_ZN5at2xt9keybuffer6KeyOut5clear17h74cfb83a8f83e48eE: %self"} | |
!134 = distinct !{!134, !"_ZN5at2xt9keybuffer6KeyOut5clear17h74cfb83a8f83e48eE"} | |
!135 = !{!136, !138} | |
!136 = distinct !{!136, !137, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h84657ee21da7fc8cE: %f"} | |
!137 = distinct !{!137, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h84657ee21da7fc8cE"} | |
!138 = distinct !{!138, !139, !"_ZN5at2xt6driver3Pin5unset17hf4300654341619d0E: argument 0"} | |
!139 = distinct !{!139, !"_ZN5at2xt6driver3Pin5unset17hf4300654341619d0E"} | |
!140 = !{!141, !143} | |
!141 = distinct !{!141, !142, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE: %f"} | |
!142 = distinct !{!142, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE"} | |
!143 = distinct !{!143, !144, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E: argument 0"} | |
!144 = distinct !{!144, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E"} | |
!145 = !{!146} | |
!146 = distinct !{!146, !147, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h3dee8720169907cfE: %f"} | |
!147 = distinct !{!147, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h3dee8720169907cfE"} | |
!148 = !{!149, !151} | |
!149 = distinct !{!149, !150, !"_ZN5at2xt9keybuffer5KeyIn7is_full17hd8bb2a6a552176a3E: %self"} | |
!150 = distinct !{!150, !"_ZN5at2xt9keybuffer5KeyIn7is_full17hd8bb2a6a552176a3E"} | |
!151 = distinct !{!151, !152, !"_ZN5at2xt9keybuffer5KeyIn4take17ha87e9ccb4cfcc81bE: %self"} | |
!152 = distinct !{!152, !"_ZN5at2xt9keybuffer5KeyIn4take17ha87e9ccb4cfcc81bE"} | |
!153 = !{!154, !99} | |
!154 = distinct !{!154, !152, !"_ZN5at2xt9keybuffer5KeyIn4take17ha87e9ccb4cfcc81bE: argument 0"} | |
!155 = !{!156, !99} | |
!156 = distinct !{!156, !157, !"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hb46c7a3231a80e4dE: %self"} | |
!157 = distinct !{!157, !"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hb46c7a3231a80e4dE"} | |
!158 = !{!151} | |
!159 = !{!160} | |
!160 = distinct !{!160, !161, !"_ZN5at2xt9keybuffer13KeycodeBuffer3put17h51119db2c9e086a5E: %self"} | |
!161 = distinct !{!161, !"_ZN5at2xt9keybuffer13KeycodeBuffer3put17h51119db2c9e086a5E"} | |
!162 = !{!"branch_weights", i32 2000, i32 1} | |
!163 = !{!164} | |
!164 = distinct !{!164, !165, !"_ZN5at2xt9keybuffer5KeyIn5clear17h37601650227742acE: %self"} | |
!165 = distinct !{!165, !"_ZN5at2xt9keybuffer5KeyIn5clear17h37601650227742acE"} | |
!166 = !{!167, !169} | |
!167 = distinct !{!167, !168, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE: %f"} | |
!168 = distinct !{!168, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE"} | |
!169 = distinct !{!169, !170, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E: argument 0"} | |
!170 = distinct !{!170, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E"} | |
!171 = !{!172, !174} | |
!172 = distinct !{!172, !173, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE: %f"} | |
!173 = distinct !{!173, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17he72b9dab67725a7aE"} | |
!174 = distinct !{!174, !175, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E: argument 0"} | |
!175 = distinct !{!175, !"_ZN5at2xt6driver3Pin3set17h3975944ce91f8604E"} | |
!176 = !{!177} | |
!177 = distinct !{!177, !178, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h7faa0df85d743d92E: %f"} | |
!178 = distinct !{!178, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h7faa0df85d743d92E"} | |
!179 = !{!180, !182} | |
!180 = distinct !{!180, !181, !"_ZN5at2xt4init17hc947356c54254f57E: %p"} | |
!181 = distinct !{!181, !"_ZN5at2xt4init17hc947356c54254f57E"} | |
!182 = distinct !{!182, !181, !"_ZN5at2xt4init17hc947356c54254f57E: %r"} | |
!183 = !{!184, !180, !182} | |
!184 = distinct !{!184, !185, !"_ZN5at2xt6driver12KeyboardPins4idle17h05a73c86942344d9E: argument 0"} | |
!185 = distinct !{!185, !"_ZN5at2xt6driver12KeyboardPins4idle17h05a73c86942344d9E"} | |
!186 = !{!187, !184, !180, !182} | |
!187 = distinct !{!187, !188, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17h6763fdd55fb02c8aE: %f"} | |
!188 = distinct !{!188, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17h6763fdd55fb02c8aE"} | |
!189 = !{!190, !184, !180, !182} | |
!190 = distinct !{!190, !191, !"_ZN11msp430g22118port_1_25p1ies46_$LT$impl$u20$msp430g2211..port_1_2..P1IES$GT$6modify17ha7dd1c0e4ef75456E: %f"} | |
!191 = distinct !{!191, !"_ZN11msp430g22118port_1_25p1ies46_$LT$impl$u20$msp430g2211..port_1_2..P1IES$GT$6modify17ha7dd1c0e4ef75456E"} | |
!192 = !{!193, !184, !180, !182} | |
!193 = distinct !{!193, !194, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h58b9fe612446d363E: %f"} | |
!194 = distinct !{!194, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h58b9fe612446d363E"} | |
!195 = !{!196, !198} | |
!196 = distinct !{!196, !197, !"_ZN5at2xt6keyfsm3Fsm3run17h0cbf643f0a389311E: %self"} | |
!197 = distinct !{!197, !"_ZN5at2xt6keyfsm3Fsm3run17h0cbf643f0a389311E"} | |
!198 = distinct !{!198, !197, !"_ZN5at2xt6keyfsm3Fsm3run17h0cbf643f0a389311E: %curr_reply"} | |
!199 = !{!200} | |
!200 = distinct !{!200, !201, !"_ZN5at2xt9keybuffer13KeycodeBuffer5flush17h4035cc3a2625e099E: %self"} | |
!201 = distinct !{!201, !"_ZN5at2xt9keybuffer13KeycodeBuffer5flush17h4035cc3a2625e099E"} | |
!202 = !{!203} | |
!203 = distinct !{!203, !204, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17hb19d9b40e67a8678E: %self"} | |
!204 = distinct !{!204, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17hb19d9b40e67a8678E"} | |
!205 = !{!206} | |
!206 = distinct !{!206, !207, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E: %self"} | |
!207 = distinct !{!207, !"_ZN5at2xt6driver3Pin8is_unset17h5795a739ef43b432E"} | |
!208 = !{!209, !211} | |
!209 = distinct !{!209, !210, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17hb19d9b40e67a8678E: %self"} | |
!210 = distinct !{!210, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17hb19d9b40e67a8678E"} | |
!211 = distinct !{!211, !212, !"_ZN5at2xt9keybuffer13KeycodeBuffer4take17hf39707da694c2949E: %self"} | |
!212 = distinct !{!212, !"_ZN5at2xt9keybuffer13KeycodeBuffer4take17hf39707da694c2949E"} | |
!213 = !{!214} | |
!214 = distinct !{!214, !212, !"_ZN5at2xt9keybuffer13KeycodeBuffer4take17hf39707da694c2949E: argument 0"} | |
!215 = !{!216} | |
!216 = distinct !{!216, !217, !"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hb46c7a3231a80e4dE: %self"} | |
!217 = distinct !{!217, !"_ZN38_$LT$core..option..Option$LT$T$GT$$GT$6unwrap17hb46c7a3231a80e4dE"} | |
!218 = !{!211} | |
!219 = !{i32 3} | |
!220 = !{i32 4} | |
!221 = !{i32 5} | |
!222 = !{i32 6} | |
!223 = !{i32 7} | |
!224 = !{i32 8} | |
!225 = !{i32 2} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment