Convert tests using "| wc -l | grep ..." to use the count script.
[oota-llvm.git] / test / CodeGen / Generic / switch-crit-edge-constant.ll
1 ; PR925
2 ; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 | \
3 ; RUN:   grep mov.*str1 | count 1
4
5 target endian = little
6 target pointersize = 32
7 target triple = "i686-apple-darwin8.7.2"
8 %str1 = internal constant [5 x sbyte] c"bonk\00"                ; <[5 x sbyte]*> [#uses=1]
9 %str2 = internal constant [5 x sbyte] c"bork\00"                ; <[5 x sbyte]*> [#uses=1]
10 %str = internal constant [8 x sbyte] c"perfwap\00"              ; <[8 x sbyte]*> [#uses=1]
11
12 implementation   ; Functions:
13
14 void %foo(int %C) {
15 entry:
16         switch int %C, label %bb2 [
17                  int 1, label %blahaha
18                  int 2, label %blahaha
19                  int 3, label %blahaha
20                  int 4, label %blahaha
21                  int 5, label %blahaha
22                  int 6, label %blahaha
23                  int 7, label %blahaha
24                  int 8, label %blahaha
25                  int 9, label %blahaha
26                  int 10, label %blahaha
27         ]
28
29 bb2:            ; preds = %entry
30         %tmp5 = and int %C, 123         ; <int> [#uses=1]
31         %tmp = seteq int %tmp5, 0               ; <bool> [#uses=1]
32         br bool %tmp, label %blahaha, label %cond_true
33
34 cond_true:              ; preds = %bb2
35         br label %blahaha
36
37 blahaha:                ; preds = %cond_true, %bb2, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry, %entry
38         %s.0 = phi sbyte* [ getelementptr ([8 x sbyte]* %str, int 0, uint 0), %cond_true ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str1, int 0, uint 0), %entry ], [ getelementptr ([5 x sbyte]* %str2, int 0, uint 0), %bb2 ]           ; <sbyte*> [#uses=13]
39         %tmp8 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )             ; <int> [#uses=0]
40         %tmp10 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
41         %tmp12 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
42         %tmp14 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
43         %tmp16 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
44         %tmp18 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
45         %tmp20 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
46         %tmp22 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
47         %tmp24 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
48         %tmp26 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
49         %tmp28 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
50         %tmp30 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
51         %tmp32 = tail call int (sbyte*, ...)* %printf( sbyte* %s.0 )            ; <int> [#uses=0]
52         ret void
53 }
54
55 declare int %printf(sbyte*, ...)