]> granicus.if.org Git - llvm/commit
AMDGPU: Allow additional implicit operands on MOVRELS instructions
authorNicolai Haehnle <nhaehnle@gmail.com>
Wed, 2 Nov 2016 17:03:11 +0000 (17:03 +0000)
committerNicolai Haehnle <nhaehnle@gmail.com>
Wed, 2 Nov 2016 17:03:11 +0000 (17:03 +0000)
commit08f7b241492e37a3199eb8e71a8c12ee502f05c9
treed7c9224c47ad0186ae23e9099d6c631f8a1a74ba
parent4c1273222636e393da7584ead9019d9908871a44
AMDGPU: Allow additional implicit operands on MOVRELS instructions

Summary:
The post-RA scheduler occasionally uses additional implicit operands when
the vector implicit operand as a whole is killed, but some subregisters
are still live because they are directly referenced later. Unfortunately,
this seems incredibly subtle to reproduce.

Fixes piglit spec/glsl-110/execution/variable-indexing/vs-temp-array-mat2-index-wr.shader_test
and others.

Reviewers: arsenm, tstellarAMD

Subscribers: kzhuravl, wdng, yaxunl, tony-tye, llvm-commits

Differential Revision: https://reviews.llvm.org/D25656

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285835 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AMDGPU/SIInstrInfo.cpp
test/CodeGen/MIR/AMDGPU/movrels-bug.mir [new file with mode: 0644]