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:
parent
de8d0a67e4
commit
3cd045d10e
@ -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
|
||||
|
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user