+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>
* doc/bugreport.texi: Update copyright years.
{
struct constant_pool *pool;
rtx insn;
- bool in_pool_section_p = false;
pool = s390_alloc_pool ();
{
gcc_assert (!pool->pool_insn);
pool->pool_insn = insn;
- in_pool_section_p = true;
}
if (!TARGET_CPU_ZARCH && s390_execute_label (insn))
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);
/* 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;