diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2015-10-21 22:37:50 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2015-10-21 22:37:50 +0000 |
commit | e8c0891e427b4daa4cacd393860522acbac36492 (patch) | |
tree | 0e82c39ddf59d7a63e28259a895801fecb1b8838 /llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp | |
parent | b6fd98c7d90fe66c151b3a6142f1edaebad969c9 (diff) | |
download | bcm5719-llvm-e8c0891e427b4daa4cacd393860522acbac36492.tar.gz bcm5719-llvm-e8c0891e427b4daa4cacd393860522acbac36492.zip |
AMDGPU: Fix verifier error in SIFoldOperands
There may be other use operands that also need their kill flags cleared.
This happens in a few tests when SIFoldOperands is moved after
PeepholeOptimizer.
PeepholeOptimizer rewrites cases that look like:
%vreg0 = ...
%vreg1 = COPY %vreg0
use %vreg1<kill>
%vreg2 = COPY %vreg0
use %vreg2<kill>
to use the earlier source to
%vreg0 = ...
use %vreg0
use %vreg0
Currently SIFoldOperands sees the copied registers, so there is
only one use. So far I haven't managed to come up with a test
that currently has multiple uses of a foldable VGPR -> VGPR copy.
llvm-svn: 250960
Diffstat (limited to 'llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp')
0 files changed, 0 insertions, 0 deletions