]> granicus.if.org Git - llvm/commit
[TailDuplicator] Fix copy instruction emitting into the wrong block.
authorAmara Emerson <aemerson@apple.com>
Tue, 2 Jul 2019 06:04:46 +0000 (06:04 +0000)
committerAmara Emerson <aemerson@apple.com>
Tue, 2 Jul 2019 06:04:46 +0000 (06:04 +0000)
commitb933e7ecf99912556f50f230b6721cd4a65c78e4
tree3ffa6310d79b4e7dd0699b521b7cefd7ddbe915a
parentc29fb417bc0c6210cce5fffa187034e67d76ce63
[TailDuplicator] Fix copy instruction emitting into the wrong block.

The code for duplicating instructions could sometimes try to emit copies
intended to deal with unconstrainable register classes to the tail block of the
original instruction, rather than before the newly cloned instruction in the
predecessor block.

This was exposed by GlobalISel on arm64.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364888 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/TailDuplicator.cpp
test/CodeGen/AArch64/taildup-inst-dup-loc.mir [new file with mode: 0644]