> While playing around with LRA on sparc I noticed that we had some > poorly formed target memory constraints on sparc. > > In particular, they were not using define_memory_constraint, so we > would not get a true return from EXTRA_MEMORY_CONSTRAINT for them. > > Also, these were matching 'reg' objects for special pseudo treatment. > But the EXTRA_MEMORY_CONSTRAINT logic in reload (and LRA) take care of > that stuff for us.
Indeed. But you need to remove the associated comment: ;; Extra constraints ;; Our memory extra constraints have to emulate the behavior of 'm' and 'o', ;; i.e. accept pseudo-registers during reload. While you're at it, you could also move the (define_memory_constraint "w") out of the "register contraints" part and put it into a "memory constraints" part with the other memory constraints. -- Eric Botcazou