summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Mips/coalesce-partial-redundant-reguse-terminator.mir
Commit message (Collapse)AuthorAgeFilesLines
* [RegisterCoalescing] Don't move COPY if it would interfere with another valueMikael Holmen2018-03-281-0/+41
Summary: RegisterCoalescer::removePartialRedundancy tries to hoist B = A from BB0/BB2 to BB1: BB1: ... BB0/BB2: ---- B = A; | ... | A = B; | |------- | It does so if a number of conditions are fulfilled. However, it failed to check if B was used by any of the terminators in BB1. Since we must insert B = A before the terminators (since it's not a terminator itself), this means that we could erroneously insert a new definition of B before a use of it. Reviewers: wmi, qcolombet Reviewed By: wmi Subscribers: MatzeB, llvm-commits, sdardis Differential Revision: https://reviews.llvm.org/D44918 llvm-svn: 328689
OpenPOWER on IntegriCloud