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: [2/5] C-SKY port: Backend implementation

On 07/24/2018 09:45 AM, Jeff Law wrote:
On 07/23/2018 10:21 PM, Sandra Loosemore wrote:
2018-07-23  Jojo  <>
             Huibin Wang  <>
             Sandra Loosemore  <>
             Chung-Lin Tang  <>

         C-SKY port: Backend implementation

         * config/csky/*: New.
         * common/config/csky/*: New.

Let's avoid gratutious whitespace that attempts to line up conditionals.
   As an example, look at the predicate csky_load_multiple_operation.  I
think just doing a quick pass over the .c, .h and main .md files should
be sufficient here.

OK, will do.

I'm not a big fan of more awk code, but I'm not going to object to it :-)

Why does the port have its own little pass for condition code
optimization (cse_cc)?  What is it doing that can't be done with our
generic optimizers?

This pass was included in the initial patch set we got from C-SKY, and as it didn't seem to break anything I left it in. Perhaps C-SKY can provide a testcase that demonstrates why it's still useful in the current version of GCC; otherwise we can remove this from the initial port submission and restore it later if some performance analysis shows it is still worthwhile.

Any thoughts on using the newer function descriptor bits rather than old
style stack trampolines?

Has that been committed? I vaguely remembered discussion of a new way to handle nested functions without using the trampoline interface, but I couldn't find any documentation in the internals manual.

I don't see anything terribly concerning in the core of the port.  The
amount of support code for minipool is huge and I wonder if some sharing
across the various ports would be possible, but I don't think that
should be a blocking issue for this port.

Yes, that code was clearly copied almost verbatim from the ARM backend. I left it alone as much as possible to simplify any future attempts at genericizing it.

Can you update the backends.html web page here appropriately for the
c-sky target?

Sure, I can take care of updating that when the port is committed. I believe the right entry is

"csky                          b   ia"

I'd like to take a closer look, but those are the high level comment's
I've got this morning :-)

Thanks. I'll wait a bit for more comments to come in before preparing a revised patch.


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