From 2a901401fe453ca5b17048f7e6d74d9c8c91cbf9 Mon Sep 17 00:00:00 2001 From: Puyan Lotfi Date: Fri, 31 May 2019 04:49:58 +0000 Subject: [MIR-Canon] Hardening propagateLocalCopies. This is am almost NFC, it does the following: - If there is no register class for a COPY's src or dst, bail. - Fixes uses iterator invalidation bug. Differential Revision: https://reviews.llvm.org/D62713 llvm-svn: 362191 --- llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'llvm/test/CodeGen/MIR/AMDGPU') diff --git a/llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir b/llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir index 65ad2ff41a7..005014d5e83 100644 --- a/llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir +++ b/llvm/test/CodeGen/MIR/AMDGPU/mir-canon-multi.mir @@ -1,8 +1,13 @@ # RUN: llc -o - -march=amdgcn -run-pass mir-canonicalizer -x mir %s | FileCheck %s +# CHECK: %namedVReg4354:vgpr_32 = COPY $vgpr0 # CHECK: %namedVReg1352:vgpr_32 = COPY %namedVReg4353 -# CHECK: %namedVReg1359:vgpr_32 = COPY %namedVReg1362 -# CHECK: %namedVReg1360:vgpr_32 = COPY %namedVReg1363 +# CHECK-NEXT: %namedVReg1358:vgpr_32 = COPY %namedVReg1361 +# CHECK-NEXT: %namedVReg1359:vgpr_32 = COPY %namedVReg1362 +# CHECK-NEXT: %namedVReg1353:vreg_64 = REG_SEQUENCE %namedVReg4354, %subreg.sub0, %namedVReg1352, %subreg.sub1 +# CHECK-NEXT: %namedVReg1354:sgpr_128 = REG_SEQUENCE %namedVReg4354, %subreg.sub0, %namedVReg1352, %subreg.sub1, %namedVReg1358, %subreg.sub2, %namedVReg1359, %subreg.sub3 +# This tests for the itereator invalidation fix (reviews.llvm.org/D62713) +# CHECK-NEXT: BUFFER_STORE_DWORD_ADDR64 %namedVReg1352, %namedVReg1353, %namedVReg1354, 0, 0, 0, 0, 0, 0, implicit $exec ... --- name: foo -- cgit v1.2.3