Last active
February 20, 2018 22:08
-
-
Save cr1901/459a5c5d1032aac2d16b9cf62b1c959e to your computer and use it in GitHub Desktop.
AT2XT LLVM IR compare
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 = 'at2xt0-872cc07d68305d39bbff84ac3dfd15da.rs' | |
source_filename = "at2xt0-872cc07d68305d39bbff84ac3dfd15da.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_LUT17hf5fa35200b3b8ae2E = 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 | |
@_ZN5at2xt7TIMEOUT17hba6367fa895c65ebE = internal global i8 0, align 1 | |
@_ZN5at2xt9HOST_MODE17he40a9ca556e9d16aE = internal global i8 0, align 1 | |
@_ZN5at2xt10DEVICE_ACK17hab6a8e2159c05eb1E = internal global i8 0, align 1 | |
@_ZN5at2xt9IN_BUFFER17hec6921f8a5936870E = 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_OUT17h5335232bc71752d3E.0 = internal unnamed_addr global i16 0, align 2 | |
@_ZN5at2xt7KEY_OUT17h5335232bc71752d3E.1 = internal unnamed_addr global i8 10, align 2 | |
@_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.0 = internal unnamed_addr global i16 0, align 2 | |
@_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.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_VECTOR17hd89315e52a7c1185E = internal constant void ()* @_ZN9msp430_rt13reset_handler10trampoline17h919d7c2d7bc2b722E, section ".vector_table.reset_vector", align 2 | |
@_ZN9msp430_rt4KEEP17h4dc86106831e632aE = 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_VECTOR17hd89315e52a7c1185E to i8*), i8* bitcast (void ()** @_ZN9msp430_rt4KEEP17h4dc86106831e632aE to i8*)], section "llvm.metadata" | |
; core::result::unwrap_failed | |
; Function Attrs: cold noinline noreturn nounwind optsize | |
define internal fastcc void @_ZN4core6result13unwrap_failed17hece67d574d10e3caE() unnamed_addr #0 { | |
start: | |
; call core::panicking::panic_fmt | |
call fastcc void @_ZN4core9panicking9panic_fmt17h82d3568bc13c41f0E() | |
unreachable | |
} | |
; at2xt::send_xt_bit | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt11send_xt_bit17h34728a16be919cc9E(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 %_ZN6msp4309interrupt4free17h1a708e697eb3714dE.exit, label %bb6.i | |
bb6.i: ; preds = %start | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !noalias !0, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h1a708e697eb3714dE.exit | |
_ZN6msp4309interrupt4free17h1a708e697eb3714dE.exit: ; preds = %start, %bb6.i | |
; call at2xt::delay | |
call fastcc void @_ZN5at2xt5delay17h633819329be4b966E(i16 6) | |
%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 !12 | |
%12 = or i8 %11, 4 | |
store volatile i8 %12, i8* inttoptr (i16 33 to i8*), align 1, !noalias !12 | |
%13 = and i16 %10, 8 | |
%14 = icmp eq i16 %13, 0 | |
br i1 %14, label %_ZN6msp4309interrupt4free17ha471b0bddd92374bE.exit, label %bb6.i5 | |
bb6.i5: ; preds = %_ZN6msp4309interrupt4free17h1a708e697eb3714dE.exit | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17ha471b0bddd92374bE.exit | |
_ZN6msp4309interrupt4free17ha471b0bddd92374bE.exit: ; preds = %_ZN6msp4309interrupt4free17h1a708e697eb3714dE.exit, %bb6.i5 | |
ret void | |
} | |
; at2xt::send_byte_to_pc | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt15send_byte_to_pc17h19d1aaa30e6f50fcE(i8) unnamed_addr #1 { | |
start: | |
br label %bb1 | |
bb1: ; preds = %_ZN6msp4309interrupt4free17ha9dd8f11e33d0049E.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 !17 | |
%3 = and i8 %2, 4 | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h8824d62ac69e7997E.exit.i", label %bb5.i.i | |
bb5.i.i: ; preds = %bb1 | |
%5 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !20 | |
%6 = and i8 %5, 8 | |
%7 = icmp eq i8 %6, 0 | |
br label %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h8824d62ac69e7997E.exit.i" | |
"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h8824d62ac69e7997E.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 %_ZN6msp4309interrupt4free17ha9dd8f11e33d0049E.exit, label %bb6.i | |
bb6.i: ; preds = %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h8824d62ac69e7997E.exit.i" | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17ha9dd8f11e33d0049E.exit | |
_ZN6msp4309interrupt4free17ha9dd8f11e33d0049E.exit: ; preds = %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h8824d62ac69e7997E.exit.i", %bb6.i | |
br i1 %_0.0.i.i, label %bb1, label %bb2 | |
bb2: ; preds = %_ZN6msp4309interrupt4free17ha9dd8f11e33d0049E.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 !23 | |
%12 = or i8 %11, 12 | |
store volatile i8 %12, i8* inttoptr (i16 33 to i8*), align 1, !noalias !23 | |
%13 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !28 | |
%14 = or i8 %13, 12 | |
store volatile i8 %14, i8* inttoptr (i16 34 to i8*), align 2, !noalias !28 | |
%15 = and i16 %10, 8 | |
%16 = icmp eq i16 %15, 0 | |
br i1 %16, label %_ZN6msp4309interrupt4free17hcf4163cecf8c36caE.exit, label %bb6.i8 | |
bb6.i8: ; preds = %bb2 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17hcf4163cecf8c36caE.exit | |
_ZN6msp4309interrupt4free17hcf4163cecf8c36caE.exit: ; preds = %bb2, %bb6.i8 | |
; call at2xt::send_xt_bit | |
call fastcc void @_ZN5at2xt11send_xt_bit17h34728a16be919cc9E(i8 0) | |
; call at2xt::send_xt_bit | |
call fastcc void @_ZN5at2xt11send_xt_bit17h34728a16be919cc9E(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 !31 | |
%19 = or i8 %18, 8 | |
store volatile i8 %19, i8* inttoptr (i16 33 to i8*), align 1, !noalias !31 | |
%20 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !36 | |
%21 = and i8 %20, -13 | |
store volatile i8 %21, i8* inttoptr (i16 34 to i8*), align 2, !noalias !36 | |
%22 = and i16 %17, 8 | |
%23 = icmp eq i16 %22, 0 | |
br i1 %23, label %_ZN6msp4309interrupt4free17h7e30f546b08144e6E.exit, label %bb6.i10 | |
bb6.i10: ; preds = %bb11 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h7e30f546b08144e6E.exit | |
_ZN6msp4309interrupt4free17h7e30f546b08144e6E.exit: ; preds = %bb11, %bb6.i10 | |
ret void | |
bb13: ; preds = %_ZN6msp4309interrupt4free17hcf4163cecf8c36caE.exit, %bb13 | |
%byte.021 = phi i8 [ %0, %_ZN6msp4309interrupt4free17hcf4163cecf8c36caE.exit ], [ %26, %bb13 ] | |
%iter.sroa.0.020 = phi i32 [ 0, %_ZN6msp4309interrupt4free17hcf4163cecf8c36caE.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_bit17h34728a16be919cc9E(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_keyboard17h459b7ac19cfecf8fE(i8) unnamed_addr #1 { | |
start: | |
%1 = tail call i16 asm sideeffect "mov R2, $0", "=r"() #5, !noalias !39, !srcloc !3 | |
tail call void asm sideeffect "dint { nop", "~{memory}"() #5, !noalias !39, !srcloc !3 | |
%2 = load i8, i8* @_ZN5at2xt7KEY_OUT17h5335232bc71752d3E.1, align 2, !alias.scope !42, !noalias !47 | |
%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$17h856f604ba451c659E.exit.i" | |
bb3.i.i.i: ; preds = %start | |
; call core::result::unwrap_failed | |
tail call fastcc void @_ZN4core6result13unwrap_failed17hece67d574d10e3caE() #5, !noalias !47 | |
unreachable | |
"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h856f604ba451c659E.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_OUT17h5335232bc71752d3E.0, align 2, !alias.scope !50, !noalias !47 | |
store i8 0, i8* @_ZN5at2xt7KEY_OUT17h5335232bc71752d3E.1, align 2, !alias.scope !50, !noalias !47 | |
%15 = load volatile i8, i8* inttoptr (i16 37 to i8*), align 1, !noalias !51 | |
%16 = and i8 %15, -2 | |
store volatile i8 %16, i8* inttoptr (i16 37 to i8*), align 1, !noalias !51 | |
%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$17h856f604ba451c659E.exit.i" | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !noalias !39, !srcloc !3 | |
br label %bb2 | |
bb2: ; preds = %bb6.i, %"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h856f604ba451c659E.exit.i", %_ZN6msp4309interrupt4free17he9236f9ccbb8dfaaE.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 !56 | |
%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 %_ZN6msp4309interrupt4free17he9236f9ccbb8dfaaE.exit, label %bb6.i8 | |
bb6.i8: ; preds = %bb2 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17he9236f9ccbb8dfaaE.exit | |
_ZN6msp4309interrupt4free17he9236f9ccbb8dfaaE.exit: ; preds = %bb2, %bb6.i8 | |
br i1 %22, label %bb2, label %bb3 | |
bb3: ; preds = %_ZN6msp4309interrupt4free17he9236f9ccbb8dfaaE.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 !59 | |
%27 = and i8 %26, -2 | |
store volatile i8 %27, i8* inttoptr (i16 33 to i8*), align 1, !noalias !59 | |
%28 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !64 | |
%29 = or i8 %28, 16 | |
store volatile i8 %29, i8* inttoptr (i16 33 to i8*), align 1, !noalias !64 | |
%30 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !69 | |
%31 = or i8 %30, 17 | |
store volatile i8 %31, i8* inttoptr (i16 34 to i8*), align 2, !noalias !69 | |
%32 = and i16 %25, 8 | |
%33 = icmp eq i16 %32, 0 | |
br i1 %33, label %_ZN6msp4309interrupt4free17h1969168be3ca75d9E.exit, label %bb6.i10 | |
bb6.i10: ; preds = %bb3 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h1969168be3ca75d9E.exit | |
_ZN6msp4309interrupt4free17h1969168be3ca75d9E.exit: ; preds = %bb3, %bb6.i10 | |
; call at2xt::delay | |
call fastcc void @_ZN5at2xt5delay17h633819329be4b966E(i16 11) | |
%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 !72 | |
%36 = and i8 %35, -17 | |
store volatile i8 %36, i8* inttoptr (i16 33 to i8*), align 1, !noalias !72 | |
%37 = and i16 %34, 8 | |
%38 = icmp eq i16 %37, 0 | |
br i1 %38, label %_ZN6msp4309interrupt4free17h251c5652e0fddc33E.exit, label %bb6.i12 | |
bb6.i12: ; preds = %_ZN6msp4309interrupt4free17h1969168be3ca75d9E.exit | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17h251c5652e0fddc33E.exit | |
_ZN6msp4309interrupt4free17h251c5652e0fddc33E.exit: ; preds = %_ZN6msp4309interrupt4free17h1969168be3ca75d9E.exit, %bb6.i12 | |
; call at2xt::delay | |
call fastcc void @_ZN5at2xt5delay17h633819329be4b966E(i16 4) | |
%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 !77 | |
%41 = or i8 %40, 1 | |
store volatile i8 %41, i8* inttoptr (i16 33 to i8*), align 1, !noalias !77 | |
%42 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !82 | |
%43 = and i8 %42, -2 | |
store volatile i8 %43, i8* inttoptr (i16 34 to i8*), align 2, !noalias !82 | |
%44 = load volatile i8, i8* inttoptr (i16 35 to i8*), align 1, !noalias !87 | |
%45 = and i8 %44, -2 | |
store volatile i8 %45, i8* inttoptr (i16 35 to i8*), align 1, !noalias !87 | |
%46 = load volatile i8, i8* inttoptr (i16 37 to i8*), align 1, !noalias !92 | |
%47 = or i8 %46, 1 | |
store volatile i8 %47, i8* inttoptr (i16 37 to i8*), align 1, !noalias !92 | |
call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt9HOST_MODE17he40a9ca556e9d16aE, i8 1) #5, !srcloc !3 | |
call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt10DEVICE_ACK17hab6a8e2159c05eb1E, 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 = %_ZN6msp4309interrupt4free17h251c5652e0fddc33E.exit | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %bb13 | |
bb13: ; preds = %bb6.i14, %_ZN6msp4309interrupt4free17h251c5652e0fddc33E.exit, %bb13 | |
%50 = call i8 asm sideeffect "mov.b $1, $0", "=r,*m,~{memory}"(i8* nonnull @_ZN5at2xt10DEVICE_ACK17hab6a8e2159c05eb1E) #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_MODE17he40a9ca556e9d16aE, i8 0) #5, !srcloc !3 | |
ret void | |
} | |
; at2xt::delay | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt5delay17h633819329be4b966E(i16 %time) unnamed_addr #1 { | |
start: | |
%0 = tail call i16 asm sideeffect "mov R2, $0", "=r"() #5, !noalias !97, !srcloc !3 | |
tail call void asm sideeffect "dint { nop", "~{memory}"() #5, !noalias !97, !srcloc !3 | |
tail call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt7TIMEOUT17hba6367fa895c65ebE, i8 0) #5, !noalias !100, !srcloc !3 | |
store volatile i16 %time, i16* inttoptr (i16 370 to i16*), align 2, !noalias !103 | |
%1 = and i16 %0, 8 | |
%2 = icmp eq i16 %1, 0 | |
br i1 %2, label %bb2, label %bb6.i.i | |
bb6.i.i: ; preds = %start | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !noalias !97, !srcloc !3 | |
br label %bb2 | |
bb2: ; preds = %bb6.i.i, %start, %bb2 | |
%3 = call i8 asm sideeffect "mov.b $1, $0", "=r,*m,~{memory}"(i8* nonnull @_ZN5at2xt7TIMEOUT17hba6367fa895c65ebE) #5, !srcloc !3 | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %bb2, label %bb3 | |
bb3: ; preds = %bb2 | |
ret void | |
} | |
; Function Attrs: nounwind optsize | |
define msp430_intrcc void @TIMERA0() unnamed_addr #1 { | |
start: | |
tail call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt7TIMEOUT17hba6367fa895c65ebE, i8 1) #5, !srcloc !3 | |
store volatile i16 0, i16* inttoptr (i16 370 to i16*), align 2 | |
ret void | |
} | |
; 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_MODE17he40a9ca556e9d16aE) #5, !noalias !106, !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_OUT17h5335232bc71752d3E.1, align 2, !alias.scope !109, !noalias !106 | |
%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 !112 | |
%5 = lshr i8 %4, 4 | |
%.lobit = and i8 %5, 1 | |
%6 = zext i8 %.lobit to i16 | |
%7 = load i16, i16* @_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.0, align 2, !alias.scope !115, !noalias !106 | |
%8 = shl i16 %7, 1 | |
%9 = or i16 %6, %8 | |
store i16 %9, i16* @_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.0, align 2, !alias.scope !115, !noalias !106 | |
%10 = load i8, i8* @_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.1, align 2, !alias.scope !115, !noalias !106 | |
%11 = add i8 %10, 1 | |
store i8 %11, i8* @_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.1, align 2, !alias.scope !115, !noalias !106 | |
%12 = icmp ugt i8 %11, 10 | |
br i1 %12, label %bb41.i, label %_ZN5at2xt13porta_handler17hb3fdbb79c7fa5106E.exit | |
bb6.i: ; preds = %bb2.i | |
%13 = load i16, i16* @_ZN5at2xt7KEY_OUT17h5335232bc71752d3E.0, align 2, !alias.scope !118, !noalias !106 | |
%14 = and i16 %13, 1 | |
%15 = icmp ne i16 %14, 0 | |
%16 = lshr i16 %13, 1 | |
store i16 %16, i16* @_ZN5at2xt7KEY_OUT17h5335232bc71752d3E.0, align 2, !alias.scope !118, !noalias !106 | |
%17 = add i8 %2, 1 | |
store i8 %17, i8* @_ZN5at2xt7KEY_OUT17h5335232bc71752d3E.1, align 2, !alias.scope !118, !noalias !106 | |
%18 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !106 | |
%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 !106 | |
%21 = load i8, i8* @_ZN5at2xt7KEY_OUT17h5335232bc71752d3E.1, align 2, !alias.scope !121, !noalias !106 | |
%22 = icmp ugt i8 %21, 9 | |
br i1 %22, label %bb19.i, label %_ZN5at2xt13porta_handler17hb3fdbb79c7fa5106E.exit | |
bb7.i: ; preds = %bb2.i | |
%23 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !124 | |
%24 = and i8 %23, 16 | |
%25 = icmp eq i8 %24, 0 | |
br i1 %25, label %bb26.i, label %_ZN5at2xt13porta_handler17hb3fdbb79c7fa5106E.exit | |
bb19.i: ; preds = %bb6.i | |
%26 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !127 | |
%27 = or i8 %26, 1 | |
store volatile i8 %27, i8* inttoptr (i16 33 to i8*), align 1, !noalias !127 | |
%28 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !132 | |
%29 = or i8 %28, 16 | |
store volatile i8 %29, i8* inttoptr (i16 33 to i8*), align 1, !noalias !132 | |
%30 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !137 | |
%31 = and i8 %30, -18 | |
store volatile i8 %31, i8* inttoptr (i16 34 to i8*), align 2, !noalias !137 | |
br label %_ZN5at2xt13porta_handler17hb3fdbb79c7fa5106E.exit | |
bb26.i: ; preds = %bb7.i | |
tail call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt10DEVICE_ACK17hab6a8e2159c05eb1E, i8 1) #5, !noalias !106, !srcloc !3 | |
store i8 10, i8* @_ZN5at2xt7KEY_OUT17h5335232bc71752d3E.1, align 2, !alias.scope !140, !noalias !106 | |
store i16 0, i16* @_ZN5at2xt7KEY_OUT17h5335232bc71752d3E.0, align 2, !alias.scope !140, !noalias !106 | |
br label %_ZN5at2xt13porta_handler17hb3fdbb79c7fa5106E.exit | |
bb41.i: ; preds = %bb3.i | |
%32 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !143 | |
%33 = and i8 %32, -2 | |
store volatile i8 %33, i8* inttoptr (i16 33 to i8*), align 1, !noalias !143 | |
%34 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !148 | |
%35 = or i8 %34, 16 | |
store volatile i8 %35, i8* inttoptr (i16 33 to i8*), align 1, !noalias !148 | |
%36 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !153 | |
%37 = or i8 %36, 17 | |
store volatile i8 %37, i8* inttoptr (i16 34 to i8*), align 2, !noalias !153 | |
%38 = load i8, i8* @_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.1, align 2, !alias.scope !156, !noalias !161 | |
%39 = icmp ugt i8 %38, 10 | |
br i1 %39, label %bb49.i, label %bb50.i | |
bb49.i: ; preds = %bb41.i | |
store i8 0, i8* @_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.1, align 2, !alias.scope !163, !noalias !161 | |
%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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !164, !noalias !106 | |
%41 = zext i8 %40 to i16 | |
%42 = icmp ult i8 %40, 16 | |
br i1 %42, label %_ZN5at2xt9keybuffer13KeycodeBuffer3put17h75008d7ed377663fE.exit.i, label %panic.i.i, !prof !167 | |
panic.i.i: ; preds = %bb49.i | |
; call core::panicking::panic_bounds_check | |
tail call fastcc void @_ZN4core9panicking18panic_bounds_check17h4114071298e9f774E(i16 %41, i16 16) #5 | |
unreachable | |
_ZN5at2xt9keybuffer13KeycodeBuffer3put17h75008d7ed377663fE.exit.i: ; preds = %bb49.i | |
%43 = load i16, i16* @_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.0, align 2, !alias.scope !163, !noalias !161 | |
%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_BUFFER17hec6921f8a5936870E to [16 x i16]*), i16 0, i16 %41 | |
store i16 %43, i16* %44, align 2, !alias.scope !164, !noalias !106 | |
%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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !164, !noalias !106 | |
%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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !164, !noalias !106 | |
br label %bb50.i | |
bb50.i: ; preds = %_ZN5at2xt9keybuffer13KeycodeBuffer3put17h75008d7ed377663fE.exit.i, %bb41.i | |
store i8 0, i8* @_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.1, align 2, !alias.scope !168, !noalias !106 | |
store i16 0, i16* @_ZN5at2xt6KEY_IN17h7267a0a6095307cdE.0, align 2, !alias.scope !168, !noalias !106 | |
%48 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !171 | |
%49 = or i8 %48, 1 | |
store volatile i8 %49, i8* inttoptr (i16 33 to i8*), align 1, !noalias !171 | |
%50 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !176 | |
%51 = or i8 %50, 16 | |
store volatile i8 %51, i8* inttoptr (i16 33 to i8*), align 1, !noalias !176 | |
%52 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !181 | |
%53 = and i8 %52, -18 | |
store volatile i8 %53, i8* inttoptr (i16 34 to i8*), align 2, !noalias !181 | |
br label %_ZN5at2xt13porta_handler17hb3fdbb79c7fa5106E.exit | |
_ZN5at2xt13porta_handler17hb3fdbb79c7fa5106E.exit: ; preds = %bb3.i, %bb6.i, %bb7.i, %bb19.i, %bb26.i, %bb50.i | |
%54 = load volatile i8, i8* inttoptr (i16 35 to i8*), align 1, !noalias !106 | |
%55 = and i8 %54, -2 | |
store volatile i8 %55, i8* inttoptr (i16 35 to i8*), align 1, !noalias !106 | |
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 !184 | |
store volatile i8 0, i8* inttoptr (i16 34 to i8*), align 2, !noalias !188 | |
%2 = load volatile i8, i8* inttoptr (i16 35 to i8*), align 1, !noalias !191 | |
%3 = and i8 %2, -2 | |
store volatile i8 %3, i8* inttoptr (i16 35 to i8*), align 1, !noalias !191 | |
%4 = load volatile i8, i8* inttoptr (i16 36 to i8*), align 4, !noalias !194 | |
%5 = or i8 %4, 1 | |
store volatile i8 %5, i8* inttoptr (i16 36 to i8*), align 4, !noalias !194 | |
%6 = load volatile i8, i8* inttoptr (i16 37 to i8*), align 1, !noalias !197 | |
%7 = or i8 %6, 1 | |
store volatile i8 %7, i8* inttoptr (i16 37 to i8*), align 1, !noalias !197 | |
store volatile i8 -120, i8* inttoptr (i16 87 to i8*), align 1, !noalias !184 | |
store volatile i8 4, i8* inttoptr (i16 88 to i8*), align 8, !noalias !184 | |
store volatile i16 0, i16* inttoptr (i16 370 to i16*), align 2, !noalias !184 | |
store volatile i16 656, i16* inttoptr (i16 352 to i16*), align 32, !noalias !184 | |
store volatile i16 16, i16* inttoptr (i16 354 to i16*), align 2, !noalias !184 | |
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_keyboard17h459b7ac19cfecf8fE(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_bits17hc5ff5f2443319117E.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_bits17hc5ff5f2443319117E.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_bits17hc5ff5f2443319117E.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_bits17hc5ff5f2443319117E.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_bits17hc5ff5f2443319117E.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_bits17hc5ff5f2443319117E.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_bits17hc5ff5f2443319117E.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_bits17hc5ff5f2443319117E.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_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.exit.i.i.i | |
i8 -6, label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.exit.i.i.i | |
i8 -2, label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.exit.i.i.i | |
i8 -18, label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.exit.i.i.i | |
i8 119, label %bb27.i.i.i.i | |
i8 88, label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.exit.i.i.i | |
i3 3, label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.exit.i.i.i | |
i3 -4, label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.exit.i.i.i | |
bb23.i.i.i.i: ; preds = %bb3.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.exit.i.i.i | |
bb24.i.i.i.i: ; preds = %bb3.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.exit.i.i.i | |
bb25.i.i.i.i: ; preds = %bb3.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.exit.i.i.i | |
bb29.i.i.i.i: ; preds = %bb5.i.i.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.exit.i.i.i | |
_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.exit.i.i.i | |
unreachable | |
bb7.i.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_LUT17hf5fa35200b3b8ae2E, i16 0, i16 %10 | |
%12 = load i8, i8* %11, align 1, !noalias !200 | |
br label %bb10.i.i | |
bb8.i.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_LUT17hf5fa35200b3b8ae2E, i16 0, i16 %14 | |
%16 = load i8, i8* %15, align 1, !noalias !200 | |
%phitmp.i.i.i = or i8 %16, -128 | |
br label %bb10.i.i | |
bb10.i.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.exit.i.i.i | |
; call core::result::unwrap_failed | |
call fastcc void @_ZN4core6result13unwrap_failed17hece67d574d10e3caE() #5 | |
unreachable | |
bb6.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !204 | |
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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !204 | |
%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_keyboard17h459b7ac19cfecf8fE(i8 -19) #5 | |
; call at2xt::delay | |
call fastcc void @_ZN5at2xt5delay17h633819329be4b966E(i16 301) #5 | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17h459b7ac19cfecf8fE(i8 %20) #5 | |
br label %bb3.outer.i.i | |
bb10.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.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_state17h8460ffec6e1eaee2E.exit.i.i.i ] | |
; call at2xt::send_byte_to_pc | |
call fastcc void @_ZN5at2xt15send_byte_to_pc17h19d1aaa30e6f50fcE(i8 %next_cmd.sroa.14.0.i.ph.i.ph.i) #5 | |
br label %bb3.outer.i.i | |
bb15.i.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.exit.i.i.i, %_ZN5at2xt6keyfsm3Fsm10next_state17h8460ffec6e1eaee2E.exit.i.i.i, %_ZN6msp4309interrupt4free17h68546b20a7fe0f51E.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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !207 | |
%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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !207 | |
%24 = icmp eq i8 %22, %23 | |
%25 = and i16 %21, 8 | |
%26 = icmp eq i16 %25, 0 | |
br i1 %26, label %_ZN6msp4309interrupt4free17h91c3ba435af9b8faE.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 %_ZN6msp4309interrupt4free17h91c3ba435af9b8faE.exit.i.i | |
_ZN6msp4309interrupt4free17h91c3ba435af9b8faE.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 = %_ZN6msp4309interrupt4free17h91c3ba435af9b8faE.exit.i.i | |
%28 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !210 | |
%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 %_ZN6msp4309interrupt4free17h68546b20a7fe0f51E.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 %_ZN6msp4309interrupt4free17h68546b20a7fe0f51E.exit.i.i | |
_ZN6msp4309interrupt4free17h68546b20a7fe0f51E.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 = %_ZN6msp4309interrupt4free17h68546b20a7fe0f51E.exit.i.i | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17h459b7ac19cfecf8fE(i8 -1) #5 | |
; call at2xt::send_byte_to_pc | |
call fastcc void @_ZN5at2xt15send_byte_to_pc17h19d1aaa30e6f50fcE(i8 -86) #5 | |
br label %bb3.i.i | |
bb25.i.i: ; preds = %_ZN6msp4309interrupt4free17h91c3ba435af9b8faE.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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !213, !noalias !218 | |
%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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !213, !noalias !218 | |
%35 = icmp eq i8 %33, %34 | |
br i1 %35, label %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h78073186484097f5E.exit.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 %bb4.i.i.i.i.i, label %panic.i.i.i.i.i, !prof !167 | |
bb4.i.i.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_BUFFER17hec6921f8a5936870E to [16 x i16]*), i16 0, i16 %36 | |
%39 = load i16, i16* %38, align 2, !alias.scope !220, !noalias !218 | |
%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_BUFFER17hec6921f8a5936870E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !220, !noalias !218 | |
br label %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h78073186484097f5E.exit.i.i.i" | |
panic.i.i.i.i.i: ; preds = %bb3.i.i.i.i.i | |
; call core::panicking::panic_bounds_check | |
call fastcc void @_ZN4core9panicking18panic_bounds_check17h4114071298e9f774E(i16 %36, i16 16) #5 | |
unreachable | |
"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h78073186484097f5E.exit.i.i.i": ; preds = %bb4.i.i.i.i.i, %bb25.i.i | |
%_3.sroa.0.0.i.i.i.i = phi i16 [ %39, %bb4.i.i.i.i.i ], [ 0, %bb25.i.i ] | |
%42 = and i16 %27, 8 | |
%43 = icmp eq i16 %42, 0 | |
br i1 %43, label %_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.exit.i.i, label %bb6.i.i.i | |
bb6.i.i.i: ; preds = %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h78073186484097f5E.exit.i.i.i" | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #5, !srcloc !3 | |
br label %_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.exit.i.i | |
_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.exit.i.i: ; preds = %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h78073186484097f5E.exit.i.i.i", %bb6.i.i.i | |
%44 = lshr i16 %_3.sroa.0.0.i.i.i.i, 2 | |
%45 = trunc i16 %44 to i8 | |
%v.07.i34.i.i = lshr i16 %_3.sroa.0.0.i.i.i.i, 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_bits17hc5ff5f2443319117E.exit.i.i", label %bb4.i.i.i | |
bb4.i.i.i: ; preds = %_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.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, %_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.exit.i.i ] | |
%r.09.i.i.i = phi i8 [ %50, %bb4.i.i.i ], [ %45, %_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.exit.i.i ] | |
%s.08.i.i.i = phi i16 [ %51, %bb4.i.i.i ], [ 7, %_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.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_bits17hc5ff5f2443319117E.exit.i.i", label %bb4.i.i.i | |
"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17hc5ff5f2443319117E.exit.i.i": ; preds = %bb4.i.i.i, %_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.exit.i.i | |
%s.0.lcssa.i.i.i = phi i16 [ 7, %_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.exit.i.i ], [ %51, %bb4.i.i.i ] | |
%r.0.lcssa.i.i.i = phi i8 [ %45, %_ZN6msp4309interrupt4free17hbd422bc4667f6f02E.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 !221 | |
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 !222 | |
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 !223 | |
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 !224 | |
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 !225 | |
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_handler10trampoline17h919d7c2d7bc2b722E() 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_handler17h3b3f14d30758a185E) #5, !srcloc !226 | |
unreachable | |
} | |
; msp430_rt::reset_handler | |
; Function Attrs: noreturn nounwind optsize | |
define internal void @_ZN9msp430_rt13reset_handler17h3b3f14d30758a185E() 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_check17h4114071298e9f774E(i16, i16) unnamed_addr #0 { | |
; call core::panicking::panic_fmt | |
call fastcc void @_ZN4core9panicking9panic_fmt17h82d3568bc13c41f0E() | |
unreachable | |
} | |
; core::panicking::panic_fmt | |
; Function Attrs: cold noinline noreturn nounwind optsize | |
define internal fastcc void @_ZN4core9panicking9panic_fmt17h82d3568bc13c41f0E() 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 | |
} | |
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, !"_ZN6msp4309interrupt4free17h1a708e697eb3714dE: %f.1"} | |
!2 = distinct !{!2, !"_ZN6msp4309interrupt4free17h1a708e697eb3714dE"} | |
!3 = !{i32 0} | |
!4 = !{!5, !1} | |
!5 = distinct !{!5, !6, !"_ZN5at2xt11send_xt_bit28_$u7b$$u7b$closure$u7d$$u7d$17h87b22ab4408c2f0bE: %arg0.1"} | |
!6 = distinct !{!6, !"_ZN5at2xt11send_xt_bit28_$u7b$$u7b$closure$u7d$$u7d$17h87b22ab4408c2f0bE"} | |
!7 = !{!8, !10, !5, !1} | |
!8 = distinct !{!8, !9, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hef4bdffaa7dc9b21E: %f"} | |
!9 = distinct !{!9, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hef4bdffaa7dc9b21E"} | |
!10 = distinct !{!10, !11, !"_ZN5at2xt6driver3Pin5unset17h0f91ec36c923f000E: argument 0"} | |
!11 = distinct !{!11, !"_ZN5at2xt6driver3Pin5unset17h0f91ec36c923f000E"} | |
!12 = !{!13, !15} | |
!13 = distinct !{!13, !14, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE: %f"} | |
!14 = distinct !{!14, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE"} | |
!15 = distinct !{!15, !16, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E: argument 0"} | |
!16 = distinct !{!16, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E"} | |
!17 = !{!18} | |
!18 = distinct !{!18, !19, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E: %self"} | |
!19 = distinct !{!19, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E"} | |
!20 = !{!21} | |
!21 = distinct !{!21, !22, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E: %self"} | |
!22 = distinct !{!22, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E"} | |
!23 = !{!24, !26} | |
!24 = distinct !{!24, !25, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hf2e7ce4554e3e3e9E: %f"} | |
!25 = distinct !{!25, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hf2e7ce4554e3e3e9E"} | |
!26 = distinct !{!26, !27, !"_ZN5at2xt6driver12KeyboardPins6xt_out17h6a74440cc3368a6fE: %self"} | |
!27 = distinct !{!27, !"_ZN5at2xt6driver12KeyboardPins6xt_out17h6a74440cc3368a6fE"} | |
!28 = !{!29, !26} | |
!29 = distinct !{!29, !30, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h308c90e8ced83887E: %f"} | |
!30 = distinct !{!30, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h308c90e8ced83887E"} | |
!31 = !{!32, !34} | |
!32 = distinct !{!32, !33, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hf08d428838581fc3E: %f"} | |
!33 = distinct !{!33, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hf08d428838581fc3E"} | |
!34 = distinct !{!34, !35, !"_ZN5at2xt6driver12KeyboardPins5xt_in17ha2fc9a8b905ab22fE: argument 0"} | |
!35 = distinct !{!35, !"_ZN5at2xt6driver12KeyboardPins5xt_in17ha2fc9a8b905ab22fE"} | |
!36 = !{!37, !34} | |
!37 = distinct !{!37, !38, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hd0de1ba3a1370e46E: %f"} | |
!38 = distinct !{!38, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hd0de1ba3a1370e46E"} | |
!39 = !{!40} | |
!40 = distinct !{!40, !41, !"_ZN6msp4309interrupt4free17h9a835609e5aec4b9E: %f.1"} | |
!41 = distinct !{!41, !"_ZN6msp4309interrupt4free17h9a835609e5aec4b9E"} | |
!42 = !{!43, !45} | |
!43 = distinct !{!43, !44, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf8ba1d7c3131156fE: %self"} | |
!44 = distinct !{!44, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf8ba1d7c3131156fE"} | |
!45 = distinct !{!45, !46, !"_ZN5at2xt9keybuffer6KeyOut3put17h22a5c9609cbab387E: %self"} | |
!46 = distinct !{!46, !"_ZN5at2xt9keybuffer6KeyOut3put17h22a5c9609cbab387E"} | |
!47 = !{!48, !40} | |
!48 = distinct !{!48, !49, !"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h856f604ba451c659E: %arg0.1"} | |
!49 = distinct !{!49, !"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h856f604ba451c659E"} | |
!50 = !{!45} | |
!51 = !{!52, !54, !48, !40} | |
!52 = distinct !{!52, !53, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17he96f06529043d566E: %f"} | |
!53 = distinct !{!53, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17he96f06529043d566E"} | |
!54 = distinct !{!54, !55, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int17h9f1378b862138268E: argument 0"} | |
!55 = distinct !{!55, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int17h9f1378b862138268E"} | |
!56 = !{!57} | |
!57 = distinct !{!57, !58, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E: %self"} | |
!58 = distinct !{!58, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E"} | |
!59 = !{!60, !62} | |
!60 = distinct !{!60, !61, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hef4bdffaa7dc9b21E: %f"} | |
!61 = distinct !{!61, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hef4bdffaa7dc9b21E"} | |
!62 = distinct !{!62, !63, !"_ZN5at2xt6driver3Pin5unset17h0f91ec36c923f000E: argument 0"} | |
!63 = distinct !{!63, !"_ZN5at2xt6driver3Pin5unset17h0f91ec36c923f000E"} | |
!64 = !{!65, !67} | |
!65 = distinct !{!65, !66, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE: %f"} | |
!66 = distinct !{!66, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE"} | |
!67 = distinct !{!67, !68, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E: argument 0"} | |
!68 = distinct !{!68, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E"} | |
!69 = !{!70} | |
!70 = distinct !{!70, !71, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hd3451b2cb2c20675E: %f"} | |
!71 = distinct !{!71, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hd3451b2cb2c20675E"} | |
!72 = !{!73, !75} | |
!73 = distinct !{!73, !74, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hef4bdffaa7dc9b21E: %f"} | |
!74 = distinct !{!74, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hef4bdffaa7dc9b21E"} | |
!75 = distinct !{!75, !76, !"_ZN5at2xt6driver3Pin5unset17h0f91ec36c923f000E: argument 0"} | |
!76 = distinct !{!76, !"_ZN5at2xt6driver3Pin5unset17h0f91ec36c923f000E"} | |
!77 = !{!78, !80} | |
!78 = distinct !{!78, !79, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE: %f"} | |
!79 = distinct !{!79, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE"} | |
!80 = distinct !{!80, !81, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E: argument 0"} | |
!81 = distinct !{!81, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E"} | |
!82 = !{!83, !85} | |
!83 = distinct !{!83, !84, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hadf42ca0a575354eE: %f"} | |
!84 = distinct !{!84, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hadf42ca0a575354eE"} | |
!85 = distinct !{!85, !86, !"_ZN5at2xt6driver3Pin5mk_in17h57eedb63f7806745E: argument 0"} | |
!86 = distinct !{!86, !"_ZN5at2xt6driver3Pin5mk_in17h57eedb63f7806745E"} | |
!87 = !{!88, !90} | |
!88 = distinct !{!88, !89, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17h8f90a95fc0d15828E: %f"} | |
!89 = distinct !{!89, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17h8f90a95fc0d15828E"} | |
!90 = distinct !{!90, !91, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17hee39c6ad9d8dc401E: argument 0"} | |
!91 = distinct !{!91, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17hee39c6ad9d8dc401E"} | |
!92 = !{!93, !95} | |
!93 = distinct !{!93, !94, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h51dbc140d2cea061E: %f"} | |
!94 = distinct !{!94, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h51dbc140d2cea061E"} | |
!95 = distinct !{!95, !96, !"_ZN5at2xt6driver12KeyboardPins17enable_at_clk_int17h7ab0cb9b7f12f70aE: argument 0"} | |
!96 = distinct !{!96, !"_ZN5at2xt6driver12KeyboardPins17enable_at_clk_int17h7ab0cb9b7f12f70aE"} | |
!97 = !{!98} | |
!98 = distinct !{!98, !99, !"_ZN6msp4309interrupt4free17hf161e3699fdcfde1E: %f.1"} | |
!99 = distinct !{!99, !"_ZN6msp4309interrupt4free17hf161e3699fdcfde1E"} | |
!100 = !{!101, !98} | |
!101 = distinct !{!101, !102, !"_ZN5at2xt11start_timer28_$u7b$$u7b$closure$u7d$$u7d$17h0c59564d762992a9E: %arg0.1"} | |
!102 = distinct !{!102, !"_ZN5at2xt11start_timer28_$u7b$$u7b$closure$u7d$$u7d$17h0c59564d762992a9E"} | |
!103 = !{!104, !101, !98} | |
!104 = distinct !{!104, !105, !"_ZN11msp430g22118timer_a26taccr047_$LT$impl$u20$msp430g2211..timer_a2..TACCR0$GT$5write17h156a8e418900a53aE: %f"} | |
!105 = distinct !{!105, !"_ZN11msp430g22118timer_a26taccr047_$LT$impl$u20$msp430g2211..timer_a2..TACCR0$GT$5write17h156a8e418900a53aE"} | |
!106 = !{!107} | |
!107 = distinct !{!107, !108, !"_ZN5at2xt13porta_handler17hb3fdbb79c7fa5106E: %r"} | |
!108 = distinct !{!108, !"_ZN5at2xt13porta_handler17hb3fdbb79c7fa5106E"} | |
!109 = !{!110} | |
!110 = distinct !{!110, !111, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf8ba1d7c3131156fE: %self"} | |
!111 = distinct !{!111, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf8ba1d7c3131156fE"} | |
!112 = !{!113, !107} | |
!113 = distinct !{!113, !114, !"_ZN5at2xt6driver3Pin6is_set17hb97bb1b1bac18208E: %self"} | |
!114 = distinct !{!114, !"_ZN5at2xt6driver3Pin6is_set17hb97bb1b1bac18208E"} | |
!115 = !{!116} | |
!116 = distinct !{!116, !117, !"_ZN5at2xt9keybuffer5KeyIn8shift_in17h0c53970a3592b665E: %self"} | |
!117 = distinct !{!117, !"_ZN5at2xt9keybuffer5KeyIn8shift_in17h0c53970a3592b665E"} | |
!118 = !{!119} | |
!119 = distinct !{!119, !120, !"_ZN5at2xt9keybuffer6KeyOut9shift_out17h94c95983ef850b98E: %self"} | |
!120 = distinct !{!120, !"_ZN5at2xt9keybuffer6KeyOut9shift_out17h94c95983ef850b98E"} | |
!121 = !{!122} | |
!122 = distinct !{!122, !123, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf8ba1d7c3131156fE: %self"} | |
!123 = distinct !{!123, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hf8ba1d7c3131156fE"} | |
!124 = !{!125, !107} | |
!125 = distinct !{!125, !126, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E: %self"} | |
!126 = distinct !{!126, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E"} | |
!127 = !{!128, !130} | |
!128 = distinct !{!128, !129, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE: %f"} | |
!129 = distinct !{!129, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE"} | |
!130 = distinct !{!130, !131, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E: argument 0"} | |
!131 = distinct !{!131, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E"} | |
!132 = !{!133, !135} | |
!133 = distinct !{!133, !134, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE: %f"} | |
!134 = distinct !{!134, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE"} | |
!135 = distinct !{!135, !136, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E: argument 0"} | |
!136 = distinct !{!136, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E"} | |
!137 = !{!138} | |
!138 = distinct !{!138, !139, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17heb10f4be7496aa53E: %f"} | |
!139 = distinct !{!139, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17heb10f4be7496aa53E"} | |
!140 = !{!141} | |
!141 = distinct !{!141, !142, !"_ZN5at2xt9keybuffer6KeyOut5clear17h909da2b06b1b55e3E: %self"} | |
!142 = distinct !{!142, !"_ZN5at2xt9keybuffer6KeyOut5clear17h909da2b06b1b55e3E"} | |
!143 = !{!144, !146} | |
!144 = distinct !{!144, !145, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hef4bdffaa7dc9b21E: %f"} | |
!145 = distinct !{!145, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hef4bdffaa7dc9b21E"} | |
!146 = distinct !{!146, !147, !"_ZN5at2xt6driver3Pin5unset17h0f91ec36c923f000E: argument 0"} | |
!147 = distinct !{!147, !"_ZN5at2xt6driver3Pin5unset17h0f91ec36c923f000E"} | |
!148 = !{!149, !151} | |
!149 = distinct !{!149, !150, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE: %f"} | |
!150 = distinct !{!150, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE"} | |
!151 = distinct !{!151, !152, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E: argument 0"} | |
!152 = distinct !{!152, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E"} | |
!153 = !{!154} | |
!154 = distinct !{!154, !155, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hd3451b2cb2c20675E: %f"} | |
!155 = distinct !{!155, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17hd3451b2cb2c20675E"} | |
!156 = !{!157, !159} | |
!157 = distinct !{!157, !158, !"_ZN5at2xt9keybuffer5KeyIn7is_full17h757d02d13f46359dE: %self"} | |
!158 = distinct !{!158, !"_ZN5at2xt9keybuffer5KeyIn7is_full17h757d02d13f46359dE"} | |
!159 = distinct !{!159, !160, !"_ZN5at2xt9keybuffer5KeyIn4take17hc3f707ce6bb5df72E: %self"} | |
!160 = distinct !{!160, !"_ZN5at2xt9keybuffer5KeyIn4take17hc3f707ce6bb5df72E"} | |
!161 = !{!162, !107} | |
!162 = distinct !{!162, !160, !"_ZN5at2xt9keybuffer5KeyIn4take17hc3f707ce6bb5df72E: argument 0"} | |
!163 = !{!159} | |
!164 = !{!165} | |
!165 = distinct !{!165, !166, !"_ZN5at2xt9keybuffer13KeycodeBuffer3put17h75008d7ed377663fE: %self"} | |
!166 = distinct !{!166, !"_ZN5at2xt9keybuffer13KeycodeBuffer3put17h75008d7ed377663fE"} | |
!167 = !{!"branch_weights", i32 2000, i32 1} | |
!168 = !{!169} | |
!169 = distinct !{!169, !170, !"_ZN5at2xt9keybuffer5KeyIn5clear17hd6306982273c160dE: %self"} | |
!170 = distinct !{!170, !"_ZN5at2xt9keybuffer5KeyIn5clear17hd6306982273c160dE"} | |
!171 = !{!172, !174} | |
!172 = distinct !{!172, !173, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE: %f"} | |
!173 = distinct !{!173, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE"} | |
!174 = distinct !{!174, !175, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E: argument 0"} | |
!175 = distinct !{!175, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E"} | |
!176 = !{!177, !179} | |
!177 = distinct !{!177, !178, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE: %f"} | |
!178 = distinct !{!178, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h1d660d712ba0efddE"} | |
!179 = distinct !{!179, !180, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E: argument 0"} | |
!180 = distinct !{!180, !"_ZN5at2xt6driver3Pin3set17h79f53515d92aa9c4E"} | |
!181 = !{!182} | |
!182 = distinct !{!182, !183, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17heb10f4be7496aa53E: %f"} | |
!183 = distinct !{!183, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17heb10f4be7496aa53E"} | |
!184 = !{!185, !187} | |
!185 = distinct !{!185, !186, !"_ZN5at2xt4init17h8bc2a11aa2dadb01E: %p"} | |
!186 = distinct !{!186, !"_ZN5at2xt4init17h8bc2a11aa2dadb01E"} | |
!187 = distinct !{!187, !186, !"_ZN5at2xt4init17h8bc2a11aa2dadb01E: %r"} | |
!188 = !{!189, !185, !187} | |
!189 = distinct !{!189, !190, !"_ZN5at2xt6driver12KeyboardPins4idle17h83c5daa78f254ad7E: argument 0"} | |
!190 = distinct !{!190, !"_ZN5at2xt6driver12KeyboardPins4idle17h83c5daa78f254ad7E"} | |
!191 = !{!192, !189, !185, !187} | |
!192 = distinct !{!192, !193, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17hc408da19872446beE: %f"} | |
!193 = distinct !{!193, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17hc408da19872446beE"} | |
!194 = !{!195, !189, !185, !187} | |
!195 = distinct !{!195, !196, !"_ZN11msp430g22118port_1_25p1ies46_$LT$impl$u20$msp430g2211..port_1_2..P1IES$GT$6modify17h24ad5a660c9ec0b4E: %f"} | |
!196 = distinct !{!196, !"_ZN11msp430g22118port_1_25p1ies46_$LT$impl$u20$msp430g2211..port_1_2..P1IES$GT$6modify17h24ad5a660c9ec0b4E"} | |
!197 = !{!198, !189, !185, !187} | |
!198 = distinct !{!198, !199, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h45d24d00bcabf1d2E: %f"} | |
!199 = distinct !{!199, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h45d24d00bcabf1d2E"} | |
!200 = !{!201, !203} | |
!201 = distinct !{!201, !202, !"_ZN5at2xt6keyfsm3Fsm3run17hfe2d07343f80d783E: %self"} | |
!202 = distinct !{!202, !"_ZN5at2xt6keyfsm3Fsm3run17hfe2d07343f80d783E"} | |
!203 = distinct !{!203, !202, !"_ZN5at2xt6keyfsm3Fsm3run17hfe2d07343f80d783E: %curr_reply"} | |
!204 = !{!205} | |
!205 = distinct !{!205, !206, !"_ZN5at2xt9keybuffer13KeycodeBuffer5flush17hb85bd620167bbd0bE: %self"} | |
!206 = distinct !{!206, !"_ZN5at2xt9keybuffer13KeycodeBuffer5flush17hb85bd620167bbd0bE"} | |
!207 = !{!208} | |
!208 = distinct !{!208, !209, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17h744de7a72ed770b1E: %self"} | |
!209 = distinct !{!209, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17h744de7a72ed770b1E"} | |
!210 = !{!211} | |
!211 = distinct !{!211, !212, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E: %self"} | |
!212 = distinct !{!212, !"_ZN5at2xt6driver3Pin8is_unset17h236171e93de038d9E"} | |
!213 = !{!214, !216} | |
!214 = distinct !{!214, !215, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17h744de7a72ed770b1E: %self"} | |
!215 = distinct !{!215, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17h744de7a72ed770b1E"} | |
!216 = distinct !{!216, !217, !"_ZN5at2xt9keybuffer13KeycodeBuffer4take17hf130d909b8da9401E: %self"} | |
!217 = distinct !{!217, !"_ZN5at2xt9keybuffer13KeycodeBuffer4take17hf130d909b8da9401E"} | |
!218 = !{!219} | |
!219 = distinct !{!219, !217, !"_ZN5at2xt9keybuffer13KeycodeBuffer4take17hf130d909b8da9401E: argument 0"} | |
!220 = !{!216} | |
!221 = !{i32 3} | |
!222 = !{i32 4} | |
!223 = !{i32 6} | |
!224 = !{i32 7} | |
!225 = !{i32 8} | |
!226 = !{i32 2} |
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 = 'at2xt0-647076b93390d68df3f10d3366a44522.rs' | |
source_filename = "at2xt0-647076b93390d68df3f10d3366a44522.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" | |
%"msp430g2211::Peripherals" = type { [0 x i16], %"msp430g2211::SPECIAL_FUNCTION"*, [0 x i16], %"msp430g2211::COMPARATOR_A"*, [0 x i16], %"msp430g2211::PORT_1_2"*, [0 x i16], %"msp430g2211::FLASH"*, [0 x i16], %"msp430g2211::WATCHDOG_TIMER"*, [0 x i16], %"msp430g2211::SYSTEM_CLOCK"*, [0 x i16], %"msp430g2211::TIMER_A2"*, [0 x i16], { i8, i8 }*, [0 x i16] } | |
%"msp430g2211::SPECIAL_FUNCTION" = type { [0 x i8], %"msp430g2211::special_function::RegisterBlock", [0 x i8] } | |
%"msp430g2211::special_function::RegisterBlock" = type { [0 x i8], i8, [0 x i8], [1 x i8], [0 x i8], i8, [0 x i8] } | |
%"msp430g2211::COMPARATOR_A" = type { [0 x i8], %"msp430g2211::comparator_a::RegisterBlock", [0 x i8] } | |
%"msp430g2211::comparator_a::RegisterBlock" = type { [0 x i8], [1 x i8], [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] } | |
%"msp430g2211::PORT_1_2" = type { [0 x i8], %"msp430g2211::port_1_2::RegisterBlock", [0 x i8] } | |
%"msp430g2211::port_1_2::RegisterBlock" = type { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] } | |
%"msp430g2211::FLASH" = type { [0 x i16], %"msp430g2211::flash::RegisterBlock", [0 x i16] } | |
%"msp430g2211::flash::RegisterBlock" = type { [0 x i16], i16, [0 x i16], i16, [0 x i16], i16, [0 x i16] } | |
%"msp430g2211::WATCHDOG_TIMER" = type { [0 x i16], %"msp430g2211::watchdog_timer::RegisterBlock", [0 x i16] } | |
%"msp430g2211::watchdog_timer::RegisterBlock" = type { [0 x i16], i16, [0 x i16] } | |
%"msp430g2211::SYSTEM_CLOCK" = type { [0 x i8], %"msp430g2211::system_clock::RegisterBlock", [0 x i8] } | |
%"msp430g2211::system_clock::RegisterBlock" = type { [0 x i8], [1 x i8], [0 x i8], i8, [0 x i8], [2 x i8], [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] } | |
%"msp430g2211::TIMER_A2" = type { [0 x i16], %"msp430g2211::timer_a2::RegisterBlock", [0 x i16] } | |
%"msp430g2211::timer_a2::RegisterBlock" = type { [0 x i16], i16, [0 x i8], [48 x i8], [0 x i8], i16, [0 x i16], i16, [0 x i16], i16, [0 x i8], [10 x i8], [0 x i8], i16, [0 x i16], i16, [0 x i16], i16, [0 x i16] } | |
%_initResources = type { [0 x i16], %"static_ref::Static<driver::KeyboardPins>"*, [0 x i16], %"static_ref::Static<keybuffer::KeycodeBuffer>"*, [0 x i16], { i16, i8 }*, [0 x i16], { i16, i8 }*, [0 x i16] } | |
%"static_ref::Static<driver::KeyboardPins>" = type { [0 x i8], %"driver::KeyboardPins", [0 x i8] } | |
%"driver::KeyboardPins" = type { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] } | |
%"static_ref::Static<keybuffer::KeycodeBuffer>" = type { [0 x i16], %"keybuffer::KeycodeBuffer", [0 x i16] } | |
%"keybuffer::KeycodeBuffer" = type { [0 x i16], [16 x i16], [0 x i8], i8, [0 x i8], i8, [0 x i8] } | |
@_ZN5at2xt6keyfsm6keymap11KEYCODE_LUT17hd2a2e89289bf8e5bE = 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 | |
@_ZN5at2xt7TIMEOUT17h83cd8770e29451d6E = internal global i8 0, align 1 | |
@_ZN5at2xt9HOST_MODE17hce70b3616da68440E = internal global i8 0, align 1 | |
@_ZN5at2xt10DEVICE_ACK17hdae858d936b7fb26E = internal global i8 0, align 1 | |
@_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E = internal global { i16, i8 } zeroinitializer, align 2 | |
@_ZN5at2xt7KEY_OUT17h32046a878965574fE = internal global { i16, i8 } { i16 0, i8 10 }, align 2 | |
@_ZN5at2xt9IN_BUFFER17h3ce96c3c43c3e6d6E = internal 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 | |
@_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E = internal global { [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] } { [0 x i8] undef, { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] } { [0 x i8] undef, i8 0, [0 x i8] undef, i8 4, [0 x i8] undef, i8 2, [0 x i8] undef, i8 3, [0 x i8] undef, i8 1, [0 x i8] undef }, [0 x i8] undef }, [0 x i8] undef }, align 1 | |
@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_VECTOR17hde3e5103417d5752E = internal constant void ()* @_ZN9msp430_rt13reset_handler10trampoline17h4fb15eb8d7985f9dE, section ".vector_table.reset_vector", align 2 | |
@_ZN9msp430_rt4KEEP17h98f7f5159dd9a21eE = 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_VECTOR17hde3e5103417d5752E to i8*), i8* bitcast (void ()** @_ZN9msp430_rt4KEEP17h98f7f5159dd9a21eE to i8*)], section "llvm.metadata" | |
; core::result::unwrap_failed | |
; Function Attrs: cold noinline noreturn nounwind optsize | |
define internal fastcc void @_ZN4core6result13unwrap_failed17hc9b5851d08fd968eE() unnamed_addr #0 { | |
start: | |
; call core::panicking::panic_fmt | |
call fastcc void @_ZN4core9panicking9panic_fmt17h13cf1b86bcd276a6E() | |
unreachable | |
} | |
; at2xt::init | |
; Function Attrs: norecurse nounwind optsize | |
define internal fastcc void @_ZN5at2xt4init17h4ecbfb266b542af1E(%"msp430g2211::Peripherals"* noalias nocapture readonly dereferenceable(16) %p, %_initResources* noalias nocapture readonly dereferenceable(8) %r) unnamed_addr #1 { | |
start: | |
%0 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %p, i16 0, i32 9 | |
%1 = bitcast %"msp430g2211::WATCHDOG_TIMER"** %0 to %"msp430g2211::watchdog_timer::RegisterBlock"** | |
%2 = load %"msp430g2211::watchdog_timer::RegisterBlock"*, %"msp430g2211::watchdog_timer::RegisterBlock"** %1, align 2, !nonnull !0 | |
%3 = getelementptr inbounds %"msp430g2211::watchdog_timer::RegisterBlock", %"msp430g2211::watchdog_timer::RegisterBlock"* %2, i16 0, i32 0, i16 0 | |
store volatile i16 23168, i16* %3, align 2 | |
%4 = bitcast %_initResources* %r to %"driver::KeyboardPins"** | |
%5 = load %"driver::KeyboardPins"*, %"driver::KeyboardPins"** %4, align 2, !nonnull !0 | |
%6 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %p, i16 0, i32 5 | |
%7 = load %"msp430g2211::PORT_1_2"*, %"msp430g2211::PORT_1_2"** %6, align 2, !nonnull !0 | |
%8 = getelementptr inbounds %"msp430g2211::PORT_1_2", %"msp430g2211::PORT_1_2"* %7, i16 0, i32 1, i32 5 | |
store volatile i8 0, i8* %8, align 1, !noalias !1 | |
%9 = getelementptr inbounds %"msp430g2211::PORT_1_2", %"msp430g2211::PORT_1_2"* %7, i16 0, i32 1, i32 7 | |
%10 = load volatile i8, i8* %9, align 1, !noalias !4 | |
%11 = getelementptr inbounds %"driver::KeyboardPins", %"driver::KeyboardPins"* %5, i16 0, i32 0, i16 0 | |
%12 = load i8, i8* %11, align 1, !alias.scope !7, !noalias !10 | |
%13 = and i8 %12, 7 | |
%14 = shl i8 1, %13 | |
%15 = xor i8 %14, -1 | |
%16 = and i8 %10, %15 | |
store volatile i8 %16, i8* %9, align 1, !noalias !4 | |
%17 = getelementptr inbounds %"msp430g2211::PORT_1_2", %"msp430g2211::PORT_1_2"* %7, i16 0, i32 1, i32 9 | |
%18 = load volatile i8, i8* %17, align 1, !noalias !15 | |
%19 = or i8 %18, %14 | |
store volatile i8 %19, i8* %17, align 1, !noalias !15 | |
%20 = getelementptr inbounds %"msp430g2211::PORT_1_2", %"msp430g2211::PORT_1_2"* %7, i16 0, i32 1, i32 11 | |
%21 = load volatile i8, i8* %20, align 1, !noalias !18 | |
%22 = or i8 %21, %14 | |
store volatile i8 %22, i8* %20, align 1, !noalias !18 | |
%23 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %p, i16 0, i32 11 | |
%24 = load %"msp430g2211::SYSTEM_CLOCK"*, %"msp430g2211::SYSTEM_CLOCK"** %23, align 2, !nonnull !0 | |
%25 = getelementptr inbounds %"msp430g2211::SYSTEM_CLOCK", %"msp430g2211::SYSTEM_CLOCK"* %24, i16 0, i32 1, i32 9 | |
store volatile i8 -120, i8* %25, align 1 | |
%26 = getelementptr inbounds %"msp430g2211::SYSTEM_CLOCK", %"msp430g2211::SYSTEM_CLOCK"* %24, i16 0, i32 1, i32 11 | |
store volatile i8 4, i8* %26, align 1 | |
%27 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %p, i16 0, i32 13 | |
%28 = load %"msp430g2211::TIMER_A2"*, %"msp430g2211::TIMER_A2"** %27, align 2, !nonnull !0 | |
%29 = getelementptr inbounds %"msp430g2211::TIMER_A2", %"msp430g2211::TIMER_A2"* %28, i16 0, i32 1, i32 15 | |
store volatile i16 0, i16* %29, align 2 | |
%30 = getelementptr inbounds %"msp430g2211::TIMER_A2", %"msp430g2211::TIMER_A2"* %28, i16 0, i32 1, i32 5 | |
store volatile i16 656, i16* %30, align 2 | |
%31 = getelementptr inbounds %"msp430g2211::TIMER_A2", %"msp430g2211::TIMER_A2"* %28, i16 0, i32 1, i32 7 | |
store volatile i16 16, i16* %31, align 2 | |
ret void | |
} | |
; at2xt::idle | |
; Function Attrs: noreturn nounwind optsize | |
define internal fastcc void @_ZN5at2xt4idle17hf375741b8480bb02E() unnamed_addr #2 { | |
start: | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17h4b442f1bfb7caa2aE(i8 -1) | |
br label %bb3.outer | |
bb3.outer: ; preds = %bb3.outer.backedge, %start | |
%fsm_driver.sroa.14.0.ph = phi i8 [ 0, %start ], [ %fsm_driver.sroa.14.1, %bb3.outer.backedge ] | |
%fsm_driver.sroa.10.0.ph = phi i8 [ 0, %start ], [ %fsm_driver.sroa.10.1, %bb3.outer.backedge ] | |
%fsm_driver.sroa.8.0.ph = phi i8 [ undef, %start ], [ %_0.sroa.22.0.i.i, %bb3.outer.backedge ] | |
%fsm_driver.sroa.0.0.ph = phi i8 [ 0, %start ], [ %next_state.sroa.0.0.extract.trunc.i, %bb3.outer.backedge ] | |
%loop_reply.sroa.4.0.ph = phi i8 [ 0, %start ], [ %loop_reply.sroa.4.0.ph.be, %bb3.outer.backedge ] | |
%loop_reply.sroa.0.0.ph = phi i3 [ 0, %start ], [ %loop_reply.sroa.0.0.ph.be, %bb3.outer.backedge ] | |
%_14.sroa.8.0.ph = phi i8 [ undef, %start ], [ %loop_reply.sroa.4.0.ph.be, %bb3.outer.backedge ] | |
br label %bb3 | |
bb3: ; preds = %bb3.backedge, %bb3.outer | |
%fsm_driver.sroa.14.0 = phi i8 [ %fsm_driver.sroa.14.0.ph, %bb3.outer ], [ %fsm_driver.sroa.14.1, %bb3.backedge ] | |
%fsm_driver.sroa.10.0 = phi i8 [ %fsm_driver.sroa.10.0.ph, %bb3.outer ], [ %fsm_driver.sroa.10.1, %bb3.backedge ] | |
%fsm_driver.sroa.8.0 = phi i8 [ %fsm_driver.sroa.8.0.ph, %bb3.outer ], [ %_0.sroa.22.0.i.i, %bb3.backedge ] | |
%fsm_driver.sroa.0.0 = phi i8 [ %fsm_driver.sroa.0.0.ph, %bb3.outer ], [ %next_state.sroa.0.0.extract.trunc.i, %bb3.backedge ] | |
%loop_reply.sroa.4.0 = phi i8 [ %loop_reply.sroa.4.0.ph, %bb3.outer ], [ %_14.sroa.8.0.ph, %bb3.backedge ] | |
%loop_reply.sroa.0.0 = phi i3 [ %loop_reply.sroa.0.0.ph, %bb3.outer ], [ %loop_reply.sroa.0.0.be, %bb3.backedge ] | |
switch i3 %loop_reply.sroa.0.0, label %bb16.i.i [ | |
i3 0, label %bb11.i.i | |
i3 1, label %bb12.i.i | |
i3 2, label %bb13.i.i | |
i3 3, label %bb14.i.i | |
i3 -4, label %bb15.i.i | |
i3 -3, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
] | |
bb3.i.i: ; preds = %bb12.i.i | |
switch i8 %loop_reply.sroa.4.0, label %bb25.i.i [ | |
i8 -86, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
i8 -6, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
i8 -2, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
i8 -18, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
i8 -16, label %bb22.i.i | |
i8 -32, label %bb23.i.i | |
i8 -31, label %bb24.i.i | |
] | |
bb5.i.i: ; preds = %bb12.i.i | |
switch i8 %loop_reply.sroa.4.0, label %bb29.i.i [ | |
i8 126, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
i8 119, label %bb27.i.i | |
i8 88, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
] | |
bb10.i.i: ; preds = %bb15.i.i, %bb14.i.i, %bb13.i.i, %bb12.i.i, %bb11.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
bb11.i.i: ; preds = %bb3 | |
%cond3.i.i = icmp eq i8 %fsm_driver.sroa.0.0, 0 | |
br i1 %cond3.i.i, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i, label %bb10.i.i | |
bb12.i.i: ; preds = %bb3 | |
%trunc23.i.i = trunc i8 %fsm_driver.sroa.0.0 to i3 | |
switch i3 %trunc23.i.i, label %bb10.i.i [ | |
i3 0, label %bb3.i.i | |
i3 2, label %bb5.i.i | |
] | |
bb13.i.i: ; preds = %bb3 | |
%trunc22.i.i = trunc i8 %fsm_driver.sroa.0.0 to i3 | |
switch i3 %trunc22.i.i, label %bb10.i.i [ | |
i3 1, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
i3 3, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
i3 -4, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
] | |
bb14.i.i: ; preds = %bb3 | |
%cond2.i.i = icmp eq i8 %fsm_driver.sroa.0.0, 7 | |
br i1 %cond2.i.i, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i, label %bb10.i.i | |
bb15.i.i: ; preds = %bb3 | |
%cond.i.i = icmp eq i8 %fsm_driver.sroa.0.0, 5 | |
br i1 %cond.i.i, label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i, label %bb10.i.i | |
bb16.i.i: ; preds = %bb3 | |
unreachable | |
bb22.i.i: ; preds = %bb3.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
bb23.i.i: ; preds = %bb3.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
bb24.i.i: ; preds = %bb3.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
bb25.i.i: ; preds = %bb3.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
bb27.i.i: ; preds = %bb5.i.i | |
%0 = icmp eq i8 %fsm_driver.sroa.10.0, 0 | |
%spec.select = select i1 %0, i16 5, i16 3 | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
bb29.i.i: ; preds = %bb5.i.i | |
br label %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i: ; preds = %bb27.i.i, %bb15.i.i, %bb29.i.i, %bb25.i.i, %bb24.i.i, %bb23.i.i, %bb22.i.i, %bb14.i.i, %bb13.i.i, %bb13.i.i, %bb13.i.i, %bb11.i.i, %bb10.i.i, %bb5.i.i, %bb5.i.i, %bb3.i.i, %bb3.i.i, %bb3.i.i, %bb3.i.i, %bb3 | |
%fsm_driver.sroa.14.1 = phi i8 [ %fsm_driver.sroa.14.0, %bb3 ], [ %fsm_driver.sroa.14.0, %bb10.i.i ], [ %fsm_driver.sroa.14.0, %bb14.i.i ], [ %fsm_driver.sroa.14.0, %bb13.i.i ], [ %fsm_driver.sroa.14.0, %bb13.i.i ], [ %fsm_driver.sroa.14.0, %bb13.i.i ], [ %fsm_driver.sroa.14.0, %bb29.i.i ], [ %fsm_driver.sroa.14.0, %bb5.i.i ], [ %fsm_driver.sroa.14.0, %bb5.i.i ], [ %fsm_driver.sroa.14.0, %bb25.i.i ], [ %fsm_driver.sroa.14.0, %bb24.i.i ], [ %fsm_driver.sroa.14.0, %bb23.i.i ], [ %fsm_driver.sroa.14.0, %bb22.i.i ], [ %fsm_driver.sroa.14.0, %bb3.i.i ], [ %fsm_driver.sroa.14.0, %bb3.i.i ], [ %fsm_driver.sroa.14.0, %bb3.i.i ], [ %fsm_driver.sroa.14.0, %bb3.i.i ], [ %fsm_driver.sroa.14.0, %bb11.i.i ], [ %loop_reply.sroa.4.0, %bb15.i.i ], [ %fsm_driver.sroa.14.0, %bb27.i.i ] | |
%fsm_driver.sroa.10.1 = phi i8 [ %fsm_driver.sroa.10.0, %bb3 ], [ %fsm_driver.sroa.10.0, %bb10.i.i ], [ %fsm_driver.sroa.10.0, %bb14.i.i ], [ %fsm_driver.sroa.10.0, %bb13.i.i ], [ %fsm_driver.sroa.10.0, %bb13.i.i ], [ %fsm_driver.sroa.10.0, %bb13.i.i ], [ %fsm_driver.sroa.10.0, %bb29.i.i ], [ %fsm_driver.sroa.10.0, %bb5.i.i ], [ %fsm_driver.sroa.10.0, %bb5.i.i ], [ %fsm_driver.sroa.10.0, %bb25.i.i ], [ 1, %bb24.i.i ], [ %fsm_driver.sroa.10.0, %bb23.i.i ], [ %fsm_driver.sroa.10.0, %bb22.i.i ], [ %fsm_driver.sroa.10.0, %bb3.i.i ], [ %fsm_driver.sroa.10.0, %bb3.i.i ], [ %fsm_driver.sroa.10.0, %bb3.i.i ], [ %fsm_driver.sroa.10.0, %bb3.i.i ], [ %fsm_driver.sroa.10.0, %bb11.i.i ], [ %fsm_driver.sroa.10.0, %bb15.i.i ], [ 0, %bb27.i.i ] | |
%_0.sroa.22.0.i.i = phi i8 [ undef, %bb3 ], [ undef, %bb10.i.i ], [ undef, %bb14.i.i ], [ undef, %bb13.i.i ], [ undef, %bb13.i.i ], [ undef, %bb13.i.i ], [ %loop_reply.sroa.4.0, %bb29.i.i ], [ %loop_reply.sroa.4.0, %bb5.i.i ], [ %loop_reply.sroa.4.0, %bb5.i.i ], [ %loop_reply.sroa.4.0, %bb25.i.i ], [ -31, %bb24.i.i ], [ -32, %bb23.i.i ], [ undef, %bb22.i.i ], [ undef, %bb3.i.i ], [ undef, %bb3.i.i ], [ undef, %bb3.i.i ], [ undef, %bb3.i.i ], [ undef, %bb11.i.i ], [ %fsm_driver.sroa.8.0, %bb15.i.i ], [ 119, %bb27.i.i ] | |
%_0.sroa.0.0.i.i = phi i16 [ 7, %bb3 ], [ 6, %bb10.i.i ], [ 0, %bb14.i.i ], [ 0, %bb13.i.i ], [ 0, %bb13.i.i ], [ 0, %bb13.i.i ], [ 3, %bb29.i.i ], [ 5, %bb5.i.i ], [ 5, %bb5.i.i ], [ 1, %bb25.i.i ], [ 4, %bb24.i.i ], [ 4, %bb23.i.i ], [ 2, %bb22.i.i ], [ 0, %bb3.i.i ], [ 0, %bb3.i.i ], [ 0, %bb3.i.i ], [ 0, %bb3.i.i ], [ 0, %bb11.i.i ], [ 3, %bb15.i.i ], [ %spec.select, %bb27.i.i ] | |
%next_state.sroa.0.0.extract.trunc.i = trunc i16 %_0.sroa.0.0.i.i to i8 | |
%trunc.i = trunc i16 %_0.sroa.0.0.i.i to i3 | |
switch i3 %trunc.i, label %bb6.i16 [ | |
i3 0, label %bb15.preheader | |
i3 1, label %bb7.i | |
i3 2, label %bb15.preheader | |
i3 3, label %bb8.i | |
i3 -4, label %bb10 | |
i3 -3, label %bb10.i | |
i3 -2, label %bb3.i | |
i3 -1, label %bb6 | |
] | |
bb6.i16: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
unreachable | |
bb7.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
%1 = icmp ult i8 %_0.sroa.22.0.i.i, -124 | |
br i1 %1, label %bb2.i48.i, label %bb10 | |
bb2.i48.i: ; preds = %bb7.i | |
%2 = zext i8 %_0.sroa.22.0.i.i to i16 | |
%3 = getelementptr inbounds [132 x i8], [132 x i8]* @_ZN5at2xt6keyfsm6keymap11KEYCODE_LUT17hd2a2e89289bf8e5bE, i16 0, i16 %2 | |
%4 = load i8, i8* %3, align 1, !noalias !21 | |
br label %bb10 | |
bb8.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
%5 = icmp ult i8 %_0.sroa.22.0.i.i, -124 | |
br i1 %5, label %bb2.i.i, label %bb10 | |
bb2.i.i: ; preds = %bb8.i | |
%6 = zext i8 %_0.sroa.22.0.i.i to i16 | |
%7 = getelementptr inbounds [132 x i8], [132 x i8]* @_ZN5at2xt6keyfsm6keymap11KEYCODE_LUT17hd2a2e89289bf8e5bE, i16 0, i16 %6 | |
%8 = load i8, i8* %7, align 1, !noalias !21 | |
%phitmp.i17 = or i8 %8, -128 | |
br label %bb10 | |
bb10.i: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
switch i8 %_0.sroa.22.0.i.i, label %bb3.i [ | |
i8 126, label %bb14.i | |
i8 119, label %bb15.i | |
i8 88, label %bb16.i | |
] | |
bb14.i: ; preds = %bb10.i | |
%9 = xor i8 %fsm_driver.sroa.14.1, 1 | |
br label %bb9 | |
bb15.i: ; preds = %bb10.i | |
%10 = xor i8 %fsm_driver.sroa.14.1, 2 | |
br label %bb9 | |
bb16.i: ; preds = %bb10.i | |
%11 = xor i8 %fsm_driver.sroa.14.1, 4 | |
br label %bb9 | |
bb3.i: ; preds = %bb10.i, %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
; call core::result::unwrap_failed | |
call fastcc void @_ZN4core6result13unwrap_failed17hc9b5851d08fd968eE() #7 | |
unreachable | |
bb15.preheader: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i, %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
br label %bb15 | |
bb6: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i | |
%12 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !26 | |
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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !26 | |
%13 = and i16 %12, 8 | |
%14 = icmp eq i16 %13, 0 | |
br i1 %14, label %bb3.backedge, label %bb6.i19 | |
bb6.i19: ; preds = %bb6 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %bb3.backedge | |
bb9: ; preds = %bb14.i, %bb15.i, %bb16.i | |
%next_cmd.sroa.14.0.i.ph.ph78 = phi i8 [ %11, %bb16.i ], [ %10, %bb15.i ], [ %9, %bb14.i ] | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17h4b442f1bfb7caa2aE(i8 -19) #7 | |
; call at2xt::delay | |
call fastcc void @_ZN5at2xt5delay17h2b8f3f7d4ae21a2cE(i16 301) #7 | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17h4b442f1bfb7caa2aE(i8 %next_cmd.sroa.14.0.i.ph.ph78) #7 | |
br label %bb3.outer.backedge | |
bb10: ; preds = %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i, %bb2.i.i, %bb8.i, %bb2.i48.i, %bb7.i | |
%next_cmd.sroa.14.0.i.ph.ph = phi i8 [ 0, %bb7.i ], [ %4, %bb2.i48.i ], [ -128, %bb8.i ], [ %phitmp.i17, %bb2.i.i ], [ %_0.sroa.22.0.i.i, %_ZN5at2xt6keyfsm3Fsm10next_state17h93120ed1d52e9fd8E.exit.i ] | |
; call at2xt::send_byte_to_pc | |
call fastcc void @_ZN5at2xt15send_byte_to_pc17haa7b2bcafbfe1a80E(i8 %next_cmd.sroa.14.0.i.ph.ph) | |
br label %bb3.outer.backedge | |
bb15: ; preds = %bb15.preheader, %_ZN6msp4309interrupt4free17he6e6e3076bf510a9E.exit | |
%15 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
%16 = 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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !29 | |
%17 = 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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !29 | |
%18 = icmp eq i8 %16, %17 | |
%19 = and i16 %15, 8 | |
%20 = icmp eq i16 %19, 0 | |
br i1 %20, label %_ZN6msp4309interrupt4free17hfa6a2dd20499556fE.exit, label %bb6.i22 | |
bb6.i22: ; preds = %bb15 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17hfa6a2dd20499556fE.exit | |
_ZN6msp4309interrupt4free17hfa6a2dd20499556fE.exit: ; preds = %bb15, %bb6.i22 | |
%21 = call i16 asm sideeffect "mov R2, $0", "=r"() #7 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7 | |
br i1 %18, label %bb18, label %bb25 | |
bb18: ; preds = %_ZN6msp4309interrupt4free17hfa6a2dd20499556fE.exit | |
%22 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !32 | |
%23 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 9), align 1, !alias.scope !35 | |
%24 = and i8 %23, 7 | |
%25 = shl i8 1, %24 | |
%26 = and i8 %25, %22 | |
%27 = icmp eq i8 %26, 0 | |
%28 = and i16 %21, 8 | |
%29 = icmp eq i16 %28, 0 | |
br i1 %29, label %_ZN6msp4309interrupt4free17he6e6e3076bf510a9E.exit, label %bb6.i25 | |
bb6.i25: ; preds = %bb18 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17he6e6e3076bf510a9E.exit | |
_ZN6msp4309interrupt4free17he6e6e3076bf510a9E.exit: ; preds = %bb18, %bb6.i25 | |
br i1 %27, label %bb20, label %bb15 | |
bb20: ; preds = %_ZN6msp4309interrupt4free17he6e6e3076bf510a9E.exit | |
; call at2xt::send_byte_to_at_keyboard | |
call fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17h4b442f1bfb7caa2aE(i8 -1) | |
; call at2xt::send_byte_to_pc | |
call fastcc void @_ZN5at2xt15send_byte_to_pc17haa7b2bcafbfe1a80E(i8 -86) | |
br label %bb3.backedge | |
bb3.backedge: ; preds = %bb6.i19, %bb6, %bb20 | |
%loop_reply.sroa.0.0.be = phi i3 [ -3, %bb20 ], [ 3, %bb6 ], [ 3, %bb6.i19 ] | |
br label %bb3 | |
bb25: ; preds = %_ZN6msp4309interrupt4free17hfa6a2dd20499556fE.exit | |
%30 = 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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !38, !noalias !43 | |
%31 = 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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !38, !noalias !43 | |
%32 = icmp eq i8 %30, %31 | |
br i1 %32, label %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h654679e063eed051E.exit.i", label %bb3.i.i.i | |
bb3.i.i.i: ; preds = %bb25 | |
%33 = icmp ult i8 %30, 16 | |
%34 = zext i8 %30 to i16 | |
br i1 %33, label %35, label %panic.i.i.i, !prof !45 | |
panic.i.i.i: ; preds = %bb3.i.i.i | |
; call core::panicking::panic_bounds_check | |
call fastcc void @_ZN4core9panicking18panic_bounds_check17h477ddb5b7522dfeeE(i16 %34, i16 16) #7 | |
unreachable | |
; <label>:35: ; preds = %bb3.i.i.i | |
%36 = 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_BUFFER17h3ce96c3c43c3e6d6E to [16 x i16]*), i16 0, i16 %34 | |
%37 = load i16, i16* %36, align 2, !alias.scope !46, !noalias !43 | |
%38 = add i8 %30, 1 | |
%39 = and i8 %38, 15 | |
store i8 %39, 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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 3), align 2, !alias.scope !46, !noalias !43 | |
br label %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h654679e063eed051E.exit.i" | |
"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h654679e063eed051E.exit.i": ; preds = %35, %bb25 | |
%40 = phi i16 [ %37, %35 ], [ 0, %bb25 ] | |
%41 = and i16 %21, 8 | |
%42 = icmp eq i16 %41, 0 | |
br i1 %42, label %_ZN6msp4309interrupt4free17h209677cccb06f3a7E.exit, label %bb6.i | |
bb6.i: ; preds = %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h654679e063eed051E.exit.i" | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h209677cccb06f3a7E.exit | |
_ZN6msp4309interrupt4free17h209677cccb06f3a7E.exit: ; preds = %"_ZN5at2xt4idle28_$u7b$$u7b$closure$u7d$$u7d$17h654679e063eed051E.exit.i", %bb6.i | |
%43 = lshr i16 %40, 2 | |
%44 = trunc i16 %43 to i8 | |
%v.07.i35 = lshr i16 %40, 3 | |
%45 = trunc i16 %v.07.i35 to i8 | |
%v.07.i = and i8 %45, 127 | |
%46 = icmp eq i8 %v.07.i, 0 | |
br i1 %46, label %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17h5701bd66efa23263E.exit", label %bb4.i.preheader | |
bb4.i.preheader: ; preds = %_ZN6msp4309interrupt4free17h209677cccb06f3a7E.exit | |
br label %bb4.i | |
bb3.loopexit.i: ; preds = %bb4.i | |
%phitmp.i = trunc i16 %50 to i8 | |
%phitmp13.i = and i8 %phitmp.i, 7 | |
br label %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17h5701bd66efa23263E.exit" | |
bb4.i: ; preds = %bb4.i.preheader, %bb4.i | |
%v.010.i = phi i8 [ %v.0.i, %bb4.i ], [ %v.07.i, %bb4.i.preheader ] | |
%r.09.i = phi i8 [ %49, %bb4.i ], [ %44, %bb4.i.preheader ] | |
%s.08.i = phi i16 [ %50, %bb4.i ], [ 7, %bb4.i.preheader ] | |
%47 = shl i8 %r.09.i, 1 | |
%48 = and i8 %v.010.i, 1 | |
%49 = or i8 %47, %48 | |
%50 = add nsw i16 %s.08.i, -1 | |
%v.0.i = lshr i8 %v.010.i, 1 | |
%51 = icmp eq i8 %v.0.i, 0 | |
br i1 %51, label %bb3.loopexit.i, label %bb4.i | |
"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17h5701bd66efa23263E.exit": ; preds = %_ZN6msp4309interrupt4free17h209677cccb06f3a7E.exit, %bb3.loopexit.i | |
%s.0.lcssa.i = phi i8 [ 7, %_ZN6msp4309interrupt4free17h209677cccb06f3a7E.exit ], [ %phitmp13.i, %bb3.loopexit.i ] | |
%r.0.lcssa.i = phi i8 [ %44, %_ZN6msp4309interrupt4free17h209677cccb06f3a7E.exit ], [ %49, %bb3.loopexit.i ] | |
%52 = shl i8 %r.0.lcssa.i, %s.0.lcssa.i | |
br label %bb3.outer.backedge | |
bb3.outer.backedge: ; preds = %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17h5701bd66efa23263E.exit", %bb9, %bb10 | |
%loop_reply.sroa.4.0.ph.be = phi i8 [ %next_cmd.sroa.14.0.i.ph.ph, %bb10 ], [ %next_cmd.sroa.14.0.i.ph.ph78, %bb9 ], [ %52, %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17h5701bd66efa23263E.exit" ] | |
%loop_reply.sroa.0.0.ph.be = phi i3 [ 2, %bb10 ], [ -4, %bb9 ], [ 1, %"_ZN69_$LT$u8$u20$as$u20$bit_reverse..bitwise..BitwiseReverse$LT$u8$GT$$GT$9swap_bits17h5701bd66efa23263E.exit" ] | |
br label %bb3.outer | |
} | |
; at2xt::send_xt_bit | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt11send_xt_bit17hf22eb525dcc8e3acE(i8) unnamed_addr #3 { | |
start: | |
%1 = tail call i16 asm sideeffect "mov R2, $0", "=r"() #7, !noalias !47, !srcloc !25 | |
tail call void asm sideeffect "dint { nop", "~{memory}"() #7, !noalias !47, !srcloc !25 | |
%2 = icmp eq i8 %0, 1 | |
%3 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !50 | |
%4 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 7), align 1, !noalias !50 | |
%5 = and i8 %4, 7 | |
%6 = shl i8 1, %5 | |
%7 = xor i8 %6, -1 | |
%8 = and i8 %3, %7 | |
%9 = or i8 %6, %3 | |
%.sink = select i1 %2, i8 %9, i8 %8 | |
store volatile i8 %.sink, i8* inttoptr (i16 33 to i8*), align 1, !noalias !50 | |
%10 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !53 | |
%11 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !58, !noalias !61 | |
%12 = and i8 %11, 7 | |
%13 = shl i8 1, %12 | |
%14 = xor i8 %13, -1 | |
%15 = and i8 %10, %14 | |
store volatile i8 %15, i8* inttoptr (i16 33 to i8*), align 1, !noalias !53 | |
%16 = and i16 %1, 8 | |
%17 = icmp eq i16 %16, 0 | |
br i1 %17, label %_ZN6msp4309interrupt4free17h034ed1154a4cd22bE.exit, label %bb6.i | |
bb6.i: ; preds = %start | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !noalias !47, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h034ed1154a4cd22bE.exit | |
_ZN6msp4309interrupt4free17h034ed1154a4cd22bE.exit: ; preds = %start, %bb6.i | |
; call at2xt::delay | |
call fastcc void @_ZN5at2xt5delay17h2b8f3f7d4ae21a2cE(i16 6) | |
%18 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
%19 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !66 | |
%20 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !71, !noalias !74 | |
%21 = and i8 %20, 7 | |
%22 = shl i8 1, %21 | |
%23 = or i8 %22, %19 | |
store volatile i8 %23, i8* inttoptr (i16 33 to i8*), align 1, !noalias !66 | |
%24 = and i16 %18, 8 | |
%25 = icmp eq i16 %24, 0 | |
br i1 %25, label %_ZN6msp4309interrupt4free17h4273b4157ef35ea7E.exit, label %bb6.i5 | |
bb6.i5: ; preds = %_ZN6msp4309interrupt4free17h034ed1154a4cd22bE.exit | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h4273b4157ef35ea7E.exit | |
_ZN6msp4309interrupt4free17h4273b4157ef35ea7E.exit: ; preds = %_ZN6msp4309interrupt4free17h034ed1154a4cd22bE.exit, %bb6.i5 | |
ret void | |
} | |
; at2xt::send_byte_to_pc | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt15send_byte_to_pc17haa7b2bcafbfe1a80E(i8) unnamed_addr #3 { | |
start: | |
br label %bb1 | |
bb1: ; preds = %_ZN6msp4309interrupt4free17h431ed534c07bbb2eE.exit, %start | |
%1 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
%2 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !79 | |
%3 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !82 | |
%4 = and i8 %3, 7 | |
%5 = shl i8 1, %4 | |
%6 = and i8 %5, %2 | |
%7 = icmp eq i8 %6, 0 | |
br i1 %7, label %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h66691687b5f3c436E.exit.i", label %bb5.i.i | |
bb5.i.i: ; preds = %bb1 | |
%8 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !85 | |
%9 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 7), align 1, !alias.scope !88 | |
%10 = and i8 %9, 7 | |
%11 = shl i8 1, %10 | |
%12 = and i8 %11, %8 | |
%13 = icmp eq i8 %12, 0 | |
br label %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h66691687b5f3c436E.exit.i" | |
"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h66691687b5f3c436E.exit.i": ; preds = %bb5.i.i, %bb1 | |
%_0.0.i.i = phi i1 [ true, %bb1 ], [ %13, %bb5.i.i ] | |
%14 = and i16 %1, 8 | |
%15 = icmp eq i16 %14, 0 | |
br i1 %15, label %_ZN6msp4309interrupt4free17h431ed534c07bbb2eE.exit, label %bb6.i | |
bb6.i: ; preds = %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h66691687b5f3c436E.exit.i" | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h431ed534c07bbb2eE.exit | |
_ZN6msp4309interrupt4free17h431ed534c07bbb2eE.exit: ; preds = %"_ZN5at2xt15send_byte_to_pc28_$u7b$$u7b$closure$u7d$$u7d$17h66691687b5f3c436E.exit.i", %bb6.i | |
br i1 %_0.0.i.i, label %bb1, label %bb2 | |
bb2: ; preds = %_ZN6msp4309interrupt4free17h431ed534c07bbb2eE.exit | |
%16 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
%17 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !91 | |
%18 = and i8 %17, 7 | |
%19 = shl i8 1, %18 | |
%20 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 7), align 1, !alias.scope !96 | |
%21 = and i8 %20, 7 | |
%22 = shl i8 1, %21 | |
%23 = or i8 %22, %19 | |
%24 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !99 | |
%25 = or i8 %23, %24 | |
store volatile i8 %25, i8* inttoptr (i16 33 to i8*), align 1, !noalias !99 | |
%26 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !102 | |
%27 = or i8 %26, %23 | |
store volatile i8 %27, i8* inttoptr (i16 34 to i8*), align 2, !noalias !102 | |
%28 = and i16 %16, 8 | |
%29 = icmp eq i16 %28, 0 | |
br i1 %29, label %_ZN6msp4309interrupt4free17h98de7be603599cbaE.exit, label %bb6.i10 | |
bb6.i10: ; preds = %bb2 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h98de7be603599cbaE.exit | |
_ZN6msp4309interrupt4free17h98de7be603599cbaE.exit: ; preds = %bb2, %bb6.i10 | |
; call at2xt::send_xt_bit | |
call fastcc void @_ZN5at2xt11send_xt_bit17hf22eb525dcc8e3acE(i8 0) | |
; call at2xt::send_xt_bit | |
call fastcc void @_ZN5at2xt11send_xt_bit17hf22eb525dcc8e3acE(i8 1) | |
br label %bb13 | |
bb11: ; preds = %bb13 | |
%30 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
%31 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !105 | |
%32 = and i8 %31, 7 | |
%33 = shl i8 1, %32 | |
%34 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 7), align 1, !alias.scope !110 | |
%35 = and i8 %34, 7 | |
%36 = shl i8 1, %35 | |
%37 = or i8 %36, %33 | |
%38 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !113 | |
%39 = or i8 %36, %38 | |
store volatile i8 %39, i8* inttoptr (i16 33 to i8*), align 1, !noalias !113 | |
%40 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !116 | |
%41 = xor i8 %37, -1 | |
%42 = and i8 %40, %41 | |
store volatile i8 %42, i8* inttoptr (i16 34 to i8*), align 2, !noalias !116 | |
%43 = and i16 %30, 8 | |
%44 = icmp eq i16 %43, 0 | |
br i1 %44, label %_ZN6msp4309interrupt4free17h58c4ac9b9e4754ebE.exit, label %bb6.i12 | |
bb6.i12: ; preds = %bb11 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h58c4ac9b9e4754ebE.exit | |
_ZN6msp4309interrupt4free17h58c4ac9b9e4754ebE.exit: ; preds = %bb11, %bb6.i12 | |
ret void | |
bb13: ; preds = %_ZN6msp4309interrupt4free17h98de7be603599cbaE.exit, %bb13 | |
%byte.023 = phi i8 [ %0, %_ZN6msp4309interrupt4free17h98de7be603599cbaE.exit ], [ %47, %bb13 ] | |
%iter.sroa.0.022 = phi i32 [ 0, %_ZN6msp4309interrupt4free17h98de7be603599cbaE.exit ], [ %45, %bb13 ] | |
%45 = add nuw nsw i32 %iter.sroa.0.022, 1 | |
%46 = and i8 %byte.023, 1 | |
; call at2xt::send_xt_bit | |
call fastcc void @_ZN5at2xt11send_xt_bit17hf22eb525dcc8e3acE(i8 %46) | |
%47 = lshr i8 %byte.023, 1 | |
%48 = icmp ult i32 %45, 8 | |
br i1 %48, label %bb13, label %bb11 | |
} | |
; at2xt::send_byte_to_at_keyboard | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt24send_byte_to_at_keyboard17h4b442f1bfb7caa2aE(i8) unnamed_addr #3 { | |
start: | |
%1 = tail call i16 asm sideeffect "mov R2, $0", "=r"() #7, !noalias !119, !srcloc !25 | |
tail call void asm sideeffect "dint { nop", "~{memory}"() #7, !noalias !119, !srcloc !25 | |
%2 = load i8, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 1), align 2, !alias.scope !122, !noalias !127 | |
%3 = icmp ugt i8 %2, 9 | |
br i1 %3, label %bb9.i.i.i.preheader, label %bb3.i.i.i | |
bb9.i.i.i.preheader: ; preds = %start | |
br label %bb9.i.i.i | |
bb9.i.i.i: ; preds = %bb9.i.i.i.preheader, %bb9.i.i.i | |
%sout.016.i.i.i = phi i8 [ %7, %bb9.i.i.i ], [ %0, %bb9.i.i.i.preheader ] | |
%num_ones.015.i.i.i = phi i8 [ %6, %bb9.i.i.i ], [ 0, %bb9.i.i.i.preheader ] | |
%iter.sroa.0.014.i.i.i = phi i32 [ %4, %bb9.i.i.i ], [ 0, %bb9.i.i.i.preheader ] | |
%4 = add nuw nsw i32 %iter.sroa.0.014.i.i.i, 1 | |
%5 = and i8 %sout.016.i.i.i, 1 | |
%6 = add i8 %5, %num_ones.015.i.i.i | |
%7 = shl i8 %sout.016.i.i.i, 1 | |
%8 = icmp ult i32 %4, 8 | |
br i1 %8, label %bb9.i.i.i, label %"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h5d6fe945931af021E.exit.i" | |
bb3.i.i.i: ; preds = %start | |
; call core::result::unwrap_failed | |
tail call fastcc void @_ZN4core6result13unwrap_failed17hc9b5851d08fd968eE() #7, !noalias !127 | |
unreachable | |
"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h5d6fe945931af021E.exit.i": ; preds = %bb9.i.i.i | |
%9 = and i8 %6, 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* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 0), align 2, !alias.scope !130, !noalias !127 | |
store i8 0, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 1), align 2, !alias.scope !130, !noalias !127 | |
%15 = load volatile i8, i8* inttoptr (i16 37 to i8*), align 1, !noalias !131 | |
%16 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 1), align 1, !alias.scope !136, !noalias !139 | |
%17 = and i8 %16, 7 | |
%18 = shl i8 1, %17 | |
%19 = xor i8 %18, -1 | |
%20 = and i8 %15, %19 | |
store volatile i8 %20, i8* inttoptr (i16 37 to i8*), align 1, !noalias !131 | |
%21 = and i16 %1, 8 | |
%22 = icmp eq i16 %21, 0 | |
br i1 %22, label %_ZN6msp4309interrupt4free17h09eb1823799d787bE.exit, label %bb6.i | |
bb6.i: ; preds = %"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h5d6fe945931af021E.exit.i" | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !noalias !119, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h09eb1823799d787bE.exit | |
_ZN6msp4309interrupt4free17h09eb1823799d787bE.exit: ; preds = %"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h5d6fe945931af021E.exit.i", %bb6.i | |
br label %bb2 | |
bb2: ; preds = %_ZN6msp4309interrupt4free17h3ac2df6fdbc9e0a8E.exit, %_ZN6msp4309interrupt4free17h09eb1823799d787bE.exit | |
%23 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
%24 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !144 | |
%25 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 1), align 1, !alias.scope !147 | |
%26 = and i8 %25, 7 | |
%27 = shl i8 1, %26 | |
%28 = and i8 %27, %24 | |
%29 = icmp eq i8 %28, 0 | |
%30 = and i16 %23, 8 | |
%31 = icmp eq i16 %30, 0 | |
br i1 %31, label %_ZN6msp4309interrupt4free17h3ac2df6fdbc9e0a8E.exit, label %bb6.i8 | |
bb6.i8: ; preds = %bb2 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h3ac2df6fdbc9e0a8E.exit | |
_ZN6msp4309interrupt4free17h3ac2df6fdbc9e0a8E.exit: ; preds = %bb2, %bb6.i8 | |
br i1 %29, label %bb2, label %bb3 | |
bb3: ; preds = %_ZN6msp4309interrupt4free17h3ac2df6fdbc9e0a8E.exit | |
%32 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
%33 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !150 | |
%34 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 1), align 1, !alias.scope !155, !noalias !158 | |
%35 = and i8 %34, 7 | |
%36 = shl i8 1, %35 | |
%37 = xor i8 %36, -1 | |
%38 = and i8 %33, %37 | |
store volatile i8 %38, i8* inttoptr (i16 33 to i8*), align 1, !noalias !150 | |
%39 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !163 | |
%40 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 3), align 1, !alias.scope !168, !noalias !171 | |
%41 = and i8 %40, 7 | |
%42 = shl i8 1, %41 | |
%43 = or i8 %42, %39 | |
store volatile i8 %43, i8* inttoptr (i16 33 to i8*), align 1, !noalias !163 | |
%44 = or i8 %42, %36 | |
%45 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !176 | |
%46 = or i8 %44, %45 | |
store volatile i8 %46, i8* inttoptr (i16 34 to i8*), align 2, !noalias !176 | |
%47 = and i16 %32, 8 | |
%48 = icmp eq i16 %47, 0 | |
br i1 %48, label %_ZN6msp4309interrupt4free17h15bcf9e74bc670dcE.exit, label %bb6.i10 | |
bb6.i10: ; preds = %bb3 | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h15bcf9e74bc670dcE.exit | |
_ZN6msp4309interrupt4free17h15bcf9e74bc670dcE.exit: ; preds = %bb3, %bb6.i10 | |
; call at2xt::delay | |
call fastcc void @_ZN5at2xt5delay17h2b8f3f7d4ae21a2cE(i16 11) | |
%49 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
%50 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !179 | |
%51 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 3), align 1, !alias.scope !184, !noalias !187 | |
%52 = and i8 %51, 7 | |
%53 = shl i8 1, %52 | |
%54 = xor i8 %53, -1 | |
%55 = and i8 %50, %54 | |
store volatile i8 %55, i8* inttoptr (i16 33 to i8*), align 1, !noalias !179 | |
%56 = and i16 %49, 8 | |
%57 = icmp eq i16 %56, 0 | |
br i1 %57, label %_ZN6msp4309interrupt4free17h795b2981c78e6592E.exit, label %bb6.i12 | |
bb6.i12: ; preds = %_ZN6msp4309interrupt4free17h15bcf9e74bc670dcE.exit | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h795b2981c78e6592E.exit | |
_ZN6msp4309interrupt4free17h795b2981c78e6592E.exit: ; preds = %_ZN6msp4309interrupt4free17h15bcf9e74bc670dcE.exit, %bb6.i12 | |
; call at2xt::delay | |
call fastcc void @_ZN5at2xt5delay17h2b8f3f7d4ae21a2cE(i16 4) | |
%58 = call i16 asm sideeffect "mov R2, $0", "=r"() #7, !srcloc !25 | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
%59 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !192 | |
%60 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 1), align 1, !alias.scope !197, !noalias !200 | |
%61 = and i8 %60, 7 | |
%62 = shl i8 1, %61 | |
%63 = or i8 %62, %59 | |
store volatile i8 %63, i8* inttoptr (i16 33 to i8*), align 1, !noalias !192 | |
%64 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !205 | |
%65 = xor i8 %62, -1 | |
%66 = and i8 %64, %65 | |
store volatile i8 %66, i8* inttoptr (i16 34 to i8*), align 2, !noalias !205 | |
%67 = load volatile i8, i8* inttoptr (i16 35 to i8*), align 1, !noalias !210 | |
%68 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 1), align 1, !alias.scope !215, !noalias !218 | |
%69 = and i8 %68, 7 | |
%70 = shl i8 1, %69 | |
%71 = xor i8 %70, -1 | |
%72 = and i8 %67, %71 | |
store volatile i8 %72, i8* inttoptr (i16 35 to i8*), align 1, !noalias !210 | |
%73 = load volatile i8, i8* inttoptr (i16 37 to i8*), align 1, !noalias !223 | |
%74 = or i8 %73, %70 | |
store volatile i8 %74, i8* inttoptr (i16 37 to i8*), align 1, !noalias !223 | |
call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt9HOST_MODE17hce70b3616da68440E, i8 1) #7, !srcloc !25 | |
call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt10DEVICE_ACK17hdae858d936b7fb26E, i8 0) #7, !srcloc !25 | |
%75 = and i16 %58, 8 | |
%76 = icmp eq i16 %75, 0 | |
br i1 %76, label %_ZN6msp4309interrupt4free17h5b21682d275e2ee4E.exit, label %bb6.i14 | |
bb6.i14: ; preds = %_ZN6msp4309interrupt4free17h795b2981c78e6592E.exit | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %_ZN6msp4309interrupt4free17h5b21682d275e2ee4E.exit | |
_ZN6msp4309interrupt4free17h5b21682d275e2ee4E.exit: ; preds = %_ZN6msp4309interrupt4free17h795b2981c78e6592E.exit, %bb6.i14 | |
br label %bb13 | |
bb13: ; preds = %bb13, %_ZN6msp4309interrupt4free17h5b21682d275e2ee4E.exit | |
%77 = call i8 asm sideeffect "mov.b $1, $0", "=r,*m,~{memory}"(i8* nonnull @_ZN5at2xt10DEVICE_ACK17hdae858d936b7fb26E) #7, !srcloc !25 | |
%78 = icmp eq i8 %77, 0 | |
br i1 %78, label %bb13, label %bb14 | |
bb14: ; preds = %bb13 | |
call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt9HOST_MODE17hce70b3616da68440E, i8 0) #7, !srcloc !25 | |
ret void | |
} | |
; at2xt::delay | |
; Function Attrs: nounwind optsize | |
define internal fastcc void @_ZN5at2xt5delay17h2b8f3f7d4ae21a2cE(i16 %time) unnamed_addr #3 { | |
start: | |
%0 = tail call i16 asm sideeffect "mov R2, $0", "=r"() #7, !noalias !228, !srcloc !25 | |
tail call void asm sideeffect "dint { nop", "~{memory}"() #7, !noalias !228, !srcloc !25 | |
tail call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt7TIMEOUT17h83cd8770e29451d6E, i8 0) #7, !noalias !231, !srcloc !25 | |
store volatile i16 %time, i16* inttoptr (i16 370 to i16*), align 2, !noalias !234 | |
%1 = and i16 %0, 8 | |
%2 = icmp eq i16 %1, 0 | |
br i1 %2, label %_ZN5at2xt11start_timer17h18798abdf22f0c11E.exit, label %bb6.i.i | |
bb6.i.i: ; preds = %start | |
call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !noalias !228, !srcloc !25 | |
br label %_ZN5at2xt11start_timer17h18798abdf22f0c11E.exit | |
_ZN5at2xt11start_timer17h18798abdf22f0c11E.exit: ; preds = %start, %bb6.i.i | |
br label %bb2 | |
bb2: ; preds = %bb2, %_ZN5at2xt11start_timer17h18798abdf22f0c11E.exit | |
%3 = call i8 asm sideeffect "mov.b $1, $0", "=r,*m,~{memory}"(i8* nonnull @_ZN5at2xt7TIMEOUT17h83cd8770e29451d6E) #7, !srcloc !25 | |
%4 = icmp eq i8 %3, 0 | |
br i1 %4, label %bb2, label %bb3 | |
bb3: ; preds = %bb2 | |
ret void | |
} | |
; Function Attrs: nounwind optsize | |
define msp430_intrcc void @TIMERA0() unnamed_addr #3 { | |
start: | |
tail call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt7TIMEOUT17h83cd8770e29451d6E, i8 1) #7, !srcloc !25 | |
store volatile i16 0, i16* inttoptr (i16 370 to i16*), align 2 | |
ret void | |
} | |
; Function Attrs: nounwind optsize | |
define msp430_intrcc void @PORT1() unnamed_addr #3 { | |
start: | |
%0 = tail call i8 asm sideeffect "mov.b $1, $0", "=r,*m,~{memory}"(i8* nonnull @_ZN5at2xt9HOST_MODE17hce70b3616da68440E) #7, !noalias !237, !srcloc !25 | |
%1 = icmp eq i8 %0, 0 | |
br i1 %1, label %bb3.i, label %bb2.i | |
bb2.i: ; preds = %start | |
%2 = load i8, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 1), align 2, !alias.scope !240, !noalias !237 | |
%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 !243 | |
%5 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 3), align 1, !alias.scope !246, !noalias !237 | |
%6 = and i8 %5, 7 | |
%7 = shl i8 1, %6 | |
%8 = and i8 %7, %4 | |
%9 = icmp ne i8 %8, 0 | |
%..i.i = zext i1 %9 to i16 | |
%10 = load i16, i16* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, i16 0, i32 0), align 2, !alias.scope !249, !noalias !237 | |
%11 = shl i16 %10, 1 | |
%12 = or i16 %11, %..i.i | |
store i16 %12, i16* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, i16 0, i32 0), align 2, !alias.scope !249, !noalias !237 | |
%13 = load i8, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, i16 0, i32 1), align 2, !alias.scope !249, !noalias !237 | |
%14 = add i8 %13, 1 | |
store i8 %14, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, i16 0, i32 1), align 2, !alias.scope !249, !noalias !237 | |
%15 = icmp ugt i8 %14, 10 | |
br i1 %15, label %bb41.i, label %_ZN5at2xt13porta_handler17h1047ba2e141b8e56E.exit | |
bb6.i: ; preds = %bb2.i | |
%16 = load i16, i16* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 0), align 2, !alias.scope !252, !noalias !237 | |
%17 = and i16 %16, 1 | |
%18 = icmp eq i16 %17, 0 | |
%19 = lshr i16 %16, 1 | |
store i16 %19, i16* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 0), align 2, !alias.scope !252, !noalias !237 | |
%20 = add i8 %2, 1 | |
store i8 %20, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 1), align 2, !alias.scope !252, !noalias !237 | |
%21 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !237 | |
%22 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 3), align 1, !noalias !237 | |
%23 = and i8 %22, 7 | |
%24 = shl i8 1, %23 | |
%25 = xor i8 %24, -1 | |
%26 = and i8 %21, %25 | |
%27 = or i8 %24, %21 | |
%.sink = select i1 %18, i8 %26, i8 %27 | |
store volatile i8 %.sink, i8* inttoptr (i16 33 to i8*), align 1, !noalias !237 | |
%28 = load i8, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 1), align 2, !alias.scope !255, !noalias !237 | |
%29 = icmp ugt i8 %28, 9 | |
br i1 %29, label %bb19.i, label %_ZN5at2xt13porta_handler17h1047ba2e141b8e56E.exit | |
bb7.i: ; preds = %bb2.i | |
%30 = load volatile i8, i8* inttoptr (i16 32 to i8*), align 32, !noalias !258 | |
%31 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 3), align 1, !alias.scope !261, !noalias !237 | |
%32 = and i8 %31, 7 | |
%33 = shl i8 1, %32 | |
%34 = and i8 %33, %30 | |
%35 = icmp eq i8 %34, 0 | |
br i1 %35, label %bb26.i, label %_ZN5at2xt13porta_handler17h1047ba2e141b8e56E.exit | |
bb19.i: ; preds = %bb6.i | |
%36 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !264 | |
%37 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 1), align 1, !alias.scope !269, !noalias !272 | |
%38 = and i8 %37, 7 | |
%39 = shl i8 1, %38 | |
%40 = or i8 %39, %36 | |
store volatile i8 %40, i8* inttoptr (i16 33 to i8*), align 1, !noalias !264 | |
%41 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !277 | |
%42 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 3), align 1, !alias.scope !282, !noalias !285 | |
%43 = and i8 %42, 7 | |
%44 = shl i8 1, %43 | |
%45 = or i8 %44, %41 | |
store volatile i8 %45, i8* inttoptr (i16 33 to i8*), align 1, !noalias !277 | |
%46 = or i8 %44, %39 | |
%47 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !290 | |
%48 = xor i8 %46, -1 | |
%49 = and i8 %47, %48 | |
store volatile i8 %49, i8* inttoptr (i16 34 to i8*), align 2, !noalias !290 | |
br label %_ZN5at2xt13porta_handler17h1047ba2e141b8e56E.exit | |
bb26.i: ; preds = %bb7.i | |
tail call void asm sideeffect "mov.b $1, $0", "*m,ir,~{memory}"(i8* nonnull @_ZN5at2xt10DEVICE_ACK17hdae858d936b7fb26E, i8 1) #7, !noalias !237, !srcloc !25 | |
store i8 10, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 1), align 2, !alias.scope !293, !noalias !237 | |
store i16 0, i16* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, i16 0, i32 0), align 2, !alias.scope !293, !noalias !237 | |
br label %_ZN5at2xt13porta_handler17h1047ba2e141b8e56E.exit | |
bb41.i: ; preds = %bb3.i | |
%50 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !296 | |
%51 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 1), align 1, !alias.scope !301, !noalias !304 | |
%52 = and i8 %51, 7 | |
%53 = shl i8 1, %52 | |
%54 = xor i8 %53, -1 | |
%55 = and i8 %50, %54 | |
store volatile i8 %55, i8* inttoptr (i16 33 to i8*), align 1, !noalias !296 | |
%56 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !309 | |
%57 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 3), align 1, !alias.scope !314, !noalias !317 | |
%58 = and i8 %57, 7 | |
%59 = shl i8 1, %58 | |
%60 = or i8 %59, %56 | |
store volatile i8 %60, i8* inttoptr (i16 33 to i8*), align 1, !noalias !309 | |
%61 = or i8 %59, %53 | |
%62 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !322 | |
%63 = or i8 %61, %62 | |
store volatile i8 %63, i8* inttoptr (i16 34 to i8*), align 2, !noalias !322 | |
%64 = load i8, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, i16 0, i32 1), align 2, !alias.scope !325, !noalias !330 | |
%65 = icmp ugt i8 %64, 10 | |
br i1 %65, label %bb49.i, label %bb50.i | |
bb49.i: ; preds = %bb41.i | |
store i8 0, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, i16 0, i32 1), align 2, !alias.scope !332, !noalias !330 | |
%66 = 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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !333, !noalias !237 | |
%67 = zext i8 %66 to i16 | |
%68 = icmp ult i8 %66, 16 | |
br i1 %68, label %_ZN5at2xt9keybuffer13KeycodeBuffer3put17he2bb79bc220ff24cE.exit.i, label %panic.i.i, !prof !45 | |
panic.i.i: ; preds = %bb49.i | |
; call core::panicking::panic_bounds_check | |
tail call fastcc void @_ZN4core9panicking18panic_bounds_check17h477ddb5b7522dfeeE(i16 %67, i16 16) #7 | |
unreachable | |
_ZN5at2xt9keybuffer13KeycodeBuffer3put17he2bb79bc220ff24cE.exit.i: ; preds = %bb49.i | |
%69 = load i16, i16* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, i16 0, i32 0), align 2, !alias.scope !332, !noalias !330 | |
%70 = 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_BUFFER17h3ce96c3c43c3e6d6E to [16 x i16]*), i16 0, i16 %67 | |
store i16 %69, i16* %70, align 2, !alias.scope !333, !noalias !237 | |
%71 = 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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !333, !noalias !237 | |
%72 = add i8 %71, 1 | |
%73 = and i8 %72, 15 | |
store i8 %73, 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_BUFFER17h3ce96c3c43c3e6d6E, i16 0, i32 1, i32 1, i32 5), align 1, !alias.scope !333, !noalias !237 | |
br label %bb50.i | |
bb50.i: ; preds = %_ZN5at2xt9keybuffer13KeycodeBuffer3put17he2bb79bc220ff24cE.exit.i, %bb41.i | |
store i8 0, i8* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, i16 0, i32 1), align 2, !alias.scope !336, !noalias !237 | |
store i16 0, i16* getelementptr inbounds ({ i16, i8 }, { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, i16 0, i32 0), align 2, !alias.scope !336, !noalias !237 | |
%74 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !339 | |
%75 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 1), align 1, !alias.scope !344, !noalias !347 | |
%76 = and i8 %75, 7 | |
%77 = shl i8 1, %76 | |
%78 = or i8 %77, %74 | |
store volatile i8 %78, i8* inttoptr (i16 33 to i8*), align 1, !noalias !339 | |
%79 = load volatile i8, i8* inttoptr (i16 33 to i8*), align 1, !noalias !352 | |
%80 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 3), align 1, !alias.scope !357, !noalias !360 | |
%81 = and i8 %80, 7 | |
%82 = shl i8 1, %81 | |
%83 = or i8 %82, %79 | |
store volatile i8 %83, i8* inttoptr (i16 33 to i8*), align 1, !noalias !352 | |
%84 = or i8 %82, %77 | |
%85 = load volatile i8, i8* inttoptr (i16 34 to i8*), align 2, !noalias !365 | |
%86 = xor i8 %84, -1 | |
%87 = and i8 %85, %86 | |
store volatile i8 %87, i8* inttoptr (i16 34 to i8*), align 2, !noalias !365 | |
br label %_ZN5at2xt13porta_handler17h1047ba2e141b8e56E.exit | |
_ZN5at2xt13porta_handler17h1047ba2e141b8e56E.exit: ; preds = %bb3.i, %bb50.i, %bb7.i, %bb6.i, %bb19.i, %bb26.i | |
%88 = load volatile i8, i8* inttoptr (i16 35 to i8*), align 1, !noalias !237 | |
%89 = load i8, i8* getelementptr inbounds ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [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], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E, i16 0, i32 1, i32 1, i32 1), align 1, !alias.scope !368, !noalias !237 | |
%90 = and i8 %89, 7 | |
%91 = shl i8 1, %90 | |
%92 = xor i8 %91, -1 | |
%93 = and i8 %88, %92 | |
store volatile i8 %93, i8* inttoptr (i16 35 to i8*), align 1, !noalias !237 | |
ret void | |
} | |
; Function Attrs: noreturn nounwind optsize | |
define i16 @main(i16, i8** nocapture readnone) unnamed_addr #2 { | |
top: | |
%_7.i = alloca %_initResources, align 2 | |
%_6.i = alloca %"msp430g2211::Peripherals", align 2 | |
%2 = bitcast %"msp430g2211::Peripherals"* %_6.i to i8* | |
call void @llvm.lifetime.start.p0i8(i64 16, i8* nonnull %2) #7 | |
%3 = bitcast %"msp430g2211::Peripherals"* %_6.i to %"msp430g2211::SPECIAL_FUNCTION"** | |
store %"msp430g2211::SPECIAL_FUNCTION"* null, %"msp430g2211::SPECIAL_FUNCTION"** %3, align 2, !alias.scope !377 | |
%4 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %_6.i, i16 0, i32 3 | |
store %"msp430g2211::COMPARATOR_A"* inttoptr (i16 88 to %"msp430g2211::COMPARATOR_A"*), %"msp430g2211::COMPARATOR_A"** %4, align 2, !alias.scope !377 | |
%5 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %_6.i, i16 0, i32 5 | |
store %"msp430g2211::PORT_1_2"* inttoptr (i16 32 to %"msp430g2211::PORT_1_2"*), %"msp430g2211::PORT_1_2"** %5, align 2, !alias.scope !377 | |
%6 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %_6.i, i16 0, i32 7 | |
store %"msp430g2211::FLASH"* inttoptr (i16 296 to %"msp430g2211::FLASH"*), %"msp430g2211::FLASH"** %6, align 2, !alias.scope !377 | |
%7 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %_6.i, i16 0, i32 9 | |
store %"msp430g2211::WATCHDOG_TIMER"* inttoptr (i16 288 to %"msp430g2211::WATCHDOG_TIMER"*), %"msp430g2211::WATCHDOG_TIMER"** %7, align 2, !alias.scope !377 | |
%8 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %_6.i, i16 0, i32 11 | |
store %"msp430g2211::SYSTEM_CLOCK"* inttoptr (i16 82 to %"msp430g2211::SYSTEM_CLOCK"*), %"msp430g2211::SYSTEM_CLOCK"** %8, align 2, !alias.scope !377 | |
%9 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %_6.i, i16 0, i32 13 | |
store %"msp430g2211::TIMER_A2"* inttoptr (i16 302 to %"msp430g2211::TIMER_A2"*), %"msp430g2211::TIMER_A2"** %9, align 2, !alias.scope !377 | |
%10 = getelementptr inbounds %"msp430g2211::Peripherals", %"msp430g2211::Peripherals"* %_6.i, i16 0, i32 15 | |
store { i8, i8 }* inttoptr (i16 4350 to { i8, i8 }*), { i8, i8 }** %10, align 2, !alias.scope !377 | |
%11 = bitcast %_initResources* %_7.i to i8* | |
call void @llvm.lifetime.start.p0i8(i64 8, i8* nonnull %11) #7 | |
%12 = bitcast %_initResources* %_7.i to %"static_ref::Static<driver::KeyboardPins>"** | |
store %"static_ref::Static<driver::KeyboardPins>"* bitcast ({ [0 x i8], { [0 x i8], { [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8], i8, [0 x i8] }, [0 x i8] }, [0 x i8] }* @_ZN5at2xt13KEYBOARD_PINS17hc6c27849599d0e68E to %"static_ref::Static<driver::KeyboardPins>"*), %"static_ref::Static<driver::KeyboardPins>"** %12, align 2, !alias.scope !380 | |
%13 = getelementptr inbounds %_initResources, %_initResources* %_7.i, i16 0, i32 3 | |
store %"static_ref::Static<keybuffer::KeycodeBuffer>"* 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_BUFFER17h3ce96c3c43c3e6d6E to %"static_ref::Static<keybuffer::KeycodeBuffer>"*), %"static_ref::Static<keybuffer::KeycodeBuffer>"** %13, align 2, !alias.scope !380 | |
%14 = getelementptr inbounds %_initResources, %_initResources* %_7.i, i16 0, i32 5 | |
store { i16, i8 }* @_ZN5at2xt6KEY_IN17h46ade8497e4a27c6E, { i16, i8 }** %14, align 2, !alias.scope !380 | |
%15 = getelementptr inbounds %_initResources, %_initResources* %_7.i, i16 0, i32 7 | |
store { i16, i8 }* @_ZN5at2xt7KEY_OUT17h32046a878965574fE, { i16, i8 }** %15, align 2, !alias.scope !380 | |
; call at2xt::init | |
call fastcc void @_ZN5at2xt4init17h4ecbfb266b542af1E(%"msp430g2211::Peripherals"* noalias nocapture nonnull dereferenceable(16) %_6.i, %_initResources* noalias nocapture nonnull dereferenceable(8) %_7.i) #7 | |
call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %11) #7 | |
call void @llvm.lifetime.end.p0i8(i64 16, i8* nonnull %2) #7 | |
tail call void asm sideeffect "nop { eint { nop", "~{memory}"() #7, !srcloc !25 | |
; call at2xt::idle | |
tail call fastcc void @_ZN5at2xt4idle17hf375741b8480bb02E() #7 | |
unreachable | |
} | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.lifetime.start.p0i8(i64, i8* nocapture) #4 | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.lifetime.end.p0i8(i64, i8* nocapture) #4 | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @PORT2() unnamed_addr #5 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #7, !srcloc !383 | |
unreachable | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @TIMERA1() unnamed_addr #5 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #7, !srcloc !384 | |
unreachable | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @WDT() unnamed_addr #5 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #7, !srcloc !385 | |
unreachable | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @COMPARATORA() unnamed_addr #5 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #7, !srcloc !386 | |
unreachable | |
} | |
; Function Attrs: naked nounwind optsize | |
define weak msp430_intrcc void @NMI() unnamed_addr #5 { | |
tail call void asm sideeffect "jmp DEFAULT_HANDLER", ""() #7, !srcloc !387 | |
unreachable | |
} | |
; Function Attrs: nounwind optsize | |
define weak msp430_intrcc void @DEFAULT_HANDLER() unnamed_addr #3 { | |
br label %1 | |
; <label>:1: ; preds = %1, %0 | |
tail call void asm sideeffect "", "~{memory}"() #7, !srcloc !25 | |
br label %1 | |
} | |
; msp430_rt::reset_handler::trampoline | |
; Function Attrs: naked noreturn nounwind optsize | |
define internal msp430_intrcc void @_ZN9msp430_rt13reset_handler10trampoline17h4fb15eb8d7985f9dE() unnamed_addr #6 section ".vector_table.reset_handler" { | |
tail call void asm sideeffect "mov #_stack_start, r1\0A br $0", "i"(void ()* nonnull @_ZN9msp430_rt13reset_handler17hf7a5efd84544a0aaE) #7, !srcloc !388 | |
unreachable | |
} | |
; msp430_rt::reset_handler | |
; Function Attrs: noreturn nounwind optsize | |
define internal void @_ZN9msp430_rt13reset_handler17hf7a5efd84544a0aaE() unnamed_addr #2 { | |
br i1 icmp ult (i16* @_sbss, i16* @_ebss), label %1, label %.loopexit1 | |
; <label>:1: ; preds = %0 | |
br label %2 | |
; <label>:2: ; preds = %2, %1 | |
%3 = phi i16* [ %4, %2 ], [ @_sbss, %1 ] | |
store volatile i16 0, i16* %3, align 2 | |
%4 = getelementptr inbounds i16, i16* %3, i16 1 | |
%5 = icmp ult i16* %4, @_ebss | |
br i1 %5, label %2, label %.loopexit1 | |
.loopexit1: ; preds = %2, %0 | |
br i1 icmp ult (i16* @_sdata, i16* @_edata), label %6, label %.loopexit | |
; <label>:6: ; preds = %.loopexit1 | |
br label %7 | |
; <label>:7: ; preds = %7, %6 | |
%8 = phi i16* [ %11, %7 ], [ @_sdata, %6 ] | |
%9 = phi i16* [ %12, %7 ], [ @_sidata, %6 ] | |
%10 = load i16, i16* %9, align 2 | |
store i16 %10, i16* %8, align 2 | |
%11 = getelementptr inbounds i16, i16* %8, i16 1 | |
%12 = getelementptr inbounds i16, i16* %9, i16 1 | |
%13 = icmp ult i16* %11, @_edata | |
br i1 %13, label %7, label %.loopexit | |
.loopexit: ; preds = %7, %.loopexit1 | |
%14 = 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_check17h477ddb5b7522dfeeE(i16, i16) unnamed_addr #0 { | |
; call core::panicking::panic_fmt | |
call fastcc void @_ZN4core9panicking9panic_fmt17h13cf1b86bcd276a6E() | |
unreachable | |
} | |
; core::panicking::panic_fmt | |
; Function Attrs: cold noinline noreturn nounwind optsize | |
define internal fastcc void @_ZN4core9panicking9panic_fmt17h13cf1b86bcd276a6E() unnamed_addr #0 { | |
call void asm sideeffect "dint { nop", "~{memory}"() #7, !srcloc !25 | |
br label %1 | |
; <label>:1: ; preds = %1, %0 | |
call void asm sideeffect "", "~{memory}"() #7, !srcloc !25 | |
br label %1 | |
} | |
attributes #0 = { cold noinline noreturn nounwind optsize } | |
attributes #1 = { norecurse nounwind optsize } | |
attributes #2 = { noreturn nounwind optsize } | |
attributes #3 = { nounwind optsize } | |
attributes #4 = { argmemonly nounwind } | |
attributes #5 = { naked nounwind optsize } | |
attributes #6 = { naked noreturn nounwind optsize } | |
attributes #7 = { nounwind } | |
!0 = !{} | |
!1 = !{!2} | |
!2 = distinct !{!2, !3, !"_ZN5at2xt6driver12KeyboardPins4idle17hfcff433e9df16146E: argument 0"} | |
!3 = distinct !{!3, !"_ZN5at2xt6driver12KeyboardPins4idle17hfcff433e9df16146E"} | |
!4 = !{!5, !2} | |
!5 = distinct !{!5, !6, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17h8a0c89415111d582E: %f"} | |
!6 = distinct !{!6, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17h8a0c89415111d582E"} | |
!7 = !{!8, !2} | |
!8 = distinct !{!8, !9, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!9 = distinct !{!9, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!10 = !{!11, !13, !14, !5} | |
!11 = distinct !{!11, !12, !"_ZN5at2xt6driver12KeyboardPins4idle28_$u7b$$u7b$closure$u7d$$u7d$17ha7c71a9bd48fbb90E: %arg0"} | |
!12 = distinct !{!12, !"_ZN5at2xt6driver12KeyboardPins4idle28_$u7b$$u7b$closure$u7d$$u7d$17ha7c71a9bd48fbb90E"} | |
!13 = distinct !{!13, !12, !"_ZN5at2xt6driver12KeyboardPins4idle28_$u7b$$u7b$closure$u7d$$u7d$17ha7c71a9bd48fbb90E: %r"} | |
!14 = distinct !{!14, !12, !"_ZN5at2xt6driver12KeyboardPins4idle28_$u7b$$u7b$closure$u7d$$u7d$17ha7c71a9bd48fbb90E: %w"} | |
!15 = !{!16, !2} | |
!16 = distinct !{!16, !17, !"_ZN11msp430g22118port_1_25p1ies46_$LT$impl$u20$msp430g2211..port_1_2..P1IES$GT$6modify17h259d660e531d32f5E: %f"} | |
!17 = distinct !{!17, !"_ZN11msp430g22118port_1_25p1ies46_$LT$impl$u20$msp430g2211..port_1_2..P1IES$GT$6modify17h259d660e531d32f5E"} | |
!18 = !{!19, !2} | |
!19 = distinct !{!19, !20, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h07f7c5368af05fb8E: %f"} | |
!20 = distinct !{!20, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h07f7c5368af05fb8E"} | |
!21 = !{!22, !24} | |
!22 = distinct !{!22, !23, !"_ZN5at2xt6keyfsm3Fsm3run17h2e750bdfc4ab486dE: %self"} | |
!23 = distinct !{!23, !"_ZN5at2xt6keyfsm3Fsm3run17h2e750bdfc4ab486dE"} | |
!24 = distinct !{!24, !23, !"_ZN5at2xt6keyfsm3Fsm3run17h2e750bdfc4ab486dE: %curr_reply"} | |
!25 = !{i32 0} | |
!26 = !{!27} | |
!27 = distinct !{!27, !28, !"_ZN5at2xt9keybuffer13KeycodeBuffer5flush17he3c92ddbca8d76c9E: %self"} | |
!28 = distinct !{!28, !"_ZN5at2xt9keybuffer13KeycodeBuffer5flush17he3c92ddbca8d76c9E"} | |
!29 = !{!30} | |
!30 = distinct !{!30, !31, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17hf92f46dbb3f0fc87E: %self"} | |
!31 = distinct !{!31, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17hf92f46dbb3f0fc87E"} | |
!32 = !{!33} | |
!33 = distinct !{!33, !34, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E: %self"} | |
!34 = distinct !{!34, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E"} | |
!35 = !{!36, !33} | |
!36 = distinct !{!36, !37, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!37 = distinct !{!37, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!38 = !{!39, !41} | |
!39 = distinct !{!39, !40, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17hf92f46dbb3f0fc87E: %self"} | |
!40 = distinct !{!40, !"_ZN5at2xt9keybuffer13KeycodeBuffer8is_empty17hf92f46dbb3f0fc87E"} | |
!41 = distinct !{!41, !42, !"_ZN5at2xt9keybuffer13KeycodeBuffer4take17hd1d0c045c6deef87E: %self"} | |
!42 = distinct !{!42, !"_ZN5at2xt9keybuffer13KeycodeBuffer4take17hd1d0c045c6deef87E"} | |
!43 = !{!44} | |
!44 = distinct !{!44, !42, !"_ZN5at2xt9keybuffer13KeycodeBuffer4take17hd1d0c045c6deef87E: argument 0"} | |
!45 = !{!"branch_weights", i32 2000, i32 1} | |
!46 = !{!41} | |
!47 = !{!48} | |
!48 = distinct !{!48, !49, !"_ZN6msp4309interrupt4free17h034ed1154a4cd22bE: %f.1"} | |
!49 = distinct !{!49, !"_ZN6msp4309interrupt4free17h034ed1154a4cd22bE"} | |
!50 = !{!51, !48} | |
!51 = distinct !{!51, !52, !"_ZN5at2xt11send_xt_bit28_$u7b$$u7b$closure$u7d$$u7d$17he3088b634c869fe3E: %arg0.1"} | |
!52 = distinct !{!52, !"_ZN5at2xt11send_xt_bit28_$u7b$$u7b$closure$u7d$$u7d$17he3088b634c869fe3E"} | |
!53 = !{!54, !56, !51, !48} | |
!54 = distinct !{!54, !55, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hb72b90cf52c20a6fE: %f"} | |
!55 = distinct !{!55, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hb72b90cf52c20a6fE"} | |
!56 = distinct !{!56, !57, !"_ZN5at2xt6driver3Pin5unset17h4b916aee81ef33b6E: argument 0"} | |
!57 = distinct !{!57, !"_ZN5at2xt6driver3Pin5unset17h4b916aee81ef33b6E"} | |
!58 = !{!59, !56} | |
!59 = distinct !{!59, !60, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!60 = distinct !{!60, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!61 = !{!62, !64, !65, !54, !51, !48} | |
!62 = distinct !{!62, !63, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %arg0"} | |
!63 = distinct !{!63, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E"} | |
!64 = distinct !{!64, !63, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %r"} | |
!65 = distinct !{!65, !63, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %w"} | |
!66 = !{!67, !69} | |
!67 = distinct !{!67, !68, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E: %f"} | |
!68 = distinct !{!68, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E"} | |
!69 = distinct !{!69, !70, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E: argument 0"} | |
!70 = distinct !{!70, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E"} | |
!71 = !{!72, !69} | |
!72 = distinct !{!72, !73, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!73 = distinct !{!73, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!74 = !{!75, !77, !78, !67} | |
!75 = distinct !{!75, !76, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %arg0"} | |
!76 = distinct !{!76, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E"} | |
!77 = distinct !{!77, !76, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %r"} | |
!78 = distinct !{!78, !76, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %w"} | |
!79 = !{!80} | |
!80 = distinct !{!80, !81, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E: %self"} | |
!81 = distinct !{!81, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E"} | |
!82 = !{!83, !80} | |
!83 = distinct !{!83, !84, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!84 = distinct !{!84, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!85 = !{!86} | |
!86 = distinct !{!86, !87, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E: %self"} | |
!87 = distinct !{!87, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E"} | |
!88 = !{!89, !86} | |
!89 = distinct !{!89, !90, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!90 = distinct !{!90, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!91 = !{!92, !94} | |
!92 = distinct !{!92, !93, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!93 = distinct !{!93, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!94 = distinct !{!94, !95, !"_ZN5at2xt6driver12KeyboardPins6xt_out17h4d8e5a3f2f21df8bE: %self"} | |
!95 = distinct !{!95, !"_ZN5at2xt6driver12KeyboardPins6xt_out17h4d8e5a3f2f21df8bE"} | |
!96 = !{!97, !94} | |
!97 = distinct !{!97, !98, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!98 = distinct !{!98, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!99 = !{!100, !94} | |
!100 = distinct !{!100, !101, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17haec0ebf1445c772cE: %f"} | |
!101 = distinct !{!101, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17haec0ebf1445c772cE"} | |
!102 = !{!103, !94} | |
!103 = distinct !{!103, !104, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17he2279475926e5e95E: %f"} | |
!104 = distinct !{!104, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17he2279475926e5e95E"} | |
!105 = !{!106, !108} | |
!106 = distinct !{!106, !107, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!107 = distinct !{!107, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!108 = distinct !{!108, !109, !"_ZN5at2xt6driver12KeyboardPins5xt_in17h6b26a765c13518f2E: argument 0"} | |
!109 = distinct !{!109, !"_ZN5at2xt6driver12KeyboardPins5xt_in17h6b26a765c13518f2E"} | |
!110 = !{!111, !108} | |
!111 = distinct !{!111, !112, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!112 = distinct !{!112, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!113 = !{!114, !108} | |
!114 = distinct !{!114, !115, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hf463fbf90f638966E: %f"} | |
!115 = distinct !{!115, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hf463fbf90f638966E"} | |
!116 = !{!117, !108} | |
!117 = distinct !{!117, !118, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h27453d6c93bd4442E: %f"} | |
!118 = distinct !{!118, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h27453d6c93bd4442E"} | |
!119 = !{!120} | |
!120 = distinct !{!120, !121, !"_ZN6msp4309interrupt4free17h09eb1823799d787bE: %f.1"} | |
!121 = distinct !{!121, !"_ZN6msp4309interrupt4free17h09eb1823799d787bE"} | |
!122 = !{!123, !125} | |
!123 = distinct !{!123, !124, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hbafb9874f0f4aba2E: %self"} | |
!124 = distinct !{!124, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hbafb9874f0f4aba2E"} | |
!125 = distinct !{!125, !126, !"_ZN5at2xt9keybuffer6KeyOut3put17ha34c1088054ca973E: %self"} | |
!126 = distinct !{!126, !"_ZN5at2xt9keybuffer6KeyOut3put17ha34c1088054ca973E"} | |
!127 = !{!128, !120} | |
!128 = distinct !{!128, !129, !"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h5d6fe945931af021E: %arg0.1"} | |
!129 = distinct !{!129, !"_ZN5at2xt24send_byte_to_at_keyboard28_$u7b$$u7b$closure$u7d$$u7d$17h5d6fe945931af021E"} | |
!130 = !{!125} | |
!131 = !{!132, !134, !128, !120} | |
!132 = distinct !{!132, !133, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17hae7e05f7c89d60a8E: %f"} | |
!133 = distinct !{!133, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17hae7e05f7c89d60a8E"} | |
!134 = distinct !{!134, !135, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int17h893abde48ef093b4E: argument 0"} | |
!135 = distinct !{!135, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int17h893abde48ef093b4E"} | |
!136 = !{!137, !134} | |
!137 = distinct !{!137, !138, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!138 = distinct !{!138, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!139 = !{!140, !142, !143, !132, !128, !120} | |
!140 = distinct !{!140, !141, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int28_$u7b$$u7b$closure$u7d$$u7d$17he5133cef47365e81E: %arg0"} | |
!141 = distinct !{!141, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int28_$u7b$$u7b$closure$u7d$$u7d$17he5133cef47365e81E"} | |
!142 = distinct !{!142, !141, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int28_$u7b$$u7b$closure$u7d$$u7d$17he5133cef47365e81E: %r"} | |
!143 = distinct !{!143, !141, !"_ZN5at2xt6driver12KeyboardPins18disable_at_clk_int28_$u7b$$u7b$closure$u7d$$u7d$17he5133cef47365e81E: %w"} | |
!144 = !{!145} | |
!145 = distinct !{!145, !146, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E: %self"} | |
!146 = distinct !{!146, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E"} | |
!147 = !{!148, !145} | |
!148 = distinct !{!148, !149, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!149 = distinct !{!149, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!150 = !{!151, !153} | |
!151 = distinct !{!151, !152, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hb72b90cf52c20a6fE: %f"} | |
!152 = distinct !{!152, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hb72b90cf52c20a6fE"} | |
!153 = distinct !{!153, !154, !"_ZN5at2xt6driver3Pin5unset17h4b916aee81ef33b6E: argument 0"} | |
!154 = distinct !{!154, !"_ZN5at2xt6driver3Pin5unset17h4b916aee81ef33b6E"} | |
!155 = !{!156, !153} | |
!156 = distinct !{!156, !157, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!157 = distinct !{!157, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!158 = !{!159, !161, !162, !151} | |
!159 = distinct !{!159, !160, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %arg0"} | |
!160 = distinct !{!160, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E"} | |
!161 = distinct !{!161, !160, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %r"} | |
!162 = distinct !{!162, !160, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %w"} | |
!163 = !{!164, !166} | |
!164 = distinct !{!164, !165, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E: %f"} | |
!165 = distinct !{!165, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E"} | |
!166 = distinct !{!166, !167, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E: argument 0"} | |
!167 = distinct !{!167, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E"} | |
!168 = !{!169, !166} | |
!169 = distinct !{!169, !170, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!170 = distinct !{!170, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!171 = !{!172, !174, !175, !164} | |
!172 = distinct !{!172, !173, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %arg0"} | |
!173 = distinct !{!173, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E"} | |
!174 = distinct !{!174, !173, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %r"} | |
!175 = distinct !{!175, !173, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %w"} | |
!176 = !{!177} | |
!177 = distinct !{!177, !178, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h2049a74c19f92ca4E: %f"} | |
!178 = distinct !{!178, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h2049a74c19f92ca4E"} | |
!179 = !{!180, !182} | |
!180 = distinct !{!180, !181, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hb72b90cf52c20a6fE: %f"} | |
!181 = distinct !{!181, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hb72b90cf52c20a6fE"} | |
!182 = distinct !{!182, !183, !"_ZN5at2xt6driver3Pin5unset17h4b916aee81ef33b6E: argument 0"} | |
!183 = distinct !{!183, !"_ZN5at2xt6driver3Pin5unset17h4b916aee81ef33b6E"} | |
!184 = !{!185, !182} | |
!185 = distinct !{!185, !186, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!186 = distinct !{!186, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!187 = !{!188, !190, !191, !180} | |
!188 = distinct !{!188, !189, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %arg0"} | |
!189 = distinct !{!189, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E"} | |
!190 = distinct !{!190, !189, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %r"} | |
!191 = distinct !{!191, !189, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %w"} | |
!192 = !{!193, !195} | |
!193 = distinct !{!193, !194, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E: %f"} | |
!194 = distinct !{!194, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E"} | |
!195 = distinct !{!195, !196, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E: argument 0"} | |
!196 = distinct !{!196, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E"} | |
!197 = !{!198, !195} | |
!198 = distinct !{!198, !199, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!199 = distinct !{!199, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!200 = !{!201, !203, !204, !193} | |
!201 = distinct !{!201, !202, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %arg0"} | |
!202 = distinct !{!202, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E"} | |
!203 = distinct !{!203, !202, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %r"} | |
!204 = distinct !{!204, !202, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %w"} | |
!205 = !{!206, !208} | |
!206 = distinct !{!206, !207, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h1fe9193371ef6616E: %f"} | |
!207 = distinct !{!207, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h1fe9193371ef6616E"} | |
!208 = distinct !{!208, !209, !"_ZN5at2xt6driver3Pin5mk_in17h0962a2b99daf42ecE: argument 0"} | |
!209 = distinct !{!209, !"_ZN5at2xt6driver3Pin5mk_in17h0962a2b99daf42ecE"} | |
!210 = !{!211, !213} | |
!211 = distinct !{!211, !212, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17heff1182437cccabeE: %f"} | |
!212 = distinct !{!212, !"_ZN11msp430g22118port_1_25p1ifg46_$LT$impl$u20$msp430g2211..port_1_2..P1IFG$GT$6modify17heff1182437cccabeE"} | |
!213 = distinct !{!213, !214, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17h597b68e88c5b78beE: argument 0"} | |
!214 = distinct !{!214, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17h597b68e88c5b78beE"} | |
!215 = !{!216, !213} | |
!216 = distinct !{!216, !217, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!217 = distinct !{!217, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!218 = !{!219, !221, !222, !211} | |
!219 = distinct !{!219, !220, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int28_$u7b$$u7b$closure$u7d$$u7d$17h4e20138e45595c18E: %arg0"} | |
!220 = distinct !{!220, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int28_$u7b$$u7b$closure$u7d$$u7d$17h4e20138e45595c18E"} | |
!221 = distinct !{!221, !220, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int28_$u7b$$u7b$closure$u7d$$u7d$17h4e20138e45595c18E: %r"} | |
!222 = distinct !{!222, !220, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int28_$u7b$$u7b$closure$u7d$$u7d$17h4e20138e45595c18E: %w"} | |
!223 = !{!224, !226} | |
!224 = distinct !{!224, !225, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h70ec04a16b43aa91E: %f"} | |
!225 = distinct !{!225, !"_ZN11msp430g22118port_1_24p1ie45_$LT$impl$u20$msp430g2211..port_1_2..P1IE$GT$6modify17h70ec04a16b43aa91E"} | |
!226 = distinct !{!226, !227, !"_ZN5at2xt6driver12KeyboardPins17enable_at_clk_int17h9a7763ec713d99c7E: argument 0"} | |
!227 = distinct !{!227, !"_ZN5at2xt6driver12KeyboardPins17enable_at_clk_int17h9a7763ec713d99c7E"} | |
!228 = !{!229} | |
!229 = distinct !{!229, !230, !"_ZN6msp4309interrupt4free17h3d56ecc2dab25995E: %f.1"} | |
!230 = distinct !{!230, !"_ZN6msp4309interrupt4free17h3d56ecc2dab25995E"} | |
!231 = !{!232, !229} | |
!232 = distinct !{!232, !233, !"_ZN5at2xt11start_timer28_$u7b$$u7b$closure$u7d$$u7d$17hf03c1d5a56ece52cE: %arg0.1"} | |
!233 = distinct !{!233, !"_ZN5at2xt11start_timer28_$u7b$$u7b$closure$u7d$$u7d$17hf03c1d5a56ece52cE"} | |
!234 = !{!235, !232, !229} | |
!235 = distinct !{!235, !236, !"_ZN11msp430g22118timer_a26taccr047_$LT$impl$u20$msp430g2211..timer_a2..TACCR0$GT$5write17hc3ba64c067bb78daE: %f"} | |
!236 = distinct !{!236, !"_ZN11msp430g22118timer_a26taccr047_$LT$impl$u20$msp430g2211..timer_a2..TACCR0$GT$5write17hc3ba64c067bb78daE"} | |
!237 = !{!238} | |
!238 = distinct !{!238, !239, !"_ZN5at2xt13porta_handler17h1047ba2e141b8e56E: %r"} | |
!239 = distinct !{!239, !"_ZN5at2xt13porta_handler17h1047ba2e141b8e56E"} | |
!240 = !{!241} | |
!241 = distinct !{!241, !242, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hbafb9874f0f4aba2E: %self"} | |
!242 = distinct !{!242, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hbafb9874f0f4aba2E"} | |
!243 = !{!244, !238} | |
!244 = distinct !{!244, !245, !"_ZN5at2xt6driver3Pin6is_set17h986f9bbafe364b7fE: %self"} | |
!245 = distinct !{!245, !"_ZN5at2xt6driver3Pin6is_set17h986f9bbafe364b7fE"} | |
!246 = !{!247, !244} | |
!247 = distinct !{!247, !248, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!248 = distinct !{!248, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!249 = !{!250} | |
!250 = distinct !{!250, !251, !"_ZN5at2xt9keybuffer5KeyIn8shift_in17ha1ea3df779b4bf64E: %self"} | |
!251 = distinct !{!251, !"_ZN5at2xt9keybuffer5KeyIn8shift_in17ha1ea3df779b4bf64E"} | |
!252 = !{!253} | |
!253 = distinct !{!253, !254, !"_ZN5at2xt9keybuffer6KeyOut9shift_out17h07ffc0f2b5254c8fE: %self"} | |
!254 = distinct !{!254, !"_ZN5at2xt9keybuffer6KeyOut9shift_out17h07ffc0f2b5254c8fE"} | |
!255 = !{!256} | |
!256 = distinct !{!256, !257, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hbafb9874f0f4aba2E: %self"} | |
!257 = distinct !{!257, !"_ZN5at2xt9keybuffer6KeyOut8is_empty17hbafb9874f0f4aba2E"} | |
!258 = !{!259, !238} | |
!259 = distinct !{!259, !260, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E: %self"} | |
!260 = distinct !{!260, !"_ZN5at2xt6driver3Pin8is_unset17he6c45d43a342f1f3E"} | |
!261 = !{!262, !259} | |
!262 = distinct !{!262, !263, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!263 = distinct !{!263, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!264 = !{!265, !267} | |
!265 = distinct !{!265, !266, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E: %f"} | |
!266 = distinct !{!266, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E"} | |
!267 = distinct !{!267, !268, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E: argument 0"} | |
!268 = distinct !{!268, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E"} | |
!269 = !{!270, !267} | |
!270 = distinct !{!270, !271, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!271 = distinct !{!271, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!272 = !{!273, !275, !276, !265} | |
!273 = distinct !{!273, !274, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %arg0"} | |
!274 = distinct !{!274, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E"} | |
!275 = distinct !{!275, !274, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %r"} | |
!276 = distinct !{!276, !274, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %w"} | |
!277 = !{!278, !280} | |
!278 = distinct !{!278, !279, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E: %f"} | |
!279 = distinct !{!279, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E"} | |
!280 = distinct !{!280, !281, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E: argument 0"} | |
!281 = distinct !{!281, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E"} | |
!282 = !{!283, !280} | |
!283 = distinct !{!283, !284, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!284 = distinct !{!284, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!285 = !{!286, !288, !289, !278} | |
!286 = distinct !{!286, !287, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %arg0"} | |
!287 = distinct !{!287, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E"} | |
!288 = distinct !{!288, !287, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %r"} | |
!289 = distinct !{!289, !287, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %w"} | |
!290 = !{!291} | |
!291 = distinct !{!291, !292, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h4db4007e9e7744feE: %f"} | |
!292 = distinct !{!292, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h4db4007e9e7744feE"} | |
!293 = !{!294} | |
!294 = distinct !{!294, !295, !"_ZN5at2xt9keybuffer6KeyOut5clear17h83a524ad420e8c70E: %self"} | |
!295 = distinct !{!295, !"_ZN5at2xt9keybuffer6KeyOut5clear17h83a524ad420e8c70E"} | |
!296 = !{!297, !299} | |
!297 = distinct !{!297, !298, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hb72b90cf52c20a6fE: %f"} | |
!298 = distinct !{!298, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17hb72b90cf52c20a6fE"} | |
!299 = distinct !{!299, !300, !"_ZN5at2xt6driver3Pin5unset17h4b916aee81ef33b6E: argument 0"} | |
!300 = distinct !{!300, !"_ZN5at2xt6driver3Pin5unset17h4b916aee81ef33b6E"} | |
!301 = !{!302, !299} | |
!302 = distinct !{!302, !303, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!303 = distinct !{!303, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!304 = !{!305, !307, !308, !297} | |
!305 = distinct !{!305, !306, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %arg0"} | |
!306 = distinct !{!306, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E"} | |
!307 = distinct !{!307, !306, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %r"} | |
!308 = distinct !{!308, !306, !"_ZN5at2xt6driver3Pin5unset28_$u7b$$u7b$closure$u7d$$u7d$17h41399a37ee5be0e6E: %w"} | |
!309 = !{!310, !312} | |
!310 = distinct !{!310, !311, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E: %f"} | |
!311 = distinct !{!311, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E"} | |
!312 = distinct !{!312, !313, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E: argument 0"} | |
!313 = distinct !{!313, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E"} | |
!314 = !{!315, !312} | |
!315 = distinct !{!315, !316, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!316 = distinct !{!316, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!317 = !{!318, !320, !321, !310} | |
!318 = distinct !{!318, !319, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %arg0"} | |
!319 = distinct !{!319, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E"} | |
!320 = distinct !{!320, !319, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %r"} | |
!321 = distinct !{!321, !319, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %w"} | |
!322 = !{!323} | |
!323 = distinct !{!323, !324, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h2049a74c19f92ca4E: %f"} | |
!324 = distinct !{!324, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h2049a74c19f92ca4E"} | |
!325 = !{!326, !328} | |
!326 = distinct !{!326, !327, !"_ZN5at2xt9keybuffer5KeyIn7is_full17h28e771e06a252b71E: %self"} | |
!327 = distinct !{!327, !"_ZN5at2xt9keybuffer5KeyIn7is_full17h28e771e06a252b71E"} | |
!328 = distinct !{!328, !329, !"_ZN5at2xt9keybuffer5KeyIn4take17h03a2b0ffe2ac68a3E: %self"} | |
!329 = distinct !{!329, !"_ZN5at2xt9keybuffer5KeyIn4take17h03a2b0ffe2ac68a3E"} | |
!330 = !{!331, !238} | |
!331 = distinct !{!331, !329, !"_ZN5at2xt9keybuffer5KeyIn4take17h03a2b0ffe2ac68a3E: argument 0"} | |
!332 = !{!328} | |
!333 = !{!334} | |
!334 = distinct !{!334, !335, !"_ZN5at2xt9keybuffer13KeycodeBuffer3put17he2bb79bc220ff24cE: %self"} | |
!335 = distinct !{!335, !"_ZN5at2xt9keybuffer13KeycodeBuffer3put17he2bb79bc220ff24cE"} | |
!336 = !{!337} | |
!337 = distinct !{!337, !338, !"_ZN5at2xt9keybuffer5KeyIn5clear17h3783286743035f4dE: %self"} | |
!338 = distinct !{!338, !"_ZN5at2xt9keybuffer5KeyIn5clear17h3783286743035f4dE"} | |
!339 = !{!340, !342} | |
!340 = distinct !{!340, !341, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E: %f"} | |
!341 = distinct !{!341, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E"} | |
!342 = distinct !{!342, !343, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E: argument 0"} | |
!343 = distinct !{!343, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E"} | |
!344 = !{!345, !342} | |
!345 = distinct !{!345, !346, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!346 = distinct !{!346, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!347 = !{!348, !350, !351, !340} | |
!348 = distinct !{!348, !349, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %arg0"} | |
!349 = distinct !{!349, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E"} | |
!350 = distinct !{!350, !349, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %r"} | |
!351 = distinct !{!351, !349, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %w"} | |
!352 = !{!353, !355} | |
!353 = distinct !{!353, !354, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E: %f"} | |
!354 = distinct !{!354, !"_ZN11msp430g22118port_1_25p1out46_$LT$impl$u20$msp430g2211..port_1_2..P1OUT$GT$6modify17h742b98bdbeaa87d2E"} | |
!355 = distinct !{!355, !356, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E: argument 0"} | |
!356 = distinct !{!356, !"_ZN5at2xt6driver3Pin3set17h21676b0a49d0df06E"} | |
!357 = !{!358, !355} | |
!358 = distinct !{!358, !359, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!359 = distinct !{!359, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!360 = !{!361, !363, !364, !353} | |
!361 = distinct !{!361, !362, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %arg0"} | |
!362 = distinct !{!362, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E"} | |
!363 = distinct !{!363, !362, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %r"} | |
!364 = distinct !{!364, !362, !"_ZN5at2xt6driver3Pin3set28_$u7b$$u7b$closure$u7d$$u7d$17h7c7548b30638f263E: %w"} | |
!365 = !{!366} | |
!366 = distinct !{!366, !367, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h4db4007e9e7744feE: %f"} | |
!367 = distinct !{!367, !"_ZN11msp430g22118port_1_25p1dir46_$LT$impl$u20$msp430g2211..port_1_2..P1DIR$GT$6modify17h4db4007e9e7744feE"} | |
!368 = !{!369, !371, !373, !375} | |
!369 = distinct !{!369, !370, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!370 = distinct !{!370, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!371 = distinct !{!371, !372, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17h597b68e88c5b78beE: argument 0"} | |
!372 = distinct !{!372, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17h597b68e88c5b78beE"} | |
!373 = distinct !{!373, !374, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E: %self"} | |
!374 = distinct !{!374, !"_ZN5at2xt6driver3Pin7bitmask17h212d2be0f81ba7a0E"} | |
!375 = distinct !{!375, !376, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17h597b68e88c5b78beE: argument 0"} | |
!376 = distinct !{!376, !"_ZN5at2xt6driver12KeyboardPins16clear_at_clk_int17h597b68e88c5b78beE"} | |
!377 = !{!378} | |
!378 = distinct !{!378, !379, !"_ZN11msp430g221111Peripherals3all17h345d31e7960c8698E: argument 0"} | |
!379 = distinct !{!379, !"_ZN11msp430g221111Peripherals3all17h345d31e7960c8698E"} | |
!380 = !{!381} | |
!381 = distinct !{!381, !382, !"_ZN5at2xt4init53_$LT$impl$u20$at2xt.._initResources$LT$$u27$a$GT$$GT$3new17h5e550d7d78062c79E: argument 0"} | |
!382 = distinct !{!382, !"_ZN5at2xt4init53_$LT$impl$u20$at2xt.._initResources$LT$$u27$a$GT$$GT$3new17h5e550d7d78062c79E"} | |
!383 = !{i32 3} | |
!384 = !{i32 4} | |
!385 = !{i32 6} | |
!386 = !{i32 7} | |
!387 = !{i32 8} | |
!388 = !{i32 2} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment