[PATCH] D156346: CodeGen: Disable isCopyInstrImpl if there are implicit operands

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 2 15:20:33 PDT 2023


arsenm added inline comments.


================
Comment at: llvm/include/llvm/CodeGen/TargetInstrInfo.h:1053
+    // instruction with an undef subregister def, and a full register
+    // implicit-def appended to the operand list.
+
----------------
qcolombet wrote:
> arsenm wrote:
> > qcolombet wrote:
> > > Like I said in https://reviews.llvm.org/D156345, there was already a distinction between pure copies (`isCopy`) and copies with additional stuff that may require careful handling (`isCopyLike`).
> > > 
> > > Following this distinction, I feel that either:
> > > - this is the right fix, or
> > > - we need to make all the places that deals with isCopyInstr robust w.r.t. `isCopyLike` semantic, which may not be worth it to pull
> > > worth it to pull
> > 
> > pull what?
> > pull what?
> 
> Pull off :P.
> 
> I mean it may not be worth spending a lot of effort to support non pure copy everywhere.
> I.e., Heroically try to implement the full support everywhere for a negligible gain.
I kind of think we should just get rid of SUBREG_TO_REG entirely. If you wanted to depend on those bits, you should have had to define them in the first place. However doing that is going to be a lot of work. I still haven't found anywhere making use of the "assert 0" property, if you really needed that it would look like AssertZext (which I would hope would be all taken care of before selection is complete)


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

https://reviews.llvm.org/D156346



More information about the llvm-commits mailing list