[all-commits] [llvm/llvm-project] f26ff8: [TargetRegisterInfo] Make the heuristic to skip re...

qcolombet via All-commits all-commits at lists.llvm.org
Mon Feb 3 11:30:54 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: f26ff8c9df79a6905903be58864fb27c52374ab8
      https://github.com/llvm/llvm-project/commit/f26ff8c9df79a6905903be58864fb27c52374ab8
  Author: Quentin Colombet <qcolombet at apple.com>
  Date:   2020-02-03 (Mon, 03 Feb 2020)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/lib/CodeGen/RegAllocGreedy.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp

  Log Message:
  -----------
  [TargetRegisterInfo] Make the heuristic to skip region split overridable by the target

RegAllocGreedy uses a fairly compile time intensive splitting heuristic
called region splitting. This heuristic was disabled via another heuristic
when it is likely that it won't be worth the compile time. The only way
to control this other heuristic was via a command line option (huge-size-for-split).

This commit gives more control on this heuristic by making it overridable
by the target using a target hook in TargetRegisterInfo called
shouldRegionSplitForVirtReg.

The default implementation of this hook keeps the heuristic as it was
before this patch.




More information about the All-commits mailing list