[PATCH] D98232: [regalloc] Ensure Query::collectInterferringVregs is called before interval iteration
Dave Green via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 25 05:18:56 PDT 2021
dmgreen added a comment.
I'm worried that this comes up in a lot of places. Perhaps rare still, but important cases. The aarch64 example we have is just a matrix multiply, and is 25% slower with all the cascading spills, https://bugs.llvm.org/show_bug.cgi?id=26810 quotes the same. Like I said before though, the option didn't fix some examples of the same thing that we were seeing in ARM, so I'm not sure how reliably better it is.
@aditya_nandakumar @qcolombet any idea when a better fix for that issue might be available?
Could we just make `consider-local-interval-cost` -O3 only in the meantime? That should alleviate some of the compile time worries, as we have genuine examples of where it is hurting performance.
================
Comment at: llvm/test/CodeGen/X86/bug26810.ll:1
-; RUN: llc < %s -march=x86 -regalloc=greedy -stop-after=greedy | FileCheck %s
+; RUN: llc -consider-local-interval-cost < %s -march=x86 -regalloc=greedy -stop-after=greedy | FileCheck %s
; Make sure bad eviction sequence doesnt occur
----------------
If we are enabling this flag by default, we should probably update the tests, not hide them behind a flag.
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