[PATCH] D19337: [Tail duplication] Handle source registers with subregisters

Krzysztof Parzyszek via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 20 11:46:54 PDT 2016


kparzysz created this revision.
kparzysz added a reviewer: MatzeB.
kparzysz added a subscriber: llvm-commits.
kparzysz set the repository for this revision to rL LLVM.

When a block is tail-duplicated, the PHI nodes from that block are replaced with appropriate COPY instructions. When those PHI nodes contained use operands with subregisters, the subregisters were dropped from the COPY instructions, resulting in incorrect code.

Keep track of the subregister information and use this information when remapping instructions from the duplicated block.

Repository:
  rL LLVM

http://reviews.llvm.org/D19337

Files:
  include/llvm/CodeGen/TailDuplicator.h
  lib/CodeGen/TailDuplicator.cpp
  test/CodeGen/Hexagon/tail-dup-subreg-map.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19337.54397.patch
Type: text/x-patch
Size: 11922 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160420/8132472f/attachment.bin>


More information about the llvm-commits mailing list