diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-06-20 18:28:02 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2017-06-20 18:28:02 +0000 |
commit | 7f67b3590168b88d69bc1ab067ad3075c7c28e62 (patch) | |
tree | ed381c9f4e5b4984839168cae91ac0f66cabba13 /llvm/test/CodeGen | |
parent | e7a35539c5521985d75e89f3329a84fed09584e4 (diff) | |
download | bcm5719-llvm-7f67b3590168b88d69bc1ab067ad3075c7c28e62.tar.gz bcm5719-llvm-7f67b3590168b88d69bc1ab067ad3075c7c28e62.zip |
AMDGPU: Fix crash with undef vreg input operand
llvm-svn: 305814
Diffstat (limited to 'llvm/test/CodeGen')
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir b/llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir index 62b47beb125..4d8e608c947 100644 --- a/llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir +++ b/llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir @@ -68,6 +68,10 @@ ret void } + define amdgpu_kernel void @undefined_vreg_operand() { + unreachable + } + declare i32 @llvm.amdgcn.workitem.id.x() #1 attributes #0 = { nounwind } @@ -856,3 +860,20 @@ body: | S_ENDPGM ... +--- +# There is only an undef use operand for %1, so there is no +# corresponding defining instruction + +name: undefined_vreg_operand +tracksRegLiveness: true +registers: + - { id: 0, class: vgpr_32, preferred-register: '' } + - { id: 1, class: vgpr_32, preferred-register: '' } + - { id: 2, class: vgpr_32, preferred-register: '' } +body: | + bb.0: + %0 = V_MOV_B32_e32 0, implicit %exec + %2 = V_XOR_B32_e64 killed %0, undef %1, implicit %exec + S_ENDPGM + +... |