llvm.org GIT mirror llvm / 80be2a2
Add a reduced test case for the buildbot failure (clang self-hosted build) caused by r133435. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133509 91177308-0d34-0410-b5e6-96231b3b80d8 Jay Foad 8 years ago
1 changed file(s) with 182 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 ; RUN: opt %s -loop-deletion -disable-output
1
2 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-n8:16:32:64"
3
4 %0 = type { %"class.llvm::SmallVectorImpl", [1 x %"union.llvm::SmallVectorBase::U"] }
5 %"class.clang::SourceLocation" = type { i32 }
6 %"class.clang::driver::Arg" = type { %"class.clang::driver::Option"*, %"class.clang::driver::Arg"*, i32, i8, %0 }
7 %"class.clang::driver::Option" = type { i32 (...)**, i32, %"class.clang::SourceLocation", i8*, %"class.clang::driver::OptionGroup"*, %"class.clang::driver::Option"*, i8 }
8 %"class.clang::driver::OptionGroup" = type { %"class.clang::driver::Option" }
9 %"class.llvm::SmallVectorBase" = type { i8*, i8*, i8*, %"union.llvm::SmallVectorBase::U" }
10 %"class.llvm::SmallVectorImpl" = type { %"class.llvm::SmallVectorTemplateBase" }
11 %"class.llvm::SmallVectorTemplateBase" = type { %"class.llvm::SmallVectorTemplateCommon" }
12 %"class.llvm::SmallVectorTemplateCommon" = type { %"class.llvm::SmallVectorBase" }
13 %"union.llvm::SmallVectorBase::U" = type { x86_fp80 }
14
15 define void @_ZNK5clang6driver7ArgList20AddAllArgsTranslatedERN4llvm11SmallVectorIPKcLj16EEENS0_12OptSpecifierES5_b(i1 zeroext %Joined) nounwind align 2 {
16 entry:
17 br i1 undef, label %entry.split.us, label %entry.entry.split_crit_edge
18
19 entry.entry.split_crit_edge: ; preds = %entry
20 br label %entry.split
21
22 entry.split.us: ; preds = %entry
23 br label %for.cond.i14.us
24
25 for.cond.i14.us: ; preds = %for.inc.i38.us, %entry.split.us
26 br i1 true, label %for.cond.i50.us-lcssa.us, label %if.end.i23.us
27
28 for.inc.i38.us: ; preds = %if.end.i23.us
29 br label %for.cond.i14.us
30
31 if.end.i23.us: ; preds = %for.cond.i14.us
32 br i1 true, label %for.cond.i50.us-lcssa.us, label %for.inc.i38.us
33
34 for.cond.i50.us-lcssa.us: ; preds = %if.end.i23.us, %for.cond.i14.us
35 br label %for.cond.i50
36
37 entry.split: ; preds = %entry.entry.split_crit_edge
38 br label %for.cond.i14
39
40 for.cond.i14: ; preds = %for.inc.i38, %entry.split
41 br i1 undef, label %for.cond.i50.us-lcssa, label %if.end.i23
42
43 if.end.i23: ; preds = %for.cond.i14
44 br i1 undef, label %for.cond.i50.us-lcssa, label %for.inc.i38
45
46 for.inc.i38: ; preds = %if.end.i23
47 br label %for.cond.i14
48
49 for.cond.i50.us-lcssa: ; preds = %if.end.i23, %for.cond.i14
50 br label %for.cond.i50
51
52 for.cond.i50: ; preds = %for.cond.i50.us-lcssa, %for.cond.i50.us-lcssa.us
53 br label %for.cond
54
55 for.cond.loopexit.us-lcssa: ; preds = %if.end.i, %for.cond.i
56 br label %for.cond.loopexit
57
58 for.cond.loopexit: ; preds = %for.cond.loopexit.us-lcssa.us, %for.cond.loopexit.us-lcssa
59 br label %for.cond
60
61 for.cond: ; preds = %for.cond.loopexit, %for.cond.i50
62 br i1 undef, label %for.end, label %for.body
63
64 for.body: ; preds = %for.cond
65 br i1 %Joined, label %if.then, label %if.else
66
67 if.then: ; preds = %for.body
68 br i1 undef, label %cond.false.i.i, label %_ZN4llvm9StringRefC1EPKc.exit
69
70 cond.false.i.i: ; preds = %if.then
71 unreachable
72
73 _ZN4llvm9StringRefC1EPKc.exit: ; preds = %if.then
74 br i1 undef, label %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit, label %cond.false.i.i91
75
76 cond.false.i.i91: ; preds = %_ZN4llvm9StringRefC1EPKc.exit
77 unreachable
78
79 _ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit: ; preds = %_ZN4llvm9StringRefC1EPKc.exit
80 br i1 undef, label %cond.false.i.i.i, label %if.end13.i.i.i.i
81
82 if.end13.i.i.i.i: ; preds = %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit
83 br i1 undef, label %land.lhs.true16.i.i.i.i, label %if.end19.i.i.i.i
84
85 land.lhs.true16.i.i.i.i: ; preds = %if.end13.i.i.i.i
86 br i1 undef, label %cond.false.i.i.i, label %_ZNK4llvm5Twine8isBinaryEv.exit8.i.i.i.i
87
88 _ZNK4llvm5Twine8isBinaryEv.exit8.i.i.i.i: ; preds = %land.lhs.true16.i.i.i.i
89 br i1 undef, label %cond.false.i.i.i, label %if.end19.i.i.i.i
90
91 if.end19.i.i.i.i: ; preds = %_ZNK4llvm5Twine8isBinaryEv.exit8.i.i.i.i, %if.end13.i.i.i.i
92 br i1 undef, label %land.lhs.true22.i.i.i.i, label %_ZN4llvmplERKNS_9StringRefEPKc.exit
93
94 land.lhs.true22.i.i.i.i: ; preds = %if.end19.i.i.i.i
95 br i1 undef, label %cond.false.i.i.i, label %_ZNK4llvm5Twine8isBinaryEv.exit.i.i.i.i
96
97 _ZNK4llvm5Twine8isBinaryEv.exit.i.i.i.i: ; preds = %land.lhs.true22.i.i.i.i
98 br i1 undef, label %cond.false.i.i.i, label %_ZN4llvmplERKNS_9StringRefEPKc.exit
99
100 cond.false.i.i.i: ; preds = %_ZNK4llvm5Twine8isBinaryEv.exit.i.i.i.i, %land.lhs.true22.i.i.i.i, %_ZNK4llvm5Twine8isBinaryEv.exit8.i.i.i.i, %land.lhs.true16.i.i.i.i, %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit
101 unreachable
102
103 _ZN4llvmplERKNS_9StringRefEPKc.exit: ; preds = %_ZNK4llvm5Twine8isBinaryEv.exit.i.i.i.i, %if.end19.i.i.i.i
104 br i1 undef, label %Retry.i, label %if.end.i99
105
106 Retry.i: ; preds = %if.end.i99, %_ZN4llvmplERKNS_9StringRefEPKc.exit
107 br i1 undef, label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit, label %new.notnull.i
108
109 new.notnull.i: ; preds = %Retry.i
110 br label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit
111
112 if.end.i99: ; preds = %_ZN4llvmplERKNS_9StringRefEPKc.exit
113 br label %Retry.i
114
115 _ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit: ; preds = %new.notnull.i, %Retry.i
116 br label %for.cond.i.preheader
117
118 if.else: ; preds = %for.body
119 br i1 undef, label %Retry.i108, label %if.end.i113
120
121 Retry.i108: ; preds = %if.end.i113, %if.else
122 br i1 undef, label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114, label %new.notnull.i110
123
124 new.notnull.i110: ; preds = %Retry.i108
125 br label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114
126
127 if.end.i113: ; preds = %if.else
128 br label %Retry.i108
129
130 _ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114: ; preds = %new.notnull.i110, %Retry.i108
131 br i1 undef, label %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit125, label %cond.false.i.i123
132
133 cond.false.i.i123: ; preds = %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114
134 unreachable
135
136 _ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit125: ; preds = %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit114
137 br i1 undef, label %Retry.i134, label %if.end.i139
138
139 Retry.i134: ; preds = %if.end.i139, %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit125
140 br i1 undef, label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit140, label %new.notnull.i136
141
142 new.notnull.i136: ; preds = %Retry.i134
143 br label %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit140
144
145 if.end.i139: ; preds = %_ZNK5clang6driver3Arg8getValueERKNS0_7ArgListEj.exit125
146 br label %Retry.i134
147
148 _ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit140: ; preds = %new.notnull.i136, %Retry.i134
149 br label %for.cond.i.preheader
150
151 for.cond.i.preheader: ; preds = %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit140, %_ZN4llvm15SmallVectorImplIPKcE9push_backERKS2_.exit
152 br i1 undef, label %for.cond.i.preheader.split.us, label %for.cond.i.preheader.for.cond.i.preheader.split_crit_edge
153
154 for.cond.i.preheader.for.cond.i.preheader.split_crit_edge: ; preds = %for.cond.i.preheader
155 br label %for.cond.i.preheader.split
156
157 for.cond.i.preheader.split.us: ; preds = %for.cond.i.preheader
158 br label %for.cond.i.us
159
160 for.cond.i.us: ; preds = %if.end.i.us, %for.cond.i.preheader.split.us
161 br i1 true, label %for.cond.loopexit.us-lcssa.us, label %if.end.i.us
162
163 if.end.i.us: ; preds = %for.cond.i.us
164 br i1 true, label %for.cond.loopexit.us-lcssa.us, label %for.cond.i.us
165
166 for.cond.loopexit.us-lcssa.us: ; preds = %if.end.i.us, %for.cond.i.us
167 %tmp178218.us.lcssa = phi %"class.clang::driver::Arg"** [ undef, %if.end.i.us ], [ undef, %for.cond.i.us ]
168 br label %for.cond.loopexit
169
170 for.cond.i.preheader.split: ; preds = %for.cond.i.preheader.for.cond.i.preheader.split_crit_edge
171 br label %for.cond.i
172
173 for.cond.i: ; preds = %if.end.i, %for.cond.i.preheader.split
174 br i1 undef, label %for.cond.loopexit.us-lcssa, label %if.end.i
175
176 if.end.i: ; preds = %for.cond.i
177 br i1 undef, label %for.cond.loopexit.us-lcssa, label %for.cond.i
178
179 for.end: ; preds = %for.cond
180 ret void
181 }