1 ; RUN: llc %s -o /dev/null -verify-dom-info
2 %llvm.dbg.anchor.type = type { i32, i32 }
3 %llvm.dbg.basictype.type = type { i32, { }*, i8*, { }*, i32, i64, i64, i64, i32, i32, i8*, i8* }
4 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8* }
5 %llvm.dbg.derivedtype.type = type { i32, { }*, i8*, { }*, i32, i64, i64, i64, i32, { }*, i8*, i8* }
6 %llvm.dbg.subprogram.type = type { i32, { }*, { }*, i8*, i8*, i8*, { }*, i32, { }*, i1, i1, i8*, i8* }
7 %llvm.dbg.variable.type = type { i32, { }*, i8*, { }*, i32, { }*, i8*, i8* }
8 %struct._RuneCharClass = type { [14 x i8], i32 }
9 %struct._RuneEntry = type { i32, i32, i32, i32* }
10 %struct._RuneLocale = type { [8 x i8], [32 x i8], i32 (i8*, i32, i8**)*, i32 (i32, i8*, i32, i8**)*, i32, [256 x i32], [256 x i32], [256 x i32], %struct._RuneRange, %struct._RuneRange, %struct._RuneRange, i8*, i32, i32, %struct._RuneCharClass* }
11 %struct._RuneRange = type { i32, %struct._RuneEntry* }
12 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata" ; <%llvm.dbg.anchor.type*> [#uses=1]
13 @.str = internal constant [4 x i8] c"x.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
14 @.str1 = internal constant [5 x i8] c"/tmp\00", section "llvm.metadata" ; <[5 x i8]*> [#uses=1]
15 @.str2 = internal constant [57 x i8] c"4.2.1 (Based on Apple Inc. build 5628) (LLVM build 9999)\00", section "llvm.metadata" ; <[57 x i8]*> [#uses=1]
16 @llvm.dbg.compile_unit = internal constant %llvm.dbg.compile_unit.type { i32 458769, { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.compile_units to { }*), i32 1, i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0), i8* getelementptr ([57 x i8]* @.str2, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.compile_unit.type*> [#uses=1]
17 @.str3 = internal constant [4 x i8] c"int\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
18 @llvm.dbg.basictype = internal constant %llvm.dbg.basictype.type { i32 458788, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i8* getelementptr ([4 x i8]* @.str3, i32 0, i32 0), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 0, i64 32, i64 32, i64 0, i32 0, i32 5, i8* null, i8* null }, section "llvm.metadata" ; <%llvm.dbg.basictype.type*> [#uses=1]
19 @llvm.dbg.subprograms = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 46 }, section "llvm.metadata" ; <%llvm.dbg.anchor.type*> [#uses=1]
20 @.str4 = internal constant [5 x i8] c"main\00", section "llvm.metadata" ; <[5 x i8]*> [#uses=1]
21 @llvm.dbg.subprogram = internal constant %llvm.dbg.subprogram.type { i32 458798, { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.subprograms to { }*), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i8* getelementptr ([5 x i8]* @.str4, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str4, i32 0, i32 0), i8* null, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 21, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i1 false, i1 true, i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.subprogram.type*> [#uses=1]
22 @.str5 = internal constant [2 x i8] c"i\00", section "llvm.metadata" ; <[2 x i8]*> [#uses=1]
23 @llvm.dbg.variable = internal constant %llvm.dbg.variable.type { i32 459008, { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram to { }*), i8* getelementptr ([2 x i8]* @.str5, i32 0, i32 0), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 22, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.variable.type*> [#uses=1]
24 @.str6 = internal constant [8 x i8] c"islower\00", section "llvm.metadata" ; <[8 x i8]*> [#uses=1]
25 @llvm.dbg.subprogram9 = internal constant %llvm.dbg.subprogram.type { i32 458798, { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.subprograms to { }*), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i8* getelementptr ([8 x i8]* @.str6, i32 0, i32 0), i8* getelementptr ([8 x i8]* @.str6, i32 0, i32 0), i8* null, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 267, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i1 true, i1 true, i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.subprogram.type*> [#uses=1]
26 @.str10 = internal constant [3 x i8] c"_c\00", section "llvm.metadata" ; <[3 x i8]*> [#uses=1]
27 @llvm.dbg.variable11 = internal constant %llvm.dbg.variable.type { i32 459009, { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram9 to { }*), i8* getelementptr ([3 x i8]* @.str10, i32 0, i32 0), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 266, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.variable.type*> [#uses=1]
28 @.str12 = internal constant [9 x i8] c"__istype\00", section "llvm.metadata" ; <[9 x i8]*> [#uses=1]
29 @llvm.dbg.subprogram13 = internal constant %llvm.dbg.subprogram.type { i32 458798, { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.subprograms to { }*), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i8* getelementptr ([9 x i8]* @.str12, i32 0, i32 0), i8* getelementptr ([9 x i8]* @.str12, i32 0, i32 0), i8* null, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 171, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i1 true, i1 true, i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.subprogram.type*> [#uses=1]
30 @.str14 = internal constant [19 x i8] c"__darwin_ct_rune_t\00", section "llvm.metadata" ; <[19 x i8]*> [#uses=1]
31 @.str15 = internal constant [9 x i8] c"_types.h\00", section "llvm.metadata" ; <[9 x i8]*> [#uses=1]
32 @.str16 = internal constant [18 x i8] c"/usr/include/i386\00", section "llvm.metadata" ; <[18 x i8]*> [#uses=1]
33 @llvm.dbg.derivedtype = internal constant %llvm.dbg.derivedtype.type { i32 458774, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i8* getelementptr ([19 x i8]* @.str14, i32 0, i32 0), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 70, i64 0, i64 0, i64 0, i32 0, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i8* getelementptr ([9 x i8]* @.str15, i32 0, i32 0), i8* getelementptr ([18 x i8]* @.str16, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.derivedtype.type*> [#uses=1]
34 @llvm.dbg.variable17 = internal constant %llvm.dbg.variable.type { i32 459009, { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram13 to { }*), i8* getelementptr ([3 x i8]* @.str10, i32 0, i32 0), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 170, { }* bitcast (%llvm.dbg.derivedtype.type* @llvm.dbg.derivedtype to { }*), i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.variable.type*> [#uses=1]
35 @.str18 = internal constant [18 x i8] c"long unsigned int\00", section "llvm.metadata" ; <[18 x i8]*> [#uses=1]
36 @llvm.dbg.basictype19 = internal constant %llvm.dbg.basictype.type { i32 458788, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i8* getelementptr ([18 x i8]* @.str18, i32 0, i32 0), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 0, i64 32, i64 32, i64 0, i32 0, i32 7, i8* null, i8* null }, section "llvm.metadata" ; <%llvm.dbg.basictype.type*> [#uses=1]
37 @.str20 = internal constant [3 x i8] c"_f\00", section "llvm.metadata" ; <[3 x i8]*> [#uses=1]
38 @llvm.dbg.variable21 = internal constant %llvm.dbg.variable.type { i32 459009, { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram13 to { }*), i8* getelementptr ([3 x i8]* @.str20, i32 0, i32 0), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 170, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype19 to { }*), i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.variable.type*> [#uses=1]
39 @_DefaultRuneLocale = external global %struct._RuneLocale ; <%struct._RuneLocale*> [#uses=1]
40 @.str22 = internal constant [8 x i8] c"isascii\00", section "llvm.metadata" ; <[8 x i8]*> [#uses=1]
41 @llvm.dbg.subprogram23 = internal constant %llvm.dbg.subprogram.type { i32 458798, { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.subprograms to { }*), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i8* getelementptr ([8 x i8]* @.str22, i32 0, i32 0), i8* getelementptr ([8 x i8]* @.str22, i32 0, i32 0), i8* null, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 153, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i1 true, i1 true, i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.subprogram.type*> [#uses=1]
42 @llvm.dbg.variable24 = internal constant %llvm.dbg.variable.type { i32 459009, { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram23 to { }*), i8* getelementptr ([3 x i8]* @.str10, i32 0, i32 0), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 152, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.variable.type*> [#uses=1]
43 @.str25 = internal constant [8 x i8] c"toupper\00", section "llvm.metadata" ; <[8 x i8]*> [#uses=1]
44 @llvm.dbg.subprogram26 = internal constant %llvm.dbg.subprogram.type { i32 458798, { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.subprograms to { }*), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i8* getelementptr ([8 x i8]* @.str25, i32 0, i32 0), i8* getelementptr ([8 x i8]* @.str25, i32 0, i32 0), i8* null, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 316, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i1 true, i1 true, i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.subprogram.type*> [#uses=1]
45 @llvm.dbg.variable27 = internal constant %llvm.dbg.variable.type { i32 459009, { }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram26 to { }*), i8* getelementptr ([3 x i8]* @.str10, i32 0, i32 0), { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*), i32 315, { }* bitcast (%llvm.dbg.basictype.type* @llvm.dbg.basictype to { }*), i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([5 x i8]* @.str1, i32 0, i32 0) }, section "llvm.metadata" ; <%llvm.dbg.variable.type*> [#uses=1]
47 define i32 @main() nounwind {
49 %retval = alloca i32 ; <i32*> [#uses=1]
50 %i = alloca i32 ; <i32*> [#uses=16]
51 %iftmp.5 = alloca i32 ; <i32*> [#uses=3]
52 %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
53 call void @llvm.dbg.func.start({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram to { }*))
54 %0 = bitcast i32* %i to { }* ; <{ }*> [#uses=1]
55 call void @llvm.dbg.declare({ }* %0, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable to { }*))
56 call void @llvm.dbg.stoppoint(i32 23, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
57 store i32 0, i32* %i, align 4
60 call void @llvm.dbg.stoppoint(i32 23, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
63 bb: ; preds = %bb13, %1
64 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
65 %2 = load i32* %i, align 4 ; <i32> [#uses=1]
66 %3 = call i32 @islower(i32 %2) nounwind ; <i32> [#uses=1]
67 %4 = icmp eq i32 %3, 0 ; <i1> [#uses=1]
68 br i1 %4, label %bb3, label %bb1
70 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
73 bb1: ; preds = %5, %bb
74 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
75 %6 = load i32* %i, align 4 ; <i32> [#uses=1]
76 %7 = icmp sle i32 %6, 96 ; <i1> [#uses=1]
77 br i1 %7, label %bb11, label %bb2
79 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
82 bb2: ; preds = %8, %bb1
83 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
84 %9 = load i32* %i, align 4 ; <i32> [#uses=1]
85 %10 = icmp sgt i32 %9, 122 ; <i1> [#uses=1]
86 br i1 %10, label %bb11, label %bb3
88 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
91 bb3: ; preds = %11, %bb2, %bb
92 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
93 %12 = load i32* %i, align 4 ; <i32> [#uses=1]
94 %13 = call i32 @islower(i32 %12) nounwind ; <i32> [#uses=1]
95 %14 = icmp ne i32 %13, 0 ; <i1> [#uses=1]
96 br i1 %14, label %bb6, label %bb4
98 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
101 bb4: ; preds = %15, %bb3
102 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
103 %16 = load i32* %i, align 4 ; <i32> [#uses=1]
104 %17 = icmp sle i32 %16, 96 ; <i1> [#uses=1]
105 br i1 %17, label %bb6, label %bb5
107 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
110 bb5: ; preds = %18, %bb4
111 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
112 %19 = load i32* %i, align 4 ; <i32> [#uses=1]
113 %20 = icmp sle i32 %19, 122 ; <i1> [#uses=1]
114 br i1 %20, label %bb11, label %bb6
116 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
119 bb6: ; preds = %21, %bb5, %bb4, %bb3
120 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
121 %22 = load i32* %i, align 4 ; <i32> [#uses=1]
122 %23 = call i32 @toupper(i32 %22) nounwind ; <i32> [#uses=1]
123 %24 = load i32* %i, align 4 ; <i32> [#uses=1]
124 %25 = icmp sle i32 %24, 96 ; <i1> [#uses=1]
125 br i1 %25, label %bb9, label %bb7
127 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
130 bb7: ; preds = %26, %bb6
131 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
132 %27 = load i32* %i, align 4 ; <i32> [#uses=1]
133 %28 = icmp sgt i32 %27, 122 ; <i1> [#uses=1]
134 br i1 %28, label %bb9, label %bb8
136 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
139 bb8: ; preds = %29, %bb7
140 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
141 %30 = load i32* %i, align 4 ; <i32> [#uses=1]
142 %31 = sub i32 %30, 32 ; <i32> [#uses=1]
143 store i32 %31, i32* %iftmp.5, align 4
146 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
149 bb9: ; preds = %32, %bb7, %bb6
150 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
151 %33 = load i32* %i, align 4 ; <i32> [#uses=1]
152 store i32 %33, i32* %iftmp.5, align 4
155 bb10: ; preds = %bb9, %bb8
156 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
157 %34 = load i32* %iftmp.5, align 4 ; <i32> [#uses=1]
158 %35 = icmp ne i32 %23, %34 ; <i1> [#uses=1]
159 br i1 %35, label %bb11, label %bb12
161 call void @llvm.dbg.stoppoint(i32 24, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
164 bb11: ; preds = %36, %bb10, %bb5, %bb2, %bb1
165 call void @llvm.dbg.stoppoint(i32 26, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
166 call void @exit(i32 2) noreturn nounwind
169 call void @llvm.dbg.stoppoint(i32 26, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
172 bb12: ; preds = %37, %bb10
173 call void @llvm.dbg.stoppoint(i32 23, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
174 %38 = load i32* %i, align 4 ; <i32> [#uses=1]
175 %39 = add i32 %38, 1 ; <i32> [#uses=1]
176 store i32 %39, i32* %i, align 4
179 bb13: ; preds = %bb12, %entry
180 call void @llvm.dbg.stoppoint(i32 23, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
181 %40 = load i32* %i, align 4 ; <i32> [#uses=1]
182 %41 = icmp sle i32 %40, 255 ; <i1> [#uses=1]
183 br i1 %41, label %bb, label %bb14
185 call void @llvm.dbg.stoppoint(i32 23, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
188 bb14: ; preds = %42, %bb13
189 call void @llvm.dbg.stoppoint(i32 27, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
190 call void @exit(i32 0) noreturn nounwind
193 return: ; No predecessors!
194 %retval15 = load i32* %retval ; <i32> [#uses=1]
195 call void @llvm.dbg.stoppoint(i32 27, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
196 call void @llvm.dbg.region.end({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram to { }*))
200 declare void @llvm.dbg.func.start({ }*) nounwind
202 declare void @llvm.dbg.declare({ }*, { }*) nounwind
204 declare void @llvm.dbg.stoppoint(i32, i32, { }*) nounwind
206 define internal i32 @islower(i32 %_c) nounwind {
208 %_c_addr = alloca i32 ; <i32*> [#uses=3]
209 %retval = alloca i32 ; <i32*> [#uses=2]
210 %0 = alloca i32 ; <i32*> [#uses=2]
211 %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
212 call void @llvm.dbg.func.start({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram9 to { }*))
213 %1 = bitcast i32* %_c_addr to { }* ; <{ }*> [#uses=1]
214 call void @llvm.dbg.declare({ }* %1, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable11 to { }*))
215 store i32 %_c, i32* %_c_addr
216 call void @llvm.dbg.stoppoint(i32 268, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
217 %2 = load i32* %_c_addr, align 4 ; <i32> [#uses=1]
218 %3 = call i32 @__istype(i32 %2, i32 4096) nounwind ; <i32> [#uses=1]
219 store i32 %3, i32* %0, align 4
220 %4 = load i32* %0, align 4 ; <i32> [#uses=1]
221 store i32 %4, i32* %retval, align 4
224 return: ; preds = %entry
225 %retval1 = load i32* %retval ; <i32> [#uses=1]
226 call void @llvm.dbg.stoppoint(i32 268, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
227 call void @llvm.dbg.region.end({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram9 to { }*))
231 define internal i32 @toupper(i32 %_c) nounwind {
233 %_c_addr = alloca i32 ; <i32*> [#uses=3]
234 %retval = alloca i32 ; <i32*> [#uses=2]
235 %0 = alloca i32 ; <i32*> [#uses=2]
236 %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
237 call void @llvm.dbg.func.start({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram26 to { }*))
238 %1 = bitcast i32* %_c_addr to { }* ; <{ }*> [#uses=1]
239 call void @llvm.dbg.declare({ }* %1, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable27 to { }*))
240 store i32 %_c, i32* %_c_addr
241 call void @llvm.dbg.stoppoint(i32 317, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
242 %2 = load i32* %_c_addr, align 4 ; <i32> [#uses=1]
243 %3 = call i32 @__toupper(i32 %2) nounwind ; <i32> [#uses=1]
244 store i32 %3, i32* %0, align 4
245 %4 = load i32* %0, align 4 ; <i32> [#uses=1]
246 store i32 %4, i32* %retval, align 4
249 return: ; preds = %entry
250 %retval1 = load i32* %retval ; <i32> [#uses=1]
251 call void @llvm.dbg.stoppoint(i32 317, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
252 call void @llvm.dbg.region.end({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram26 to { }*))
256 declare void @exit(i32) noreturn nounwind
258 declare void @llvm.dbg.region.end({ }*) nounwind
260 define internal i32 @__istype(i32 %_c, i32 %_f) nounwind {
262 %_c_addr = alloca i32 ; <i32*> [#uses=5]
263 %_f_addr = alloca i32 ; <i32*> [#uses=4]
264 %retval = alloca i32 ; <i32*> [#uses=2]
265 %iftmp.0 = alloca i32 ; <i32*> [#uses=3]
266 %0 = alloca i32 ; <i32*> [#uses=2]
267 %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
268 call void @llvm.dbg.func.start({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram13 to { }*))
269 %1 = bitcast i32* %_c_addr to { }* ; <{ }*> [#uses=1]
270 call void @llvm.dbg.declare({ }* %1, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable17 to { }*))
271 store i32 %_c, i32* %_c_addr
272 %2 = bitcast i32* %_f_addr to { }* ; <{ }*> [#uses=1]
273 call void @llvm.dbg.declare({ }* %2, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable21 to { }*))
274 store i32 %_f, i32* %_f_addr
275 call void @llvm.dbg.stoppoint(i32 175, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
276 %3 = load i32* %_c_addr, align 4 ; <i32> [#uses=1]
277 %4 = call i32 @isascii(i32 %3) nounwind ; <i32> [#uses=1]
278 %5 = icmp ne i32 %4, 0 ; <i1> [#uses=1]
279 br i1 %5, label %bb, label %bb1
281 call void @llvm.dbg.stoppoint(i32 175, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
284 bb: ; preds = %6, %entry
285 call void @llvm.dbg.stoppoint(i32 175, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
286 %7 = load i32* %_c_addr, align 4 ; <i32> [#uses=1]
287 %8 = getelementptr [256 x i32]* getelementptr (%struct._RuneLocale* @_DefaultRuneLocale, i32 0, i32 5), i32 0, i32 %7 ; <i32*> [#uses=1]
288 %9 = load i32* %8, align 4 ; <i32> [#uses=1]
289 %10 = load i32* %_f_addr, align 4 ; <i32> [#uses=1]
290 %11 = and i32 %9, %10 ; <i32> [#uses=1]
291 %12 = icmp ne i32 %11, 0 ; <i1> [#uses=1]
292 %13 = zext i1 %12 to i32 ; <i32> [#uses=1]
293 store i32 %13, i32* %iftmp.0, align 4
296 call void @llvm.dbg.stoppoint(i32 175, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
299 bb1: ; preds = %14, %entry
300 call void @llvm.dbg.stoppoint(i32 175, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
301 %15 = load i32* %_c_addr, align 4 ; <i32> [#uses=1]
302 %16 = load i32* %_f_addr, align 4 ; <i32> [#uses=1]
303 %17 = call i32 @__maskrune(i32 %15, i32 %16) nounwind ; <i32> [#uses=1]
304 %18 = icmp ne i32 %17, 0 ; <i1> [#uses=1]
305 %19 = zext i1 %18 to i32 ; <i32> [#uses=1]
306 store i32 %19, i32* %iftmp.0, align 4
309 bb2: ; preds = %bb1, %bb
310 call void @llvm.dbg.stoppoint(i32 175, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
311 %20 = load i32* %iftmp.0, align 4 ; <i32> [#uses=1]
312 store i32 %20, i32* %0, align 4
313 %21 = load i32* %0, align 4 ; <i32> [#uses=1]
314 store i32 %21, i32* %retval, align 4
317 return: ; preds = %bb2
318 %retval3 = load i32* %retval ; <i32> [#uses=1]
319 call void @llvm.dbg.stoppoint(i32 175, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
320 call void @llvm.dbg.region.end({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram13 to { }*))
324 define internal i32 @isascii(i32 %_c) nounwind {
326 %_c_addr = alloca i32 ; <i32*> [#uses=3]
327 %retval = alloca i32 ; <i32*> [#uses=2]
328 %0 = alloca i32 ; <i32*> [#uses=2]
329 %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0]
330 call void @llvm.dbg.func.start({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram23 to { }*))
331 %1 = bitcast i32* %_c_addr to { }* ; <{ }*> [#uses=1]
332 call void @llvm.dbg.declare({ }* %1, { }* bitcast (%llvm.dbg.variable.type* @llvm.dbg.variable24 to { }*))
333 store i32 %_c, i32* %_c_addr
334 call void @llvm.dbg.stoppoint(i32 154, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
335 %2 = load i32* %_c_addr, align 4 ; <i32> [#uses=1]
336 %3 = and i32 %2, -128 ; <i32> [#uses=1]
337 %4 = icmp eq i32 %3, 0 ; <i1> [#uses=1]
338 %5 = zext i1 %4 to i32 ; <i32> [#uses=1]
339 store i32 %5, i32* %0, align 4
340 %6 = load i32* %0, align 4 ; <i32> [#uses=1]
341 store i32 %6, i32* %retval, align 4
344 return: ; preds = %entry
345 %retval1 = load i32* %retval ; <i32> [#uses=1]
346 call void @llvm.dbg.stoppoint(i32 154, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
347 call void @llvm.dbg.region.end({ }* bitcast (%llvm.dbg.subprogram.type* @llvm.dbg.subprogram23 to { }*))
351 declare i32 @__maskrune(i32, i32)
353 declare i32 @__toupper(i32)