; ModuleID = 'probe1.3a1fbbbh-cgu.0' source_filename = "probe1.3a1fbbbh-cgu.0" target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32" target triple = "i686-pc-windows-msvc" %"core::iter::adapters::Rev>>" = type { [0 x i32], %"core::iter::adapters::StepBy>", [0 x i32] } %"core::iter::adapters::StepBy>" = type { [0 x i32], { i32, i32 }, [0 x i32], i32, [0 x i8], i8, [3 x i8] } %"core::panic::Location" = type { [0 x i32], { [0 x i8]*, i32 }, [0 x i32], i32, [0 x i32], i32, [0 x i32] } @0 = private unnamed_addr constant <{ [27 x i8] }> <{ [27 x i8] c"assertion failed: step != 0" }>, align 1 @1 = private unnamed_addr constant <{ [73 x i8] }> <{ [73 x i8] c"/rustc/5e1a799842ba6ed4a57e91f7ab9435947482f7d8\5Csrc\5Clibcore\5Cmacros\5Cmod.rs" }>, align 1 @2 = private unnamed_addr constant <{ i8*, [12 x i8] }> <{ i8* getelementptr inbounds (<{ [73 x i8] }>, <{ [73 x i8] }>* @1, i32 0, i32 0, i32 0), [12 x i8] c"I\00\00\00\0F\00\00\00(\00\00\00" }>, align 4 ; core::iter::traits::iterator::Iterator::rev ; Function Attrs: inlinehint uwtable define void @_ZN4core4iter6traits8iterator8Iterator3rev17hd89a3d5eefbce3e7E(%"core::iter::adapters::Rev>>"* noalias nocapture sret dereferenceable(16), %"core::iter::adapters::StepBy>"* noalias nocapture dereferenceable(16) %self) unnamed_addr #0 { start: %_2 = alloca %"core::iter::adapters::StepBy>", align 4 %1 = bitcast %"core::iter::adapters::StepBy>"* %_2 to i8* %2 = bitcast %"core::iter::adapters::StepBy>"* %self to i8* call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 4 %1, i8* align 4 %2, i32 16, i1 false) ; call core::iter::adapters::Rev::new call void @"_ZN4core4iter8adapters12Rev$LT$T$GT$3new17hf4662b11a6444e1bE"(%"core::iter::adapters::Rev>>"* noalias nocapture sret dereferenceable(16) %0, %"core::iter::adapters::StepBy>"* noalias nocapture dereferenceable(16) %_2) br label %bb1 bb1: ; preds = %start ret void } ; core::iter::traits::iterator::Iterator::step_by ; Function Attrs: inlinehint uwtable define void @_ZN4core4iter6traits8iterator8Iterator7step_by17he8662b03b3f983c6E(%"core::iter::adapters::StepBy>"* noalias nocapture sret dereferenceable(16), i32 %self.0, i32 %self.1, i32 %step) unnamed_addr #0 { start: ; call core::iter::adapters::StepBy::new call void @"_ZN4core4iter8adapters15StepBy$LT$I$GT$3new17hf866b7d8ea8e6b1cE"(%"core::iter::adapters::StepBy>"* noalias nocapture sret dereferenceable(16) %0, i32 %self.0, i32 %self.1, i32 %step) br label %bb1 bb1: ; preds = %start ret void } ; core::iter::adapters::Rev::new ; Function Attrs: uwtable define void @"_ZN4core4iter8adapters12Rev$LT$T$GT$3new17hf4662b11a6444e1bE"(%"core::iter::adapters::Rev>>"* noalias nocapture sret dereferenceable(16), %"core::iter::adapters::StepBy>"* noalias nocapture dereferenceable(16) %iter) unnamed_addr #1 { start: %_2 = alloca %"core::iter::adapters::StepBy>", align 4 %1 = bitcast %"core::iter::adapters::StepBy>"* %_2 to i8* %2 = bitcast %"core::iter::adapters::StepBy>"* %iter to i8* call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 4 %1, i8* align 4 %2, i32 16, i1 false) %3 = bitcast %"core::iter::adapters::Rev>>"* %0 to %"core::iter::adapters::StepBy>"* %4 = bitcast %"core::iter::adapters::StepBy>"* %3 to i8* %5 = bitcast %"core::iter::adapters::StepBy>"* %_2 to i8* call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 4 %4, i8* align 4 %5, i32 16, i1 false) ret void } ; core::iter::adapters::StepBy::new ; Function Attrs: uwtable define void @"_ZN4core4iter8adapters15StepBy$LT$I$GT$3new17hf866b7d8ea8e6b1cE"(%"core::iter::adapters::StepBy>"* noalias nocapture sret dereferenceable(16), i32 %iter.0, i32 %iter.1, i32 %step) unnamed_addr #1 personality i32 (...)* @__CxxFrameHandler3 { start: %1 = alloca %"core::panic::Location"*, align 4 %_4 = icmp ne i32 %step, 0 %_3 = xor i1 %_4, true br i1 %_3, label %bb3, label %bb2 bb1: ; preds = %bb5 cleanupret from %cleanuppad unwind to caller bb2: ; preds = %start %_11 = sub i32 %step, 1 %2 = bitcast %"core::iter::adapters::StepBy>"* %0 to { i32, i32 }* %3 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %2, i32 0, i32 0 store i32 %iter.0, i32* %3, align 4 %4 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %2, i32 0, i32 1 store i32 %iter.1, i32* %4, align 4 %5 = getelementptr inbounds %"core::iter::adapters::StepBy>", %"core::iter::adapters::StepBy>"* %0, i32 0, i32 3 store i32 %_11, i32* %5, align 4 %6 = getelementptr inbounds %"core::iter::adapters::StepBy>", %"core::iter::adapters::StepBy>"* %0, i32 0, i32 5 store i8 1, i8* %6, align 4 ret void bb3: ; preds = %start store %"core::panic::Location"* bitcast (<{ i8*, [12 x i8] }>* @2 to %"core::panic::Location"*), %"core::panic::Location"** %1, align 4 %_8 = load %"core::panic::Location"*, %"core::panic::Location"** %1, align 4, !nonnull !1 br label %bb4 bb4: ; preds = %bb3 ; invoke core::panicking::panic invoke void @_ZN4core9panicking5panic17h04ef46973ca54ab2E([0 x i8]* noalias nonnull readonly align 1 bitcast (<{ [27 x i8] }>* @0 to [0 x i8]*), i32 27, %"core::panic::Location"* noalias readonly align 4 dereferenceable(16) %_8) to label %unreachable unwind label %funclet_bb5 bb5: ; preds = %funclet_bb5 br label %bb1 funclet_bb5: ; preds = %bb4 %cleanuppad = cleanuppad within none [] br label %bb5 unreachable: ; preds = %bb4 unreachable } ; probe1::probe ; Function Attrs: uwtable define void @_ZN6probe15probe17he203a3b61d9abeacE() unnamed_addr #1 { start: %_3 = alloca { i32, i32 }, align 4 %_2 = alloca %"core::iter::adapters::StepBy>", align 4 %_1 = alloca %"core::iter::adapters::Rev>>", align 4 %0 = bitcast { i32, i32 }* %_3 to i32* store i32 0, i32* %0, align 4 %1 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %_3, i32 0, i32 1 store i32 10, i32* %1, align 4 %2 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %_3, i32 0, i32 0 %3 = load i32, i32* %2, align 4 %4 = getelementptr inbounds { i32, i32 }, { i32, i32 }* %_3, i32 0, i32 1 %5 = load i32, i32* %4, align 4 ; call core::iter::traits::iterator::Iterator::step_by call void @_ZN4core4iter6traits8iterator8Iterator7step_by17he8662b03b3f983c6E(%"core::iter::adapters::StepBy>"* noalias nocapture sret dereferenceable(16) %_2, i32 %3, i32 %5, i32 2) br label %bb1 bb1: ; preds = %start ; call core::iter::traits::iterator::Iterator::rev call void @_ZN4core4iter6traits8iterator8Iterator3rev17hd89a3d5eefbce3e7E(%"core::iter::adapters::Rev>>"* noalias nocapture sret dereferenceable(16) %_1, %"core::iter::adapters::StepBy>"* noalias nocapture dereferenceable(16) %_2) br label %bb2 bb2: ; preds = %bb1 ret void } ; Function Attrs: argmemonly nounwind declare void @llvm.memcpy.p0i8.p0i8.i32(i8* nocapture writeonly, i8* nocapture readonly, i32, i1 immarg) #2 declare i32 @__CxxFrameHandler3(...) unnamed_addr #3 ; core::panicking::panic ; Function Attrs: cold noinline noreturn uwtable declare void @_ZN4core9panicking5panic17h04ef46973ca54ab2E([0 x i8]* noalias nonnull readonly align 1, i32, %"core::panic::Location"* noalias readonly align 4 dereferenceable(16)) unnamed_addr #4 attributes #0 = { inlinehint uwtable "target-cpu"="pentium4" } attributes #1 = { uwtable "target-cpu"="pentium4" } attributes #2 = { argmemonly nounwind } attributes #3 = { "target-cpu"="pentium4" } attributes #4 = { cold noinline noreturn uwtable "target-cpu"="pentium4" } !llvm.module.flags = !{!0} !0 = !{i32 7, !"PIC Level", i32 2} !1 = !{}