This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: again problems implementing own target

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,

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]