Freeze reserved registers before starting register allocation.
The register allocators don't currently support adding reserved
registers while they are running. Extend the MRI API to keep track of
the set of reserved registers when register allocation started.
Target hooks like hasFP() and needsStackRealignment() can look at this
set to avoid reserving more registers during register allocation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147577 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/docs/ReleaseNotes.html b/docs/ReleaseNotes.html
index 7dd0b8d..011cbbd 100644
--- a/docs/ReleaseNotes.html
+++ b/docs/ReleaseNotes.html
@@ -351,6 +351,10 @@
represent combinations of constraints from instructions and sub-registers.
The synthetic register classes inherit most of their properties form their
closest user-defined super-class.</li>
+ <li><code>MachineRegisterInfo</code> now allows the reserved registers to be
+ frozen when register allocation starts. Target hooks should use the
+ <code>MRI->canReserveReg(FramePtr)</code> method to avoid accidentally
+ disabling frame pointer elimination during register allocation.</li>
</ul>
</div>