Commit b49326f1 by Andreas Krebbel Committed by Andreas Krebbel

s390.c (s390_mainpool_start): Emit the pool before the first section switch note.

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.

From-SVN: r132315
parent 346341a4
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.
2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> 2008-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* doc/bugreport.texi: Update copyright years. * doc/bugreport.texi: Update copyright years.
......
...@@ -5683,7 +5683,6 @@ s390_mainpool_start (void) ...@@ -5683,7 +5683,6 @@ s390_mainpool_start (void)
{ {
struct constant_pool *pool; struct constant_pool *pool;
rtx insn; rtx insn;
bool in_pool_section_p = false;
pool = s390_alloc_pool (); pool = s390_alloc_pool ();
...@@ -5696,7 +5695,6 @@ s390_mainpool_start (void) ...@@ -5696,7 +5695,6 @@ s390_mainpool_start (void)
{ {
gcc_assert (!pool->pool_insn); gcc_assert (!pool->pool_insn);
pool->pool_insn = insn; pool->pool_insn = insn;
in_pool_section_p = true;
} }
if (!TARGET_CPU_ZARCH && s390_execute_label (insn)) if (!TARGET_CPU_ZARCH && s390_execute_label (insn))
...@@ -5722,12 +5720,9 @@ s390_mainpool_start (void) ...@@ -5722,12 +5720,9 @@ s390_mainpool_start (void)
Z cpus where we can emit the literal pool at the end of the Z cpus where we can emit the literal pool at the end of the
function body within the text section. */ function body within the text section. */
if (NOTE_P (insn) if (NOTE_P (insn)
&& NOTE_KIND (insn) == NOTE_INSN_SWITCH_TEXT_SECTIONS) && NOTE_KIND (insn) == NOTE_INSN_SWITCH_TEXT_SECTIONS
{ && !pool->emit_pool_after)
if (in_pool_section_p) pool->emit_pool_after = PREV_INSN (insn);
pool->emit_pool_after = PREV_INSN (insn);
in_pool_section_p = !in_pool_section_p;
}
} }
gcc_assert (pool->pool_insn || pool->size == 0); gcc_assert (pool->pool_insn || pool->size == 0);
...@@ -5744,7 +5739,7 @@ s390_mainpool_start (void) ...@@ -5744,7 +5739,7 @@ s390_mainpool_start (void)
/* If the functions ends with the section where the literal pool /* If the functions ends with the section where the literal pool
should be emitted set the marker to its end. */ 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 (); pool->emit_pool_after = get_last_insn ();
return pool; return pool;
......
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