I just got to looking at my test cases and I have successfully compiled all of my test cases that are derivatives of actual memory initialization code with -O2 and no extra registers.
Which is a very good sign for the case of using extra registers to avoid inlining subroutines.
Eric