Skip to content

Instantly share code, notes, and snippets.

@jthemphill
Created July 29, 2017 22:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jthemphill/d6850065655308418f4c092761a1370f to your computer and use it in GitHub Desktop.
Save jthemphill/d6850065655308418f4c092761a1370f to your computer and use it in GitHub Desktop.
; ModuleID = 'slow_iters.cgu-0.rs'
source_filename = "slow_iters.cgu-0.rs"
target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-apple-darwin"
%"unwind::libunwind::_Unwind_Exception" = type { i64, [0 x i8], void (i32, %"unwind::libunwind::_Unwind_Exception"*)*, [0 x i8], [6 x i64], [0 x i8] }
%"unwind::libunwind::_Unwind_Context" = type {}
@ref.5 = internal unnamed_addr constant [1 x i32] [i32 1], align 4
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN10slow_iters5tests8iter_any17h9958878595c8e553E() unnamed_addr #0 personality i32 (i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*)* @rust_eh_personality {
start:
%_0.sroa.0.i.i.i.i = alloca i8, align 1
%_0.sroa.3.i.i.i.i = alloca i8, align 1
br label %bb1.i.i.i
bb1.i.i.i: ; preds = %start
br i1 false, label %bb7.i.i.i, label %bb49.i.i.i.preheader
bb49.i.i.i.preheader: ; preds = %bb1.i.i.i
br label %bb49.i.i.i
bb7.i.i.i: ; preds = %bb1.i.i.i
br i1 true, label %bb3.i41.i.i.i, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit49.i.i.i"
bb3.i41.i.i.i: ; preds = %bb7.i.i.i
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit49.i.i.i"
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit49.i.i.i": ; preds = %bb3.i41.i.i.i, %bb7.i.i.i
br i1 undef, label %bb21.i.i.i, label %bb19.i.i.i.loopexit
bb19.loopexit.i.i.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit.i.i.i"
%0 = and i8 %_0.sroa.3.i.i.i.i.0._0.sroa.3.i.i.i.0._0.sroa.3.i.i.0._0.sroa.3.i.0._0.sroa.3.0._0.sroa.3.0._0.sroa.3.0..i.i.i.i, 1
%phitmp8 = icmp eq i8 %0, 0
br label %bb19.i.i.i
bb19.i.i.i.loopexit: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit16.i.i.i", %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit49.i.i.i", %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit38.i.i.i", %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit27.i.i.i"
br label %bb19.i.i.i
bb19.i.i.i: ; preds = %bb19.i.i.i.loopexit, %bb19.loopexit.i.i.i
%_0.1.in.in.in.i.i.i = phi i1 [ %phitmp8, %bb19.loopexit.i.i.i ], [ true, %bb19.i.i.i.loopexit ]
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any17hb21c7d2005a7af45E.exit"
bb21.i.i.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit49.i.i.i"
br i1 undef, label %bb3.i30.i.i.i, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit38.i.i.i"
bb3.i30.i.i.i: ; preds = %bb21.i.i.i
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit38.i.i.i"
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit38.i.i.i": ; preds = %bb3.i30.i.i.i, %bb21.i.i.i
br i1 undef, label %bb30.i.i.i, label %bb19.i.i.i.loopexit
bb30.i.i.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit38.i.i.i"
br i1 undef, label %bb3.i19.i.i.i, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit27.i.i.i"
bb3.i19.i.i.i: ; preds = %bb30.i.i.i
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit27.i.i.i"
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit27.i.i.i": ; preds = %bb3.i19.i.i.i, %bb30.i.i.i
br i1 undef, label %bb39.i.i.i, label %bb19.i.i.i.loopexit
bb39.i.i.i: ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit27.i.i.i"
br i1 undef, label %bb3.i8.i.i.i, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit16.i.i.i"
bb3.i8.i.i.i: ; preds = %bb39.i.i.i
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit16.i.i.i"
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit16.i.i.i": ; preds = %bb3.i8.i.i.i, %bb39.i.i.i
br label %bb19.i.i.i.loopexit
bb49.i.i.i: ; preds = %bb49.i.i.i.preheader, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit.i.i.i"
%1 = phi i32* [ %3, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit.i.i.i" ], [ getelementptr inbounds ([1 x i32], [1 x i32]* @ref.5, i64 0, i64 0), %bb49.i.i.i.preheader ]
%2 = icmp eq i32* %1, getelementptr inbounds ([1 x i32], [1 x i32]* @ref.5, i64 1, i64 0)
br i1 %2, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any17hb21c7d2005a7af45E.exit.loopexit", label %bb51.i.i.i
bb51.i.i.i: ; preds = %bb49.i.i.i
%3 = getelementptr inbounds i32, i32* %1, i64 1
%.val5.i.i.i = load i32, i32* %1, align 4
call void @llvm.lifetime.start(i64 1, i8* nonnull %_0.sroa.0.i.i.i.i)
call void @llvm.lifetime.start(i64 1, i8* nonnull %_0.sroa.3.i.i.i.i)
%4 = icmp eq i32 %.val5.i.i.i, 1
br i1 %4, label %bb3.i.i.i.i, label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit.i.i.i"
bb3.i.i.i.i: ; preds = %bb51.i.i.i
store i8 1, i8* %_0.sroa.0.i.i.i.i, align 1
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit.i.i.i"
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3all28_$u7b$$u7b$closure$u7d$$u7d$17h65c7557850206396E.exit.i.i.i": ; preds = %bb3.i.i.i.i, %bb51.i.i.i
%.sink.i.i.i.i = phi i8* [ %_0.sroa.3.i.i.i.i, %bb3.i.i.i.i ], [ %_0.sroa.0.i.i.i.i, %bb51.i.i.i ]
store i8 0, i8* %.sink.i.i.i.i, align 1
%_0.sroa.0.i.i.i.i.0._0.sroa.0.i.i.i.0._0.sroa.0.i.i.0._0.sroa.0.i.0._0.sroa.0.0._0.sroa.0.0._0.sroa.0.0..i.i.i.i = load i8, i8* %_0.sroa.0.i.i.i.i, align 1
%_0.sroa.3.i.i.i.i.0._0.sroa.3.i.i.i.0._0.sroa.3.i.i.0._0.sroa.3.i.0._0.sroa.3.0._0.sroa.3.0._0.sroa.3.0..i.i.i.i = load i8, i8* %_0.sroa.3.i.i.i.i, align 1
call void @llvm.lifetime.end(i64 1, i8* nonnull %_0.sroa.0.i.i.i.i)
call void @llvm.lifetime.end(i64 1, i8* nonnull %_0.sroa.3.i.i.i.i)
%cond.i.i.i = icmp eq i8 %_0.sroa.0.i.i.i.i.0._0.sroa.0.i.i.i.0._0.sroa.0.i.i.0._0.sroa.0.i.0._0.sroa.0.0._0.sroa.0.0._0.sroa.0.0..i.i.i.i, 0
br i1 %cond.i.i.i, label %bb49.i.i.i, label %bb19.loopexit.i.i.i
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any17hb21c7d2005a7af45E.exit.loopexit": ; preds = %bb49.i.i.i
br label %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any17hb21c7d2005a7af45E.exit"
"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any17hb21c7d2005a7af45E.exit": ; preds = %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any17hb21c7d2005a7af45E.exit.loopexit", %bb19.i.i.i
%_0.0.i.i.i = phi i1 [ %_0.1.in.in.in.i.i.i, %bb19.i.i.i ], [ false, %"_ZN91_$LT$core..slice..Iter$LT$$u27$a$C$$u20$T$GT$$u20$as$u20$core..iter..iterator..Iterator$GT$3any17hb21c7d2005a7af45E.exit.loopexit" ]
ret i1 %_0.0.i.i.i
}
; Function Attrs: nounwind readonly uwtable
define zeroext i1 @_ZN10slow_iters5tests8for_loop17hf41fef8312c32c27E() unnamed_addr #0 {
bb9:
ret i1 true
}
declare i32 @rust_eh_personality(i32, i32, i64, %"unwind::libunwind::_Unwind_Exception"*, %"unwind::libunwind::_Unwind_Context"*) unnamed_addr #1
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.start(i64, i8* nocapture) #2
; Function Attrs: argmemonly nounwind
declare void @llvm.lifetime.end(i64, i8* nocapture) #2
attributes #0 = { nounwind readonly uwtable "no-frame-pointer-elim"="true" }
attributes #1 = { "no-frame-pointer-elim"="true" }
attributes #2 = { argmemonly nounwind }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment