41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
|
# RUN: llc %s -mtriple=riscv64 -run-pass=riscv-cleanup-vsetvli -o - | FileCheck %s
|
|
|
|
# Make sure we don't combine these two VSETVLIs in the cleanup pass. The first
|
|
# keeps the previous value of VL, the second time sets it to VLMAX. We can't
|
|
# remove the first since we can't tell if this is a change VL.
|
|
|
|
--- |
|
|
; ModuleID = '../llvm/test/CodeGen/RISCV/rvv/add-vsetvli-vlmax.ll'
|
|
source_filename = "../llvm/test/CodeGen/RISCV/rvv/add-vsetvli-vlmax.ll"
|
|
target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
|
|
target triple = "riscv64"
|
|
|
|
define void @cleanup_vsetvli() #0 {
|
|
ret void
|
|
}
|
|
|
|
attributes #0 = { "target-features"="+experimental-v" }
|
|
|
|
...
|
|
---
|
|
name: cleanup_vsetvli
|
|
alignment: 4
|
|
tracksRegLiveness: true
|
|
registers:
|
|
- { id: 0, class: gpr }
|
|
frameInfo:
|
|
maxAlignment: 1
|
|
machineFunctionInfo: {}
|
|
body: |
|
|
bb.0 (%ir-block.0):
|
|
; CHECK-LABEL: name: cleanup_vsetvli
|
|
; CHECK: dead $x0 = PseudoVSETVLI $x0, 12, implicit-def $vl, implicit-def $vtype
|
|
; CHECK: dead %0:gpr = PseudoVSETVLI $x0, 12, implicit-def $vl, implicit-def $vtype
|
|
; CHECK: PseudoRET
|
|
dead $x0 = PseudoVSETVLI $x0, 12, implicit-def $vl, implicit-def $vtype
|
|
dead %0:gpr = PseudoVSETVLI $x0, 12, implicit-def $vl, implicit-def $vtype
|
|
PseudoRET
|
|
|
|
...
|