[PATCH] D98232: [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Mar 10 11:07:30 PST 2021


dmgreen added inline comments.


================
Comment at: llvm/test/CodeGen/AArch64/ragreedy-local-interval-cost.ll:67
 ; CHECK-NEXT:    ldr q15, [x8]
+; CHECK-NEXT:    mov v28.16b, v12.16b
+; CHECK-NEXT:    mov v12.16b, v10.16b
----------------
qcolombet wrote:
> dmgreen wrote:
> > This is quite a large regression. My understanding is that for this test enableAdvancedRASplitCost/consider-local-interval-cost was enabled specifically to prevent this kind of recursive spilling from happening.
> The problem is that the previous version was relying on stall information.
> This is a correctness fix and should get in ASAP IMHO.
> 
> As far as eviction chains go, we could actually clean them up later in the pipeline.
> @aditya_nandakumar worked on a prototype offline that solves that as a post RA pass. We're hoping to open source it soon-ish.
If this is a correctness fix, presumably there should be a new test case for what it is fixing?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D98232



More information about the llvm-commits mailing list