brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.6 KiB · 0bcded9 Raw
128 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc -mtriple=riscv64 -verify-machineinstrs -enable-ipra < %s | FileCheck %s -check-prefix=RV643; RUN: llc -mtriple=riscv32 -verify-machineinstrs -enable-ipra < %s | FileCheck %s -check-prefix=RV324; RUN: llc -mtriple=riscv64 -verify-machineinstrs -frame-pointer=all -enable-ipra < %s \5; RUN:   | FileCheck %s -check-prefix=RV64-WITHFP6; RUN: llc -mtriple=riscv32 -verify-machineinstrs -frame-pointer=all -enable-ipra < %s \7; RUN:   | FileCheck %s -check-prefix=RV32-WITHFP8 9%struct.bitmap_iterator = type { ptr, ptr, i32, i64 }10 11define i32 @main() nounwind {12; RV64-LABEL: main:13; RV64:       # %bb.0: # %entry14; RV64-NEXT:    addi sp, sp, -1615; RV64-NEXT:    sd ra, 8(sp) # 8-byte Folded Spill16; RV64-NEXT:    li a0, 017; RV64-NEXT:    call foobar18; RV64-NEXT:    li a0, 019; RV64-NEXT:    ld ra, 8(sp) # 8-byte Folded Reload20; RV64-NEXT:    addi sp, sp, 1621; RV64-NEXT:    ret22;23; RV32-LABEL: main:24; RV32:       # %bb.0: # %entry25; RV32-NEXT:    addi sp, sp, -1626; RV32-NEXT:    sw ra, 12(sp) # 4-byte Folded Spill27; RV32-NEXT:    li a0, 028; RV32-NEXT:    call foobar29; RV32-NEXT:    li a0, 030; RV32-NEXT:    lw ra, 12(sp) # 4-byte Folded Reload31; RV32-NEXT:    addi sp, sp, 1632; RV32-NEXT:    ret33;34; RV64-WITHFP-LABEL: main:35; RV64-WITHFP:       # %bb.0: # %entry36; RV64-WITHFP-NEXT:    addi sp, sp, -1637; RV64-WITHFP-NEXT:    sd ra, 8(sp) # 8-byte Folded Spill38; RV64-WITHFP-NEXT:    sd s0, 0(sp) # 8-byte Folded Spill39; RV64-WITHFP-NEXT:    addi s0, sp, 1640; RV64-WITHFP-NEXT:    li a0, 041; RV64-WITHFP-NEXT:    call foobar42; RV64-WITHFP-NEXT:    li a0, 043; RV64-WITHFP-NEXT:    ld ra, 8(sp) # 8-byte Folded Reload44; RV64-WITHFP-NEXT:    ld s0, 0(sp) # 8-byte Folded Reload45; RV64-WITHFP-NEXT:    addi sp, sp, 1646; RV64-WITHFP-NEXT:    ret47;48; RV32-WITHFP-LABEL: main:49; RV32-WITHFP:       # %bb.0: # %entry50; RV32-WITHFP-NEXT:    addi sp, sp, -1651; RV32-WITHFP-NEXT:    sw ra, 12(sp) # 4-byte Folded Spill52; RV32-WITHFP-NEXT:    sw s0, 8(sp) # 4-byte Folded Spill53; RV32-WITHFP-NEXT:    addi s0, sp, 1654; RV32-WITHFP-NEXT:    li a0, 055; RV32-WITHFP-NEXT:    call foobar56; RV32-WITHFP-NEXT:    li a0, 057; RV32-WITHFP-NEXT:    lw ra, 12(sp) # 4-byte Folded Reload58; RV32-WITHFP-NEXT:    lw s0, 8(sp) # 4-byte Folded Reload59; RV32-WITHFP-NEXT:    addi sp, sp, 1660; RV32-WITHFP-NEXT:    ret61entry:62  call void @foobar(ptr null)63  ret i32 064}65 66define internal void @foobar(ptr %live_throughout.0.val) norecurse nounwind {67; RV64-LABEL: foobar:68; RV64:       # %bb.0: # %entry69; RV64-NEXT:    addi sp, sp, -4870; RV64-NEXT:    sd ra, 40(sp) # 8-byte Folded Spill71; RV64-NEXT:    mv a1, a072; RV64-NEXT:    addi a0, sp, 873; RV64-NEXT:    addi a2, sp, 474; RV64-NEXT:    call bmp_iter_set_init75; RV64-NEXT:    ld ra, 40(sp) # 8-byte Folded Reload76; RV64-NEXT:    addi sp, sp, 4877; RV64-NEXT:    ret78;79; RV32-LABEL: foobar:80; RV32:       # %bb.0: # %entry81; RV32-NEXT:    addi sp, sp, -4882; RV32-NEXT:    sw ra, 44(sp) # 4-byte Folded Spill83; RV32-NEXT:    mv a1, a084; RV32-NEXT:    addi a0, sp, 1685; RV32-NEXT:    addi a2, sp, 1286; RV32-NEXT:    call bmp_iter_set_init87; RV32-NEXT:    lw ra, 44(sp) # 4-byte Folded Reload88; RV32-NEXT:    addi sp, sp, 4889; RV32-NEXT:    ret90;91; RV64-WITHFP-LABEL: foobar:92; RV64-WITHFP:       # %bb.0: # %entry93; RV64-WITHFP-NEXT:    addi sp, sp, -6494; RV64-WITHFP-NEXT:    sd ra, 56(sp) # 8-byte Folded Spill95; RV64-WITHFP-NEXT:    sd s0, 48(sp) # 8-byte Folded Spill96; RV64-WITHFP-NEXT:    addi s0, sp, 6497; RV64-WITHFP-NEXT:    mv a1, a098; RV64-WITHFP-NEXT:    addi a0, s0, -4899; RV64-WITHFP-NEXT:    addi a2, s0, -52100; RV64-WITHFP-NEXT:    call bmp_iter_set_init101; RV64-WITHFP-NEXT:    ld ra, 56(sp) # 8-byte Folded Reload102; RV64-WITHFP-NEXT:    ld s0, 48(sp) # 8-byte Folded Reload103; RV64-WITHFP-NEXT:    addi sp, sp, 64104; RV64-WITHFP-NEXT:    ret105;106; RV32-WITHFP-LABEL: foobar:107; RV32-WITHFP:       # %bb.0: # %entry108; RV32-WITHFP-NEXT:    addi sp, sp, -48109; RV32-WITHFP-NEXT:    sw ra, 44(sp) # 4-byte Folded Spill110; RV32-WITHFP-NEXT:    sw s0, 40(sp) # 4-byte Folded Spill111; RV32-WITHFP-NEXT:    addi s0, sp, 48112; RV32-WITHFP-NEXT:    mv a1, a0113; RV32-WITHFP-NEXT:    addi a0, s0, -32114; RV32-WITHFP-NEXT:    addi a2, s0, -36115; RV32-WITHFP-NEXT:    call bmp_iter_set_init116; RV32-WITHFP-NEXT:    lw ra, 44(sp) # 4-byte Folded Reload117; RV32-WITHFP-NEXT:    lw s0, 40(sp) # 4-byte Folded Reload118; RV32-WITHFP-NEXT:    addi sp, sp, 48119; RV32-WITHFP-NEXT:    ret120entry:121  %rsi = alloca %struct.bitmap_iterator, align 8122  %regno = alloca i32, i32 0, align 4123  call void @bmp_iter_set_init(ptr %rsi, ptr %live_throughout.0.val, ptr %regno)124  ret void125}126 127declare void @bmp_iter_set_init(ptr, ptr, ptr)128