Commit d2492102 by Andrew Pinski Committed by Andrew Pinski

rs6000.c (rs6000_emit_epilogue): Set use_backchain_to_restore_sp to true if...

2008-06-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/rs6000/rs6000.c (rs6000_emit_epilogue): Set
        use_backchain_to_restore_sp to true
        if the offset of the link register save area would go over the 32k - 1
        offset limit of the load
        instructions.

From-SVN: r137097
parent 917db97b
2008-06-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/rs6000/rs6000.c (rs6000_emit_epilogue): Set
use_backchain_to_restore_sp to true
if the offset of the link register save area would go over the 32k - 1
offset limit of the load
instructions.
2008-06-25 Hans-Peter Nilsson <hp@axis.com> 2008-06-25 Hans-Peter Nilsson <hp@axis.com>
* doc/invoke.texi (Optimize Options) <fstrict-aliasing>: Add * doc/invoke.texi (Optimize Options) <fstrict-aliasing>: Add
......
...@@ -16313,6 +16313,9 @@ rs6000_emit_epilogue (int sibcall) ...@@ -16313,6 +16313,9 @@ rs6000_emit_epilogue (int sibcall)
frame pointer for alloca, but the generic parts of the compiler frame pointer for alloca, but the generic parts of the compiler
give us one anyway. */ give us one anyway. */
use_backchain_to_restore_sp = (info->total_size > 32767 use_backchain_to_restore_sp = (info->total_size > 32767
|| info->total_size
+ (info->lr_save_p ? info->lr_save_offset : 0)
> 32767
|| (cfun->calls_alloca || (cfun->calls_alloca
&& !frame_pointer_needed)); && !frame_pointer_needed));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment