1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test
Bjorn Pettersson bb16824edf [TwoAddressInstructionPass] Replace subregister uses when processing tied operands
Summary:
TwoAddressInstruction pass typically rewrites
  %1:short = foo %0.sub_lo:long
as
  %1:short = COPY %0.sub_lo:long
  %1:short = foo %1:short
when having tied operands.

If there are extra un-tied operands that uses the same reg and
subreg, such as the second and third inputs to fie here:
  %1:short = fie %0.sub_lo:long, %0.sub_hi:long, %0.sub_lo:long
then there was a bug which replaced the register %0 also for
the un-tied operand, but without changing the subregister indices.
So we used to get:
  %1:short = COPY %0.sub_lo:long
  %1:short = fie %1, %1.sub_hi:short, %1.sub_lo:short
With this fix we instead get:
  %1:short = COPY %0.sub_lo:long
  %1:short = fie %1, %0.sub_hi:long, %1

Reviewers: arsenm, JesperAntonsson, kparzysz, MatzeB

Reviewed By: MatzeB

Subscribers: bjope, kparzysz, wdng, llvm-commits

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

llvm-svn: 344492
2018-10-15 08:36:03 +00:00
..
Analysis
Assembler
Bindings
Bitcode
BugPoint
CodeGen [TwoAddressInstructionPass] Replace subregister uses when processing tied operands 2018-10-15 08:36:03 +00:00
DebugInfo [codeview] Emit S_BUILDINFO and LF_BUILDINFO with cwd and source file 2018-10-12 18:19:06 +00:00
Demangle
Examples
ExecutionEngine
Feature
FileCheck
Instrumentation
Integer
JitListener
Linker
LTO
MC [WebAssembly] SIMD min and max 2018-10-13 07:26:10 +00:00
Object
ObjectYAML Make YAML quote forward slashes. 2018-10-12 16:31:20 +00:00
Other Make YAML quote forward slashes. 2018-10-12 16:31:20 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen
ThinLTO/X86
tools [tblgen][llvm-mca] Add the ability to describe move elimination candidates via tablegen. 2018-10-12 11:23:04 +00:00
Transforms [InstCombine] Add PR27343 test cases 2018-10-14 20:14:33 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt
lit.cfg.py
lit.site.cfg.py.in
TestRunner.sh