public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Law <law@redhat.com>
To: Sandra Loosemore <sandra@codesourcery.com>,
	"gcc-patches@gcc.gnu.org" <gcc-patches@gcc.gnu.org>
Cc: Xianmiao Qu <xianmiao_qu@c-sky.com>,
	Yunhai Shang <yunhai_shang@c-sky.com>
Subject: Re: [2/5] C-SKY port: Backend implementation
Date: Tue, 24 Jul 2018 21:25:00 -0000	[thread overview]
Message-ID: <8a1b9bac-82dc-bb4f-e0a2-9a9b9cbea98a@redhat.com> (raw)
In-Reply-To: <f63533dd-b7af-272c-71dc-aa871c9de5c9@codesourcery.com>

On 07/24/2018 12:18 PM, Sandra Loosemore wrote:
> On 07/24/2018 09:45 AM, Jeff Law wrote:
>> On 07/23/2018 10:21 PM, Sandra Loosemore wrote:
>>> 2018-07-23  Jojo  <jijie_rong@c-sky.com>
>>>              Huibin Wang  <huibin_wang@c-sky.com>
>>>              Sandra Loosemore  <sandra@codesourcery.com>
>>>              Chung-Lin Tang  <cltang@codesourcery.com>
>>>
>>>          C-SKY port: Backend implementation
>>>
>>>          gcc/
>>>          * 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.
FWIW it looks like we model CC setting on just a few insns, (add,
subtract) so I'd be surprised if this little mini pass found much.  I'd
definitely like to hear from the csky authors here.

Alternately, you could do add some instrumentation to flag when it
triggers, take a test or two that does, reduce it and we can then look
at the key RTL sequences and see what the pass is really doing.

> 
>> 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.
It did.  See TARGET_CUSTOM_FUNCTION_DESCRIPTORS and the (relatively few)
ports that define it.



> 
>> 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.
Understood -- I'd assumed it was largely copied from ARM, but hadn't
gone back to the ARM bits to verify.

> 
>> 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"
Yea, that seems right to me.

Jeff

  reply	other threads:[~2018-07-24 21:25 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-24  4:17 [0/5] C-SKY port Sandra Loosemore
2018-07-24  4:20 ` [1/5] C-SKY port: Configury Sandra Loosemore
2018-07-24 15:09   ` Jeff Law
2018-07-24  4:21 ` [2/5] C-SKY port: Backend implementation Sandra Loosemore
2018-07-24 15:45   ` Jeff Law
2018-07-24 18:19     ` Sandra Loosemore
2018-07-24 21:25       ` Jeff Law [this message]
2018-07-25  0:17         ` Sandra Loosemore
2018-07-25  4:50           ` Jeff Law
2018-07-25 13:17             ` Paul Koning
2018-07-25 14:54               ` Sandra Loosemore
2018-07-26  6:07         ` 瞿仙淼
2018-07-28  1:49           ` Sandra Loosemore
2018-08-02 22:33             ` Jeff Law
2018-08-02 22:28           ` Jeff Law
2018-08-03  7:58             ` Yunhai
2018-08-03 16:26             ` Sandra Loosemore
2018-07-24  4:23 ` [3/5] C-SKY port: Documentation Sandra Loosemore
2018-07-24 15:10   ` Jeff Law
2018-07-24  4:25 ` [4/5] C-SKY port: Testsuite Sandra Loosemore
2018-07-24 15:10   ` Jeff Law
2018-07-24  4:26 ` [5/5] C-SKY port: libgcc Sandra Loosemore
2018-07-24 15:12   ` Jeff Law
2018-07-24 18:10   ` Segher Boessenkool
2018-07-24 18:19     ` Sandra Loosemore
2018-07-24 19:46       ` Segher Boessenkool
2018-07-24 15:23 ` [0/5] C-SKY port Sandra Loosemore
2018-07-26 23:04   ` Joseph Myers
2018-07-30 16:59     ` Sandra Loosemore
2018-08-01 14:28     ` 瞿仙淼

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8a1b9bac-82dc-bb4f-e0a2-9a9b9cbea98a@redhat.com \
    --to=law@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=sandra@codesourcery.com \
    --cc=xianmiao_qu@c-sky.com \
    --cc=yunhai_shang@c-sky.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).