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