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> Sent: 16 March 2020 08:53 To: Sjoerd Meijer <Sjoerd.Meijer at arm.com> Cc: LLVM-Dev <llvm-dev at lists.llvm.org>; Sam Parker <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, -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200316/29fa7739/attachment.html>
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> 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> > *Sent:* 16 March 2020 08:53 > *To:* Sjoerd Meijer <Sjoerd.Meijer at arm.com> > *Cc:* LLVM-Dev <llvm-dev at lists.llvm.org>; Sam Parker <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/e313a4d1/attachment.html>
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>