Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s -march=arm -mtriple=armv6-apple-darwin9
      2 
      3 @r = external global i32		; <i32*> [#uses=1]
      4 @qr = external global i32		; <i32*> [#uses=1]
      5 @II = external global i32*		; <i32**> [#uses=1]
      6 @no_mis = external global i32		; <i32*> [#uses=1]
      7 @name1 = external global i8*		; <i8**> [#uses=1]
      8 
      9 declare void @diff(i8*, i8*, i32, i32, i32, i32) nounwind
     10 
     11 define void @SIM(i8* %A, i8* %B, i32 %M, i32 %N, i32 %K, [256 x i32]* %V, i32 %Q, i32 %R, i32 %nseq) nounwind {
     12 entry:
     13 	br i1 undef, label %bb5, label %bb
     14 
     15 bb:		; preds = %bb, %entry
     16 	br label %bb
     17 
     18 bb5:		; preds = %entry
     19 	br i1 undef, label %bb6, label %bb8
     20 
     21 bb6:		; preds = %bb6, %bb5
     22 	br i1 undef, label %bb8, label %bb6
     23 
     24 bb8:		; preds = %bb6, %bb5
     25 	%0 = load i8** @name1, align 4		; <i8*> [#uses=0]
     26 	br label %bb15
     27 
     28 bb9:		; preds = %bb15
     29 	br i1 undef, label %bb10, label %bb11
     30 
     31 bb10:		; preds = %bb9
     32 	unreachable
     33 
     34 bb11:		; preds = %bb9
     35 	store i32 0, i32* @no_mis, align 4
     36 	%1 = getelementptr i8* %A, i32 0		; <i8*> [#uses=1]
     37 	%2 = getelementptr i8* %B, i32 0		; <i8*> [#uses=1]
     38 	tail call  void @diff(i8* %1, i8* %2, i32 undef, i32 undef, i32 undef, i32 undef) nounwind
     39 	br i1 undef, label %bb15, label %bb12
     40 
     41 bb12:		; preds = %bb11
     42 	%3 = load i32** @II, align 4		; <i32*> [#uses=1]
     43 	%4 = load i32* @r, align 4		; <i32> [#uses=1]
     44 	%5 = load i32* @qr, align 4		; <i32> [#uses=1]
     45 	br label %bb228.i
     46 
     47 bb74.i:		; preds = %bb228.i
     48 	br i1 undef, label %bb138.i, label %bb145.i
     49 
     50 bb138.i:		; preds = %bb74.i
     51 	br label %bb145.i
     52 
     53 bb145.i:		; preds = %bb228.i, %bb138.i, %bb74.i
     54 	br i1 undef, label %bb146.i, label %bb151.i
     55 
     56 bb146.i:		; preds = %bb145.i
     57 	br i1 undef, label %bb228.i, label %bb151.i
     58 
     59 bb151.i:		; preds = %bb146.i, %bb145.i
     60 	br i1 undef, label %bb153.i, label %bb228.i
     61 
     62 bb153.i:		; preds = %bb151.i
     63 	%6 = add i32 undef, -1		; <i32> [#uses=3]
     64 	br i1 undef, label %bb220.i, label %bb.nph.i98
     65 
     66 bb.nph.i98:		; preds = %bb153.i
     67 	br label %bb158.i
     68 
     69 bb158.i:		; preds = %bb218.i, %bb.nph.i98
     70 	%c.1020.i = phi i32 [ 0, %bb.nph.i98 ], [ %c.14.i, %bb218.i ]		; <i32> [#uses=1]
     71 	%f.419.i = phi i32 [ undef, %bb.nph.i98 ], [ %f.5.i, %bb218.i ]		; <i32> [#uses=1]
     72 	%pi.316.i = phi i32 [ undef, %bb.nph.i98 ], [ %10, %bb218.i ]		; <i32> [#uses=1]
     73 	%fj.515.i = phi i32 [ %6, %bb.nph.i98 ], [ %fj.4.i, %bb218.i ]		; <i32> [#uses=2]
     74 	%fi.614.i = phi i32 [ undef, %bb.nph.i98 ], [ %fi.5.i, %bb218.i ]		; <i32> [#uses=3]
     75 	%cj.811.i = phi i32 [ %6, %bb.nph.i98 ], [ %cj.11.i100, %bb218.i ]		; <i32> [#uses=3]
     76 	%ci.910.i = phi i32 [ undef, %bb.nph.i98 ], [ %ci.12.i, %bb218.i ]		; <i32> [#uses=2]
     77 	%7 = sub i32 %f.419.i, %4		; <i32> [#uses=5]
     78 	%8 = sub i32 %c.1020.i, %5		; <i32> [#uses=2]
     79 	%9 = icmp slt i32 %7, %8		; <i1> [#uses=1]
     80 	br i1 %9, label %bb168.i, label %bb160.i
     81 
     82 bb160.i:		; preds = %bb158.i
     83 	br i1 undef, label %bb161.i, label %bb168.i
     84 
     85 bb161.i:		; preds = %bb160.i
     86 	br i1 undef, label %bb168.i, label %bb163.i
     87 
     88 bb163.i:		; preds = %bb161.i
     89 	br i1 undef, label %bb167.i, label %bb168.i
     90 
     91 bb167.i:		; preds = %bb163.i
     92 	br label %bb168.i
     93 
     94 bb168.i:		; preds = %bb167.i, %bb163.i, %bb161.i, %bb160.i, %bb158.i
     95 	%fi.5.i = phi i32 [ %fi.614.i, %bb167.i ], [ %ci.910.i, %bb158.i ], [ %fi.614.i, %bb160.i ], [ %ci.910.i, %bb161.i ], [ %fi.614.i, %bb163.i ]		; <i32> [#uses=2]
     96 	%fj.4.i = phi i32 [ %cj.811.i, %bb167.i ], [ %cj.811.i, %bb158.i ], [ %fj.515.i, %bb160.i ], [ %cj.811.i, %bb161.i ], [ %fj.515.i, %bb163.i ]		; <i32> [#uses=2]
     97 	%f.5.i = phi i32 [ %7, %bb167.i ], [ %8, %bb158.i ], [ %7, %bb160.i ], [ %7, %bb161.i ], [ %7, %bb163.i ]		; <i32> [#uses=2]
     98 	%scevgep88.i = getelementptr i32* %3, i32 undef		; <i32*> [#uses=1]
     99 	%ci.10.i = select i1 undef, i32 %pi.316.i, i32 undef		; <i32> [#uses=0]
    100 	%ci.12.i = select i1 undef, i32 %fi.5.i, i32 undef		; <i32> [#uses=1]
    101 	%cj.11.i100 = select i1 undef, i32 %fj.4.i, i32 undef		; <i32> [#uses=1]
    102 	%c.14.i = select i1 undef, i32 %f.5.i, i32 undef		; <i32> [#uses=1]
    103 	%10 = load i32* %scevgep88.i, align 4		; <i32> [#uses=1]
    104 	br i1 undef, label %bb211.i, label %bb218.i
    105 
    106 bb211.i:		; preds = %bb168.i
    107 	br label %bb218.i
    108 
    109 bb218.i:		; preds = %bb211.i, %bb168.i
    110 	br i1 undef, label %bb220.i, label %bb158.i
    111 
    112 bb220.i:		; preds = %bb218.i, %bb153.i
    113 	%11 = getelementptr i32* null, i32 %6		; <i32*> [#uses=1]
    114 	store i32 undef, i32* %11, align 4
    115 	br i1 undef, label %bb221.i, label %bb228.i
    116 
    117 bb221.i:		; preds = %bb220.i
    118 	br label %bb228.i
    119 
    120 bb228.i:		; preds = %bb221.i, %bb220.i, %bb151.i, %bb146.i, %bb12
    121 	br i1 undef, label %bb74.i, label %bb145.i
    122 
    123 bb15:		; preds = %bb11, %bb8
    124 	br i1 undef, label %return, label %bb9
    125 
    126 return:		; preds = %bb15
    127 	ret void
    128 }
    129