brintos

brintos / llvm-project-archived public Read only

0
0
Text · 11.2 KiB · 373b431 Raw
316 lines · plain
1; RUN: opt < %s -passes=simplifycfg,instcombine -simplifycfg-require-and-preserve-domtree=1 -S | grep 0x7FF8000000000000 | count 122; RUN: opt < %s -passes=simplifycfg,instcombine -simplifycfg-require-and-preserve-domtree=1 -S | grep "0\.0" | count 33; RUN: opt < %s -passes=simplifycfg,instcombine -simplifycfg-require-and-preserve-domtree=1 -S | grep "3\.5" | count 14;5 6; ModuleID = 'apf.c'7target 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"8target triple = "i386-apple-darwin9.6"9@"\01LC" = internal constant [4 x i8] c"%f\0A\00"		; <ptr> [#uses=1]10 11define void @foo1() nounwind {12entry:13	%y = alloca float		; <ptr> [#uses=2]14	%x = alloca float		; <ptr> [#uses=2]15	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]16	store float 0x7FF0000000000000, ptr %x, align 417	store float 0x7FF8000000000000, ptr %y, align 418	%0 = load float, ptr %y, align 4		; <float> [#uses=1]19	%1 = fpext float %0 to double		; <double> [#uses=1]20	%2 = load float, ptr %x, align 4		; <float> [#uses=1]21	%3 = fpext float %2 to double		; <double> [#uses=1]22	%4 = frem double %3, %1		; <double> [#uses=1]23	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]24	br label %return25 26return:		; preds = %entry27	ret void28}29 30declare i32 @printf(ptr, ...) nounwind31 32define void @foo2() nounwind {33entry:34	%y = alloca float		; <ptr> [#uses=2]35	%x = alloca float		; <ptr> [#uses=2]36	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]37	store float 0x7FF0000000000000, ptr %x, align 438	store float 0.000000e+00, ptr %y, align 439	%0 = load float, ptr %y, align 4		; <float> [#uses=1]40	%1 = fpext float %0 to double		; <double> [#uses=1]41	%2 = load float, ptr %x, align 4		; <float> [#uses=1]42	%3 = fpext float %2 to double		; <double> [#uses=1]43	%4 = frem double %3, %1		; <double> [#uses=1]44	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]45	br label %return46 47return:		; preds = %entry48	ret void49}50 51define void @foo3() nounwind {52entry:53	%y = alloca float		; <ptr> [#uses=2]54	%x = alloca float		; <ptr> [#uses=2]55	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]56	store float 0x7FF0000000000000, ptr %x, align 457	store float 3.500000e+00, ptr %y, align 458	%0 = load float, ptr %y, align 4		; <float> [#uses=1]59	%1 = fpext float %0 to double		; <double> [#uses=1]60	%2 = load float, ptr %x, align 4		; <float> [#uses=1]61	%3 = fpext float %2 to double		; <double> [#uses=1]62	%4 = frem double %3, %1		; <double> [#uses=1]63	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]64	br label %return65 66return:		; preds = %entry67	ret void68}69 70define void @foo4() nounwind {71entry:72	%y = alloca float		; <ptr> [#uses=2]73	%x = alloca float		; <ptr> [#uses=2]74	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]75	store float 0x7FF0000000000000, ptr %x, align 476	store float 0x7FF0000000000000, ptr %y, align 477	%0 = load float, ptr %y, align 4		; <float> [#uses=1]78	%1 = fpext float %0 to double		; <double> [#uses=1]79	%2 = load float, ptr %x, align 4		; <float> [#uses=1]80	%3 = fpext float %2 to double		; <double> [#uses=1]81	%4 = frem double %3, %1		; <double> [#uses=1]82	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]83	br label %return84 85return:		; preds = %entry86	ret void87}88 89define void @foo5() nounwind {90entry:91	%y = alloca float		; <ptr> [#uses=2]92	%x = alloca float		; <ptr> [#uses=2]93	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]94	store float 0x7FF8000000000000, ptr %x, align 495	store float 0x7FF0000000000000, ptr %y, align 496	%0 = load float, ptr %y, align 4		; <float> [#uses=1]97	%1 = fpext float %0 to double		; <double> [#uses=1]98	%2 = load float, ptr %x, align 4		; <float> [#uses=1]99	%3 = fpext float %2 to double		; <double> [#uses=1]100	%4 = frem double %3, %1		; <double> [#uses=1]101	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]102	br label %return103 104return:		; preds = %entry105	ret void106}107 108define void @foo6() nounwind {109entry:110	%y = alloca float		; <ptr> [#uses=2]111	%x = alloca float		; <ptr> [#uses=2]112	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]113	store float 0x7FF8000000000000, ptr %x, align 4114	store float 0.000000e+00, ptr %y, align 4115	%0 = load float, ptr %y, align 4		; <float> [#uses=1]116	%1 = fpext float %0 to double		; <double> [#uses=1]117	%2 = load float, ptr %x, align 4		; <float> [#uses=1]118	%3 = fpext float %2 to double		; <double> [#uses=1]119	%4 = frem double %3, %1		; <double> [#uses=1]120	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]121	br label %return122 123return:		; preds = %entry124	ret void125}126 127define void @foo7() nounwind {128entry:129	%y = alloca float		; <ptr> [#uses=2]130	%x = alloca float		; <ptr> [#uses=2]131	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]132	store float 0x7FF8000000000000, ptr %x, align 4133	store float 3.500000e+00, ptr %y, align 4134	%0 = load float, ptr %y, align 4		; <float> [#uses=1]135	%1 = fpext float %0 to double		; <double> [#uses=1]136	%2 = load float, ptr %x, align 4		; <float> [#uses=1]137	%3 = fpext float %2 to double		; <double> [#uses=1]138	%4 = frem double %3, %1		; <double> [#uses=1]139	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]140	br label %return141 142return:		; preds = %entry143	ret void144}145 146define void @foo8() nounwind {147entry:148	%y = alloca float		; <ptr> [#uses=2]149	%x = alloca float		; <ptr> [#uses=2]150	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]151	store float 0x7FF8000000000000, ptr %x, align 4152	store float 0x7FF8000000000000, ptr %y, align 4153	%0 = load float, ptr %y, align 4		; <float> [#uses=1]154	%1 = fpext float %0 to double		; <double> [#uses=1]155	%2 = load float, ptr %x, align 4		; <float> [#uses=1]156	%3 = fpext float %2 to double		; <double> [#uses=1]157	%4 = frem double %3, %1		; <double> [#uses=1]158	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]159	br label %return160 161return:		; preds = %entry162	ret void163}164 165define void @foo9() nounwind {166entry:167	%y = alloca float		; <ptr> [#uses=2]168	%x = alloca float		; <ptr> [#uses=2]169	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]170	store float 0.000000e+00, ptr %x, align 4171	store float 0x7FF8000000000000, ptr %y, align 4172	%0 = load float, ptr %y, align 4		; <float> [#uses=1]173	%1 = fpext float %0 to double		; <double> [#uses=1]174	%2 = load float, ptr %x, align 4		; <float> [#uses=1]175	%3 = fpext float %2 to double		; <double> [#uses=1]176	%4 = frem double %3, %1		; <double> [#uses=1]177	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]178	br label %return179 180return:		; preds = %entry181	ret void182}183 184define void @foo10() nounwind {185entry:186	%y = alloca float		; <ptr> [#uses=2]187	%x = alloca float		; <ptr> [#uses=2]188	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]189	store float 0.000000e+00, ptr %x, align 4190	store float 0x7FF0000000000000, ptr %y, align 4191	%0 = load float, ptr %y, align 4		; <float> [#uses=1]192	%1 = fpext float %0 to double		; <double> [#uses=1]193	%2 = load float, ptr %x, align 4		; <float> [#uses=1]194	%3 = fpext float %2 to double		; <double> [#uses=1]195	%4 = frem double %3, %1		; <double> [#uses=1]196	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]197	br label %return198 199return:		; preds = %entry200	ret void201}202 203define void @foo11() nounwind {204entry:205	%y = alloca float		; <ptr> [#uses=2]206	%x = alloca float		; <ptr> [#uses=2]207	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]208	store float 0.000000e+00, ptr %x, align 4209	store float 0.000000e+00, ptr %y, align 4210	%0 = load float, ptr %y, align 4		; <float> [#uses=1]211	%1 = fpext float %0 to double		; <double> [#uses=1]212	%2 = load float, ptr %x, align 4		; <float> [#uses=1]213	%3 = fpext float %2 to double		; <double> [#uses=1]214	%4 = frem double %3, %1		; <double> [#uses=1]215	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]216	br label %return217 218return:		; preds = %entry219	ret void220}221 222define void @foo12() nounwind {223entry:224	%y = alloca float		; <ptr> [#uses=2]225	%x = alloca float		; <ptr> [#uses=2]226	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]227	store float 0.000000e+00, ptr %x, align 4228	store float 3.500000e+00, ptr %y, align 4229	%0 = load float, ptr %y, align 4		; <float> [#uses=1]230	%1 = fpext float %0 to double		; <double> [#uses=1]231	%2 = load float, ptr %x, align 4		; <float> [#uses=1]232	%3 = fpext float %2 to double		; <double> [#uses=1]233	%4 = frem double %3, %1		; <double> [#uses=1]234	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]235	br label %return236 237return:		; preds = %entry238	ret void239}240 241define void @foo13() nounwind {242entry:243	%y = alloca float		; <ptr> [#uses=2]244	%x = alloca float		; <ptr> [#uses=2]245	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]246	store float 3.500000e+00, ptr %x, align 4247	store float 0x7FF8000000000000, ptr %y, align 4248	%0 = load float, ptr %y, align 4		; <float> [#uses=1]249	%1 = fpext float %0 to double		; <double> [#uses=1]250	%2 = load float, ptr %x, align 4		; <float> [#uses=1]251	%3 = fpext float %2 to double		; <double> [#uses=1]252	%4 = frem double %3, %1		; <double> [#uses=1]253	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]254	br label %return255 256return:		; preds = %entry257	ret void258}259 260define void @foo14() nounwind {261entry:262	%y = alloca float		; <ptr> [#uses=2]263	%x = alloca float		; <ptr> [#uses=2]264	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]265	store float 3.500000e+00, ptr %x, align 4266	store float 0x7FF0000000000000, ptr %y, align 4267	%0 = load float, ptr %y, align 4		; <float> [#uses=1]268	%1 = fpext float %0 to double		; <double> [#uses=1]269	%2 = load float, ptr %x, align 4		; <float> [#uses=1]270	%3 = fpext float %2 to double		; <double> [#uses=1]271	%4 = frem double %3, %1		; <double> [#uses=1]272	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]273	br label %return274 275return:		; preds = %entry276	ret void277}278 279define void @foo15() nounwind {280entry:281	%y = alloca float		; <ptr> [#uses=2]282	%x = alloca float		; <ptr> [#uses=2]283	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]284	store float 3.500000e+00, ptr %x, align 4285	store float 0.000000e+00, ptr %y, align 4286	%0 = load float, ptr %y, align 4		; <float> [#uses=1]287	%1 = fpext float %0 to double		; <double> [#uses=1]288	%2 = load float, ptr %x, align 4		; <float> [#uses=1]289	%3 = fpext float %2 to double		; <double> [#uses=1]290	%4 = frem double %3, %1		; <double> [#uses=1]291	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]292	br label %return293 294return:		; preds = %entry295	ret void296}297 298define void @foo16() nounwind {299entry:300	%y = alloca float		; <ptr> [#uses=2]301	%x = alloca float		; <ptr> [#uses=2]302	%"alloca point" = bitcast i32 0 to i32		; <i32> [#uses=0]303	store float 3.500000e+00, ptr %x, align 4304	store float 3.500000e+00, ptr %y, align 4305	%0 = load float, ptr %y, align 4		; <float> [#uses=1]306	%1 = fpext float %0 to double		; <double> [#uses=1]307	%2 = load float, ptr %x, align 4		; <float> [#uses=1]308	%3 = fpext float %2 to double		; <double> [#uses=1]309	%4 = frem double %3, %1		; <double> [#uses=1]310	%5 = call i32 (ptr, ...) @printf(ptr @"\01LC", double %4) nounwind		; <i32> [#uses=0]311	br label %return312 313return:		; preds = %entry314	ret void315}316