diff options
author | Mark Mitchell <mark@codesourcery.com> | 2000-04-02 02:48:24 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2000-04-02 02:48:24 +0000 |
commit | 8dd2076d8ab463ce4342ad1e3ee8b31238ef53a8 (patch) | |
tree | 6ba434436ff1cc4b22ffc4daf4fd6545004a3284 /gcc | |
parent | 07aa0b04f2ef60131900c2ea350d0d78e028acad (diff) | |
download | gcc-8dd2076d8ab463ce4342ad1e3ee8b31238ef53a8.zip gcc-8dd2076d8ab463ce4342ad1e3ee8b31238ef53a8.tar.gz gcc-8dd2076d8ab463ce4342ad1e3ee8b31238ef53a8.tar.bz2 |
emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the permanent obstack.
* emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the
permanent obstack.
From-SVN: r32861
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/emit-rtl.c | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3fb581d..1600e4f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-04-01 Mark Mitchell <mark@codesourcery.com> + + * emit-rtl.c (gen_rtx_CONST_INT): Create cached CONST_INTs on the + permanent obstack. + 2000-04-01 Zack Weinberg <zack@wolery.cumb.org> * cpplib.c: Include symcat.h. Add 'origin' field to struct diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 246805c..b67e9f1 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -253,7 +253,16 @@ gen_rtx_CONST_INT (mode, arg) (hashval_t) arg, /*insert=*/1); if (!*slot) - *slot = gen_rtx_raw_CONST_INT (VOIDmode, arg); + { + if (!ggc_p) + { + push_obstacks_nochange (); + end_temporary_allocation (); + } + *slot = gen_rtx_raw_CONST_INT (VOIDmode, arg); + if (!ggc_p) + pop_obstacks (); + } return (rtx) *slot; } |