[PATCH] D49519: [RegisterCoalescer] Delay live interval update work until the rematerialization for all the uses from the same def is done

Marcello Maggioni via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 26 20:55:39 PDT 2018


marcello.maggioni added a comment.

I think I hit the compile time problem mentioned here too. Some files in our project can take 5-10 minutes to compile (depending on the machine compiling) and 80-85% of the time is spent in shrinkToUses in the registercoalescer.

A part that I'm interested into is if you know how changing this affects for example "resolveConflicts()" and "mapValue()". I don't have much experience with the RegisterCoalescer code, but from what I see those functions use LiveInterval information to check if values overlap (for example). I was wondering if we are sure that it is not affecting any of that from a correctness standpoint. From what I understand the delay is applied only if the rematerialization happens on a value used by a lot of coalesceable copies.
Have you tried running all your tests with the delay threshold set to the minimum , so that it is always delayed no matter what even if it used by a low number of copies?


Repository:
  rL LLVM

https://reviews.llvm.org/D49519





More information about the llvm-commits mailing list