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 /clang/lib/Serialization/ModuleManager.cpp | |
parent | b6fd98c7d90fe66c151b3a6142f1edaebad969c9 (diff) | |
download | llvm-e8c0891e427b4daa4cacd393860522acbac36492.zip llvm-e8c0891e427b4daa4cacd393860522acbac36492.tar.gz llvm-e8c0891e427b4daa4cacd393860522acbac36492.tar.bz2 |
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 'clang/lib/Serialization/ModuleManager.cpp')
0 files changed, 0 insertions, 0 deletions