Jim Wilson wrote: > Dave Korn wrote: >> First places to look would be GO_IF_LEGITIMATE_ADDRESS and >> REG_OK_FOR_BASE_P, wouldn't they? Particularly in conjunction with >> REG_OK_STRICT. > > This could be a REG_OK_STRICT issue, but it isn't the usual case of > accepting an unallocated pseudo in reload, as we have a SUBREG MEM here. > > Probably there is code in the backend that assumes SUBREG can only > contain a REG, which is incorrect. SUBREG can also contain a MEM. > You need to check to make sure. Hi
A few weeks ago i had a problem during reload pass. So i added a non strict implementation to GO_IF_LEGITIMATE_ADDRESS. So I think thats not the issue. This should now be implemented properly. I tried to define an automaton but this breaks my flow analysis. The flow pass emits no return in some cases. The code generation differs after the scheduler pass. I removed the precompiler commands in combine.c and now it works. The real problem is: I thought a subreg is just a partial reg. My machine has no subregs so i used subregs like usual registers. Maybe i have to redesign my port Thanks for your help Michael Fogel