diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2016-11-16 18:42:17 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2016-11-16 18:42:17 +0000 |
commit | 0d162b1c4f274a21ad9d3e92239245db56704c24 (patch) | |
tree | ec17cd78a5a9a6b426d897cef3e15c7b00acd81d /lldb/unittests/ScriptInterpreter/Python | |
parent | caf280330f0451005a7a46233a7a4f9520123f31 (diff) | |
download | llvm-0d162b1c4f274a21ad9d3e92239245db56704c24.zip llvm-0d162b1c4f274a21ad9d3e92239245db56704c24.tar.gz llvm-0d162b1c4f274a21ad9d3e92239245db56704c24.tar.bz2 |
AMDGPU/SI: Avoid creating unnecessary copies in the SIFixSGPRCopies pass
Summary:
1. Don't try to copy values to and from the same register class.
2. Replace copies with of registers with immediate values with v_mov/s_mov
instructions.
The main purpose of this change is to make MachineSink do a better job of
determining when it is beneficial to split a critical edge, since the pass
assumes that copies will become move instructions.
This prevents a regression in uniform-cfg.ll if we enable critical edge
splitting for AMDGPU.
Reviewers: arsenm
Subscribers: arsenm, kzhuravl, llvm-commits
Differential Revision: https://reviews.llvm.org/D23408
llvm-svn: 287131
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions