-
-
Save japaric/e168c412b57bedeea9fd361317c73ccc to your computer and use it in GitHub Desktop.
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 = 'minimal0-849056be0feeb400e8126e9239e08cc8.rs' | |
source_filename = "minimal0-849056be0feeb400e8126e9239e08cc8.rs" | |
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" | |
target triple = "thumbv7m-none--eabi" | |
@RESET_VECTOR = local_unnamed_addr constant void ()* @reset, section ".vector_table.reset_vector", align 4 | |
@_sbss = external global i32 | |
@_ebss = external global i32 | |
@_sdata = external global i32 | |
@_sidata = external local_unnamed_addr global i32 | |
@EXCEPTIONS = local_unnamed_addr constant { void ()*, void ()*, void ()*, void ()*, void ()*, {}*, {}*, {}*, {}*, void ()*, {}*, {}*, void ()*, void ()* } { void ()* @nmi, void ()* @hard_fault, void ()* @mem_manage, void ()* @bus_fault, void ()* @usage_fault, {}* null, {}* null, {}* null, {}* null, void ()* @svcall, {}* null, {}* null, void ()* @pendsv, void ()* @systick }, section ".vector_table.exceptions", align 4 | |
; Function Attrs: norecurse noreturn nounwind readnone | |
define void @main() unnamed_addr #0 { | |
start: | |
unreachable | |
} | |
; Function Attrs: norecurse noreturn nounwind readnone | |
define void @default_handler() unnamed_addr #0 { | |
start: | |
unreachable | |
} | |
; Function Attrs: norecurse noreturn nounwind | |
define void @reset() unnamed_addr #1 { | |
br i1 icmp ult (i32* @_sbss, i32* @_ebss), label %.preheader1, label %.preheader | |
.preheader1: ; preds = %0, %.preheader1 | |
%1 = phi i32* [ %2, %.preheader1 ], [ @_sbss, %0 ] | |
store volatile i32 0, i32* %1, align 4 | |
%2 = getelementptr inbounds i32, i32* %1, i32 1 | |
%3 = icmp ult i32* %2, @_ebss | |
br i1 %3, label %.preheader1, label %.preheader | |
.preheader: ; preds = %0, %.preheader1, %.preheader | |
%4 = phi i32* [ %7, %.preheader ], [ @_sdata, %.preheader1 ], [ @_sdata, %0 ] | |
%5 = phi i32* [ %8, %.preheader ], [ @_sidata, %.preheader1 ], [ @_sidata, %0 ] | |
%6 = load i32, i32* %5, align 4 | |
store i32 %6, i32* %4, align 4 | |
%7 = getelementptr inbounds i32, i32* %4, i32 1 | |
%8 = getelementptr inbounds i32, i32* %5, i32 1 | |
br label %.preheader | |
} | |
; Function Attrs: nounwind | |
declare void @nmi() unnamed_addr #2 | |
; Function Attrs: nounwind | |
declare void @hard_fault() unnamed_addr #2 | |
; Function Attrs: nounwind | |
declare void @mem_manage() unnamed_addr #2 | |
; Function Attrs: nounwind | |
declare void @bus_fault() unnamed_addr #2 | |
; Function Attrs: nounwind | |
declare void @usage_fault() unnamed_addr #2 | |
; Function Attrs: nounwind | |
declare void @svcall() unnamed_addr #2 | |
; Function Attrs: nounwind | |
declare void @pendsv() unnamed_addr #2 | |
; Function Attrs: nounwind | |
declare void @systick() unnamed_addr #2 | |
attributes #0 = { norecurse noreturn nounwind readnone } | |
attributes #1 = { norecurse noreturn nounwind } | |
attributes #2 = { nounwind } |
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 = 'minimal0-37be8e5d97d8c23677d77e9f2037545a.rs' | |
source_filename = "minimal0-37be8e5d97d8c23677d77e9f2037545a.rs" | |
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" | |
target triple = "thumbv7m-none--eabi" | |
@EXCEPTIONS = local_unnamed_addr constant <{ void ()*, void ()*, void ()*, void ()*, void ()*, [16 x i8], void ()*, [8 x i8], void ()*, void ()*, [0 x i8] }> <{ void ()* @nmi, void ()* @hard_fault, void ()* @mem_manage, void ()* @bus_fault, void ()* @usage_fault, [16 x i8] zeroinitializer, void ()* @svcall, [8 x i8] zeroinitializer, void ()* @pendsv, void ()* @systick, [0 x i8] zeroinitializer }>, section ".vector_table.exceptions", align 4 | |
@RESET_VECTOR = local_unnamed_addr constant <{ void ()*, [0 x i8] }> <{ void ()* @reset, [0 x i8] zeroinitializer }>, section ".vector_table.reset_vector", align 4 | |
@_sbss = external global i32 | |
@_ebss = external global i32 | |
@_sdata = external global i32 | |
@_edata = external global i32 | |
@_sidata = external local_unnamed_addr global i32 | |
; Function Attrs: norecurse noreturn nounwind readnone | |
define void @main() unnamed_addr #0 { | |
start: | |
unreachable | |
} | |
; Function Attrs: norecurse noreturn nounwind readnone | |
define void @default_handler() unnamed_addr #0 { | |
start: | |
unreachable | |
} | |
; Function Attrs: nounwind | |
declare void @nmi() unnamed_addr #1 | |
; Function Attrs: nounwind | |
declare void @hard_fault() unnamed_addr #1 | |
; Function Attrs: nounwind | |
declare void @mem_manage() unnamed_addr #1 | |
; Function Attrs: nounwind | |
declare void @bus_fault() unnamed_addr #1 | |
; Function Attrs: nounwind | |
declare void @usage_fault() unnamed_addr #1 | |
; Function Attrs: nounwind | |
declare void @svcall() unnamed_addr #1 | |
; Function Attrs: nounwind | |
declare void @pendsv() unnamed_addr #1 | |
; Function Attrs: nounwind | |
declare void @systick() unnamed_addr #1 | |
; Function Attrs: norecurse noreturn nounwind | |
define void @reset() unnamed_addr #2 { | |
br i1 icmp ult (i32* @_sbss, i32* @_ebss), label %1, label %.loopexit1 | |
; <label>:1: ; preds = %0 | |
br i1 icmp ne (i32 and (i32 add (i32 lshr (i32 ptrtoint (i8* getelementptr (i8, i8* bitcast (i32* select (i1 icmp ult (i32* getelementptr inbounds (i32, i32* @_sbss, i32 1), i32* @_ebss), i32* @_ebss, i32* getelementptr inbounds (i32, i32* @_sbss, i32 1)) to i8*), i32 sub (i32 -1, i32 ptrtoint (i32* @_sbss to i32))) to i32), i32 2), i32 1), i32 3), i32 0), label %2, label %3 | |
; <label>:2: ; preds = %1 | |
store volatile i32 0, i32* @_sbss, align 4 | |
br i1 icmp ne (i32 sub (i32 and (i32 add (i32 lshr (i32 ptrtoint (i8* getelementptr (i8, i8* bitcast (i32* select (i1 icmp ult (i32* getelementptr inbounds (i32, i32* @_sbss, i32 1), i32* @_ebss), i32* @_ebss, i32* getelementptr inbounds (i32, i32* @_sbss, i32 1)) to i8*), i32 sub (i32 -1, i32 ptrtoint (i32* @_sbss to i32))) to i32), i32 2), i32 1), i32 3), i32 1), i32 0), label %298, label %3 | |
; <label>:3: ; preds = %299, %298, %2, %1 | |
%4 = phi i32* [ @_sbss, %1 ], [ getelementptr inbounds (i32, i32* @_sbss, i32 1), %2 ], [ getelementptr (i32, i32* @_sbss, i32 2), %298 ], [ getelementptr (i32, i32* @_sbss, i32 3), %299 ] | |
br i1 icmp ult (i32 lshr (i32 ptrtoint (i8* getelementptr (i8, i8* bitcast (i32* select (i1 icmp ult (i32* getelementptr inbounds (i32, i32* @_sbss, i32 1), i32* @_ebss), i32* @_ebss, i32* getelementptr inbounds (i32, i32* @_sbss, i32 1)) to i8*), i32 sub (i32 -1, i32 ptrtoint (i32* @_sbss to i32))) to i32), i32 2), i32 3), label %.loopexit1, label %5 | |
; <label>:5: ; preds = %3 | |
br label %6 | |
; <label>:6: ; preds = %339, %5 | |
%7 = phi i32* [ %4, %5 ], [ %343, %339 ] | |
store volatile i32 0, i32* %7, align 4 | |
%8 = getelementptr inbounds i32, i32* %7, i32 1 | |
store volatile i32 0, i32* %8, align 4 | |
%9 = getelementptr inbounds i32, i32* %7, i32 2 | |
store volatile i32 0, i32* %9, align 4 | |
%10 = getelementptr inbounds i32, i32* %7, i32 3 | |
store volatile i32 0, i32* %10, align 4 | |
%11 = getelementptr inbounds i32, i32* %7, i32 4 | |
%12 = icmp ult i32* %11, @_ebss | |
br i1 %12, label %327, label %.loopexit1 | |
.loopexit1: ; preds = %0, %3, %6, %327, %333, %339 | |
br i1 icmp ne (i32 and (i32 add (i32 lshr (i32 ptrtoint (i8* getelementptr (i8, i8* bitcast (i32* select (i1 icmp ult (i32* getelementptr inbounds (i32, i32* @_sdata, i32 1), i32* @_edata), i32* @_edata, i32* getelementptr inbounds (i32, i32* @_sdata, i32 1)) to i8*), i32 sub (i32 -1, i32 ptrtoint (i32* @_sdata to i32))) to i32), i32 2), i32 1), i32 3), i32 0), label %13, label %15 | |
; <label>:13: ; preds = %.loopexit1 | |
%14 = load i32, i32* @_sidata, align 4 | |
store i32 %14, i32* @_sdata, align 4 | |
br i1 icmp ne (i32 sub (i32 and (i32 add (i32 lshr (i32 ptrtoint (i8* getelementptr (i8, i8* bitcast (i32* select (i1 icmp ult (i32* getelementptr inbounds (i32, i32* @_sdata, i32 1), i32* @_edata), i32* @_edata, i32* getelementptr inbounds (i32, i32* @_sdata, i32 1)) to i8*), i32 sub (i32 -1, i32 ptrtoint (i32* @_sdata to i32))) to i32), i32 2), i32 1), i32 3), i32 1), i32 0), label %294, label %15 | |
; <label>:15: ; preds = %.loopexit1, %13, %294, %296 | |
%16 = phi i32* [ @_sdata, %.loopexit1 ], [ getelementptr inbounds (i32, i32* @_sdata, i32 1), %13 ], [ getelementptr (i32, i32* @_sdata, i32 2), %294 ], [ getelementptr (i32, i32* @_sdata, i32 3), %296 ] | |
%17 = phi i32* [ @_sidata, %.loopexit1 ], [ getelementptr inbounds (i32, i32* @_sidata, i32 1), %13 ], [ getelementptr (i32, i32* @_sidata, i32 2), %294 ], [ getelementptr (i32, i32* @_sidata, i32 3), %296 ] | |
%18 = ptrtoint i32* %16 to i32 | |
%19 = getelementptr i32, i32* %16, i32 4 | |
%20 = icmp ugt i32* %19, @_edata | |
%21 = select i1 %20, i32* %19, i32* @_edata | |
%22 = bitcast i32* %21 to i8* | |
%23 = xor i32 %18, -1 | |
%24 = getelementptr i8, i8* %22, i32 %23 | |
%25 = ptrtoint i8* %24 to i32 | |
%26 = lshr i32 %25, 4 | |
%27 = add nuw nsw i32 %26, 1 | |
%28 = and i32 %27, 3 | |
%29 = icmp eq i32 %28, 0 | |
br i1 %29, label %43, label %30 | |
; <label>:30: ; preds = %15 | |
%31 = load i32, i32* %17, align 4 | |
store i32 %31, i32* %16, align 4 | |
%32 = getelementptr inbounds i32, i32* %16, i32 1 | |
%33 = getelementptr inbounds i32, i32* %17, i32 1 | |
%34 = load i32, i32* %33, align 4 | |
store i32 %34, i32* %32, align 4 | |
%35 = getelementptr inbounds i32, i32* %16, i32 2 | |
%36 = getelementptr inbounds i32, i32* %17, i32 2 | |
%37 = load i32, i32* %36, align 4 | |
store i32 %37, i32* %35, align 4 | |
%38 = getelementptr inbounds i32, i32* %16, i32 3 | |
%39 = getelementptr inbounds i32, i32* %17, i32 3 | |
%40 = load i32, i32* %39, align 4 | |
store i32 %40, i32* %38, align 4 | |
%41 = getelementptr inbounds i32, i32* %17, i32 4 | |
%42 = icmp eq i32 %28, 1 | |
br i1 %42, label %43, label %300 | |
; <label>:43: ; preds = %15, %30, %300, %314 | |
%44 = phi i32* [ %16, %15 ], [ %19, %30 ], [ %311, %300 ], [ %325, %314 ] | |
%45 = phi i32* [ %17, %15 ], [ %41, %30 ], [ %312, %300 ], [ %326, %314 ] | |
%46 = ptrtoint i32* %44 to i32 | |
%scevgep = getelementptr i32, i32* %44, i32 16 | |
%47 = icmp ugt i32* %scevgep, @_edata | |
%umax = select i1 %47, i32* %scevgep, i32* @_edata | |
%umax2 = bitcast i32* %umax to i8* | |
%48 = xor i32 %46, -1 | |
%uglygep = getelementptr i8, i8* %umax2, i32 %48 | |
%uglygep3 = ptrtoint i8* %uglygep to i32 | |
%49 = lshr i32 %uglygep3, 6 | |
%50 = add nuw nsw i32 %49, 1 | |
%xtraiter = and i32 %50, 3 | |
%lcmp.mod = icmp eq i32 %xtraiter, 0 | |
br i1 %lcmp.mod, label %.new, label %.prol.preheader | |
.prol.preheader: ; preds = %43 | |
%51 = load i32, i32* %45, align 4 | |
store i32 %51, i32* %44, align 4 | |
%52 = getelementptr inbounds i32, i32* %44, i32 1 | |
%53 = getelementptr inbounds i32, i32* %45, i32 1 | |
%54 = load i32, i32* %53, align 4 | |
store i32 %54, i32* %52, align 4 | |
%55 = getelementptr inbounds i32, i32* %44, i32 2 | |
%56 = getelementptr inbounds i32, i32* %45, i32 2 | |
%57 = load i32, i32* %56, align 4 | |
store i32 %57, i32* %55, align 4 | |
%58 = getelementptr inbounds i32, i32* %44, i32 3 | |
%59 = getelementptr inbounds i32, i32* %45, i32 3 | |
%60 = load i32, i32* %59, align 4 | |
store i32 %60, i32* %58, align 4 | |
%61 = getelementptr inbounds i32, i32* %44, i32 4 | |
%62 = getelementptr inbounds i32, i32* %45, i32 4 | |
%63 = load i32, i32* %62, align 4 | |
store i32 %63, i32* %61, align 4 | |
%64 = getelementptr inbounds i32, i32* %44, i32 5 | |
%65 = getelementptr inbounds i32, i32* %45, i32 5 | |
%66 = load i32, i32* %65, align 4 | |
store i32 %66, i32* %64, align 4 | |
%67 = getelementptr inbounds i32, i32* %44, i32 6 | |
%68 = getelementptr inbounds i32, i32* %45, i32 6 | |
%69 = load i32, i32* %68, align 4 | |
store i32 %69, i32* %67, align 4 | |
%70 = getelementptr inbounds i32, i32* %44, i32 7 | |
%71 = getelementptr inbounds i32, i32* %45, i32 7 | |
%72 = load i32, i32* %71, align 4 | |
store i32 %72, i32* %70, align 4 | |
%73 = getelementptr inbounds i32, i32* %44, i32 8 | |
%74 = getelementptr inbounds i32, i32* %45, i32 8 | |
%75 = load i32, i32* %74, align 4 | |
store i32 %75, i32* %73, align 4 | |
%76 = getelementptr inbounds i32, i32* %44, i32 9 | |
%77 = getelementptr inbounds i32, i32* %45, i32 9 | |
%78 = load i32, i32* %77, align 4 | |
store i32 %78, i32* %76, align 4 | |
%79 = getelementptr inbounds i32, i32* %44, i32 10 | |
%80 = getelementptr inbounds i32, i32* %45, i32 10 | |
%81 = load i32, i32* %80, align 4 | |
store i32 %81, i32* %79, align 4 | |
%82 = getelementptr inbounds i32, i32* %44, i32 11 | |
%83 = getelementptr inbounds i32, i32* %45, i32 11 | |
%84 = load i32, i32* %83, align 4 | |
store i32 %84, i32* %82, align 4 | |
%85 = getelementptr inbounds i32, i32* %44, i32 12 | |
%86 = getelementptr inbounds i32, i32* %45, i32 12 | |
%87 = load i32, i32* %86, align 4 | |
store i32 %87, i32* %85, align 4 | |
%88 = getelementptr inbounds i32, i32* %44, i32 13 | |
%89 = getelementptr inbounds i32, i32* %45, i32 13 | |
%90 = load i32, i32* %89, align 4 | |
store i32 %90, i32* %88, align 4 | |
%91 = getelementptr inbounds i32, i32* %44, i32 14 | |
%92 = getelementptr inbounds i32, i32* %45, i32 14 | |
%93 = load i32, i32* %92, align 4 | |
store i32 %93, i32* %91, align 4 | |
%94 = getelementptr inbounds i32, i32* %44, i32 15 | |
%95 = getelementptr inbounds i32, i32* %45, i32 15 | |
%96 = load i32, i32* %95, align 4 | |
store i32 %96, i32* %94, align 4 | |
%97 = getelementptr inbounds i32, i32* %44, i32 16 | |
%98 = getelementptr inbounds i32, i32* %45, i32 16 | |
%prol.iter.cmp = icmp eq i32 %xtraiter, 1 | |
br i1 %prol.iter.cmp, label %.new, label %345 | |
.new: ; preds = %43, %345, %.prol.preheader, %394 | |
%.unr = phi i32* [ %44, %43 ], [ %97, %.prol.preheader ], [ %392, %345 ], [ %441, %394 ] | |
%.unr4 = phi i32* [ %45, %43 ], [ %98, %.prol.preheader ], [ %393, %345 ], [ %442, %394 ] | |
br label %99 | |
; <label>:99: ; preds = %99, %.new | |
%100 = phi i32* [ %.unr, %.new ], [ %292, %99 ] | |
%101 = phi i32* [ %.unr4, %.new ], [ %293, %99 ] | |
%102 = load i32, i32* %101, align 4 | |
store i32 %102, i32* %100, align 4 | |
%103 = getelementptr inbounds i32, i32* %100, i32 1 | |
%104 = getelementptr inbounds i32, i32* %101, i32 1 | |
%105 = load i32, i32* %104, align 4 | |
store i32 %105, i32* %103, align 4 | |
%106 = getelementptr inbounds i32, i32* %100, i32 2 | |
%107 = getelementptr inbounds i32, i32* %101, i32 2 | |
%108 = load i32, i32* %107, align 4 | |
store i32 %108, i32* %106, align 4 | |
%109 = getelementptr inbounds i32, i32* %100, i32 3 | |
%110 = getelementptr inbounds i32, i32* %101, i32 3 | |
%111 = load i32, i32* %110, align 4 | |
store i32 %111, i32* %109, align 4 | |
%112 = getelementptr inbounds i32, i32* %100, i32 4 | |
%113 = getelementptr inbounds i32, i32* %101, i32 4 | |
%114 = load i32, i32* %113, align 4 | |
store i32 %114, i32* %112, align 4 | |
%115 = getelementptr inbounds i32, i32* %100, i32 5 | |
%116 = getelementptr inbounds i32, i32* %101, i32 5 | |
%117 = load i32, i32* %116, align 4 | |
store i32 %117, i32* %115, align 4 | |
%118 = getelementptr inbounds i32, i32* %100, i32 6 | |
%119 = getelementptr inbounds i32, i32* %101, i32 6 | |
%120 = load i32, i32* %119, align 4 | |
store i32 %120, i32* %118, align 4 | |
%121 = getelementptr inbounds i32, i32* %100, i32 7 | |
%122 = getelementptr inbounds i32, i32* %101, i32 7 | |
%123 = load i32, i32* %122, align 4 | |
store i32 %123, i32* %121, align 4 | |
%124 = getelementptr inbounds i32, i32* %100, i32 8 | |
%125 = getelementptr inbounds i32, i32* %101, i32 8 | |
%126 = load i32, i32* %125, align 4 | |
store i32 %126, i32* %124, align 4 | |
%127 = getelementptr inbounds i32, i32* %100, i32 9 | |
%128 = getelementptr inbounds i32, i32* %101, i32 9 | |
%129 = load i32, i32* %128, align 4 | |
store i32 %129, i32* %127, align 4 | |
%130 = getelementptr inbounds i32, i32* %100, i32 10 | |
%131 = getelementptr inbounds i32, i32* %101, i32 10 | |
%132 = load i32, i32* %131, align 4 | |
store i32 %132, i32* %130, align 4 | |
%133 = getelementptr inbounds i32, i32* %100, i32 11 | |
%134 = getelementptr inbounds i32, i32* %101, i32 11 | |
%135 = load i32, i32* %134, align 4 | |
store i32 %135, i32* %133, align 4 | |
%136 = getelementptr inbounds i32, i32* %100, i32 12 | |
%137 = getelementptr inbounds i32, i32* %101, i32 12 | |
%138 = load i32, i32* %137, align 4 | |
store i32 %138, i32* %136, align 4 | |
%139 = getelementptr inbounds i32, i32* %100, i32 13 | |
%140 = getelementptr inbounds i32, i32* %101, i32 13 | |
%141 = load i32, i32* %140, align 4 | |
store i32 %141, i32* %139, align 4 | |
%142 = getelementptr inbounds i32, i32* %100, i32 14 | |
%143 = getelementptr inbounds i32, i32* %101, i32 14 | |
%144 = load i32, i32* %143, align 4 | |
store i32 %144, i32* %142, align 4 | |
%145 = getelementptr inbounds i32, i32* %100, i32 15 | |
%146 = getelementptr inbounds i32, i32* %101, i32 15 | |
%147 = load i32, i32* %146, align 4 | |
store i32 %147, i32* %145, align 4 | |
%148 = getelementptr inbounds i32, i32* %100, i32 16 | |
%149 = getelementptr inbounds i32, i32* %101, i32 16 | |
%150 = load i32, i32* %149, align 4 | |
store i32 %150, i32* %148, align 4 | |
%151 = getelementptr inbounds i32, i32* %100, i32 17 | |
%152 = getelementptr inbounds i32, i32* %101, i32 17 | |
%153 = load i32, i32* %152, align 4 | |
store i32 %153, i32* %151, align 4 | |
%154 = getelementptr inbounds i32, i32* %100, i32 18 | |
%155 = getelementptr inbounds i32, i32* %101, i32 18 | |
%156 = load i32, i32* %155, align 4 | |
store i32 %156, i32* %154, align 4 | |
%157 = getelementptr inbounds i32, i32* %100, i32 19 | |
%158 = getelementptr inbounds i32, i32* %101, i32 19 | |
%159 = load i32, i32* %158, align 4 | |
store i32 %159, i32* %157, align 4 | |
%160 = getelementptr inbounds i32, i32* %100, i32 20 | |
%161 = getelementptr inbounds i32, i32* %101, i32 20 | |
%162 = load i32, i32* %161, align 4 | |
store i32 %162, i32* %160, align 4 | |
%163 = getelementptr inbounds i32, i32* %100, i32 21 | |
%164 = getelementptr inbounds i32, i32* %101, i32 21 | |
%165 = load i32, i32* %164, align 4 | |
store i32 %165, i32* %163, align 4 | |
%166 = getelementptr inbounds i32, i32* %100, i32 22 | |
%167 = getelementptr inbounds i32, i32* %101, i32 22 | |
%168 = load i32, i32* %167, align 4 | |
store i32 %168, i32* %166, align 4 | |
%169 = getelementptr inbounds i32, i32* %100, i32 23 | |
%170 = getelementptr inbounds i32, i32* %101, i32 23 | |
%171 = load i32, i32* %170, align 4 | |
store i32 %171, i32* %169, align 4 | |
%172 = getelementptr inbounds i32, i32* %100, i32 24 | |
%173 = getelementptr inbounds i32, i32* %101, i32 24 | |
%174 = load i32, i32* %173, align 4 | |
store i32 %174, i32* %172, align 4 | |
%175 = getelementptr inbounds i32, i32* %100, i32 25 | |
%176 = getelementptr inbounds i32, i32* %101, i32 25 | |
%177 = load i32, i32* %176, align 4 | |
store i32 %177, i32* %175, align 4 | |
%178 = getelementptr inbounds i32, i32* %100, i32 26 | |
%179 = getelementptr inbounds i32, i32* %101, i32 26 | |
%180 = load i32, i32* %179, align 4 | |
store i32 %180, i32* %178, align 4 | |
%181 = getelementptr inbounds i32, i32* %100, i32 27 | |
%182 = getelementptr inbounds i32, i32* %101, i32 27 | |
%183 = load i32, i32* %182, align 4 | |
store i32 %183, i32* %181, align 4 | |
%184 = getelementptr inbounds i32, i32* %100, i32 28 | |
%185 = getelementptr inbounds i32, i32* %101, i32 28 | |
%186 = load i32, i32* %185, align 4 | |
store i32 %186, i32* %184, align 4 | |
%187 = getelementptr inbounds i32, i32* %100, i32 29 | |
%188 = getelementptr inbounds i32, i32* %101, i32 29 | |
%189 = load i32, i32* %188, align 4 | |
store i32 %189, i32* %187, align 4 | |
%190 = getelementptr inbounds i32, i32* %100, i32 30 | |
%191 = getelementptr inbounds i32, i32* %101, i32 30 | |
%192 = load i32, i32* %191, align 4 | |
store i32 %192, i32* %190, align 4 | |
%193 = getelementptr inbounds i32, i32* %100, i32 31 | |
%194 = getelementptr inbounds i32, i32* %101, i32 31 | |
%195 = load i32, i32* %194, align 4 | |
store i32 %195, i32* %193, align 4 | |
%196 = getelementptr inbounds i32, i32* %100, i32 32 | |
%197 = getelementptr inbounds i32, i32* %101, i32 32 | |
%198 = load i32, i32* %197, align 4 | |
store i32 %198, i32* %196, align 4 | |
%199 = getelementptr inbounds i32, i32* %100, i32 33 | |
%200 = getelementptr inbounds i32, i32* %101, i32 33 | |
%201 = load i32, i32* %200, align 4 | |
store i32 %201, i32* %199, align 4 | |
%202 = getelementptr inbounds i32, i32* %100, i32 34 | |
%203 = getelementptr inbounds i32, i32* %101, i32 34 | |
%204 = load i32, i32* %203, align 4 | |
store i32 %204, i32* %202, align 4 | |
%205 = getelementptr inbounds i32, i32* %100, i32 35 | |
%206 = getelementptr inbounds i32, i32* %101, i32 35 | |
%207 = load i32, i32* %206, align 4 | |
store i32 %207, i32* %205, align 4 | |
%208 = getelementptr inbounds i32, i32* %100, i32 36 | |
%209 = getelementptr inbounds i32, i32* %101, i32 36 | |
%210 = load i32, i32* %209, align 4 | |
store i32 %210, i32* %208, align 4 | |
%211 = getelementptr inbounds i32, i32* %100, i32 37 | |
%212 = getelementptr inbounds i32, i32* %101, i32 37 | |
%213 = load i32, i32* %212, align 4 | |
store i32 %213, i32* %211, align 4 | |
%214 = getelementptr inbounds i32, i32* %100, i32 38 | |
%215 = getelementptr inbounds i32, i32* %101, i32 38 | |
%216 = load i32, i32* %215, align 4 | |
store i32 %216, i32* %214, align 4 | |
%217 = getelementptr inbounds i32, i32* %100, i32 39 | |
%218 = getelementptr inbounds i32, i32* %101, i32 39 | |
%219 = load i32, i32* %218, align 4 | |
store i32 %219, i32* %217, align 4 | |
%220 = getelementptr inbounds i32, i32* %100, i32 40 | |
%221 = getelementptr inbounds i32, i32* %101, i32 40 | |
%222 = load i32, i32* %221, align 4 | |
store i32 %222, i32* %220, align 4 | |
%223 = getelementptr inbounds i32, i32* %100, i32 41 | |
%224 = getelementptr inbounds i32, i32* %101, i32 41 | |
%225 = load i32, i32* %224, align 4 | |
store i32 %225, i32* %223, align 4 | |
%226 = getelementptr inbounds i32, i32* %100, i32 42 | |
%227 = getelementptr inbounds i32, i32* %101, i32 42 | |
%228 = load i32, i32* %227, align 4 | |
store i32 %228, i32* %226, align 4 | |
%229 = getelementptr inbounds i32, i32* %100, i32 43 | |
%230 = getelementptr inbounds i32, i32* %101, i32 43 | |
%231 = load i32, i32* %230, align 4 | |
store i32 %231, i32* %229, align 4 | |
%232 = getelementptr inbounds i32, i32* %100, i32 44 | |
%233 = getelementptr inbounds i32, i32* %101, i32 44 | |
%234 = load i32, i32* %233, align 4 | |
store i32 %234, i32* %232, align 4 | |
%235 = getelementptr inbounds i32, i32* %100, i32 45 | |
%236 = getelementptr inbounds i32, i32* %101, i32 45 | |
%237 = load i32, i32* %236, align 4 | |
store i32 %237, i32* %235, align 4 | |
%238 = getelementptr inbounds i32, i32* %100, i32 46 | |
%239 = getelementptr inbounds i32, i32* %101, i32 46 | |
%240 = load i32, i32* %239, align 4 | |
store i32 %240, i32* %238, align 4 | |
%241 = getelementptr inbounds i32, i32* %100, i32 47 | |
%242 = getelementptr inbounds i32, i32* %101, i32 47 | |
%243 = load i32, i32* %242, align 4 | |
store i32 %243, i32* %241, align 4 | |
%244 = getelementptr inbounds i32, i32* %100, i32 48 | |
%245 = getelementptr inbounds i32, i32* %101, i32 48 | |
%246 = load i32, i32* %245, align 4 | |
store i32 %246, i32* %244, align 4 | |
%247 = getelementptr inbounds i32, i32* %100, i32 49 | |
%248 = getelementptr inbounds i32, i32* %101, i32 49 | |
%249 = load i32, i32* %248, align 4 | |
store i32 %249, i32* %247, align 4 | |
%250 = getelementptr inbounds i32, i32* %100, i32 50 | |
%251 = getelementptr inbounds i32, i32* %101, i32 50 | |
%252 = load i32, i32* %251, align 4 | |
store i32 %252, i32* %250, align 4 | |
%253 = getelementptr inbounds i32, i32* %100, i32 51 | |
%254 = getelementptr inbounds i32, i32* %101, i32 51 | |
%255 = load i32, i32* %254, align 4 | |
store i32 %255, i32* %253, align 4 | |
%256 = getelementptr inbounds i32, i32* %100, i32 52 | |
%257 = getelementptr inbounds i32, i32* %101, i32 52 | |
%258 = load i32, i32* %257, align 4 | |
store i32 %258, i32* %256, align 4 | |
%259 = getelementptr inbounds i32, i32* %100, i32 53 | |
%260 = getelementptr inbounds i32, i32* %101, i32 53 | |
%261 = load i32, i32* %260, align 4 | |
store i32 %261, i32* %259, align 4 | |
%262 = getelementptr inbounds i32, i32* %100, i32 54 | |
%263 = getelementptr inbounds i32, i32* %101, i32 54 | |
%264 = load i32, i32* %263, align 4 | |
store i32 %264, i32* %262, align 4 | |
%265 = getelementptr inbounds i32, i32* %100, i32 55 | |
%266 = getelementptr inbounds i32, i32* %101, i32 55 | |
%267 = load i32, i32* %266, align 4 | |
store i32 %267, i32* %265, align 4 | |
%268 = getelementptr inbounds i32, i32* %100, i32 56 | |
%269 = getelementptr inbounds i32, i32* %101, i32 56 | |
%270 = load i32, i32* %269, align 4 | |
store i32 %270, i32* %268, align 4 | |
%271 = getelementptr inbounds i32, i32* %100, i32 57 | |
%272 = getelementptr inbounds i32, i32* %101, i32 57 | |
%273 = load i32, i32* %272, align 4 | |
store i32 %273, i32* %271, align 4 | |
%274 = getelementptr inbounds i32, i32* %100, i32 58 | |
%275 = getelementptr inbounds i32, i32* %101, i32 58 | |
%276 = load i32, i32* %275, align 4 | |
store i32 %276, i32* %274, align 4 | |
%277 = getelementptr inbounds i32, i32* %100, i32 59 | |
%278 = getelementptr inbounds i32, i32* %101, i32 59 | |
%279 = load i32, i32* %278, align 4 | |
store i32 %279, i32* %277, align 4 | |
%280 = getelementptr inbounds i32, i32* %100, i32 60 | |
%281 = getelementptr inbounds i32, i32* %101, i32 60 | |
%282 = load i32, i32* %281, align 4 | |
store i32 %282, i32* %280, align 4 | |
%283 = getelementptr inbounds i32, i32* %100, i32 61 | |
%284 = getelementptr inbounds i32, i32* %101, i32 61 | |
%285 = load i32, i32* %284, align 4 | |
store i32 %285, i32* %283, align 4 | |
%286 = getelementptr inbounds i32, i32* %100, i32 62 | |
%287 = getelementptr inbounds i32, i32* %101, i32 62 | |
%288 = load i32, i32* %287, align 4 | |
store i32 %288, i32* %286, align 4 | |
%289 = getelementptr inbounds i32, i32* %100, i32 63 | |
%290 = getelementptr inbounds i32, i32* %101, i32 63 | |
%291 = load i32, i32* %290, align 4 | |
store i32 %291, i32* %289, align 4 | |
%292 = getelementptr inbounds i32, i32* %100, i32 64 | |
%293 = getelementptr inbounds i32, i32* %101, i32 64 | |
br label %99 | |
; <label>:294: ; preds = %13 | |
%295 = load i32, i32* getelementptr inbounds (i32, i32* @_sidata, i32 1), align 4 | |
store i32 %295, i32* getelementptr inbounds (i32, i32* @_sdata, i32 1), align 4 | |
br i1 icmp ne (i32 sub (i32 sub (i32 and (i32 add (i32 lshr (i32 ptrtoint (i8* getelementptr (i8, i8* bitcast (i32* select (i1 icmp ult (i32* getelementptr inbounds (i32, i32* @_sdata, i32 1), i32* @_edata), i32* @_edata, i32* getelementptr inbounds (i32, i32* @_sdata, i32 1)) to i8*), i32 sub (i32 -1, i32 ptrtoint (i32* @_sdata to i32))) to i32), i32 2), i32 1), i32 3), i32 1), i32 1), i32 0), label %296, label %15 | |
; <label>:296: ; preds = %294 | |
%297 = load i32, i32* getelementptr (i32, i32* @_sidata, i32 2), align 4 | |
store i32 %297, i32* getelementptr (i32, i32* @_sdata, i32 2), align 4 | |
br label %15 | |
; <label>:298: ; preds = %2 | |
store volatile i32 0, i32* getelementptr inbounds (i32, i32* @_sbss, i32 1), align 4 | |
br i1 icmp ne (i32 sub (i32 sub (i32 and (i32 add (i32 lshr (i32 ptrtoint (i8* getelementptr (i8, i8* bitcast (i32* select (i1 icmp ult (i32* getelementptr inbounds (i32, i32* @_sbss, i32 1), i32* @_ebss), i32* @_ebss, i32* getelementptr inbounds (i32, i32* @_sbss, i32 1)) to i8*), i32 sub (i32 -1, i32 ptrtoint (i32* @_sbss to i32))) to i32), i32 2), i32 1), i32 3), i32 1), i32 1), i32 0), label %299, label %3 | |
; <label>:299: ; preds = %298 | |
store volatile i32 0, i32* getelementptr (i32, i32* @_sbss, i32 2), align 4 | |
br label %3 | |
; <label>:300: ; preds = %30 | |
%301 = load i32, i32* %41, align 4 | |
store i32 %301, i32* %19, align 4 | |
%302 = getelementptr inbounds i32, i32* %16, i32 5 | |
%303 = getelementptr inbounds i32, i32* %17, i32 5 | |
%304 = load i32, i32* %303, align 4 | |
store i32 %304, i32* %302, align 4 | |
%305 = getelementptr inbounds i32, i32* %16, i32 6 | |
%306 = getelementptr inbounds i32, i32* %17, i32 6 | |
%307 = load i32, i32* %306, align 4 | |
store i32 %307, i32* %305, align 4 | |
%308 = getelementptr inbounds i32, i32* %16, i32 7 | |
%309 = getelementptr inbounds i32, i32* %17, i32 7 | |
%310 = load i32, i32* %309, align 4 | |
store i32 %310, i32* %308, align 4 | |
%311 = getelementptr inbounds i32, i32* %16, i32 8 | |
%312 = getelementptr inbounds i32, i32* %17, i32 8 | |
%313 = icmp eq i32 %28, 2 | |
br i1 %313, label %43, label %314 | |
; <label>:314: ; preds = %300 | |
%315 = load i32, i32* %312, align 4 | |
store i32 %315, i32* %311, align 4 | |
%316 = getelementptr inbounds i32, i32* %16, i32 9 | |
%317 = getelementptr inbounds i32, i32* %17, i32 9 | |
%318 = load i32, i32* %317, align 4 | |
store i32 %318, i32* %316, align 4 | |
%319 = getelementptr inbounds i32, i32* %16, i32 10 | |
%320 = getelementptr inbounds i32, i32* %17, i32 10 | |
%321 = load i32, i32* %320, align 4 | |
store i32 %321, i32* %319, align 4 | |
%322 = getelementptr inbounds i32, i32* %16, i32 11 | |
%323 = getelementptr inbounds i32, i32* %17, i32 11 | |
%324 = load i32, i32* %323, align 4 | |
store i32 %324, i32* %322, align 4 | |
%325 = getelementptr inbounds i32, i32* %16, i32 12 | |
%326 = getelementptr inbounds i32, i32* %17, i32 12 | |
br label %43 | |
; <label>:327: ; preds = %6 | |
store volatile i32 0, i32* %11, align 4 | |
%328 = getelementptr inbounds i32, i32* %7, i32 5 | |
store volatile i32 0, i32* %328, align 4 | |
%329 = getelementptr inbounds i32, i32* %7, i32 6 | |
store volatile i32 0, i32* %329, align 4 | |
%330 = getelementptr inbounds i32, i32* %7, i32 7 | |
store volatile i32 0, i32* %330, align 4 | |
%331 = getelementptr inbounds i32, i32* %7, i32 8 | |
%332 = icmp ult i32* %331, @_ebss | |
br i1 %332, label %333, label %.loopexit1 | |
; <label>:333: ; preds = %327 | |
store volatile i32 0, i32* %331, align 4 | |
%334 = getelementptr inbounds i32, i32* %7, i32 9 | |
store volatile i32 0, i32* %334, align 4 | |
%335 = getelementptr inbounds i32, i32* %7, i32 10 | |
store volatile i32 0, i32* %335, align 4 | |
%336 = getelementptr inbounds i32, i32* %7, i32 11 | |
store volatile i32 0, i32* %336, align 4 | |
%337 = getelementptr inbounds i32, i32* %7, i32 12 | |
%338 = icmp ult i32* %337, @_ebss | |
br i1 %338, label %339, label %.loopexit1 | |
; <label>:339: ; preds = %333 | |
store volatile i32 0, i32* %337, align 4 | |
%340 = getelementptr inbounds i32, i32* %7, i32 13 | |
store volatile i32 0, i32* %340, align 4 | |
%341 = getelementptr inbounds i32, i32* %7, i32 14 | |
store volatile i32 0, i32* %341, align 4 | |
%342 = getelementptr inbounds i32, i32* %7, i32 15 | |
store volatile i32 0, i32* %342, align 4 | |
%343 = getelementptr inbounds i32, i32* %7, i32 16 | |
%344 = icmp ult i32* %343, @_ebss | |
br i1 %344, label %6, label %.loopexit1 | |
; <label>:345: ; preds = %.prol.preheader | |
%346 = load i32, i32* %98, align 4 | |
store i32 %346, i32* %97, align 4 | |
%347 = getelementptr inbounds i32, i32* %44, i32 17 | |
%348 = getelementptr inbounds i32, i32* %45, i32 17 | |
%349 = load i32, i32* %348, align 4 | |
store i32 %349, i32* %347, align 4 | |
%350 = getelementptr inbounds i32, i32* %44, i32 18 | |
%351 = getelementptr inbounds i32, i32* %45, i32 18 | |
%352 = load i32, i32* %351, align 4 | |
store i32 %352, i32* %350, align 4 | |
%353 = getelementptr inbounds i32, i32* %44, i32 19 | |
%354 = getelementptr inbounds i32, i32* %45, i32 19 | |
%355 = load i32, i32* %354, align 4 | |
store i32 %355, i32* %353, align 4 | |
%356 = getelementptr inbounds i32, i32* %44, i32 20 | |
%357 = getelementptr inbounds i32, i32* %45, i32 20 | |
%358 = load i32, i32* %357, align 4 | |
store i32 %358, i32* %356, align 4 | |
%359 = getelementptr inbounds i32, i32* %44, i32 21 | |
%360 = getelementptr inbounds i32, i32* %45, i32 21 | |
%361 = load i32, i32* %360, align 4 | |
store i32 %361, i32* %359, align 4 | |
%362 = getelementptr inbounds i32, i32* %44, i32 22 | |
%363 = getelementptr inbounds i32, i32* %45, i32 22 | |
%364 = load i32, i32* %363, align 4 | |
store i32 %364, i32* %362, align 4 | |
%365 = getelementptr inbounds i32, i32* %44, i32 23 | |
%366 = getelementptr inbounds i32, i32* %45, i32 23 | |
%367 = load i32, i32* %366, align 4 | |
store i32 %367, i32* %365, align 4 | |
%368 = getelementptr inbounds i32, i32* %44, i32 24 | |
%369 = getelementptr inbounds i32, i32* %45, i32 24 | |
%370 = load i32, i32* %369, align 4 | |
store i32 %370, i32* %368, align 4 | |
%371 = getelementptr inbounds i32, i32* %44, i32 25 | |
%372 = getelementptr inbounds i32, i32* %45, i32 25 | |
%373 = load i32, i32* %372, align 4 | |
store i32 %373, i32* %371, align 4 | |
%374 = getelementptr inbounds i32, i32* %44, i32 26 | |
%375 = getelementptr inbounds i32, i32* %45, i32 26 | |
%376 = load i32, i32* %375, align 4 | |
store i32 %376, i32* %374, align 4 | |
%377 = getelementptr inbounds i32, i32* %44, i32 27 | |
%378 = getelementptr inbounds i32, i32* %45, i32 27 | |
%379 = load i32, i32* %378, align 4 | |
store i32 %379, i32* %377, align 4 | |
%380 = getelementptr inbounds i32, i32* %44, i32 28 | |
%381 = getelementptr inbounds i32, i32* %45, i32 28 | |
%382 = load i32, i32* %381, align 4 | |
store i32 %382, i32* %380, align 4 | |
%383 = getelementptr inbounds i32, i32* %44, i32 29 | |
%384 = getelementptr inbounds i32, i32* %45, i32 29 | |
%385 = load i32, i32* %384, align 4 | |
store i32 %385, i32* %383, align 4 | |
%386 = getelementptr inbounds i32, i32* %44, i32 30 | |
%387 = getelementptr inbounds i32, i32* %45, i32 30 | |
%388 = load i32, i32* %387, align 4 | |
store i32 %388, i32* %386, align 4 | |
%389 = getelementptr inbounds i32, i32* %44, i32 31 | |
%390 = getelementptr inbounds i32, i32* %45, i32 31 | |
%391 = load i32, i32* %390, align 4 | |
store i32 %391, i32* %389, align 4 | |
%392 = getelementptr inbounds i32, i32* %44, i32 32 | |
%393 = getelementptr inbounds i32, i32* %45, i32 32 | |
%prol.iter.cmp.1 = icmp eq i32 %xtraiter, 2 | |
br i1 %prol.iter.cmp.1, label %.new, label %394 | |
; <label>:394: ; preds = %345 | |
%395 = load i32, i32* %393, align 4 | |
store i32 %395, i32* %392, align 4 | |
%396 = getelementptr inbounds i32, i32* %44, i32 33 | |
%397 = getelementptr inbounds i32, i32* %45, i32 33 | |
%398 = load i32, i32* %397, align 4 | |
store i32 %398, i32* %396, align 4 | |
%399 = getelementptr inbounds i32, i32* %44, i32 34 | |
%400 = getelementptr inbounds i32, i32* %45, i32 34 | |
%401 = load i32, i32* %400, align 4 | |
store i32 %401, i32* %399, align 4 | |
%402 = getelementptr inbounds i32, i32* %44, i32 35 | |
%403 = getelementptr inbounds i32, i32* %45, i32 35 | |
%404 = load i32, i32* %403, align 4 | |
store i32 %404, i32* %402, align 4 | |
%405 = getelementptr inbounds i32, i32* %44, i32 36 | |
%406 = getelementptr inbounds i32, i32* %45, i32 36 | |
%407 = load i32, i32* %406, align 4 | |
store i32 %407, i32* %405, align 4 | |
%408 = getelementptr inbounds i32, i32* %44, i32 37 | |
%409 = getelementptr inbounds i32, i32* %45, i32 37 | |
%410 = load i32, i32* %409, align 4 | |
store i32 %410, i32* %408, align 4 | |
%411 = getelementptr inbounds i32, i32* %44, i32 38 | |
%412 = getelementptr inbounds i32, i32* %45, i32 38 | |
%413 = load i32, i32* %412, align 4 | |
store i32 %413, i32* %411, align 4 | |
%414 = getelementptr inbounds i32, i32* %44, i32 39 | |
%415 = getelementptr inbounds i32, i32* %45, i32 39 | |
%416 = load i32, i32* %415, align 4 | |
store i32 %416, i32* %414, align 4 | |
%417 = getelementptr inbounds i32, i32* %44, i32 40 | |
%418 = getelementptr inbounds i32, i32* %45, i32 40 | |
%419 = load i32, i32* %418, align 4 | |
store i32 %419, i32* %417, align 4 | |
%420 = getelementptr inbounds i32, i32* %44, i32 41 | |
%421 = getelementptr inbounds i32, i32* %45, i32 41 | |
%422 = load i32, i32* %421, align 4 | |
store i32 %422, i32* %420, align 4 | |
%423 = getelementptr inbounds i32, i32* %44, i32 42 | |
%424 = getelementptr inbounds i32, i32* %45, i32 42 | |
%425 = load i32, i32* %424, align 4 | |
store i32 %425, i32* %423, align 4 | |
%426 = getelementptr inbounds i32, i32* %44, i32 43 | |
%427 = getelementptr inbounds i32, i32* %45, i32 43 | |
%428 = load i32, i32* %427, align 4 | |
store i32 %428, i32* %426, align 4 | |
%429 = getelementptr inbounds i32, i32* %44, i32 44 | |
%430 = getelementptr inbounds i32, i32* %45, i32 44 | |
%431 = load i32, i32* %430, align 4 | |
store i32 %431, i32* %429, align 4 | |
%432 = getelementptr inbounds i32, i32* %44, i32 45 | |
%433 = getelementptr inbounds i32, i32* %45, i32 45 | |
%434 = load i32, i32* %433, align 4 | |
store i32 %434, i32* %432, align 4 | |
%435 = getelementptr inbounds i32, i32* %44, i32 46 | |
%436 = getelementptr inbounds i32, i32* %45, i32 46 | |
%437 = load i32, i32* %436, align 4 | |
store i32 %437, i32* %435, align 4 | |
%438 = getelementptr inbounds i32, i32* %44, i32 47 | |
%439 = getelementptr inbounds i32, i32* %45, i32 47 | |
%440 = load i32, i32* %439, align 4 | |
store i32 %440, i32* %438, align 4 | |
%441 = getelementptr inbounds i32, i32* %44, i32 48 | |
%442 = getelementptr inbounds i32, i32* %45, i32 48 | |
br label %.new | |
} | |
attributes #0 = { norecurse noreturn nounwind readnone } | |
attributes #1 = { nounwind } | |
attributes #2 = { norecurse noreturn nounwind } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment