1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib
Tom Stellard 22310389fc 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
2016-11-16 18:42:17 +00:00
..
Analysis test commit, changed tab to spaces, NFC 2016-11-16 16:41:40 +00:00
AsmParser IR: Introduce inrange attribute on getelementptr indices. 2016-11-10 22:34:55 +00:00
Bitcode Restore "[ThinLTO] Prevent exporting of locals used/defined in module level asm" 2016-11-14 17:12:32 +00:00
CodeGen [RegAllocGreedy] Record missed hint for late recoloring. 2016-11-16 01:07:12 +00:00
DebugInfo Align Modi and FileInfo substreams on 32-byte offsets. 2016-11-16 00:59:27 +00:00
Demangle Demangle: only demangle mangled symbols 2016-11-14 04:54:47 +00:00
ExecutionEngine [ORC] Re-apply 286620 with fixes for the ErrorSuccess class. 2016-11-11 21:42:09 +00:00
Fuzzer [libFuzzer] replace 'auto' with 'auto *' to better follow the LLVM style 2016-11-14 19:21:38 +00:00
IR fix comment formatting; NFC 2016-11-16 18:09:44 +00:00
IRReader Bitcode: Change module reader functions to return an llvm::Expected. 2016-11-13 07:00:17 +00:00
LibDriver Object: Replace NewArchiveIterator with a simpler NewArchiveMember class. NFCI. 2016-06-29 22:27:42 +00:00
LineEditor
Linker Linker: Remove unnecessary call to copyMetadata in IRLinker::linkGlobalVariable. 2016-11-14 23:18:38 +00:00
LTO [ThinLTO] Only promote exported locals as marked in index 2016-11-14 19:21:41 +00:00
MC Fix 24560: assembler does not share constant pool for same constants 2016-11-04 19:17:32 +00:00
Object Object: replace backslashes with slashes in embedded relative thin archive paths on Windows. 2016-11-15 21:36:35 +00:00
ObjectYAML Fix Clang-tidy readability-redundant-string-cstr warnings 2016-11-02 16:43:50 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes Conditionally eliminate library calls where the result value is not used 2016-10-18 21:36:27 +00:00
ProfileData Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
Support Add a little endian variant of TCE. 2016-11-16 15:22:23 +00:00
TableGen TableGen: Add operator !or 2016-11-15 06:49:28 +00:00
Target AMDGPU/SI: Avoid creating unnecessary copies in the SIFixSGPRCopies pass 2016-11-16 18:42:17 +00:00
Transforms [sancov] Name the global containing the main source file name 2016-11-16 16:50:43 +00:00
CMakeLists.txt Try to fix a circular dependency in the modules build. 2016-09-06 20:16:19 +00:00
LLVMBuild.txt Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00