[llvm-dev] MachineCSE ignores COPY

vivek pandya via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 19 23:17:37 PDT 2020


On Mon, Oct 19, 2020 at 10:53 PM Quentin Colombet <qcolombet at apple.com>
wrote:

> Hi Vivek,
>
> My guess is because copies are transient, so we expect them to disappear
> anyway.
>
That may prevent CSE in certain cases.

>
> Maybe it has to do as well with the fact that chances are the are dealing
> with physical reg copies, e.g., used for ABI.
>
If an instruction has any physical register shouldn't that will be handled
in hasLivePhysRegDefUses() and such instruction will not be CSE.

-Vivek

>
> Cheers,
> -Quentin
>
> > On Oct 18, 2020, at 11:07 PM, vivek pandya via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
> >
> > Hello,
> >
> > I see that MachienCSE ignores COPY instructions
> > bool MachineCSE::isCSECandidate(MachineInstr *MI) {
> > ...
> >   // Ignore copies.
> >   if (MI->isCopyLike())
> >     return false;
> >
> > Are there any correctness concerns?
> >
> > Thanks,
> > Vivek
> > _______________________________________________
> > LLVM Developers mailing list
> > llvm-dev at lists.llvm.org
> > https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201020/1c9b542a/attachment.html>


More information about the llvm-dev mailing list