Skip to content

Instantly share code, notes, and snippets.

@jbush001
Last active April 8, 2017 06:10
Show Gist options
  • Save jbush001/c4b30a3e2c75c1b5a6ef913bafedc055 to your computer and use it in GitHub Desktop.
Save jbush001/c4b30a3e2c75c1b5a6ef913bafedc055 to your computer and use it in GitHub Desktop.
issue #52
; ModuleID = 'bugpoint-reduced-simplified.bc'
source_filename = "bugpoint-output-8197c4b.bc"
target triple = "nyuzi-none-none"
define void @autogen_SD9051(i8*, i32*, i64*, i32, i64, i8) {
BB:
%A = alloca i64
%L = load i64, i64* %A
%Shuff = shufflevector <8 x i32> zeroinitializer, <8 x i32> zeroinitializer, <8 x i32> <i32 undef, i32 undef, i32 undef, i32 2, i32 4, i32 6, i32 8, i32 10>
%I = insertelement <4 x i32> zeroinitializer, i32 %3, i32 2
%Sl = select i1 true, i8 13, i8 -1
br label %CF883
CF883: ; preds = %CF883, %BB
%Shuff7 = shufflevector <4 x i32> %I, <4 x i32> zeroinitializer, <4 x i32> <i32 undef, i32 5, i32 undef, i32 undef>
%I8 = insertelement <4 x i32> zeroinitializer, i32 0, i32 1
%B9 = frem float 0xB96DA00180000000, 0xB96DA00180000000
%Sl10 = select i1 undef, <8 x i32> %Shuff, <8 x i32> %Shuff
%Cmp11 = icmp uge i64 %L, %4
br i1 %Cmp11, label %CF883, label %CF947
CF947: ; preds = %CF883
%L12 = load i8, i8* %0
%Shuff14 = shufflevector <4 x i32> zeroinitializer, <4 x i32> zeroinitializer, <4 x i32> <i32 2, i32 4, i32 6, i32 0>
br label %CF843
CF843: ; preds = %CF893, %CF907, %CF947
%L19 = load i64, i64* %A
%Shuff21 = shufflevector <8 x i32> %Shuff, <8 x i32> %Sl10, <8 x i32> <i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14>
%I22 = insertelement <8 x i32> %Shuff, i32 0, i32 2
%Sl25 = select i1 true, i16 -28951, i16 26785
%Cmp26 = icmp ult i16 -31567, %Sl25
br label %CF885
CF885: ; preds = %CF885, %CF843
%L27 = load i8, i8* %0
%Shuff29 = shufflevector <8 x i32> zeroinitializer, <8 x i32> zeroinitializer, <8 x i32> <i32 7, i32 9, i32 11, i32 13, i32 15, i32 1, i32 3, i32 5>
%FC32 = fptoui float 0xBEEFB00380000000 to i1
br i1 %FC32, label %CF885, label %CF907
CF907: ; preds = %CF885
%Sl33 = select i1 %Cmp26, i1 false, i1 true
br i1 undef, label %CF843, label %CF851
CF851: ; preds = %CF863, %CF911, %CF851, %CF907
%E36 = extractelement <8 x i32> %Shuff29, i32 3
%Shuff37 = shufflevector <4 x i32> %Shuff14, <4 x i32> zeroinitializer, <4 x i32> <i32 6, i32 0, i32 2, i32 undef>
%I38 = insertelement <8 x i32> %Shuff21, i32 0, i32 0
%Cmp41 = icmp eq <1 x i64> zeroinitializer, zeroinitializer
%L42 = load i8, i8* %0
%E43 = extractelement <4 x i32> %Shuff7, i32 1
%Shuff44 = shufflevector <8 x i32> %Sl10, <8 x i32> %Shuff29, <8 x i32> <i32 12, i32 14, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10>
%I45 = insertelement <4 x i32> %Shuff37, i32 241061, i32 2
%Sl47 = select i1 true, i8 %L12, i8 %L27
%Cmp48 = icmp eq i1 %Sl33, undef
br i1 %Cmp48, label %CF851, label %CF884
CF884: ; preds = %CF932, %CF884, %CF851
store i8 %Sl47, i8* %0
%E50 = extractelement <8 x i32> %Shuff44, i32 0
%Cmp56 = icmp ule i1 false, undef
br i1 %Cmp56, label %CF884, label %CF932
CF932: ; preds = %CF884
%L57 = load i8, i8* %0
store i8 13, i8* %0
%Shuff59 = shufflevector <4 x i32> zeroinitializer, <4 x i32> undef, <4 x i32> <i32 1, i32 3, i32 5, i32 undef>
%I60 = insertelement <8 x i32> %Sl10, i32 %E50, i32 3
%FC62 = sitofp <4 x i32> zeroinitializer to <4 x float>
%Cmp64 = icmp slt i1 false, %Cmp26
br i1 %Cmp64, label %CF884, label %CF909
CF909: ; preds = %CF923, %CF939, %CF909, %CF932
%L65 = load i8, i8* %0
store i8 %L27, i8* %0
%Tr70 = trunc <8 x i32> %I38 to <8 x i16>
%Sl71 = select i1 %Cmp26, i1 %Cmp11, i1 undef
br i1 %Sl71, label %CF909, label %CF939
CF939: ; preds = %CF909
%Cmp72 = icmp eq i64 0, %L19
br i1 %Cmp72, label %CF909, label %CF923
CF923: ; preds = %CF939
store i8 %L12, i8* %0
%E74 = extractelement <4 x i32> %Shuff37, i32 1
%Shuff75 = shufflevector <8 x i32> %Shuff21, <8 x i32> %I60, <8 x i32> <i32 4, i32 6, i32 8, i32 undef, i32 undef, i32 undef, i32 0, i32 2>
%I76 = insertelement <4 x i32> %Shuff14, i32 0, i32 2
%Sl79 = select i1 %Cmp64, i16 -5139, i16 %Sl25
%Shuff83 = shufflevector <1 x i1> undef, <1 x i1> %Cmp41, <1 x i32> <i32 1>
%B85 = lshr <8 x i32> %I38, %Sl10
%FC86 = uitofp i32 %E50 to double
%Sl87 = select i1 undef, i32 %E50, i32 0
%Cmp88 = icmp ne i16 -28951, undef
br i1 %Cmp88, label %CF909, label %CF911
CF911: ; preds = %CF923
%Shuff91 = shufflevector <1 x i1> %Shuff83, <1 x i1> %Cmp41, <1 x i32> zeroinitializer
%I92 = insertelement <4 x i32> zeroinitializer, i32 %E74, i32 0
%B93 = mul <4 x i32> %I8, %I92
%Sl94 = select i1 true, i1 %Cmp64, i1 undef
br i1 %Sl94, label %CF851, label %CF863
CF863: ; preds = %CF911
%L96 = load i8, i8* %0
%Shuff98 = shufflevector <4 x i32> zeroinitializer, <4 x i32> %I76, <4 x i32> <i32 0, i32 2, i32 4, i32 6>
%I99 = insertelement <8 x i32> %Shuff29, i32 %Sl87, i32 2
%Shuff105 = shufflevector <8 x i32> zeroinitializer, <8 x i32> %I38, <8 x i32> <i32 13, i32 15, i32 1, i32 undef, i32 5, i32 7, i32 undef, i32 11>
%I106 = insertelement <8 x i32> %Shuff75, i32 %E74, i32 7
%Cmp110 = icmp ugt i1 undef, undef
br i1 %Cmp110, label %CF851, label %CF853
CF853: ; preds = %CF863
store i8 -1, i8* %0
%E112 = extractelement <8 x i32> zeroinitializer, i32 0
%Shuff113 = shufflevector <8 x i32> zeroinitializer, <8 x i32> zeroinitializer, <8 x i32> <i32 3, i32 undef, i32 7, i32 undef, i32 11, i32 13, i32 15, i32 1>
%B115 = add i8 undef, %L27
%FC116 = fptosi <4 x float> %FC62 to <4 x i32>
%L119 = load i8, i8* %0
store i8 %L27, i8* %0
%E120 = extractelement <4 x i32> %Shuff37, i32 3
%Shuff121 = shufflevector <8 x i32> %Shuff, <8 x i32> %I38, <8 x i32> <i32 14, i32 undef, i32 undef, i32 undef, i32 6, i32 8, i32 10, i32 12>
%I122 = insertelement <8 x i32> %Shuff113, i32 %E50, i32 0
%ZE124 = zext i8 %Sl to i64
%Sl125 = select i1 true, i32 0, i32 %3
%E128 = extractelement <4 x i32> %Shuff59, i32 2
%Shuff129 = shufflevector <4 x i32> %Shuff98, <4 x i32> %I76, <4 x i32> <i32 undef, i32 undef, i32 undef, i32 3>
%I130 = insertelement <1 x i1> %Shuff91, i1 %Cmp48, i32 0
%B131 = udiv i64 %L19, %ZE124
%L134 = load i8, i8* %0
%E135 = extractelement <4 x i32> %Shuff7, i32 2
%I137 = insertelement <4 x i32> %Shuff59, i32 0, i32 3
%Se138 = sext <4 x i8> undef to <4 x i16>
%Sl139 = select i1 %Sl71, i8 %L119, i8 29
br label %CF848
CF848: ; preds = %CF848, %CF853
%E142 = extractelement <1 x i1> %Shuff91, i32 0
br i1 %E142, label %CF848, label %CF893
CF893: ; preds = %CF848
%I144 = insertelement <8 x i32> undef, i32 %E135, i32 0
%L148 = load i8, i8* %0
%E149 = extractelement <4 x i32> %Shuff59, i32 1
%I151 = insertelement <4 x i32> %FC116, i32 %E149, i32 2
%B152 = sub <8 x i32> %Shuff29, %I144
%Sl154 = select i1 %Cmp48, i32 %E120, i32 %E135
%Cmp155 = icmp slt <4 x i32> %B93, zeroinitializer
%Shuff158 = shufflevector <8 x i32> zeroinitializer, <8 x i32> %I99, <8 x i32> <i32 11, i32 13, i32 15, i32 1, i32 3, i32 undef, i32 7, i32 9>
%I159 = insertelement <4 x i32> %Shuff98, i32 %E135, i32 1
%FC160 = fptosi double 0xC1D3CDF2FCD1BE70 to i64
%Sl161 = select i1 undef, <8 x i32> %I38, <8 x i32> %I60
%Cmp162 = icmp eq i32 %Sl154, %E43
br i1 %Cmp162, label %CF843, label %CF844
CF844: ; preds = %CF844, %CF893
%Shuff165 = shufflevector <4 x i32> %Shuff129, <4 x i32> zeroinitializer, <4 x i32> <i32 undef, i32 4, i32 undef, i32 0>
%I166 = insertelement <8 x i32> %Shuff75, i32 %E36, i32 4
%Sl169 = select i1 %Cmp162, <4 x i32> %Shuff59, <4 x i32> %I45
%Cmp170 = icmp sgt <8 x i32> %B85, %Shuff121
%B182 = udiv i32 %Sl154, 0
%Sl184 = select i1 %Cmp110, i1 undef, i1 %Sl71
br i1 %Sl184, label %CF844, label %CF858
CF858: ; preds = %CF844
%Shuff195 = shufflevector <4 x i1> %Cmp155, <4 x i1> undef, <4 x i32> <i32 undef, i32 5, i32 7, i32 1>
%I196 = insertelement <4 x i32> %I151, i32 %E128, i32 1
%ZE197 = zext i8 %L27 to i64
%Cmp199 = icmp eq i1 %E142, %Cmp64
%Sl205 = select i1 %Cmp199, i64* %A, i64* %2
%Cmp206 = icmp eq i8 %L148, %L27
%ZE211 = zext <4 x i32> %I196 to <4 x i64>
%Sl212 = select i1 %Sl71, i8 0, i8 undef
%L214 = load i64, i64* %Sl205
br label %CF
CF: ; preds = %CF946, %CF862, %CF, %CF858
%B218 = udiv <8 x i32> %B152, %B152
%Sl220 = select i1 undef, <4 x i64> %ZE211, <4 x i64> %ZE211
br i1 undef, label %CF, label %CF862
CF862: ; preds = %CF
%B226 = sub i64 0, %ZE124
%E231 = extractelement <8 x i32> %Shuff113, i32 1
%I240 = insertelement <4 x i32> zeroinitializer, i32 %Sl154, i32 3
%Sl243 = select i1 %Cmp56, <1 x i1> %I130, <1 x i1> %Cmp41
%I256 = insertelement <4 x i32> %I76, i32 241061, i32 1
%B265 = and i64 %B131, undef
%L268 = load i8, i8* %0
%Tr272 = trunc <8 x i32> %I22 to <8 x i16>
%I278 = insertelement <8 x i32> %I60, i32 %E112, i32 1
%B279 = sdiv <4 x i32> %I137, %FC116
%Tr280 = fptrunc double undef to float
%E292 = extractelement <4 x i32> %I, i32 2
%B295 = ashr <8 x i32> %I278, %I166
br i1 undef, label %CF, label %CF838
CF838: ; preds = %CF861, %CF901, %CF862
%L299 = load i8, i8* %0
store i64 %L, i64* %Sl205
store i64 %FC160, i64* %Sl205
br label %CF875
CF875: ; preds = %CF875, %CF838
%L315 = load i64, i64* %Sl205
%Sl321 = select i1 undef, <8 x i1> undef, <8 x i1> %Cmp170
store i32 %E292, i32* %1
%E324 = extractelement <1 x i1> %Shuff91, i32 0
br i1 %E324, label %CF875, label %CF901
CF901: ; preds = %CF875
store i8 %Sl139, i8* %0
%Sl351 = select i1 %Sl33, i1 %Cmp206, i1 %Cmp48
br i1 %Sl351, label %CF838, label %CF861
CF861: ; preds = %CF901
%L353 = load i8, i8* %0
%E354 = extractelement <8 x i32> %Shuff105, i32 6
store i64 %B226, i64* %Sl205
%B365 = frem float %B9, %Tr280
%Tr366 = trunc i32 %E149 to i1
br i1 %Tr366, label %CF838, label %CF842
CF842: ; preds = %CF903, %CF861
%Shuff371 = shufflevector <4 x i32> %Sl169, <4 x i32> %B279, <4 x i32> <i32 4, i32 6, i32 undef, i32 undef>
%I372 = insertelement <4 x i32> %I240, i32 %E354, i32 2
%ZE374 = zext i32 %Sl154 to i64
store i8 %L353, i8* %0
%Cmp383 = icmp uge i16 %Sl79, 26785
br label %CF891
CF891: ; preds = %CF891, %CF842
%L384 = load i64, i64* %Sl205
store i8 %L42, i8* %0
%FC389 = uitofp <8 x i16> %Tr272 to <8 x float>
store i64 %4, i64* %Sl205
%E393 = extractelement <1 x i1> %Sl243, i32 0
br i1 %E393, label %CF891, label %CF924
CF924: ; preds = %CF891
%B396 = frem double %FC86, undef
%Sl398 = select i1 undef, <4 x i16> %Se138, <4 x i16> %Se138
br label %CF890
CF890: ; preds = %CF890, %CF924
%FC405 = fptosi float %B365 to i64
%Cmp407 = icmp slt i64 %L315, 0
br i1 %Cmp407, label %CF890, label %CF903
CF903: ; preds = %CF890
store i64 %ZE197, i64* %Sl205
%Shuff410 = shufflevector <4 x i32> undef, <4 x i32> %I256, <4 x i32> <i32 6, i32 undef, i32 undef, i32 4>
%B412 = frem <8 x float> %FC389, %FC389
%Sl413 = select i1 %Cmp383, i8 -1, i8 %L42
%Cmp414 = icmp eq i32 undef, %E231
br i1 %Cmp414, label %CF842, label %CF850
CF850: ; preds = %CF903
store i8 %L96, i8* %0
%Se420 = sext <8 x i1> %Cmp170 to <8 x i64>
%Shuff425 = shufflevector <8 x i32> %I106, <8 x i32> undef, <8 x i32> <i32 11, i32 undef, i32 15, i32 1, i32 3, i32 5, i32 7, i32 undef>
%Sl428 = select i1 %Cmp162, i8 %B115, i8 undef
br label %CF864
CF864: ; preds = %CF864, %CF850
store i64 %L, i64* %Sl205
%Cmp444 = icmp ne i16 undef, 26785
br i1 %Cmp444, label %CF864, label %CF870
CF870: ; preds = %CF864
store i8 %Sl413, i8* undef
%I454 = insertelement <4 x i32> %Shuff37, i32 %B182, i32 3
%Sl456 = select i1 undef, float %B365, float undef
br label %CF874
CF874: ; preds = %CF874, %CF870
store i64 %L19, i64* %Sl205
%E459 = extractelement <4 x i1> %Shuff195, i32 3
br i1 %E459, label %CF874, label %CF946
CF946: ; preds = %CF874
%ZE470 = zext <8 x i16> %Tr70 to <8 x i32>
%Tr478 = trunc i8 %L57 to i1
br i1 %Tr478, label %CF, label %CF832
CF832: ; preds = %CF846, %CF832, %CF946
br i1 undef, label %CF832, label %CF847
CF847: ; preds = %CF954, %CF832
%I484 = insertelement <8 x float> %B412, float 0xB96DA00180000000, i32 2
br label %CF854
CF854: ; preds = %CF915, %CF847
br label %CF897
CF897: ; preds = %CF897, %CF854
%L496 = load i8, i8* undef
store i8 %L268, i8* undef
%Tr501 = trunc <8 x i32> %I122 to <8 x i1>
%Sl502 = select i1 true, i1 true, i1 %Cmp162
br i1 %Sl502, label %CF897, label %CF915
CF915: ; preds = %CF897
br i1 undef, label %CF854, label %CF892
CF892: ; preds = %CF892, %CF915
%Cmp519 = icmp sgt i8 %L299, undef
br i1 %Cmp519, label %CF892, label %CF954
CF954: ; preds = %CF892
%B524 = mul i8 %Sl212, %L496
%Cmp526 = icmp eq i8 undef, %Sl
br i1 %Cmp526, label %CF847, label %CF849
CF849: ; preds = %CF920, %CF849, %CF954
store i64 -1, i64* %Sl205
br i1 undef, label %CF849, label %CF920
CF920: ; preds = %CF849
%Cmp532 = fcmp olt float %Sl456, %Tr280
br i1 %Cmp532, label %CF849, label %CF855
CF855: ; preds = %CF855, %CF920
%E534 = extractelement <8 x i1> %Tr501, i32 7
br i1 %E534, label %CF855, label %CF878
CF878: ; preds = %CF855
%I536 = insertelement <8 x i32> zeroinitializer, i32 %Sl125, i32 4
%B537 = srem <4 x i32> %I372, undef
store i64 %FC405, i64* %Sl205
%Shuff551 = shufflevector <8 x i32> %Sl161, <8 x i32> %B218, <8 x i32> <i32 0, i32 2, i32 4, i32 undef, i32 8, i32 10, i32 undef, i32 undef>
%FC553 = sitofp <4 x i32> %I454 to <4 x double>
store i8 13, i8* undef
br label %CF836
CF836: ; preds = %CF868, %CF836, %CF878
store i64 %ZE374, i64* %Sl205
%E564 = extractelement <8 x i64> %Se420, i32 4
br i1 undef, label %CF836, label %CF868
CF868: ; preds = %CF836
%B573 = lshr i8 undef, %L65
%Sl575 = select i1 %Cmp519, i8 %L134, i8 %L119
store i64 %L384, i64* %Sl205
store i64 %L214, i64* %Sl205
%E593 = extractelement <8 x i32> %ZE470, i32 6
%Tr596 = trunc <4 x i32> %I196 to <4 x i16>
%Sl597 = select i1 undef, i1 %Sl33, i1 false
br i1 %Sl597, label %CF836, label %CF846
CF846: ; preds = %CF868
store i8 %5, i8* undef
%Sl603 = select i1 %Cmp56, i8 %Sl428, i8 undef
%Sl609 = select i1 %E324, <8 x i1> undef, <8 x i1> %Sl321
%Sl616 = select i1 undef, <4 x i32> zeroinitializer, <4 x i32> %I159
br label %CF832
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment