again problems implementing own target
Jim Wilson
wilson@specifix.com
Mon Oct 8 19:05:00 GMT 2007
Michael_fogel wrote:
> The failing instruction is a call. The compiler loads every symbol
> reference into a register and calls the function using this. In front of
> the error this load is missing. In smaller files the compiler uses the
> reference, which is the way i want him to do it.
We need more info in order to determine what is wrong. Some RTL
examples would be nice. Also, a copy of your pattern in your md file
that matches call instructions.
Also, in which pass does the load symbol instruction disappear? If you
compile with -da, you will get RTL dumps after each optimization pass.
You can look at them to see where problem was introduced.
There does appear to be a problem with your port, but there is also a
way to work around it. If you define NO_FUNCTION_CSE, then gcc will no
longer try to optimize function addresses by loading them into pseudos.
See the docs for this macro in the doc/tm.texi file.
--
Jim Wilson, GNU Tools Support, http://www.specifix.com
More information about the Gcc
mailing list