brintos

brintos / llvm-project-archived public Read only

0
0
Text · 9.1 KiB · 527684f Raw
325 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s | FileCheck %s3target 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"4target triple = "x86_64-apple-darwin10"5 6declare void @f1() nounwind readnone7declare void @f2() nounwind readnone8declare void @f3() nounwind readnone9declare void @f4() nounwind readnone10declare void @f5() nounwind readnone11declare void @f6() nounwind readnone12declare void @f7() nounwind readnone13declare void @f8() nounwind readnone14declare void @f9() nounwind readnone15declare void @f10() nounwind readnone16declare void @f11() nounwind readnone17declare void @f12() nounwind readnone18declare void @f13() nounwind readnone19declare void @f14() nounwind readnone20declare void @f15() nounwind readnone21declare void @f16() nounwind readnone22declare void @f17() nounwind readnone23declare void @f18() nounwind readnone24declare void @f19() nounwind readnone25declare void @f20() nounwind readnone26declare void @f21() nounwind readnone27declare void @f22() nounwind readnone28declare void @f23() nounwind readnone29declare void @f24() nounwind readnone30declare void @f25() nounwind readnone31declare void @f26() nounwind readnone32 33define internal fastcc i32 @foo(i64 %bar) nounwind ssp {34; CHECK-LABEL: foo:35; CHECK:       ## %bb.0: ## %entry36; CHECK-NEXT:    pushq %rax37; CHECK-NEXT:    addq $-2, %rdi38; CHECK-NEXT:    cmpq $25, %rdi39; CHECK-NEXT:    ja LBB0_240; CHECK-NEXT:  ## %bb.1: ## %bb4941; CHECK-NEXT:    leaq LJTI0_0(%rip), %rax42; CHECK-NEXT:    movslq (%rax,%rdi,4), %rcx43; CHECK-NEXT:    addq %rax, %rcx44; CHECK-NEXT:    jmpq *%rcx45; CHECK-NEXT:  LBB0_3: ## %RRETURN_646; CHECK-NEXT:    callq _f247; CHECK-NEXT:    jmp LBB0_2848; CHECK-NEXT:  LBB0_18: ## %RRETURN_2949; CHECK-NEXT:    callq _f1750; CHECK-NEXT:    jmp LBB0_2851; CHECK-NEXT:  LBB0_16: ## %RRETURN_2752; CHECK-NEXT:    callq _f1553; CHECK-NEXT:    jmp LBB0_2854; CHECK-NEXT:  LBB0_13: ## %RRETURN_2255; CHECK-NEXT:    callq _f1256; CHECK-NEXT:    jmp LBB0_2857; CHECK-NEXT:  LBB0_6: ## %RRETURN_1558; CHECK-NEXT:    callq _f559; CHECK-NEXT:    jmp LBB0_2860; CHECK-NEXT:  LBB0_14: ## %RRETURN_2461; CHECK-NEXT:    callq _f1362; CHECK-NEXT:    jmp LBB0_2863; CHECK-NEXT:  LBB0_11: ## %RRETURN_2064; CHECK-NEXT:    callq _f1065; CHECK-NEXT:    jmp LBB0_2866; CHECK-NEXT:  LBB0_27: ## %RRETURN_167; CHECK-NEXT:    callq _f2668; CHECK-NEXT:    jmp LBB0_2869; CHECK-NEXT:  LBB0_26: ## %RRETURN_5270; CHECK-NEXT:    callq _f2571; CHECK-NEXT:    jmp LBB0_2872; CHECK-NEXT:  LBB0_4: ## %RRETURN_773; CHECK-NEXT:    callq _f374; CHECK-NEXT:    jmp LBB0_2875; CHECK-NEXT:  LBB0_17: ## %RRETURN_2876; CHECK-NEXT:    callq _f1677; CHECK-NEXT:    jmp LBB0_2878; CHECK-NEXT:  LBB0_5: ## %RRETURN_1479; CHECK-NEXT:    callq _f480; CHECK-NEXT:    jmp LBB0_2881; CHECK-NEXT:  LBB0_9: ## %RRETURN_1882; CHECK-NEXT:    callq _f883; CHECK-NEXT:    jmp LBB0_2884; CHECK-NEXT:  LBB0_19: ## %RRETURN_3085; CHECK-NEXT:    callq _f1886; CHECK-NEXT:    jmp LBB0_2887; CHECK-NEXT:  LBB0_22: ## %RRETURN_4088; CHECK-NEXT:    callq _f2189; CHECK-NEXT:    jmp LBB0_2890; CHECK-NEXT:  LBB0_7: ## %RRETURN_1691; CHECK-NEXT:    callq _f692; CHECK-NEXT:    jmp LBB0_2893; CHECK-NEXT:  LBB0_23: ## %RRETURN_4294; CHECK-NEXT:    callq _f2295; CHECK-NEXT:    jmp LBB0_2896; CHECK-NEXT:  LBB0_15: ## %RRETURN_2697; CHECK-NEXT:    callq _f1498; CHECK-NEXT:    jmp LBB0_2899; CHECK-NEXT:  LBB0_8: ## %RRETURN_17100; CHECK-NEXT:    callq _f7101; CHECK-NEXT:    jmp LBB0_28102; CHECK-NEXT:  LBB0_20: ## %RRETURN_31103; CHECK-NEXT:    callq _f19104; CHECK-NEXT:    jmp LBB0_28105; CHECK-NEXT:  LBB0_12: ## %RRETURN_21106; CHECK-NEXT:    callq _f11107; CHECK-NEXT:    jmp LBB0_28108; CHECK-NEXT:  LBB0_10: ## %RRETURN_19109; CHECK-NEXT:    callq _f9110; CHECK-NEXT:    jmp LBB0_28111; CHECK-NEXT:  LBB0_24: ## %RRETURN_44112; CHECK-NEXT:    callq _f23113; CHECK-NEXT:    jmp LBB0_28114; CHECK-NEXT:  LBB0_21: ## %RRETURN_38115; CHECK-NEXT:    callq _f20116; CHECK-NEXT:    jmp LBB0_28117; CHECK-NEXT:  LBB0_25: ## %RRETURN_48118; CHECK-NEXT:    callq _f24119; CHECK-NEXT:    jmp LBB0_28120; CHECK-NEXT:  LBB0_2: ## %RETURN121; CHECK-NEXT:    callq _f1122; CHECK-NEXT:  LBB0_28: ## %EXIT123; CHECK-NEXT:    xorl %eax, %eax124; CHECK-NEXT:    popq %rcx125; CHECK-NEXT:    retq126; CHECK-NEXT:    .p2align 2127; CHECK-NEXT:    .data_region jt32128; CHECK-NEXT:  L0_0_set_3 = LBB0_3-LJTI0_0129; CHECK-NEXT:  L0_0_set_4 = LBB0_4-LJTI0_0130; CHECK-NEXT:  L0_0_set_5 = LBB0_5-LJTI0_0131; CHECK-NEXT:  L0_0_set_6 = LBB0_6-LJTI0_0132; CHECK-NEXT:  L0_0_set_7 = LBB0_7-LJTI0_0133; CHECK-NEXT:  L0_0_set_8 = LBB0_8-LJTI0_0134; CHECK-NEXT:  L0_0_set_9 = LBB0_9-LJTI0_0135; CHECK-NEXT:  L0_0_set_10 = LBB0_10-LJTI0_0136; CHECK-NEXT:  L0_0_set_11 = LBB0_11-LJTI0_0137; CHECK-NEXT:  L0_0_set_12 = LBB0_12-LJTI0_0138; CHECK-NEXT:  L0_0_set_13 = LBB0_13-LJTI0_0139; CHECK-NEXT:  L0_0_set_14 = LBB0_14-LJTI0_0140; CHECK-NEXT:  L0_0_set_15 = LBB0_15-LJTI0_0141; CHECK-NEXT:  L0_0_set_16 = LBB0_16-LJTI0_0142; CHECK-NEXT:  L0_0_set_17 = LBB0_17-LJTI0_0143; CHECK-NEXT:  L0_0_set_18 = LBB0_18-LJTI0_0144; CHECK-NEXT:  L0_0_set_19 = LBB0_19-LJTI0_0145; CHECK-NEXT:  L0_0_set_20 = LBB0_20-LJTI0_0146; CHECK-NEXT:  L0_0_set_21 = LBB0_21-LJTI0_0147; CHECK-NEXT:  L0_0_set_22 = LBB0_22-LJTI0_0148; CHECK-NEXT:  L0_0_set_23 = LBB0_23-LJTI0_0149; CHECK-NEXT:  L0_0_set_24 = LBB0_24-LJTI0_0150; CHECK-NEXT:  L0_0_set_25 = LBB0_25-LJTI0_0151; CHECK-NEXT:  L0_0_set_26 = LBB0_26-LJTI0_0152; CHECK-NEXT:  L0_0_set_27 = LBB0_27-LJTI0_0153; CHECK-NEXT:  LJTI0_0:154; CHECK-NEXT:    .long L0_0_set_3155; CHECK-NEXT:    .long L0_0_set_3156; CHECK-NEXT:    .long L0_0_set_4157; CHECK-NEXT:    .long L0_0_set_5158; CHECK-NEXT:    .long L0_0_set_6159; CHECK-NEXT:    .long L0_0_set_7160; CHECK-NEXT:    .long L0_0_set_8161; CHECK-NEXT:    .long L0_0_set_9162; CHECK-NEXT:    .long L0_0_set_10163; CHECK-NEXT:    .long L0_0_set_11164; CHECK-NEXT:    .long L0_0_set_12165; CHECK-NEXT:    .long L0_0_set_13166; CHECK-NEXT:    .long L0_0_set_14167; CHECK-NEXT:    .long L0_0_set_15168; CHECK-NEXT:    .long L0_0_set_16169; CHECK-NEXT:    .long L0_0_set_17170; CHECK-NEXT:    .long L0_0_set_18171; CHECK-NEXT:    .long L0_0_set_19172; CHECK-NEXT:    .long L0_0_set_20173; CHECK-NEXT:    .long L0_0_set_21174; CHECK-NEXT:    .long L0_0_set_22175; CHECK-NEXT:    .long L0_0_set_23176; CHECK-NEXT:    .long L0_0_set_24177; CHECK-NEXT:    .long L0_0_set_25178; CHECK-NEXT:    .long L0_0_set_26179; CHECK-NEXT:    .long L0_0_set_27180; CHECK-NEXT:    .end_data_region181entry:182        br label %bb49183 184bb49:185	switch i64 %bar, label %RETURN [186		i64 2, label %RRETURN_2187		i64 3, label %RRETURN_6188		i64 4, label %RRETURN_7189		i64 5, label %RRETURN_14190		i64 6, label %RRETURN_15191		i64 7, label %RRETURN_16192		i64 8, label %RRETURN_17193		i64 9, label %RRETURN_18194		i64 10, label %RRETURN_19195		i64 11, label %RRETURN_20196		i64 12, label %RRETURN_21197		i64 13, label %RRETURN_22198		i64 14, label %RRETURN_24199		i64 15, label %RRETURN_26200		i64 16, label %RRETURN_27201		i64 17, label %RRETURN_28202		i64 18, label %RRETURN_29203		i64 19, label %RRETURN_30204		i64 20, label %RRETURN_31205		i64 21, label %RRETURN_38206		i64 22, label %RRETURN_40207		i64 23, label %RRETURN_42208		i64 24, label %RRETURN_44209		i64 25, label %RRETURN_48210		i64 26, label %RRETURN_52211		i64 27, label %RRETURN_1212	]213 214RETURN:215        call void @f1()216        br label %EXIT217 218RRETURN_2:		; preds = %bb49219        call void @f2()220        br label %EXIT221 222RRETURN_6:		; preds = %bb49223        call void @f2()224        br label %EXIT225 226RRETURN_7:		; preds = %bb49227        call void @f3()228        br label %EXIT229 230RRETURN_14:		; preds = %bb49231        call void @f4()232        br label %EXIT233 234RRETURN_15:		; preds = %bb49235        call void @f5()236        br label %EXIT237 238RRETURN_16:		; preds = %bb49239        call void @f6()240        br label %EXIT241 242RRETURN_17:		; preds = %bb49243        call void @f7()244        br label %EXIT245 246RRETURN_18:		; preds = %bb49247        call void @f8()248        br label %EXIT249 250RRETURN_19:		; preds = %bb49251        call void @f9()252        br label %EXIT253 254RRETURN_20:		; preds = %bb49255        call void @f10()256        br label %EXIT257 258RRETURN_21:		; preds = %bb49259        call void @f11()260        br label %EXIT261 262RRETURN_22:		; preds = %bb49263        call void @f12()264        br label %EXIT265 266RRETURN_24:		; preds = %bb49267        call void @f13()268        br label %EXIT269 270RRETURN_26:		; preds = %bb49271        call void @f14()272        br label %EXIT273 274RRETURN_27:		; preds = %bb49275        call void @f15()276        br label %EXIT277 278RRETURN_28:		; preds = %bb49279        call void @f16()280        br label %EXIT281 282RRETURN_29:		; preds = %bb49283        call void @f17()284        br label %EXIT285 286RRETURN_30:		; preds = %bb49287        call void @f18()288        br label %EXIT289 290RRETURN_31:		; preds = %bb49291        call void @f19()292        br label %EXIT293 294RRETURN_38:		; preds = %bb49295        call void @f20()296        br label %EXIT297 298RRETURN_40:		; preds = %bb49299        call void @f21()300        br label %EXIT301 302RRETURN_42:		; preds = %bb49303        call void @f22()304        br label %EXIT305 306RRETURN_44:		; preds = %bb49307        call void @f23()308        br label %EXIT309 310RRETURN_48:		; preds = %bb49311        call void @f24()312        br label %EXIT313 314RRETURN_52:		; preds = %bb49315        call void @f25()316        br label %EXIT317 318RRETURN_1:		; preds = %bb49319        call void @f26()320        br label %EXIT321 322EXIT:323        ret i32 0324}325