[RegAllocGreedy] Provide a subtarget hook to disable the local reassignment

heuristic.
By default, no functionality change.
This is a follow-up of r212099.

This hook provides a finer grain to control the optimization.

<rdar://problem/17444599>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212204 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Quentin Colombet
2014-07-02 18:32:04 +00:00
parent f9b6d0373a
commit 5599fde88e
3 changed files with 25 additions and 4 deletions

View File

@@ -100,6 +100,12 @@ public:
AntiDepBreakMode& Mode,
RegClassVector& CriticalPathRCs) const;
/// \brief True if the subtarget should run the local reassignment
/// heuristic of the register allocator.
/// This heuristic may be compile time intensive, \p OptLevel provides
/// a finer grain to tune the register allocator.
virtual bool enableRALocalReassignment(CodeGenOpt::Level OptLevel) const;
/// \brief Enable use of alias analysis during code generation (during MI
/// scheduling, DAGCombine, etc.).
virtual bool useAA() const;