diff options
author | Jie Zhang <jie@codesourcery.com> | 2010-03-31 02:44:10 +0000 |
---|---|---|
committer | Jie Zhang <jiez@gcc.gnu.org> | 2010-03-31 02:44:10 +0000 |
commit | dc12b70ef2ff960820c183f4911c9d426e34eac3 (patch) | |
tree | bdc83c7c76ffc03569d38f8626f441aecbd9e452 /gcc/reload.h | |
parent | d500b6cfc85cbd6d7a042796689d796d498fc468 (diff) | |
download | gcc-dc12b70ef2ff960820c183f4911c9d426e34eac3.tar.gz |
re PR other/43562 (GCC ICE on optimize attribute)
PR 43562
* reload.h (caller_save_initialized_p): Declare.
* toplev.c (backend_init_target): Don't call
init_caller_save but set caller_save_initialized_p
to false.
* caller-save.c (caller_save_initialized_p): Define.
(init_caller_save): Check caller_save_initialized_p.
* ira.c (ira): Call init_caller_save if flag_caller_saves.
testsuite/
PR 43562
* gcc.dg/pr43562.c: New test.
From-SVN: r157849
Diffstat (limited to 'gcc/reload.h')
-rw-r--r-- | gcc/reload.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/reload.h b/gcc/reload.h index 5d8375b9589..883d1416ee3 100644 --- a/gcc/reload.h +++ b/gcc/reload.h @@ -349,6 +349,9 @@ extern bool elimination_target_reg_p (rtx); /* Deallocate the reload register used by reload number R. */ extern void deallocate_reload_reg (int r); +/* True if caller-save has been reinitialized. */ +extern bool caller_save_initialized_p; + /* Functions in caller-save.c: */ /* Initialize for caller-save. */ |