diff options
author | Jakub Jelinek <jakub@redhat.com> | 2012-01-17 17:21:49 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2012-01-17 17:21:49 +0100 |
commit | ee3d2ecdc509868214e682f4192cf7047d57a78d (patch) | |
tree | 063806ffabfecffdb1aa308a9a26013274f0668b /gcc/target.def | |
parent | 3b4f05ec1ee0a91c937f9c90df8addf6aec7ad5f (diff) | |
download | gcc-ee3d2ecdc509868214e682f4192cf7047d57a78d.zip gcc-ee3d2ecdc509868214e682f4192cf7047d57a78d.tar.gz gcc-ee3d2ecdc509868214e682f4192cf7047d57a78d.tar.bz2 |
re PR target/51872 (Shrink-wrapping with -mminimal-toc causes bootstrap failure)
PR bootstrap/51872
* hard-reg-set.h (struct hard_reg_set_container): New type.
* target.h (struct hard_reg_set_container): Forward declare.
* target.def (set_up_by_prologue): New target hook.
* doc/tm.texi.in (TARGET_SET_UP_BY_PROLOGUE): Document it.
* doc/tm.texi: Regenerated.
* function.c (thread_prologue_and_epilogue_insns): Change
set_up_by_prologue HARD_REG_SET into struct hard_reg_set_container.
Call targetm.set_up_by_prologue on it.
* config/rs6000/rs6000.c (rs6000_set_up_by_prologue): New function.
(TARGET_SET_UP_BY_PROLOGUE): Redefine to it.
From-SVN: r183254
Diffstat (limited to 'gcc/target.def')
-rw-r--r-- | gcc/target.def | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/target.def b/gcc/target.def index b68673c..cdc8cb8 100644 --- a/gcc/target.def +++ b/gcc/target.def @@ -1,6 +1,6 @@ /* Target hook definitions. Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, - 2011 + 2011, 2012 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it @@ -2644,6 +2644,14 @@ DEFHOOK void, (bitmap regs), hook_void_bitmap) +/* Fill in additional registers set up by prologue into a regset. */ +DEFHOOK +(set_up_by_prologue, + "This hook should add additional registers that are computed by the prologue\ + to the hard regset for shrink-wrapping optimization purposes.", + void, (struct hard_reg_set_container *), + NULL) + /* Determine the type of unwind info to emit for debugging. */ DEFHOOK (debug_unwind_info, |