[PATCH] D36224: [TwoAddressInstructionPass] Replace subregister uses when processing tied operands

Bjorn Pettersson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 3 08:55:57 PDT 2018


bjope added a comment.

In https://reviews.llvm.org/D36224#1248159, @MatzeB wrote:

> Note that embarassingly there are still a few passes where we skip machine verification in the default pass pipeline, `TwoAddressInstruction` being one of them. However if this is a new failure triggered by this particular patch then please fix it!


My first fix was to avoid replacing untied operands if the untied operands did not use the same subreg as the tied operands.
The thing I originally missed was that when not replacing all uses, it was incorrect to add a kill flag on the use in the inserted COPY. That problem is solved in the latest update of this patch (from September 28), by only adding the `kill` if we `ReplacedAllUntiedUses`.


Repository:
  rL LLVM

https://reviews.llvm.org/D36224





More information about the llvm-commits mailing list