[llvm-dev] Redundant copies

Sam Parker via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 23 07:52:35 PDT 2020


Hi Roger,

I don't have anything on my TODO list for the analysis, so any patches welcome! And, of course, I'll happily help out with reviews.

cheers,


Sam Parker

Compilation Tools Engineer | Arm

. . . . . . . . . . . . . . . . . . . . . . . . . . .

Arm.com

________________________________
From: Roger Ferrer Ibáñez <rofirrim at gmail.com>
Sent: 23 March 2020 13:52
To: Sam Parker <Sam.Parker at arm.com>
Cc: LLVM-Dev <llvm-dev at lists.llvm.org>; Sjoerd Meijer <Sjoerd.Meijer at arm.com>
Subject: Re: [llvm-dev] Redundant copies

Hi Sam,

just a short question: I was taking a look at the RDA pass and it doesn't currently handle RegMasks. Is in your backlog to add support for those?

I am asking because I found myself analyzing across call instructions. Not taking the regmasks into account leads to inexact results and needs extra care. So I wondered if this was already in your phabricator backlog. I made a first implementation downstream but before I continue with it I wanted to make sure I'm not stepping on your toes :)

Thank you very much,

Missatge de Sjoerd Meijer <Sjoerd.Meijer at arm.com<mailto:Sjoerd.Meijer at arm.com>> del dia dl., 16 de març 2020 a les 13:28:
Yep, exactly that. We see quite a lot of them, most of them get cleaned up, but not always...

Cheers.
________________________________
From: Roger Ferrer Ibáñez <rofirrim at gmail.com<mailto:rofirrim at gmail.com>>
Sent: 16 March 2020 08:53
To: Sjoerd Meijer <Sjoerd.Meijer at arm.com<mailto:Sjoerd.Meijer at arm.com>>
Cc: LLVM-Dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>>; Sam Parker <Sam.Parker at arm.com<mailto:Sam.Parker at arm.com>>
Subject: Re: [llvm-dev] Redundant copies


At this point however it doesn't (obviously) look like one (it still using different vregs) which suggests it might require a bit more of work to discover something that will ultimately lead to a redundant copy. I will investigate this option as well.

I correct myself here: in the MIR dumps (for this example) right after copy coalescing the copy is redundant even at vregs

  %14:gpr = COPY %0
  BEQ %6, $x0, %bb.3
  PseudoBR %bb.1

bb.1.for.body.preheader:
  %14:gpr = COPY %0

Kind regards,


--
Roger Ferrer Ibáñez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200323/193b26bd/attachment.html>


More information about the llvm-dev mailing list