re PR target/26018 (Assembler errors with -march=z900 compiling glibc)

PR target/26018
	* config/s390/s390.c (struct machine_function): New flag
	decomposed_literal_pool_addresses_ok_p.
	(s390_reorg): Set it before final stage of literal pool transforms.
	(s390_decompose_address): Only accept displacements of the form
	(minus (label_ref ...) (label_ref ...)) if that flag is set.

From-SVN: r110422
This commit is contained in:
Ulrich Weigand 2006-01-31 01:06:16 +00:00 committed by Ulrich Weigand
parent de8d0a67e4
commit 3cd045d10e
2 changed files with 17 additions and 1 deletions

View File

@ -1,3 +1,12 @@
2006-01-30 Ulrich Weigand <uweigand@de.ibm.com>
PR target/26018
* config/s390/s390.c (struct machine_function): New flag
decomposed_literal_pool_addresses_ok_p.
(s390_reorg): Set it before final stage of literal pool transforms.
(s390_decompose_address): Only accept displacements of the form
(minus (label_ref ...) (label_ref ...)) if that flag is set.
2006-01-30 Carlos O'Donell <carlos@codesourcery.com>
* optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias

View File

@ -279,6 +279,9 @@ struct machine_function GTY(())
/* True if we may need to perform branch splitting. */
bool split_branches_pending_p;
/* True during final stage of literal pool processing. */
bool decomposed_literal_pool_addresses_ok_p;
/* Some local-dynamic TLS symbol name. */
const char *some_ld_name;
@ -1705,7 +1708,9 @@ s390_decompose_address (rtx addr, struct s390_address *out)
}
/* Accept chunkified literal pool symbol references. */
else if (GET_CODE (disp) == MINUS
else if (cfun && cfun->machine
&& cfun->machine->decomposed_literal_pool_addresses_ok_p
&& GET_CODE (disp) == MINUS
&& GET_CODE (XEXP (disp, 0)) == LABEL_REF
&& GET_CODE (XEXP (disp, 1)) == LABEL_REF)
{
@ -8934,6 +8939,8 @@ s390_reorg (void)
machine_dependent_reorg might confuse insn length counts. */
split_all_insns_noflow ();
/* From here on decomposed literal pool addresses must be accepted. */
cfun->machine->decomposed_literal_pool_addresses_ok_p = true;
/* Install the main literal pool and the associated base
register load insns.