Jeff Law via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> On 4/18/23 07:02, Richard Sandiford via Gcc-patches wrote:
>> "Victor L. Do Nascimento" <victor.donascime...@arm.com> writes:
>>> The function `constrain_operands' lacked the logic to consider relaxed
>>> memory constraints when "traditional" memory constraints were not
>>> satisfied, creating potential issues as observed during the reload
>>> compilation pass.
>>>
>>> In addition, it was observed that while `constrain_operands' chooses
>>> to disregard constraints when more than one alternative is provided,
>>> e.g. "m,r" using CONSTRAINT__UNKNOWN, it has no checks in place to
>>> determine whether the multiple constraints in a given string are in
>>> fact repetitions of the same constraint and should thus in fact be
>>> treated as a single constraint, as ought to be the case for something
>>> like "m,m".
>>>
>>> Both of these issues are dealt with here, thus ensuring that we get
>>> appropriate pattern matching.
>>>
>>> Tested on aarch64-linux-gnu & x86_64-linux-gnu.  OK to install?
>>>
>>> Victor
>>>
>>> gcc/
>>>     * lra-constraints.cc (constraint_unique): New.
>>>     (process_address_1): Apply constraint_unique test.
>>>     * recog.cc (constrain_operands): Allow relaxed memory
>>>     constaints.
>> 
>> OK, thanks.
> Does Victor have write access?  If not you should probably cover the 
> commit for him.

Ah, right, thanks.  I've pushed it now.

> If Victor is going to be making regular contributions, 
> then we should probably get him write access going forward.

Yeah.

Richard

Reply via email to