[PATCH] D86586: [TableGen] Support tied operands that are both source operands

Bjorn Pettersson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 1 02:00:40 PDT 2020


bjope added a comment.

I don't really understand the problem situation. Why are you having two source operands if they need to be the same? Can't you ensure that by only having one source operand?

I mean, the main reason for having tied operands today is to be able to model two address instructions while having SSA form. When we must have different virtual registers as src and dst. SSA deconstruction, to be more specific the TwoAddressInstructionPass, will tie the register together to get the single virtual register when SSA form isn't needed any longer. In your case, you only deal with source operands, so there is no problem with SSA form. You can either model your instructions as having a single source, or just use the same virtual register in multiple source operands.

Got a feeling that you are trying to misuse the tied-operand concept here somehow.

I'm also worried about that there is not test case for the changes in the backend (TwoAddressIntructionPass and how this impacts the rest of codegen - can't see anything that verifies that this patch actually ties the virtual registers together).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D86586/new/

https://reviews.llvm.org/D86586



More information about the llvm-commits mailing list