brintos

brintos / llvm-project-archived public Read only

0
0
Text · 12.7 KiB · 3913e93 Raw
335 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 32; RUN: llc < %s -mtriple=i386-apple-darwin | FileCheck %s3; Make sure xorl operands are 32-bit registers.4 5	%struct.tm = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, ptr }6	%struct.wxDateTime = type { %struct.wxLongLong }7	%"struct.wxDateTime::TimeZone" = type { i32 }8	%struct.wxLongLong = type { i64 }9	%struct.wxString = type { %struct.wxStringBase }10	%struct.wxStringBase = type { ptr }11@.str = external constant [27 x i32]		; <ptr> [#uses=1]12@.str4 = external constant [14 x i32]		; <ptr> [#uses=1]13@_ZZNK10wxDateTime5GetTmERKNS_8TimeZoneEE12__FUNCTION__ = external constant [6 x i8]		; <ptr> [#uses=1]14@.str33 = external constant [29 x i32]		; <ptr> [#uses=1]15@.str89 = external constant [5 x i32]		; <ptr> [#uses=1]16 17define void @_ZNK10wxDateTime6FormatEPKwRKNS_8TimeZoneE(ptr noalias sret(%struct.wxString)  %agg.result, ptr %this, ptr %format, ptr %tz, i1 %foo) personality ptr @__gxx_personality_v0 {18; CHECK-LABEL: _ZNK10wxDateTime6FormatEPKwRKNS_8TimeZoneE:19; CHECK:       ## %bb.0: ## %entry20; CHECK-NEXT:    pushl %ebp21; CHECK-NEXT:    .cfi_def_cfa_offset 822; CHECK-NEXT:    pushl %ebx23; CHECK-NEXT:    .cfi_def_cfa_offset 1224; CHECK-NEXT:    pushl %edi25; CHECK-NEXT:    .cfi_def_cfa_offset 1626; CHECK-NEXT:    pushl %esi27; CHECK-NEXT:    .cfi_def_cfa_offset 2028; CHECK-NEXT:    subl $28, %esp29; CHECK-NEXT:    .cfi_def_cfa_offset 4830; CHECK-NEXT:    .cfi_offset %esi, -2031; CHECK-NEXT:    .cfi_offset %edi, -1632; CHECK-NEXT:    .cfi_offset %ebx, -1233; CHECK-NEXT:    .cfi_offset %ebp, -834; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %esi35; CHECK-NEXT:    movzbl {{[0-9]+}}(%esp), %ebx36; CHECK-NEXT:    testb $1, %bl37; CHECK-NEXT:    je LBB0_2538; CHECK-NEXT:  ## %bb.1: ## %bb116.i39; CHECK-NEXT:    je LBB0_2540; CHECK-NEXT:  ## %bb.2: ## %bb52.i.i41; CHECK-NEXT:    je LBB0_2542; CHECK-NEXT:  ## %bb.3: ## %bb142.i43; CHECK-NEXT:    je LBB0_2544; CHECK-NEXT:  ## %bb.4:45; CHECK-NEXT:    movl L_.str89$non_lazy_ptr, %edi46; CHECK-NEXT:    movb $1, %bh47; CHECK-NEXT:    movl L_.str$non_lazy_ptr, %ebp48; CHECK-NEXT:    jmp LBB0_549; CHECK-NEXT:  LBB0_21: ## %bb780650; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=151; CHECK-NEXT:  Ltmp16: ## EH_LABEL52; CHECK-NEXT:    movl $0, {{[0-9]+}}(%esp)53; CHECK-NEXT:    movl $1, {{[0-9]+}}(%esp)54; CHECK-NEXT:    movl $0, (%esp)55; CHECK-NEXT:    calll __ZN12wxStringBase6appendEmw56; CHECK-NEXT:  Ltmp17: ## EH_LABEL57; CHECK-NEXT:  LBB0_5: ## %bb326158; CHECK-NEXT:    ## =>This Inner Loop Header: Depth=159; CHECK-NEXT:    cmpl $37, 060; CHECK-NEXT:    jne LBB0_2561; CHECK-NEXT:  ## %bb.6: ## %bb330662; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=163; CHECK-NEXT:  Ltmp0: ## EH_LABEL64; CHECK-NEXT:    movl %edi, {{[0-9]+}}(%esp)65; CHECK-NEXT:    movl $0, (%esp)66; CHECK-NEXT:    calll __ZN12wxStringBaseaSEPKw67; CHECK-NEXT:  Ltmp1: ## EH_LABEL68; CHECK-NEXT:  ## %bb.7: ## %bb331469; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=170; CHECK-NEXT:    movl 0, %eax71; CHECK-NEXT:    cmpl $121, %eax72; CHECK-NEXT:    ja LBB0_2573; CHECK-NEXT:  ## %bb.8: ## %bb331474; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=175; CHECK-NEXT:    jmpl *LJTI0_0(,%eax,4)76; CHECK-NEXT:  LBB0_10: ## %bb580977; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=178; CHECK-NEXT:    xorl %eax, %eax79; CHECK-NEXT:    testb %al, %al80; CHECK-NEXT:    jne LBB0_2581; CHECK-NEXT:  ## %bb.11: ## %bb580982; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=183; CHECK-NEXT:    testb %bh, %bh84; CHECK-NEXT:    je LBB0_2585; CHECK-NEXT:  ## %bb.12: ## %bb91.i850486; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=187; CHECK-NEXT:    testb $1, %bl88; CHECK-NEXT:    je LBB0_1489; CHECK-NEXT:  ## %bb.13: ## %bb155.i854190; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=191; CHECK-NEXT:  Ltmp4: ## EH_LABEL92; CHECK-NEXT:    movl $0, {{[0-9]+}}(%esp)93; CHECK-NEXT:    movl $0, (%esp)94; CHECK-NEXT:    calll _gmtime_r95; CHECK-NEXT:  Ltmp5: ## EH_LABEL96; CHECK-NEXT:  LBB0_14: ## %bb182.i856097; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=198; CHECK-NEXT:    testb $1, %bl99; CHECK-NEXT:    je LBB0_15100; CHECK-NEXT:  ## %bb.16: ## %bb278.i8617101; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=1102; CHECK-NEXT:    je LBB0_18103; CHECK-NEXT:  ## %bb.17: ## %bb440.i8663104; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=1105; CHECK-NEXT:  Ltmp6: ## EH_LABEL106; CHECK-NEXT:    movl L_.str4$non_lazy_ptr, %eax107; CHECK-NEXT:    movl %eax, {{[0-9]+}}(%esp)108; CHECK-NEXT:    movl L_.str33$non_lazy_ptr, %eax109; CHECK-NEXT:    movl %eax, {{[0-9]+}}(%esp)110; CHECK-NEXT:    movl L__ZZNK10wxDateTime5GetTmERKNS_8TimeZoneEE12__FUNCTION__$non_lazy_ptr, %eax111; CHECK-NEXT:    movl %eax, {{[0-9]+}}(%esp)112; CHECK-NEXT:    movl %ebp, (%esp)113; CHECK-NEXT:    movl $1717, {{[0-9]+}}(%esp) ## imm = 0x6B5114; CHECK-NEXT:    calll __Z10wxOnAssertPKwiPKcS0_S0_115; CHECK-NEXT:  Ltmp7: ## EH_LABEL116; CHECK-NEXT:    jmp LBB0_18117; CHECK-NEXT:  LBB0_15: ## %bb187.i8591118; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=1119; CHECK-NEXT:    jne LBB0_25120; CHECK-NEXT:  LBB0_18: ## %invcont5814121; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=1122; CHECK-NEXT:  Ltmp8: ## EH_LABEL123; CHECK-NEXT:    movl $0, {{[0-9]+}}(%esp)124; CHECK-NEXT:    movl $0, {{[0-9]+}}(%esp)125; CHECK-NEXT:    movl $0, (%esp)126; CHECK-NEXT:    calll __ZN8wxString6FormatEPKwz127; CHECK-NEXT:    subl $4, %esp128; CHECK-NEXT:  Ltmp9: ## EH_LABEL129; CHECK-NEXT:  ## %bb.19: ## %invcont5831130; CHECK-NEXT:    ## in Loop: Header=BB0_5 Depth=1131; CHECK-NEXT:  Ltmp10: ## EH_LABEL132; CHECK-NEXT:    movl $0, {{[0-9]+}}(%esp)133; CHECK-NEXT:    movl $0, {{[0-9]+}}(%esp)134; CHECK-NEXT:    movl $0, {{[0-9]+}}(%esp)135; CHECK-NEXT:    movl $0, (%esp)136; CHECK-NEXT:    calll __ZN12wxStringBase10ConcatSelfEmPKwm137; CHECK-NEXT:  Ltmp11: ## EH_LABEL138; CHECK-NEXT:    jmp LBB0_5139; CHECK-NEXT:  LBB0_9: ## %bb5657140; CHECK-NEXT:  Ltmp13: ## EH_LABEL141; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax142; CHECK-NEXT:    movl %eax, {{[0-9]+}}(%esp)143; CHECK-NEXT:    movl {{[0-9]+}}(%esp), %eax144; CHECK-NEXT:    movl %eax, (%esp)145; CHECK-NEXT:    calll __ZNK10wxDateTime12GetDayOfYearERKNS_8TimeZoneE146; CHECK-NEXT:  Ltmp14: ## EH_LABEL147; CHECK-NEXT:    jmp LBB0_25148; CHECK-NEXT:  LBB0_20: ## %bb5968149; CHECK-NEXT:  Ltmp2: ## EH_LABEL150; CHECK-NEXT:    movl $0, {{[0-9]+}}(%esp)151; CHECK-NEXT:    movl $0, {{[0-9]+}}(%esp)152; CHECK-NEXT:    movl $0, (%esp)153; CHECK-NEXT:    calll __ZN8wxString6FormatEPKwz154; CHECK-NEXT:    subl $4, %esp155; CHECK-NEXT:  Ltmp3: ## EH_LABEL156; CHECK-NEXT:  LBB0_25: ## %bb115.critedge.i157; CHECK-NEXT:    movl %esi, %eax158; CHECK-NEXT:    addl $28, %esp159; CHECK-NEXT:    popl %esi160; CHECK-NEXT:    popl %edi161; CHECK-NEXT:    popl %ebx162; CHECK-NEXT:    popl %ebp163; CHECK-NEXT:    retl $4164; CHECK-NEXT:  LBB0_23: ## %lpad.loopexit.split-lp165; CHECK-NEXT:  Ltmp15: ## EH_LABEL166; CHECK-NEXT:    jmp LBB0_25167; CHECK-NEXT:  LBB0_24: ## %lpad8185168; CHECK-NEXT:  Ltmp12: ## EH_LABEL169; CHECK-NEXT:    jmp LBB0_25170; CHECK-NEXT:  LBB0_22: ## %lpad.loopexit171; CHECK-NEXT:  Ltmp18: ## EH_LABEL172; CHECK-NEXT:    jmp LBB0_25173; CHECK-NEXT:  Lfunc_end0:174entry:175	br i1 %foo, label %bb116.i, label %bb115.critedge.i176bb115.critedge.i:		; preds = %entry177	ret void178bb116.i:		; preds = %entry179	br i1 %foo, label %bb52.i.i, label %bb3118180bb3118:		; preds = %bb116.i181	ret void182bb52.i.i:		; preds = %bb116.i183	br i1 %foo, label %bb142.i, label %bb115.critedge.i.i184bb115.critedge.i.i:		; preds = %bb52.i.i185	ret void186bb142.i:		; preds = %bb52.i.i187	br i1 %foo, label %bb161.i, label %bb182.i188bb161.i:		; preds = %bb142.i189	br label %bb3261190bb182.i:		; preds = %bb142.i191	ret void192bb3261:		; preds = %bb7834, %bb161.i193	%tmp3263 = load i32, ptr null, align 4		; <i32> [#uses=1]194	%tmp3264 = icmp eq i32 %tmp3263, 37		; <i1> [#uses=1]195	br i1 %tmp3264, label %bb3306, label %bb3267196bb3267:		; preds = %bb3261197	ret void198bb3306:		; preds = %bb3261199	%tmp3310 = invoke ptr @_ZN12wxStringBaseaSEPKw( ptr null, ptr @.str89 )200			to label %bb3314 unwind label %lpad		; <ptr> [#uses=0]201bb3314:		; preds = %bb3306202	%tmp3316 = load i32, ptr null, align 4		; <i32> [#uses=1]203	switch i32 %tmp3316, label %bb7595 [204		 i32 0, label %bb7819205		 i32 37, label %bb7806206		 i32 66, label %bb3477207		 i32 72, label %bb5334208		 i32 73, label %bb5484209		 i32 77, label %bb6118210		 i32 83, label %bb6406211		 i32 85, label %bb6556212		 i32 87, label %bb6708213		 i32 89, label %bb7308214		 i32 98, label %bb3477215		 i32 99, label %bb3626216		 i32 100, label %bb5184217		 i32 106, label %bb5657218		 i32 108, label %bb5809219		 i32 109, label %bb5968220		 i32 119, label %bb6860221		 i32 120, label %bb3626222		 i32 121, label %bb7158223	]224bb3477:		; preds = %bb3314, %bb3314225	ret void226bb3626:		; preds = %bb3314, %bb3314227	ret void228bb5184:		; preds = %bb3314229	ret void230bb5334:		; preds = %bb3314231	ret void232bb5484:		; preds = %bb3314233	ret void234bb5657:		; preds = %bb3314235	%tmp5661 = invoke zeroext i16 @_ZNK10wxDateTime12GetDayOfYearERKNS_8TimeZoneE( ptr %this, ptr %tz )236			to label %invcont5660 unwind label %lpad		; <i16> [#uses=0]237invcont5660:		; preds = %bb5657238	ret void239bb5809:		; preds = %bb3314240	%tmp61.i.i8486 = icmp sgt i64 0, -1		; <i1> [#uses=1]241	%tmp95.i.i8490 = icmp slt i64 0, 2147483647000		; <i1> [#uses=1]242	%bothcond9308 = and i1 %tmp61.i.i8486, %tmp95.i.i8490		; <i1> [#uses=1]243	br i1 %bothcond9308, label %bb91.i8504, label %bb115.critedge.i.i8492244bb115.critedge.i.i8492:		; preds = %bb5809245	ret void246bb91.i8504:		; preds = %bb5809247	br i1 %foo, label %bb155.i8541, label %bb182.i8560248bb155.i8541:		; preds = %bb91.i8504249	%tmp156.i85398700 = invoke ptr @gmtime_r( ptr null, ptr null )250			to label %bb182.i8560 unwind label %lpad		; <ptr> [#uses=1]251bb182.i8560:		; preds = %bb155.i8541, %bb91.i8504252	%tm48.0.i8558 = phi ptr [ null, %bb91.i8504 ], [ %tmp156.i85398700, %bb155.i8541 ]		; <ptr> [#uses=0]253	br i1 %foo, label %bb278.i8617, label %bb187.i8591254bb187.i8591:		; preds = %bb182.i8560255	%tmp245.i8588 = srem i64 0, 86400000		; <i64> [#uses=1]256	br i1 %foo, label %bb264.i8592, label %bb265.i8606257bb264.i8592:		; preds = %bb187.i8591258	ret void259bb265.i8606:		; preds = %bb187.i8591260	%tmp268269.i8593 = trunc i64 %tmp245.i8588 to i32		; <i32> [#uses=1]261	%tmp273.i8594 = srem i32 %tmp268269.i8593, 1000		; <i32> [#uses=1]262	%tmp273274.i8595 = trunc i32 %tmp273.i8594 to i16		; <i16> [#uses=1]263	br label %invcont5814264bb278.i8617:		; preds = %bb182.i8560265	%timeOnly50.0.i8622 = add i32 0, 0		; <i32> [#uses=1]266	br i1 %foo, label %bb440.i8663, label %bb448.i8694267bb440.i8663:		; preds = %bb278.i8617268	invoke void @_Z10wxOnAssertPKwiPKcS0_S0_( ptr @.str, i32 1717, ptr @_ZZNK10wxDateTime5GetTmERKNS_8TimeZoneEE12__FUNCTION__, ptr @.str33, ptr @.str4 )269			to label %bb448.i8694 unwind label %lpad270bb448.i8694:		; preds = %bb440.i8663, %bb278.i8617271	%tmp477.i8669 = srem i32 %timeOnly50.0.i8622, 1000		; <i32> [#uses=1]272	%tmp477478.i8670 = trunc i32 %tmp477.i8669 to i16		; <i16> [#uses=1]273	br label %invcont5814274invcont5814:		; preds = %bb448.i8694, %bb265.i8606275	%tmp812.0.0 = phi i16 [ %tmp477478.i8670, %bb448.i8694 ], [ %tmp273274.i8595, %bb265.i8606 ]		; <i16> [#uses=1]276	%tmp58165817 = zext i16 %tmp812.0.0 to i32		; <i32> [#uses=1]277	invoke void (ptr, ptr, ...) @_ZN8wxString6FormatEPKwz(ptr noalias sret(%struct.wxString)  null, ptr null, i32 %tmp58165817 )278			to label %invcont5831 unwind label %lpad279invcont5831:		; preds = %invcont5814280	%tmp5862 = invoke zeroext  i8 @_ZN12wxStringBase10ConcatSelfEmPKwm(ptr null, i32 0, ptr null, i32 0 )281			to label %bb7834 unwind label %lpad8185		; <i8> [#uses=0]282bb5968:		; preds = %bb3314283	invoke void (ptr, ptr, ...) @_ZN8wxString6FormatEPKwz(ptr noalias sret(%struct.wxString)  null, ptr null, i32 0 )284			to label %invcont5981 unwind label %lpad285invcont5981:		; preds = %bb5968286	ret void287bb6118:		; preds = %bb3314288	ret void289bb6406:		; preds = %bb3314290	ret void291bb6556:		; preds = %bb3314292	ret void293bb6708:		; preds = %bb3314294	ret void295bb6860:		; preds = %bb3314296	ret void297bb7158:		; preds = %bb3314298	ret void299bb7308:		; preds = %bb3314300	ret void301bb7595:		; preds = %bb3314302	ret void303bb7806:		; preds = %bb3314304	%tmp7814 = invoke ptr @_ZN12wxStringBase6appendEmw( ptr null, i32 1, i32 0 )305			to label %bb7834 unwind label %lpad		; <ptr> [#uses=0]306bb7819:		; preds = %bb3314307	ret void308bb7834:		; preds = %bb7806, %invcont5831309	br label %bb3261310lpad:		; preds = %bb7806, %bb5968, %invcont5814, %bb440.i8663, %bb155.i8541, %bb5657, %bb3306311        %exn = landingpad {ptr, i32}312                 cleanup313	ret void314lpad8185:		; preds = %invcont5831315        %exn8185 = landingpad {ptr, i32}316                 cleanup317	ret void318}319 320declare void @_Z10wxOnAssertPKwiPKcS0_S0_(ptr, i32, ptr, ptr, ptr)321 322declare zeroext  i8 @_ZN12wxStringBase10ConcatSelfEmPKwm(ptr, i32, ptr, i32)323 324declare ptr @gmtime_r(ptr, ptr)325 326declare zeroext  i16 @_ZNK10wxDateTime12GetDayOfYearERKNS_8TimeZoneE(ptr, ptr)327 328declare ptr @_ZN12wxStringBase6appendEmw(ptr, i32, i32)329 330declare ptr @_ZN12wxStringBaseaSEPKw(ptr, ptr)331 332declare void @_ZN8wxString6FormatEPKwz(ptr noalias sret(%struct.wxString) , ptr, ...)333 334declare i32 @__gxx_personality_v0(...)335