re PR target/21888 (bootstrap failure with linker relaxation enabled)
PR target/21888 * config/alpha/alpha.c (alpha_align_insns): Don't insert nops until we've passed initial ldgp. From-SVN: r100596
This commit is contained in:
parent
833b3afe49
commit
0f1341c792
@ -1,3 +1,9 @@
|
||||
2005-06-04 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR target/21888
|
||||
* config/alpha/alpha.c (alpha_align_insns): Don't insert nops
|
||||
until we've passed initial ldgp.
|
||||
|
||||
2005-06-04 Daniel Berlin <dberlin@dberlin.org>
|
||||
|
||||
* cfgexpand.c (expand_one_var): Use DECL_HAS_VALUE_EXPR_P.
|
||||
|
@ -8974,7 +8974,7 @@ alpha_align_insns (unsigned int max_align,
|
||||
unsigned int align;
|
||||
/* OFS is the offset of the current insn in the insn group. */
|
||||
int ofs;
|
||||
int prev_in_use, in_use, len;
|
||||
int prev_in_use, in_use, len, ldgp;
|
||||
rtx i, next;
|
||||
|
||||
/* Let shorten branches care for assigning alignments to code labels. */
|
||||
@ -8992,6 +8992,8 @@ alpha_align_insns (unsigned int max_align,
|
||||
if (GET_CODE (i) == NOTE)
|
||||
i = next_nonnote_insn (i);
|
||||
|
||||
ldgp = alpha_function_needs_gp ? 8 : 0;
|
||||
|
||||
while (i)
|
||||
{
|
||||
next = (*next_group) (i, &in_use, &len);
|
||||
@ -9047,6 +9049,10 @@ alpha_align_insns (unsigned int max_align,
|
||||
}
|
||||
}
|
||||
|
||||
/* We may not insert padding inside the initial ldgp sequence. */
|
||||
else if (ldgp > 0)
|
||||
ldgp -= len;
|
||||
|
||||
/* If the group won't fit in the same INT16 as the previous,
|
||||
we need to add padding to keep the group together. Rather
|
||||
than simply leaving the insn filling to the assembler, we
|
||||
|
Loading…
Reference in New Issue
Block a user