brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · ab4a14c Raw
75 lines · plain
1# RUN: llc -mtriple=s390x-linux-gnu -mcpu=z13 -start-before=greedy %s -o - \2# RUN:   | FileCheck %s3#4# Test that regalloc manages (via regalloc hints) to avoid a LOCRMux jump5# sequence expansion.6 7--- |8  9  declare ptr @foo(ptr, i32 signext, i32 signext) local_unnamed_addr10  11  define ptr @fun(ptr returned) {12    br label %213  14  ; <label>:2:                                      ; preds = %6, %115    %3 = zext i16 undef to i3216    switch i32 %3, label %4 [17      i32 15, label %618      i32 125, label %519    ]20  21  ; <label>:4:                                      ; preds = %222    br label %623  24  ; <label>:5:                                      ; preds = %225    br label %626  27  ; <label>:6:                                      ; preds = %5, %4, %228    %7 = phi i32 [ 4, %2 ], [ undef, %4 ], [ 10, %5 ]29    %8 = call ptr @foo(ptr undef, i32 signext undef, i32 signext %7)30    br label %231  }32 33...34 35# CHECK: locr36# CHECK-NOT: risblg37 38---39name:            fun40alignment:       441tracksRegLiveness: true42registers:       43  - { id: 0, class: gr32bit }44  - { id: 1, class: gr64bit }45  - { id: 2, class: grx32bit }46  - { id: 3, class: grx32bit }47  - { id: 4, class: grx32bit }48  - { id: 5, class: grx32bit }49  - { id: 6, class: grx32bit }50  - { id: 7, class: gr64bit }51  - { id: 8, class: gr64bit }52  - { id: 9, class: gr64bit }53  - { id: 10, class: gr64bit }54  - { id: 11, class: gr32bit }55frameInfo:       56  adjustsStack:    true57  hasCalls:        true58body:             |59  bb.0 (%ir-block.1):60    %3 = LHIMux 061    %2 = LHIMux 462    %5 = LHIMux 1063  64  bb.1 (%ir-block.2):65    CHIMux %3, 0, implicit-def $cc66    %0 = LOCRMux undef %0, %5, 14, 6, implicit $cc67    %0 = LOCRMux %0, %2, 14, 6, implicit killed $cc68    %7 = LGFR %069    $r3d = LGHI 070    $r4d = COPY %771    CallBRASL @foo, undef $r2d, killed $r3d, killed $r4d, csr_systemz_elf, implicit-def dead $r14d, implicit-def dead $cc, implicit-def dead $r2d72    J %bb.173 74...75