diff options
author | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-02-14 08:40:40 +0000 |
---|---|---|
committer | krebbel <krebbel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-02-14 08:40:40 +0000 |
commit | 7338c72850945531801f7ef10379c5ff16358005 (patch) | |
tree | 487383f49dcf5db7bbfccdcbea74d4cd01b3fbbf /gcc/config/s390 | |
parent | 49a55c95870a9acd342f901ea91850122b1c90f9 (diff) | |
download | gcc-7338c72850945531801f7ef10379c5ff16358005.tar.gz |
2008-02-14 Andreas Krebbel <krebbel1@de.ibm.com>
* config/s390/s390.c (s390_mainpool_start): Emit the pool
before the first section switch note.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132315 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/s390')
-rw-r--r-- | gcc/config/s390/s390.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 2d90eef88cf..280358c0c3f 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -5683,7 +5683,6 @@ s390_mainpool_start (void) { struct constant_pool *pool; rtx insn; - bool in_pool_section_p = false; pool = s390_alloc_pool (); @@ -5696,7 +5695,6 @@ s390_mainpool_start (void) { gcc_assert (!pool->pool_insn); pool->pool_insn = insn; - in_pool_section_p = true; } if (!TARGET_CPU_ZARCH && s390_execute_label (insn)) @@ -5722,12 +5720,9 @@ s390_mainpool_start (void) Z cpus where we can emit the literal pool at the end of the function body within the text section. */ if (NOTE_P (insn) - && NOTE_KIND (insn) == NOTE_INSN_SWITCH_TEXT_SECTIONS) - { - if (in_pool_section_p) - pool->emit_pool_after = PREV_INSN (insn); - in_pool_section_p = !in_pool_section_p; - } + && NOTE_KIND (insn) == NOTE_INSN_SWITCH_TEXT_SECTIONS + && !pool->emit_pool_after) + pool->emit_pool_after = PREV_INSN (insn); } gcc_assert (pool->pool_insn || pool->size == 0); @@ -5744,7 +5739,7 @@ s390_mainpool_start (void) /* If the functions ends with the section where the literal pool should be emitted set the marker to its end. */ - if (pool && in_pool_section_p) + if (pool && !pool->emit_pool_after) pool->emit_pool_after = get_last_insn (); return pool; |