[PATCH] D22556: Replace other uses of register when processind tied operands

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 19 18:33:11 PDT 2016


arsenm created this revision.
arsenm added a reviewer: MatzeB.
arsenm added a subscriber: llvm-commits.
Herald added a reviewer: tstellarAMD.

v_movreld_b32 expects src0 to be the subregister of the tied
super register use/def.
    
e.g.
    
v_movreld_b32 v0, v9, <imp-def, tied3> v[0:3], <imp-use, tied2> v[0:3]
    
was being replaced with
    
v[4:7] = copy v[0:3]
v_movreld_b32 v0, v9, <imp-def, tied3> v[4:7], <imp-use, tied2> v[4:7],
    
which really writes to v[0:3]

https://reviews.llvm.org/D22556

Files:
  lib/CodeGen/TwoAddressInstructionPass.cpp
  test/CodeGen/AMDGPU/indirect-addressing-si-noopt.ll
  test/CodeGen/AMDGPU/indirect-addressing-si.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D22556.64626.patch
Type: text/x-patch
Size: 3893 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160720/b36be55c/attachment.bin>


More information about the llvm-commits mailing list