Imported Upstream version 5.18.0.167

Former-commit-id: 289509151e0fee68a1b591a20c9f109c3c789d3a
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2018-10-20 08:25:10 +00:00
parent e19d552987
commit b084638f15
28489 changed files with 184 additions and 3866856 deletions

View File

@ -1,86 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
%struct.PerlInterpreter = type { i8 }
@PL_sv_count = external global i32 ; <i32*> [#uses=2]
define void @perl_destruct(%struct.PerlInterpreter* %sv_interp) {
entry:
br i1 false, label %cond_next25, label %cond_true16
cond_true16: ; preds = %entry
ret void
cond_next25: ; preds = %entry
br i1 false, label %cond_next33, label %cond_true32
cond_true32: ; preds = %cond_next25
ret void
cond_next33: ; preds = %cond_next25
br i1 false, label %cond_next61, label %cond_true.i46
cond_true.i46: ; preds = %cond_next33
ret void
cond_next61: ; preds = %cond_next33
br i1 false, label %cond_next69, label %cond_true66
cond_true66: ; preds = %cond_next61
ret void
cond_next69: ; preds = %cond_next61
br i1 false, label %Perl_safefree.exit52, label %cond_true.i50
cond_true.i50: ; preds = %cond_next69
ret void
Perl_safefree.exit52: ; preds = %cond_next69
br i1 false, label %cond_next80, label %cond_true77
cond_true77: ; preds = %Perl_safefree.exit52
ret void
cond_next80: ; preds = %Perl_safefree.exit52
br i1 false, label %Perl_safefree.exit56, label %cond_true.i54
cond_true.i54: ; preds = %cond_next80
ret void
Perl_safefree.exit56: ; preds = %cond_next80
br i1 false, label %Perl_safefree.exit60, label %cond_true.i58
cond_true.i58: ; preds = %Perl_safefree.exit56
ret void
Perl_safefree.exit60: ; preds = %Perl_safefree.exit56
br i1 false, label %Perl_safefree.exit64, label %cond_true.i62
cond_true.i62: ; preds = %Perl_safefree.exit60
ret void
Perl_safefree.exit64: ; preds = %Perl_safefree.exit60
br i1 false, label %Perl_safefree.exit68, label %cond_true.i66
cond_true.i66: ; preds = %Perl_safefree.exit64
ret void
Perl_safefree.exit68: ; preds = %Perl_safefree.exit64
br i1 false, label %cond_next150, label %cond_true23.i
cond_true23.i: ; preds = %Perl_safefree.exit68
ret void
cond_next150: ; preds = %Perl_safefree.exit68
%tmp16092 = load i32, i32* @PL_sv_count, align 4 ; <i32> [#uses=0]
br label %cond_next165
bb157: ; preds = %cond_next165
%tmp158 = load i32, i32* @PL_sv_count, align 4 ; <i32> [#uses=0]
br label %cond_next165
cond_next165: ; preds = %bb157, %cond_next150
br i1 false, label %bb171, label %bb157
bb171: ; preds = %cond_next165
ret void
}

View File

@ -1,15 +0,0 @@
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
%struct.INT2 = type { i32, i32 }
@blkshifts = external global %struct.INT2* ; <%struct.INT2**> [#uses=2]
define i32 @xcompact() {
entry:
store %struct.INT2* null, %struct.INT2** @blkshifts, align 4
br label %bb
bb: ; preds = %bb, %entry
%tmp10 = load %struct.INT2*, %struct.INT2** @blkshifts, align 4 ; <%struct.INT2*> [#uses=0]
; CHECK-NOT: %tmp10
br label %bb
}

View File

@ -1,15 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
%struct.s_segment_inf = type { float, i32, i16, i16, float, float, i32, float, float }
define void @print_arch(i8* %arch_file, i32 %route_type, i64 %det_routing_arch.0.0, i64 %det_routing_arch.0.1, i64 %det_routing_arch.0.2, i64 %det_routing_arch.0.3, i64 %det_routing_arch.0.4, %struct.s_segment_inf* %segment_inf, i64 %timing_inf.0.0, i64 %timing_inf.0.1, i64 %timing_inf.0.2, i64 %timing_inf.0.3, i64 %timing_inf.0.4, i32 %timing_inf.1) {
entry:
br i1 false, label %bb278, label %bb344
bb278: ; preds = %bb278, %entry
br i1 false, label %bb278, label %bb344
bb344: ; preds = %bb278, %entry
%tmp38758 = load i16, i16* null, align 2 ; <i16> [#uses=0]
ret void
}

View File

@ -1,38 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
%struct.TypHeader = type { i32, %struct.TypHeader**, [3 x i8], i8 }
define %struct.TypHeader* @LtRec(%struct.TypHeader* %hdL, %struct.TypHeader* %hdR) {
entry:
br i1 false, label %bb556.preheader, label %bb534.preheader
bb534.preheader: ; preds = %entry
ret %struct.TypHeader* null
bb556.preheader: ; preds = %entry
%tmp56119 = getelementptr %struct.TypHeader, %struct.TypHeader* %hdR, i32 0, i32 0 ; <i32*> [#uses=1]
%tmp56220 = load i32, i32* %tmp56119 ; <i32> [#uses=0]
br i1 false, label %bb.nph23, label %bb675.preheader
bb.nph23: ; preds = %bb556.preheader
ret %struct.TypHeader* null
bb656: ; preds = %bb675.outer, %bb656
%tmp678 = load i32, i32* %tmp677 ; <i32> [#uses=0]
br i1 false, label %bb684, label %bb656
bb684: ; preds = %bb675.outer, %bb656
br i1 false, label %bb924.preheader, label %bb675.outer
bb675.outer: ; preds = %bb675.preheader, %bb684
%tmp67812 = load i32, i32* %tmp67711 ; <i32> [#uses=0]
br i1 false, label %bb684, label %bb656
bb675.preheader: ; preds = %bb556.preheader
%tmp67711 = getelementptr %struct.TypHeader, %struct.TypHeader* %hdR, i32 0, i32 0 ; <i32*> [#uses=1]
%tmp677 = getelementptr %struct.TypHeader, %struct.TypHeader* %hdR, i32 0, i32 0 ; <i32*> [#uses=1]
br label %bb675.outer
bb924.preheader: ; preds = %bb684
ret %struct.TypHeader* null
}

View File

@ -1,29 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
%struct.ggBRDF = type { i32 (...)** }
%struct.ggBox3 = type { %struct.ggPoint3, %struct.ggPoint3 }
%struct.ggMaterialRecord = type { %struct.ggPoint2, %struct.ggBox3, %struct.ggBox3, %struct.ggSpectrum, %struct.ggSpectrum, %struct.ggSpectrum, %struct.ggBRDF*, i32, i32, i32, i32 }
%struct.ggONB3 = type { %struct.ggPoint3, %struct.ggPoint3, %struct.ggPoint3 }
%struct.ggPoint2 = type { [2 x double] }
%struct.ggPoint3 = type { [3 x double] }
%struct.ggSpectrum = type { [8 x float] }
%struct.mrViewingHitRecord = type { double, %struct.ggPoint3, %struct.ggONB3, %struct.ggPoint2, double, %struct.ggSpectrum, %struct.ggSpectrum, i32, i32, i32, i32 }
%struct.mrXEllipticalCylinder = type { %struct.ggBRDF, float, float, float, float, float, float }
define i32 @_ZNK21mrZEllipticalCylinder10viewingHitERK6ggRay3dddR18mrViewingHitRecordR16ggMaterialRecord(%struct.mrXEllipticalCylinder* %this, %struct.ggBox3* %ray, double %unnamed_arg, double %tmin, double %tmax, %struct.mrViewingHitRecord* %VHR, %struct.ggMaterialRecord* %unnamed_arg2) {
entry:
%tmp80.i = getelementptr %struct.mrViewingHitRecord, %struct.mrViewingHitRecord* %VHR, i32 0, i32 1, i32 0, i32 0 ; <double*> [#uses=1]
store double 0.000000e+00, double* %tmp80.i
br i1 false, label %return, label %cond_next.i
cond_next.i: ; preds = %entry
br i1 false, label %return, label %cond_true
cond_true: ; preds = %cond_next.i
%tmp3.i8 = getelementptr %struct.mrViewingHitRecord, %struct.mrViewingHitRecord* %VHR, i32 0, i32 1, i32 0, i32 0 ; <double*> [#uses=1]
%tmp46 = load double, double* %tmp3.i8 ; <double> [#uses=0]
ret i32 1
return: ; preds = %cond_next.i, %entry
ret i32 0
}

View File

@ -1,40 +0,0 @@
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
@last = external global [65 x i32*]
define i32 @NextRootMove(i32 %wtm, i32 %x, i32 %y, i32 %z) {
entry:
%A = alloca i32*
%tmp17618 = load i32*, i32** getelementptr ([65 x i32*], [65 x i32*]* @last, i32 0, i32 1), align 4
store i32* %tmp17618, i32** %A
; CHECK: entry:
; CHECK-NEXT: alloca i32
; CHECK-NEXT: %tmp17618 = load
; CHECK-NOT: load
; CHECK-NOT: phi
br label %cond_true116
cond_true116:
%cmp = icmp eq i32 %x, %y
br i1 %cmp, label %cond_true128, label %cond_true145
cond_true128:
%tmp17625 = load i32*, i32** getelementptr ([65 x i32*], [65 x i32*]* @last, i32 0, i32 1), align 4
store i32* %tmp17625, i32** %A
%cmp1 = icmp eq i32 %x, %z
br i1 %cmp1 , label %bb98.backedge, label %return.loopexit
bb98.backedge:
br label %cond_true116
cond_true145:
%tmp17631 = load i32*, i32** getelementptr ([65 x i32*], [65 x i32*]* @last, i32 0, i32 1), align 4
store i32* %tmp17631, i32** %A
br i1 false, label %bb98.backedge, label %return.loopexit
return.loopexit:
br label %return
return:
ret i32 0
}

View File

@ -1,16 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
@bsLive = external global i32 ; <i32*> [#uses=2]
define i32 @bsR(i32 %n) {
entry:
br i1 false, label %cond_next, label %bb19
cond_next: ; preds = %entry
store i32 0, i32* @bsLive, align 4
br label %bb19
bb19: ; preds = %cond_next, %entry
%tmp29 = load i32, i32* @bsLive, align 4 ; <i32> [#uses=0]
ret i32 0
}

View File

@ -1,44 +0,0 @@
; RUN: opt < %s -gvn -S | FileCheck %s
%struct..0anon = type { i32 }
%struct.FILE = type { i8*, i32, i32, i16, i16, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, %struct.__sFILEX*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 }
%struct.__sFILEX = type opaque
%struct.__sbuf = type { i8*, i32 }
%struct.rtx_def = type { i16, i8, i8, [1 x %struct..0anon] }
@n_spills = external global i32 ; <i32*> [#uses=2]
define i32 @reload(%struct.rtx_def* %first, i32 %global, %struct.FILE* %dumpfile) {
cond_next2835.1: ; preds = %cond_next2861
%tmp2922 = load i32, i32* @n_spills, align 4 ; <i32> [#uses=0]
br label %bb2928
bb2928: ; preds = %cond_next2835.1, %cond_next2943
br i1 false, label %cond_next2943, label %cond_true2935
cond_true2935: ; preds = %bb2928
br label %cond_next2943
cond_next2943: ; preds = %cond_true2935, %bb2928
br i1 false, label %bb2982.preheader, label %bb2928
bb2982.preheader: ; preds = %cond_next2943
%tmp298316 = load i32, i32* @n_spills, align 4 ; <i32> [#uses=0]
ret i32 %tmp298316
}
; CHECK: define i32 @reload(%struct.rtx_def* %first, i32 %global, %struct.FILE* %dumpfile) {
; CHECK-NEXT: cond_next2835.1:
; CHECK-NEXT: br label %bb2928
; CHECK: bb2928:
; CHECK-NEXT: br i1 false, label %bb2928.cond_next2943_crit_edge, label %cond_true2935
; CHECK: bb2928.cond_next2943_crit_edge:
; CHECK-NEXT: br label %cond_next2943
; CHECK: cond_true2935:
; CHECK-NEXT: br label %cond_next2943
; CHECK: cond_next2943:
; CHECK-NEXT: br i1 false, label %bb2982.preheader, label %bb2928
; CHECK: bb2982.preheader:
; CHECK-NEXT: %tmp298316 = load i32, i32* @n_spills, align 4
; CHECK-NEXT: ret i32 %tmp298316
; CHECK-NEXT: }

View File

@ -1,274 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
%"struct.Block::$_16" = type { i32 }
%struct.Exp = type { %struct.Exp_*, i32, i32, i32, %struct.Exp*, %struct.Exp*, %"struct.Exp::$_10", %"struct.Block::$_16", %"struct.Exp::$_12" }
%"struct.Exp::$_10" = type { %struct.Exp* }
%"struct.Exp::$_12" = type { %struct.Exp** }
%struct.Exp_ = type { i32, i32, i32, i32, %struct.Id* }
%struct.Id = type { i8*, i32, i32, i32, %"struct.Id::$_13" }
%"struct.Id::$_13" = type { double }
define i8* @_ZN3Exp8toStringEj(%struct.Exp* %this, i32 %nextpc) {
entry:
switch i32 0, label %bb970 [
i32 1, label %bb
i32 2, label %bb39
i32 3, label %bb195
i32 4, label %bb270
i32 5, label %bb418
i32 6, label %bb633
i32 7, label %bb810
i32 8, label %bb882
i32 9, label %bb925
]
bb: ; preds = %entry
store i8* null, i8** null
br label %return
bb39: ; preds = %entry
br i1 false, label %cond_true, label %cond_false132
cond_true: ; preds = %bb39
br i1 false, label %cond_true73, label %cond_false
cond_true73: ; preds = %cond_true
br i1 false, label %cond_true108, label %cond_next
cond_true108: ; preds = %cond_true73
br label %cond_next
cond_next: ; preds = %cond_true108, %cond_true73
br label %cond_next131
cond_false: ; preds = %cond_true
br label %cond_next131
cond_next131: ; preds = %cond_false, %cond_next
br label %cond_next141
cond_false132: ; preds = %bb39
br label %cond_next141
cond_next141: ; preds = %cond_false132, %cond_next131
br i1 false, label %cond_true169, label %cond_false175
cond_true169: ; preds = %cond_next141
br label %cond_next181
cond_false175: ; preds = %cond_next141
br label %cond_next181
cond_next181: ; preds = %cond_false175, %cond_true169
br i1 false, label %cond_true189, label %cond_next191
cond_true189: ; preds = %cond_next181
br label %cond_next191
cond_next191: ; preds = %cond_true189, %cond_next181
store i8* null, i8** null
br label %return
bb195: ; preds = %entry
br i1 false, label %cond_true248, label %cond_false250
cond_true248: ; preds = %bb195
br label %cond_next252
cond_false250: ; preds = %bb195
br label %cond_next252
cond_next252: ; preds = %cond_false250, %cond_true248
br i1 false, label %cond_true265, label %cond_next267
cond_true265: ; preds = %cond_next252
br label %cond_next267
cond_next267: ; preds = %cond_true265, %cond_next252
store i8* null, i8** null
br label %return
bb270: ; preds = %entry
br i1 false, label %cond_true338, label %cond_false340
cond_true338: ; preds = %bb270
br label %cond_next342
cond_false340: ; preds = %bb270
br label %cond_next342
cond_next342: ; preds = %cond_false340, %cond_true338
br i1 false, label %cond_true362, label %cond_false364
cond_true362: ; preds = %cond_next342
br label %cond_next366
cond_false364: ; preds = %cond_next342
br label %cond_next366
cond_next366: ; preds = %cond_false364, %cond_true362
br i1 false, label %cond_true393, label %cond_next395
cond_true393: ; preds = %cond_next366
br label %cond_next395
cond_next395: ; preds = %cond_true393, %cond_next366
br i1 false, label %cond_true406, label %cond_next408
cond_true406: ; preds = %cond_next395
br label %cond_next408
cond_next408: ; preds = %cond_true406, %cond_next395
br i1 false, label %cond_true413, label %cond_next415
cond_true413: ; preds = %cond_next408
br label %cond_next415
cond_next415: ; preds = %cond_true413, %cond_next408
store i8* null, i8** null
br label %return
bb418: ; preds = %entry
br i1 false, label %cond_true512, label %cond_false514
cond_true512: ; preds = %bb418
br label %cond_next516
cond_false514: ; preds = %bb418
br label %cond_next516
cond_next516: ; preds = %cond_false514, %cond_true512
br i1 false, label %cond_true536, label %cond_false538
cond_true536: ; preds = %cond_next516
br label %cond_next540
cond_false538: ; preds = %cond_next516
br label %cond_next540
cond_next540: ; preds = %cond_false538, %cond_true536
br i1 false, label %cond_true560, label %cond_false562
cond_true560: ; preds = %cond_next540
br label %cond_next564
cond_false562: ; preds = %cond_next540
br label %cond_next564
cond_next564: ; preds = %cond_false562, %cond_true560
br i1 false, label %cond_true597, label %cond_next599
cond_true597: ; preds = %cond_next564
br label %cond_next599
cond_next599: ; preds = %cond_true597, %cond_next564
br i1 false, label %cond_true614, label %cond_next616
cond_true614: ; preds = %cond_next599
br label %cond_next616
cond_next616: ; preds = %cond_true614, %cond_next599
br i1 false, label %cond_true621, label %cond_next623
cond_true621: ; preds = %cond_next616
br label %cond_next623
cond_next623: ; preds = %cond_true621, %cond_next616
br i1 false, label %cond_true628, label %cond_next630
cond_true628: ; preds = %cond_next623
br label %cond_next630
cond_next630: ; preds = %cond_true628, %cond_next623
store i8* null, i8** null
br label %return
bb633: ; preds = %entry
br i1 false, label %cond_true667, label %cond_next669
cond_true667: ; preds = %bb633
br label %cond_next669
cond_next669: ; preds = %cond_true667, %bb633
br i1 false, label %cond_true678, label %cond_next791
cond_true678: ; preds = %cond_next669
br label %bb735
bb679: ; preds = %bb735
br i1 false, label %cond_true729, label %cond_next731
cond_true729: ; preds = %bb679
br label %cond_next731
cond_next731: ; preds = %cond_true729, %bb679
br label %bb735
bb735: ; preds = %cond_next731, %cond_true678
br i1 false, label %bb679, label %bb743
bb743: ; preds = %bb735
br i1 false, label %cond_true788, label %cond_next790
cond_true788: ; preds = %bb743
br label %cond_next790
cond_next790: ; preds = %cond_true788, %bb743
br label %cond_next791
cond_next791: ; preds = %cond_next790, %cond_next669
br i1 false, label %cond_true805, label %cond_next807
cond_true805: ; preds = %cond_next791
br label %cond_next807
cond_next807: ; preds = %cond_true805, %cond_next791
store i8* null, i8** null
br label %return
bb810: ; preds = %entry
br i1 false, label %cond_true870, label %cond_next872
cond_true870: ; preds = %bb810
br label %cond_next872
cond_next872: ; preds = %cond_true870, %bb810
br i1 false, label %cond_true877, label %cond_next879
cond_true877: ; preds = %cond_next872
br label %cond_next879
cond_next879: ; preds = %cond_true877, %cond_next872
store i8* null, i8** null
br label %return
bb882: ; preds = %entry
br i1 false, label %cond_true920, label %cond_next922
cond_true920: ; preds = %bb882
br label %cond_next922
cond_next922: ; preds = %cond_true920, %bb882
store i8* null, i8** null
br label %return
bb925: ; preds = %entry
br i1 false, label %cond_true965, label %cond_next967
cond_true965: ; preds = %bb925
br label %cond_next967
cond_next967: ; preds = %cond_true965, %bb925
store i8* null, i8** null
br label %return
bb970: ; preds = %entry
unreachable
; No predecessors!
store i8* null, i8** null
br label %return
return: ; preds = %0, %cond_next967, %cond_next922, %cond_next879, %cond_next807, %cond_next630, %cond_next415, %cond_next267, %cond_next191, %bb
%retval980 = load i8*, i8** null ; <i8*> [#uses=1]
ret i8* %retval980
}

View File

@ -1,314 +0,0 @@
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
%struct.anon = type { i32 (i32, i32, i32)*, i32, i32, [3 x i32], i8*, i8*, i8* }
@debug = external constant i32 ; <i32*> [#uses=0]
@counters = external constant i32 ; <i32*> [#uses=1]
@trialx = external global [17 x i32] ; <[17 x i32]*> [#uses=1]
@dummy1 = external global [7 x i32] ; <[7 x i32]*> [#uses=0]
@dummy2 = external global [4 x i32] ; <[4 x i32]*> [#uses=0]
@unacceptable = external global i32 ; <i32*> [#uses=0]
@isa = external global [13 x %struct.anon] ; <[13 x %struct.anon]*> [#uses=3]
@.str = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str1 = external constant [3 x i8] ; <[3 x i8]*> [#uses=0]
@.str2 = external constant [1 x i8] ; <[1 x i8]*> [#uses=0]
@.str3 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str4 = external constant [3 x i8] ; <[3 x i8]*> [#uses=0]
@.str5 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str6 = external constant [2 x i8] ; <[2 x i8]*> [#uses=0]
@.str7 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str8 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str9 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str10 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str11 = external constant [2 x i8] ; <[2 x i8]*> [#uses=0]
@.str12 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str13 = external constant [2 x i8] ; <[2 x i8]*> [#uses=0]
@.str14 = external constant [5 x i8] ; <[5 x i8]*> [#uses=0]
@.str15 = external constant [5 x i8] ; <[5 x i8]*> [#uses=0]
@.str16 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str17 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str18 = external constant [3 x i8] ; <[3 x i8]*> [#uses=0]
@.str19 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str20 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str21 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str22 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str23 = external constant [5 x i8] ; <[5 x i8]*> [#uses=0]
@.str24 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str25 = external constant [6 x i8] ; <[6 x i8]*> [#uses=0]
@.str26 = external constant [5 x i8] ; <[5 x i8]*> [#uses=0]
@.str27 = external constant [6 x i8] ; <[6 x i8]*> [#uses=0]
@r = external global [17 x i32] ; <[17 x i32]*> [#uses=0]
@.str28 = external constant [3 x i8] ; <[3 x i8]*> [#uses=0]
@.str29 = external constant [5 x i8] ; <[5 x i8]*> [#uses=0]
@pgm = external global [5 x { i32, [3 x i32] }] ; <[5 x { i32, [3 x i32] }]*> [#uses=4]
@.str30 = external constant [3 x i8] ; <[3 x i8]*> [#uses=0]
@.str31 = external constant [13 x i8] ; <[13 x i8]*> [#uses=0]
@.str32 = external constant [3 x i8] ; <[3 x i8]*> [#uses=0]
@.str33 = external constant [4 x i8] ; <[4 x i8]*> [#uses=0]
@.str34 = external constant [20 x i8] ; <[20 x i8]*> [#uses=0]
@numi = external global i32 ; <i32*> [#uses=7]
@.str35 = external constant [10 x i8] ; <[10 x i8]*> [#uses=0]
@counter = external global [5 x i32] ; <[5 x i32]*> [#uses=2]
@itrialx.2510 = external global i32 ; <i32*> [#uses=0]
@.str36 = external constant [43 x i8] ; <[43 x i8]*> [#uses=0]
@.str37 = external constant [42 x i8] ; <[42 x i8]*> [#uses=0]
@corr_result = external global i32 ; <i32*> [#uses=0]
@.str38 = external constant [3 x i8] ; <[3 x i8]*> [#uses=0]
@.str39 = external constant [5 x i8] ; <[5 x i8]*> [#uses=0]
@.str40 = external constant [47 x i8] ; <[47 x i8]*> [#uses=0]
@correct_result = external global [17 x i32] ; <[17 x i32]*> [#uses=1]
@.str41 = external constant [46 x i8] ; <[46 x i8]*> [#uses=0]
@.str42 = external constant [32 x i8] ; <[32 x i8]*> [#uses=0]
@.str43 = external constant [44 x i8] ; <[44 x i8]*> [#uses=1]
@.str44 = external constant [21 x i8] ; <[21 x i8]*> [#uses=1]
@.str45 = external constant [12 x i8] ; <[12 x i8]*> [#uses=1]
@.str46 = external constant [5 x i8] ; <[5 x i8]*> [#uses=1]
@.str47 = external constant [12 x i8] ; <[12 x i8]*> [#uses=1]
declare i32 @neg(i32, i32, i32)
declare i32 @Not(i32, i32, i32)
declare i32 @pop(i32, i32, i32)
declare i32 @nlz(i32, i32, i32)
declare i32 @rev(i32, i32, i32)
declare i32 @add(i32, i32, i32)
declare i32 @sub(i32, i32, i32)
declare i32 @mul(i32, i32, i32)
declare i32 @divide(i32, i32, i32)
declare i32 @divu(i32, i32, i32)
declare i32 @And(i32, i32, i32)
declare i32 @Or(i32, i32, i32)
declare i32 @Xor(i32, i32, i32)
declare i32 @rotl(i32, i32, i32)
declare i32 @shl(i32, i32, i32)
declare i32 @shr(i32, i32, i32)
declare i32 @shrs(i32, i32, i32)
declare i32 @cmpeq(i32, i32, i32)
declare i32 @cmplt(i32, i32, i32)
declare i32 @cmpltu(i32, i32, i32)
declare i32 @seleq(i32, i32, i32)
declare i32 @sellt(i32, i32, i32)
declare i32 @selle(i32, i32, i32)
declare void @print_expr(i32)
declare i32 @printf(i8*, ...)
declare i32 @putchar(i32)
declare void @print_pgm()
declare void @simulate_one_instruction(i32)
declare i32 @check(i32)
declare i32 @puts(i8*)
declare void @fix_operands(i32)
declare void @abort()
declare i32 @increment()
declare i32 @search()
define i32 @main(i32 %argc, i8** %argv) {
entry:
%argc_addr = alloca i32 ; <i32*> [#uses=1]
%argv_addr = alloca i8** ; <i8***> [#uses=1]
%retval = alloca i32, align 4 ; <i32*> [#uses=2]
%tmp = alloca i32, align 4 ; <i32*> [#uses=2]
%i = alloca i32, align 4 ; <i32*> [#uses=21]
%num_sol = alloca i32, align 4 ; <i32*> [#uses=4]
%total = alloca i32, align 4 ; <i32*> [#uses=4]
%"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
store i32 %argc, i32* %argc_addr
store i8** %argv, i8*** %argv_addr
store i32 0, i32* %num_sol
store i32 1, i32* @numi
br label %bb91
bb: ; preds = %cond_next97
%tmp1 = load i32, i32* @numi ; <i32> [#uses=1]
%tmp2 = getelementptr [44 x i8], [44 x i8]* @.str43, i32 0, i32 0 ; <i8*> [#uses=1]
%tmp3 = call i32 (i8*, ...) @printf( i8* %tmp2, i32 %tmp1 ) ; <i32> [#uses=0]
store i32 0, i32* %i
br label %bb13
bb4: ; preds = %bb13
%tmp5 = load i32, i32* %i ; <i32> [#uses=1]
%tmp6 = load i32, i32* %i ; <i32> [#uses=1]
%tmp7 = getelementptr [17 x i32], [17 x i32]* @trialx, i32 0, i32 %tmp6 ; <i32*> [#uses=1]
%tmp8 = load i32, i32* %tmp7 ; <i32> [#uses=1]
%tmp9 = call i32 @userfun( i32 %tmp8 ) ; <i32> [#uses=1]
%tmp10 = getelementptr [17 x i32], [17 x i32]* @correct_result, i32 0, i32 %tmp5 ; <i32*> [#uses=1]
store i32 %tmp9, i32* %tmp10
%tmp11 = load i32, i32* %i ; <i32> [#uses=1]
%tmp12 = add i32 %tmp11, 1 ; <i32> [#uses=1]
store i32 %tmp12, i32* %i
br label %bb13
bb13: ; preds = %bb4, %bb
%tmp14 = load i32, i32* %i ; <i32> [#uses=1]
%tmp15 = icmp sle i32 %tmp14, 16 ; <i1> [#uses=1]
%tmp1516 = zext i1 %tmp15 to i32 ; <i32> [#uses=1]
%toBool = icmp ne i32 %tmp1516, 0 ; <i1> [#uses=1]
br i1 %toBool, label %bb4, label %bb17
bb17: ; preds = %bb13
store i32 0, i32* %i
br label %bb49
bb18: ; preds = %bb49
%tmp19 = load i32, i32* %i ; <i32> [#uses=1]
%tmp20 = getelementptr [5 x { i32, [3 x i32] }], [5 x { i32, [3 x i32] }]* @pgm, i32 0, i32 %tmp19 ; <{ i32, [3 x i32] }*> [#uses=1]
%tmp21 = getelementptr { i32, [3 x i32] }, { i32, [3 x i32] }* %tmp20, i32 0, i32 0 ; <i32*> [#uses=1]
store i32 0, i32* %tmp21
%tmp22 = load i32, i32* %i ; <i32> [#uses=1]
%tmp23 = getelementptr [13 x %struct.anon], [13 x %struct.anon]* @isa, i32 0, i32 0 ; <%struct.anon*> [#uses=1]
%tmp24 = getelementptr %struct.anon, %struct.anon* %tmp23, i32 0, i32 3 ; <[3 x i32]*> [#uses=1]
%tmp25 = getelementptr [3 x i32], [3 x i32]* %tmp24, i32 0, i32 0 ; <i32*> [#uses=1]
%tmp26 = load i32, i32* %tmp25 ; <i32> [#uses=1]
%tmp27 = getelementptr [5 x { i32, [3 x i32] }], [5 x { i32, [3 x i32] }]* @pgm, i32 0, i32 %tmp22 ; <{ i32, [3 x i32] }*> [#uses=1]
%tmp28 = getelementptr { i32, [3 x i32] }, { i32, [3 x i32] }* %tmp27, i32 0, i32 1 ; <[3 x i32]*> [#uses=1]
%tmp29 = getelementptr [3 x i32], [3 x i32]* %tmp28, i32 0, i32 0 ; <i32*> [#uses=1]
store i32 %tmp26, i32* %tmp29
%tmp30 = load i32, i32* %i ; <i32> [#uses=1]
%tmp31 = getelementptr [13 x %struct.anon], [13 x %struct.anon]* @isa, i32 0, i32 0 ; <%struct.anon*> [#uses=1]
%tmp32 = getelementptr %struct.anon, %struct.anon* %tmp31, i32 0, i32 3 ; <[3 x i32]*> [#uses=1]
%tmp33 = getelementptr [3 x i32], [3 x i32]* %tmp32, i32 0, i32 1 ; <i32*> [#uses=1]
%tmp34 = load i32, i32* %tmp33 ; <i32> [#uses=1]
%tmp35 = getelementptr [5 x { i32, [3 x i32] }], [5 x { i32, [3 x i32] }]* @pgm, i32 0, i32 %tmp30 ; <{ i32, [3 x i32] }*> [#uses=1]
%tmp36 = getelementptr { i32, [3 x i32] }, { i32, [3 x i32] }* %tmp35, i32 0, i32 1 ; <[3 x i32]*> [#uses=1]
%tmp37 = getelementptr [3 x i32], [3 x i32]* %tmp36, i32 0, i32 1 ; <i32*> [#uses=1]
store i32 %tmp34, i32* %tmp37
%tmp38 = load i32, i32* %i ; <i32> [#uses=1]
%tmp39 = getelementptr [13 x %struct.anon], [13 x %struct.anon]* @isa, i32 0, i32 0 ; <%struct.anon*> [#uses=1]
%tmp40 = getelementptr %struct.anon, %struct.anon* %tmp39, i32 0, i32 3 ; <[3 x i32]*> [#uses=1]
%tmp41 = getelementptr [3 x i32], [3 x i32]* %tmp40, i32 0, i32 2 ; <i32*> [#uses=1]
%tmp42 = load i32, i32* %tmp41 ; <i32> [#uses=1]
%tmp43 = getelementptr [5 x { i32, [3 x i32] }], [5 x { i32, [3 x i32] }]* @pgm, i32 0, i32 %tmp38 ; <{ i32, [3 x i32] }*> [#uses=1]
%tmp44 = getelementptr { i32, [3 x i32] }, { i32, [3 x i32] }* %tmp43, i32 0, i32 1 ; <[3 x i32]*> [#uses=1]
%tmp45 = getelementptr [3 x i32], [3 x i32]* %tmp44, i32 0, i32 2 ; <i32*> [#uses=1]
store i32 %tmp42, i32* %tmp45
%tmp46 = load i32, i32* %i ; <i32> [#uses=1]
call void @fix_operands( i32 %tmp46 )
%tmp47 = load i32, i32* %i ; <i32> [#uses=1]
; CHECK: %tmp47 = phi i32 [ %tmp48, %bb18 ], [ 0, %bb17 ]
%tmp48 = add i32 %tmp47, 1 ; <i32> [#uses=1]
store i32 %tmp48, i32* %i
br label %bb49
bb49: ; preds = %bb18, %bb17
%tmp50 = load i32, i32* @numi ; <i32> [#uses=1]
%tmp51 = load i32, i32* %i ; <i32> [#uses=1]
%tmp52 = icmp slt i32 %tmp51, %tmp50 ; <i1> [#uses=1]
%tmp5253 = zext i1 %tmp52 to i32 ; <i32> [#uses=1]
%toBool54 = icmp ne i32 %tmp5253, 0 ; <i1> [#uses=1]
br i1 %toBool54, label %bb18, label %bb55
bb55: ; preds = %bb49
%tmp56 = call i32 @search( ) ; <i32> [#uses=1]
store i32 %tmp56, i32* %num_sol
%tmp57 = getelementptr [21 x i8], [21 x i8]* @.str44, i32 0, i32 0 ; <i8*> [#uses=1]
%tmp58 = load i32, i32* %num_sol ; <i32> [#uses=1]
%tmp59 = call i32 (i8*, ...) @printf( i8* %tmp57, i32 %tmp58 ) ; <i32> [#uses=0]
%tmp60 = load i32, i32* @counters ; <i32> [#uses=1]
%tmp61 = icmp ne i32 %tmp60, 0 ; <i1> [#uses=1]
%tmp6162 = zext i1 %tmp61 to i32 ; <i32> [#uses=1]
%toBool63 = icmp ne i32 %tmp6162, 0 ; <i1> [#uses=1]
br i1 %toBool63, label %cond_true, label %cond_next
cond_true: ; preds = %bb55
store i32 0, i32* %total
%tmp64 = getelementptr [12 x i8], [12 x i8]* @.str45, i32 0, i32 0 ; <i8*> [#uses=1]
%tmp65 = call i32 (i8*, ...) @printf( i8* %tmp64 ) ; <i32> [#uses=0]
store i32 0, i32* %i
br label %bb79
bb66: ; preds = %bb79
%tmp67 = load i32, i32* %i ; <i32> [#uses=1]
%tmp68 = getelementptr [5 x i32], [5 x i32]* @counter, i32 0, i32 %tmp67 ; <i32*> [#uses=1]
%tmp69 = load i32, i32* %tmp68 ; <i32> [#uses=1]
%tmp70 = getelementptr [5 x i8], [5 x i8]* @.str46, i32 0, i32 0 ; <i8*> [#uses=1]
%tmp71 = call i32 (i8*, ...) @printf( i8* %tmp70, i32 %tmp69 ) ; <i32> [#uses=0]
%tmp72 = load i32, i32* %i ; <i32> [#uses=1]
%tmp73 = getelementptr [5 x i32], [5 x i32]* @counter, i32 0, i32 %tmp72 ; <i32*> [#uses=1]
%tmp74 = load i32, i32* %tmp73 ; <i32> [#uses=1]
%tmp75 = load i32, i32* %total ; <i32> [#uses=1]
%tmp76 = add i32 %tmp74, %tmp75 ; <i32> [#uses=1]
store i32 %tmp76, i32* %total
%tmp77 = load i32, i32* %i ; <i32> [#uses=1]
%tmp78 = add i32 %tmp77, 1 ; <i32> [#uses=1]
store i32 %tmp78, i32* %i
br label %bb79
bb79: ; preds = %bb66, %cond_true
%tmp80 = load i32, i32* @numi ; <i32> [#uses=1]
%tmp81 = load i32, i32* %i ; <i32> [#uses=1]
%tmp82 = icmp slt i32 %tmp81, %tmp80 ; <i1> [#uses=1]
%tmp8283 = zext i1 %tmp82 to i32 ; <i32> [#uses=1]
%toBool84 = icmp ne i32 %tmp8283, 0 ; <i1> [#uses=1]
br i1 %toBool84, label %bb66, label %bb85
bb85: ; preds = %bb79
%tmp86 = getelementptr [12 x i8], [12 x i8]* @.str47, i32 0, i32 0 ; <i8*> [#uses=1]
%tmp87 = load i32, i32* %total ; <i32> [#uses=1]
%tmp88 = call i32 (i8*, ...) @printf( i8* %tmp86, i32 %tmp87 ) ; <i32> [#uses=0]
br label %cond_next
cond_next: ; preds = %bb85, %bb55
%tmp89 = load i32, i32* @numi ; <i32> [#uses=1]
%tmp90 = add i32 %tmp89, 1 ; <i32> [#uses=1]
store i32 %tmp90, i32* @numi
br label %bb91
bb91: ; preds = %cond_next, %entry
%tmp92 = load i32, i32* @numi ; <i32> [#uses=1]
%tmp93 = icmp sgt i32 %tmp92, 5 ; <i1> [#uses=1]
%tmp9394 = zext i1 %tmp93 to i32 ; <i32> [#uses=1]
%toBool95 = icmp ne i32 %tmp9394, 0 ; <i1> [#uses=1]
br i1 %toBool95, label %cond_true96, label %cond_next97
cond_true96: ; preds = %bb91
br label %bb102
cond_next97: ; preds = %bb91
%tmp98 = load i32, i32* %num_sol ; <i32> [#uses=1]
%tmp99 = icmp eq i32 %tmp98, 0 ; <i1> [#uses=1]
%tmp99100 = zext i1 %tmp99 to i32 ; <i32> [#uses=1]
%toBool101 = icmp ne i32 %tmp99100, 0 ; <i1> [#uses=1]
br i1 %toBool101, label %bb, label %bb102
bb102: ; preds = %cond_next97, %cond_true96
store i32 0, i32* %tmp
%tmp103 = load i32, i32* %tmp ; <i32> [#uses=1]
store i32 %tmp103, i32* %retval
br label %return
return: ; preds = %bb102
%retval104 = load i32, i32* %retval ; <i32> [#uses=1]
ret i32 %retval104
}
declare i32 @userfun(i32)

View File

@ -1,23 +0,0 @@
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
@img_width = external global i16 ; <i16*> [#uses=2]
define i32 @smpUMHEXBipredIntegerPelBlockMotionSearch(i16* %cur_pic, i16 signext %ref, i32 %list, i32 %pic_pix_x, i32 %pic_pix_y, i32 %blocktype, i16 signext %pred_mv_x1, i16 signext %pred_mv_y1, i16 signext %pred_mv_x2, i16 signext %pred_mv_y2, i16* %mv_x, i16* %mv_y, i16* %s_mv_x, i16* %s_mv_y, i32 %search_range, i32 %min_mcost, i32 %lambda_factor) {
cond_next143: ; preds = %entry
store i16 0, i16* @img_width, align 2
br i1 false, label %cond_next449, label %cond_false434
cond_false434: ; preds = %cond_true415
br label %cond_next449
cond_next449: ; preds = %cond_false434, %cond_true415
br i1 false, label %cond_next698, label %cond_false470
cond_false470: ; preds = %cond_next449
br label %cond_next698
cond_next698: ; preds = %cond_true492
%tmp701 = load i16, i16* @img_width, align 2 ; <i16> [#uses=0]
; CHECK-NOT: %tmp701 =
ret i32 0
}

View File

@ -1,21 +0,0 @@
; RUN: opt < %s -gvn -S | FileCheck %s
; PR1996
%struct.anon = type { i32, i8, i8, i8, i8 }
define i32 @a() {
entry:
%c = alloca %struct.anon ; <%struct.anon*> [#uses=2]
%tmp = getelementptr %struct.anon, %struct.anon* %c, i32 0, i32 0 ; <i32*> [#uses=1]
%tmp1 = getelementptr i32, i32* %tmp, i32 1 ; <i32*> [#uses=2]
%tmp2 = load i32, i32* %tmp1, align 4 ; <i32> [#uses=1]
; CHECK-NOT: load
%tmp3 = or i32 %tmp2, 11 ; <i32> [#uses=1]
%tmp4 = and i32 %tmp3, -21 ; <i32> [#uses=1]
store i32 %tmp4, i32* %tmp1, align 4
%call = call i32 (...) @x( %struct.anon* %c ) ; <i32> [#uses=0]
ret i32 undef
}
declare i32 @x(...)

View File

@ -1,22 +0,0 @@
; RUN: opt < %s -gvn
; PR2032
define i32 @sscal(i32 %n, double %sa1, float* %sx, i32 %incx) {
entry:
%sx_addr = alloca float* ; <float**> [#uses=3]
store float* %sx, float** %sx_addr, align 4
br label %bb33
bb: ; preds = %bb33
%tmp27 = load float*, float** %sx_addr, align 4 ; <float*> [#uses=1]
store float 0.000000e+00, float* %tmp27, align 4
store float* null, float** %sx_addr, align 4
br label %bb33
bb33: ; preds = %bb, %entry
br i1 false, label %bb, label %return
return: ; preds = %bb33
%retval59 = load i32, i32* null, align 4 ; <i32> [#uses=1]
ret i32 %retval59
}

View File

@ -1,36 +0,0 @@
; RUN: opt < %s -basicaa -gvn -S | FileCheck %s
; PR2503
@g_3 = external global i8 ; <i8*> [#uses=2]
define i8 @func_1(i32 %x, i32 %y) nounwind {
entry:
%A = alloca i8
%cmp = icmp eq i32 %x, %y
br i1 %cmp, label %ifelse, label %ifthen
ifthen: ; preds = %entry
br label %ifend
ifelse: ; preds = %entry
%tmp3 = load i8, i8* @g_3 ; <i8> [#uses=0]
store i8 %tmp3, i8* %A
br label %afterfor
forcond: ; preds = %forinc
br i1 false, label %afterfor, label %forbody
forbody: ; preds = %forcond
br label %forinc
forinc: ; preds = %forbody
br label %forcond
afterfor: ; preds = %forcond, %forcond.thread
%tmp10 = load i8, i8* @g_3 ; <i8> [#uses=0]
ret i8 %tmp10
; CHECK: ret i8 %tmp3
ifend: ; preds = %afterfor, %ifthen
ret i8 0
}

View File

@ -1,38 +0,0 @@
; RUN: opt < %s -gvn -S | FileCheck %s
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin9.5"
%struct.anon = type { i8*, i32 }
%struct.d_print_info = type { i32, i8*, i32, i32, %struct.d_print_template*, %struct.d_print_mod*, i32 }
%struct.d_print_mod = type { %struct.d_print_mod*, %struct.demangle_component*, i32, %struct.d_print_template* }
%struct.d_print_template = type { %struct.d_print_template*, %struct.demangle_component* }
%struct.demangle_component = type { i32, { %struct.anon } }
define void @d_print_mod_list(%struct.d_print_info* %dpi, %struct.d_print_mod* %mods, i32 %suffix) nounwind {
entry:
%0 = getelementptr %struct.d_print_info, %struct.d_print_info* %dpi, i32 0, i32 1 ; <i8**> [#uses=1]
br i1 false, label %return, label %bb
bb: ; preds = %entry
%1 = load i8*, i8** %0, align 4 ; <i8*> [#uses=0]
%2 = getelementptr %struct.d_print_info, %struct.d_print_info* %dpi, i32 0, i32 1 ; <i8**> [#uses=0]
br label %bb21
bb21: ; preds = %bb21, %bb
br label %bb21
return: ; preds = %entry
ret void
}
; CHECK: define void @d_print_mod_list(%struct.d_print_info* %dpi, %struct.d_print_mod* %mods, i32 %suffix) #0 {
; CHECK: entry:
; CHECK: %0 = getelementptr %struct.d_print_info, %struct.d_print_info* %dpi, i32 0, i32 1
; CHECK: br i1 false, label %return, label %bb
; CHECK: bb:
; CHECK: br label %bb21
; CHECK: bb21:
; CHECK: br label %bb21
; CHECK: return:
; CHECK: ret void
; CHECK: }

View File

@ -1,35 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin7"
define i32 @main(i32 %argc, i8** %argv) nounwind {
entry:
br label %bb84
bb41: ; preds = %bb82
%tmp = load i8, i8* %opt.0, align 1 ; <i8> [#uses=0]
%tmp1 = getelementptr i8, i8* %opt.0, i32 1 ; <i8*> [#uses=2]
switch i32 0, label %bb81 [
i32 102, label %bb82
i32 110, label %bb79
i32 118, label %bb80
]
bb79: ; preds = %bb41
br label %bb82
bb80: ; preds = %bb41
ret i32 0
bb81: ; preds = %bb41
ret i32 1
bb82: ; preds = %bb84, %bb79, %bb41
%opt.0 = phi i8* [ %tmp3, %bb84 ], [ %tmp1, %bb79 ], [ %tmp1, %bb41 ] ; <i8*> [#uses=3]
%tmp2 = load i8, i8* %opt.0, align 1 ; <i8> [#uses=0]
br i1 false, label %bb84, label %bb41
bb84: ; preds = %bb82, %entry
%tmp3 = getelementptr i8, i8* null, i32 1 ; <i8*> [#uses=1]
br label %bb82
}

View File

@ -1,18 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin7"
@sort_value = external global [256 x i32], align 32 ; <[256 x i32]*> [#uses=2]
define i32 @Quiesce(i32 %alpha, i32 %beta, i32 %wtm, i32 %ply) nounwind {
entry:
br label %bb22
bb22: ; preds = %bb23, %bb22, %entry
br i1 false, label %bb23, label %bb22
bb23: ; preds = %bb23, %bb22
%sortv.233 = phi i32* [ getelementptr ([256 x i32], [256 x i32]* @sort_value, i32 0, i32 0), %bb22 ], [ %sortv.2, %bb23 ] ; <i32*> [#uses=1]
%0 = load i32, i32* %sortv.233, align 4 ; <i32> [#uses=0]
%sortv.2 = getelementptr [256 x i32], [256 x i32]* @sort_value, i32 0, i32 0 ; <i32*> [#uses=1]
br i1 false, label %bb23, label %bb22
}

View File

@ -1,28 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
; Cached results must be added to and verified against the visited sets.
; PR3217
define fastcc void @gen_field_die(i32* %decl) nounwind {
entry:
br i1 false, label %bb203, label %bb202
bb202: ; preds = %entry
unreachable
bb203: ; preds = %entry
%tmp = getelementptr i32, i32* %decl, i32 1 ; <i32*> [#uses=1]
%tmp1 = load i32, i32* %tmp, align 4 ; <i32> [#uses=0]
br i1 false, label %bb207, label %bb204
bb204: ; preds = %bb203
%tmp2 = getelementptr i32, i32* %decl, i32 1 ; <i32*> [#uses=1]
br label %bb208
bb207: ; preds = %bb203
br label %bb208
bb208: ; preds = %bb207, %bb204
%iftmp.1374.0.in = phi i32* [ null, %bb207 ], [ %tmp2, %bb204 ] ; <i32*> [#uses=1]
%iftmp.1374.0 = load i32, i32* %iftmp.1374.0.in ; <i32> [#uses=0]
unreachable
}

View File

@ -1,55 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
; PR3358
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128"
target triple = "x86_64-unknown-linux-gnu"
%struct.re_pattern_buffer = type { i8*, i64, i64, i64, i8*, i8*, i64, i8 }
%struct.re_registers = type { i32, i32*, i32* }
define fastcc i32 @byte_re_match_2_internal(%struct.re_pattern_buffer* nocapture %bufp, i8* %string1, i32 %size1, i8* %string2, i32 %size2, i32 %pos, %struct.re_registers* %regs, i32 %stop) nounwind {
entry:
br label %bb159
succeed_label: ; preds = %bb159
ret i32 0
bb159: ; preds = %bb664, %bb554, %bb159, %bb159, %bb159, %entry
%d.0 = phi i8* [ null, %entry ], [ %d.0, %bb159 ], [ %d.0, %bb554 ], [ %d.0, %bb159 ], [ %d.0, %bb159 ], [ %d.12, %bb664 ] ; <i8*> [#uses=5]
switch i32 0, label %bb661 [
i32 0, label %bb159
i32 1, label %succeed_label
i32 13, label %bb159
i32 14, label %bb159
i32 16, label %bb411
i32 24, label %bb622
i32 28, label %bb543
]
bb411: ; preds = %bb411, %bb159
br label %bb411
bb543: ; preds = %bb159
br i1 false, label %bb549, label %bb550
bb549: ; preds = %bb543
br label %bb554
bb550: ; preds = %bb543
br i1 false, label %bb554, label %bb552
bb552: ; preds = %bb550
%0 = load i8, i8* %d.0, align 8 ; <i8> [#uses=0]
br label %bb554
bb554: ; preds = %bb552, %bb550, %bb549
br i1 false, label %bb159, label %bb661
bb622: ; preds = %bb622, %bb159
br label %bb622
bb661: ; preds = %bb554, %bb159
%d.12 = select i1 false, i8* null, i8* null ; <i8*> [#uses=1]
br label %bb664
bb664: ; preds = %bb664, %bb661
br i1 false, label %bb159, label %bb664
}

View File

@ -1,100 +0,0 @@
; RUN: opt < %s -gvn | llvm-dis
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
target triple = "i386-apple-darwin7"
%struct..4sPragmaType = type { i8*, i32 }
%struct.AggInfo = type { i8, i8, i32, %struct.ExprList*, i32, %struct.AggInfo_col*, i32, i32, i32, %struct.AggInfo_func*, i32, i32 }
%struct.AggInfo_col = type { %struct.Table*, i32, i32, i32, i32, %struct.Expr* }
%struct.AggInfo_func = type { %struct.Expr*, %struct.FuncDef*, i32, i32 }
%struct.AuxData = type { i8*, void (i8*)* }
%struct.Bitvec = type { i32, i32, i32, { [125 x i32] } }
%struct.BtCursor = type { %struct.Btree*, %struct.BtShared*, %struct.BtCursor*, %struct.BtCursor*, i32 (i8*, i32, i8*, i32, i8*)*, i8*, i32, %struct.MemPage*, i32, %struct.CellInfo, i8, i8, i8*, i64, i32, i8, i32* }
%struct.BtLock = type { %struct.Btree*, i32, i8, %struct.BtLock* }
%struct.BtShared = type { %struct.Pager*, %struct.sqlite3*, %struct.BtCursor*, %struct.MemPage*, i8, i8, i8, i8, i8, i8, i8, i8, i32, i16, i16, i32, i32, i32, i32, i8, i32, i8*, void (i8*)*, %struct.sqlite3_mutex*, %struct.BusyHandler, i32, %struct.BtShared*, %struct.BtLock*, %struct.Btree* }
%struct.Btree = type { %struct.sqlite3*, %struct.BtShared*, i8, i8, i8, i32, %struct.Btree*, %struct.Btree* }
%struct.BtreeMutexArray = type { i32, [11 x %struct.Btree*] }
%struct.BusyHandler = type { i32 (i8*, i32)*, i8*, i32 }
%struct.CellInfo = type { i8*, i64, i32, i32, i16, i16, i16, i16 }
%struct.CollSeq = type { i8*, i8, i8, i8*, i32 (i8*, i32, i8*, i32, i8*)*, void (i8*)* }
%struct.Column = type { i8*, %struct.Expr*, i8*, i8*, i8, i8, i8, i8 }
%struct.Context = type { i64, i32, %struct.Fifo }
%struct.CountCtx = type { i64 }
%struct.Cursor = type { %struct.BtCursor*, i32, i64, i64, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i64, %struct.Btree*, i32, i8*, i64, i8*, %struct.KeyInfo*, i32, i64, %struct.sqlite3_vtab_cursor*, %struct.sqlite3_module*, i32, i32, i32*, i32*, i8* }
%struct.Db = type { i8*, %struct.Btree*, i8, i8, i8*, void (i8*)*, %struct.Schema* }
%struct.Expr = type { i8, i8, i16, %struct.CollSeq*, %struct.Expr*, %struct.Expr*, %struct.ExprList*, %struct..4sPragmaType, %struct..4sPragmaType, i32, i32, %struct.AggInfo*, i32, i32, %struct.Select*, %struct.Table*, i32 }
%struct.ExprList = type { i32, i32, i32, %struct.ExprList_item* }
%struct.ExprList_item = type { %struct.Expr*, i8*, i8, i8, i8 }
%struct.FKey = type { %struct.Table*, %struct.FKey*, i8*, %struct.FKey*, i32, %struct.sColMap*, i8, i8, i8, i8 }
%struct.Fifo = type { i32, %struct.FifoPage*, %struct.FifoPage* }
%struct.FifoPage = type { i32, i32, i32, %struct.FifoPage*, [1 x i64] }
%struct.FuncDef = type { i16, i8, i8, i8, i8*, %struct.FuncDef*, void (%struct.sqlite3_context*, i32, %struct.Mem**)*, void (%struct.sqlite3_context*, i32, %struct.Mem**)*, void (%struct.sqlite3_context*)*, [1 x i8] }
%struct.Hash = type { i8, i8, i32, i32, %struct.HashElem*, %struct._ht* }
%struct.HashElem = type { %struct.HashElem*, %struct.HashElem*, i8*, i8*, i32 }
%struct.IdList = type { %struct..4sPragmaType*, i32, i32 }
%struct.Index = type { i8*, i32, i32*, i32*, %struct.Table*, i32, i8, i8, i8*, %struct.Index*, %struct.Schema*, i8*, i8** }
%struct.KeyInfo = type { %struct.sqlite3*, i8, i8, i8, i32, i8*, [1 x %struct.CollSeq*] }
%struct.Mem = type { %struct.CountCtx, double, %struct.sqlite3*, i8*, i32, i16, i8, i8, void (i8*)* }
%struct.MemPage = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i16, i16, i16, i16, i16, i16, [5 x %struct._OvflCell], %struct.BtShared*, i8*, %struct.PgHdr*, i32, %struct.MemPage* }
%struct.Module = type { %struct.sqlite3_module*, i8*, i8*, void (i8*)* }
%struct.Op = type { i8, i8, i8, i8, i32, i32, i32, { i32 } }
%struct.Pager = type { %struct.sqlite3_vfs*, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.Bitvec*, %struct.Bitvec*, i8*, i8*, i8*, i8*, %struct.sqlite3_file*, %struct.sqlite3_file*, %struct.sqlite3_file*, %struct.BusyHandler*, %struct.PagerLruList, %struct.PgHdr*, %struct.PgHdr*, %struct.PgHdr*, i64, i64, i64, i64, i64, i32, void (%struct.PgHdr*, i32)*, void (%struct.PgHdr*, i32)*, i32, %struct.PgHdr**, i8*, [16 x i8] }
%struct.PagerLruLink = type { %struct.PgHdr*, %struct.PgHdr* }
%struct.PagerLruList = type { %struct.PgHdr*, %struct.PgHdr*, %struct.PgHdr* }
%struct.Parse = type { %struct.sqlite3*, i32, i8*, %struct.Vdbe*, i8, i8, i8, i8, i8, i8, i8, [8 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, [12 x i32], i32, %struct.TableLock*, i32, i32, i32, i32, i32, %struct.Expr**, i8, %struct..4sPragmaType, %struct..4sPragmaType, %struct..4sPragmaType, i8*, i8*, %struct.Table*, %struct.Trigger*, %struct.TriggerStack*, i8*, %struct..4sPragmaType, i8, %struct.Table*, i32 }
%struct.PgHdr = type { %struct.Pager*, i32, %struct.PgHdr*, %struct.PgHdr*, %struct.PagerLruLink, %struct.PgHdr*, i8, i8, i8, i8, i8, i16, %struct.PgHdr*, %struct.PgHdr*, i8* }
%struct.Schema = type { i32, %struct.Hash, %struct.Hash, %struct.Hash, %struct.Hash, %struct.Table*, i8, i8, i16, i32, %struct.sqlite3* }
%struct.Select = type { %struct.ExprList*, i8, i8, i8, i8, i8, i8, i8, %struct.SrcList*, %struct.Expr*, %struct.ExprList*, %struct.Expr*, %struct.ExprList*, %struct.Select*, %struct.Select*, %struct.Select*, %struct.Expr*, %struct.Expr*, i32, i32, [3 x i32] }
%struct.SrcList = type { i16, i16, [1 x %struct.SrcList_item] }
%struct.SrcList_item = type { i8*, i8*, i8*, %struct.Table*, %struct.Select*, i8, i8, i32, %struct.Expr*, %struct.IdList*, i64 }
%struct.Table = type { i8*, i32, %struct.Column*, i32, %struct.Index*, i32, %struct.Select*, i32, %struct.Trigger*, %struct.FKey*, i8*, %struct.Expr*, i32, i8, i8, i8, i8, i8, i8, i8, %struct.Module*, %struct.sqlite3_vtab*, i32, i8**, %struct.Schema* }
%struct.TableLock = type { i32, i32, i8, i8* }
%struct.Trigger = type { i8*, i8*, i8, i8, %struct.Expr*, %struct.IdList*, %struct..4sPragmaType, %struct.Schema*, %struct.Schema*, %struct.TriggerStep*, %struct.Trigger* }
%struct.TriggerStack = type { %struct.Table*, i32, i32, i32, i32, i32, i32, %struct.Trigger*, %struct.TriggerStack* }
%struct.TriggerStep = type { i32, i32, %struct.Trigger*, %struct.Select*, %struct..4sPragmaType, %struct.Expr*, %struct.ExprList*, %struct.IdList*, %struct.TriggerStep*, %struct.TriggerStep* }
%struct.Vdbe = type { %struct.sqlite3*, %struct.Vdbe*, %struct.Vdbe*, i32, i32, %struct.Op*, i32, i32, i32*, %struct.Mem**, %struct.Mem*, i32, %struct.Cursor**, i32, %struct.Mem*, i8**, i32, i32, i32, %struct.Mem*, i32, i32, %struct.Fifo, i32, i32, %struct.Context*, i32, i32, i32, i32, i32, [25 x i32], i32, i32, i8**, i8*, %struct.Mem*, i8, i8, i8, i8, i8, i8, i32, i64, i32, %struct.BtreeMutexArray, i32, i8*, i32 }
%struct.VdbeFunc = type { %struct.FuncDef*, i32, [1 x %struct.AuxData] }
%struct._OvflCell = type { i8*, i16 }
%struct._ht = type { i32, %struct.HashElem* }
%struct.anon = type { double }
%struct.sColMap = type { i32, i8* }
%struct.sqlite3 = type { %struct.sqlite3_vfs*, i32, %struct.Db*, i32, i32, i32, i32, i8, i8, i8, i8, i32, %struct.CollSeq*, i64, i64, i32, i32, i32, %struct.sqlite3_mutex*, %struct.sqlite3InitInfo, i32, i8**, %struct.Vdbe*, i32, void (i8*, i8*)*, i8*, void (i8*, i8*, i64)*, i8*, i8*, i32 (i8*)*, i8*, void (i8*)*, i8*, void (i8*, i32, i8*, i8*, i64)*, void (i8*, %struct.sqlite3*, i32, i8*)*, void (i8*, %struct.sqlite3*, i32, i8*)*, i8*, %struct.Mem*, i8*, i8*, %struct.anon, i32 (i8*, i32, i8*, i8*, i8*, i8*)*, i8*, i32 (i8*)*, i8*, i32, %struct.Hash, %struct.Table*, %struct.sqlite3_vtab**, i32, %struct.Hash, %struct.Hash, %struct.BusyHandler, i32, [2 x %struct.Db], i8 }
%struct.sqlite3InitInfo = type { i32, i32, i8 }
%struct.sqlite3_context = type { %struct.FuncDef*, %struct.VdbeFunc*, %struct.Mem, %struct.Mem*, i32, %struct.CollSeq* }
%struct.sqlite3_file = type { %struct.sqlite3_io_methods* }
%struct.sqlite3_index_constraint = type { i32, i8, i8, i32 }
%struct.sqlite3_index_constraint_usage = type { i32, i8 }
%struct.sqlite3_index_info = type { i32, %struct.sqlite3_index_constraint*, i32, %struct.sqlite3_index_constraint_usage*, %struct.sqlite3_index_constraint_usage*, i32, i8*, i32, i32, double }
%struct.sqlite3_io_methods = type { i32, i32 (%struct.sqlite3_file*)*, i32 (%struct.sqlite3_file*, i8*, i32, i64)*, i32 (%struct.sqlite3_file*, i8*, i32, i64)*, i32 (%struct.sqlite3_file*, i64)*, i32 (%struct.sqlite3_file*, i32)*, i32 (%struct.sqlite3_file*, i64*)*, i32 (%struct.sqlite3_file*, i32)*, i32 (%struct.sqlite3_file*, i32)*, i32 (%struct.sqlite3_file*)*, i32 (%struct.sqlite3_file*, i32, i8*)*, i32 (%struct.sqlite3_file*)*, i32 (%struct.sqlite3_file*)* }
%struct.sqlite3_module = type { i32, i32 (%struct.sqlite3*, i8*, i32, i8**, %struct.sqlite3_vtab**, i8**)*, i32 (%struct.sqlite3*, i8*, i32, i8**, %struct.sqlite3_vtab**, i8**)*, i32 (%struct.sqlite3_vtab*, %struct.sqlite3_index_info*)*, i32 (%struct.sqlite3_vtab*)*, i32 (%struct.sqlite3_vtab*)*, i32 (%struct.sqlite3_vtab*, %struct.sqlite3_vtab_cursor**)*, i32 (%struct.sqlite3_vtab_cursor*)*, i32 (%struct.sqlite3_vtab_cursor*, i32, i8*, i32, %struct.Mem**)*, i32 (%struct.sqlite3_vtab_cursor*)*, i32 (%struct.sqlite3_vtab_cursor*)*, i32 (%struct.sqlite3_vtab_cursor*, %struct.sqlite3_context*, i32)*, i32 (%struct.sqlite3_vtab_cursor*, i64*)*, i32 (%struct.sqlite3_vtab*, i32, %struct.Mem**, i64*)*, i32 (%struct.sqlite3_vtab*)*, i32 (%struct.sqlite3_vtab*)*, i32 (%struct.sqlite3_vtab*)*, i32 (%struct.sqlite3_vtab*)*, i32 (%struct.sqlite3_vtab*, i32, i8*, void (%struct.sqlite3_context*, i32, %struct.Mem**)**, i8**)*, i32 (%struct.sqlite3_vtab*, i8*)* }
%struct.sqlite3_mutex = type opaque
%struct.sqlite3_vfs = type { i32, i32, i32, %struct.sqlite3_vfs*, i8*, i8*, i32 (%struct.sqlite3_vfs*, i8*, %struct.sqlite3_file*, i32, i32*)*, i32 (%struct.sqlite3_vfs*, i8*, i32)*, i32 (%struct.sqlite3_vfs*, i8*, i32)*, i32 (%struct.sqlite3_vfs*, i32, i8*)*, i32 (%struct.sqlite3_vfs*, i8*, i32, i8*)*, i8* (%struct.sqlite3_vfs*, i8*)*, void (%struct.sqlite3_vfs*, i32, i8*)*, i8* (%struct.sqlite3_vfs*, i8*, i8*)*, void (%struct.sqlite3_vfs*, i8*)*, i32 (%struct.sqlite3_vfs*, i32, i8*)*, i32 (%struct.sqlite3_vfs*, i32)*, i32 (%struct.sqlite3_vfs*, double*)* }
%struct.sqlite3_vtab = type { %struct.sqlite3_module*, i32, i8* }
%struct.sqlite3_vtab_cursor = type { %struct.sqlite3_vtab* }
define fastcc void @sqlite3Insert(%struct.Parse* %pParse, %struct.SrcList* %pTabList, %struct.ExprList* %pList, %struct.Select* %pSelect, %struct.IdList* %pColumn, i32 %onError) nounwind {
entry:
br i1 false, label %bb54, label %bb69.loopexit
bb54: ; preds = %entry
br label %bb69.loopexit
bb59: ; preds = %bb63.preheader
%0 = load %struct..4sPragmaType*, %struct..4sPragmaType** %3, align 4 ; <%struct..4sPragmaType*> [#uses=0]
br label %bb65
bb65: ; preds = %bb63.preheader, %bb59
%1 = load %struct..4sPragmaType*, %struct..4sPragmaType** %4, align 4 ; <%struct..4sPragmaType*> [#uses=0]
br i1 false, label %bb67, label %bb63.preheader
bb67: ; preds = %bb65
%2 = getelementptr %struct.IdList, %struct.IdList* %pColumn, i32 0, i32 0 ; <%struct..4sPragmaType**> [#uses=0]
unreachable
bb69.loopexit: ; preds = %bb54, %entry
%3 = getelementptr %struct.IdList, %struct.IdList* %pColumn, i32 0, i32 0 ; <%struct..4sPragmaType**> [#uses=1]
%4 = getelementptr %struct.IdList, %struct.IdList* %pColumn, i32 0, i32 0 ; <%struct..4sPragmaType**> [#uses=1]
br label %bb63.preheader
bb63.preheader: ; preds = %bb69.loopexit, %bb65
br i1 false, label %bb59, label %bb65
}

Some files were not shown because too many files have changed in this diff Show More