[PR99422] LRA: Use lookup_constraint only for a single constraint in process_address_1.
This is an additional patch for PR99422. In process_address_1 we look only at the first constraint in the 1st alternative and ignore all other possibilities. As we don't know what alternative and constraint will be used at this stage, we can be sure only for a single constraint with one alternative and should use unknown constraint for all other cases. gcc/ChangeLog: PR target/99422 * lra-constraints.c (process_address_1): Use lookup_constraint only for a single constraint.
This commit is contained in:
parent
30b10dacd0
commit
a4670f58eb
1 changed files with 6 additions and 1 deletions
|
@ -3459,7 +3459,12 @@ process_address_1 (int nop, bool check_only_p,
|
|||
constraint
|
||||
= skip_contraint_modifiers (curr_static_id->operand[dup].constraint);
|
||||
}
|
||||
cn = lookup_constraint (*constraint == '\0' ? "X" : constraint);
|
||||
if (*skip_contraint_modifiers (constraint
|
||||
+ CONSTRAINT_LEN (constraint[0],
|
||||
constraint)) != '\0')
|
||||
cn = CONSTRAINT__UNKNOWN;
|
||||
else
|
||||
cn = lookup_constraint (*constraint == '\0' ? "X" : constraint);
|
||||
if (insn_extra_address_constraint (cn)
|
||||
/* When we find an asm operand with an address constraint that
|
||||
doesn't satisfy address_operand to begin with, we clear
|
||||
|
|
Loading…
Add table
Reference in a new issue