linux-sparse.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christopher Li <sparse@chrisli.org>
To: Dibyendu Majumdar <mobile@majumdar.org.uk>
Cc: Linux-Sparse <linux-sparse@vger.kernel.org>,
	Luc Van Oostenryck <luc.vanoostenryck@gmail.com>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: Some random thoughts regarding the SSA paper
Date: Wed, 16 Aug 2017 08:09:55 -0400	[thread overview]
Message-ID: <CANeU7Q=r4A8WQrqaACQ2iak9CcEXds20peJrr1AqJ8tyxCF56Q@mail.gmail.com> (raw)
In-Reply-To: <CACXZuxdnMFA5HPg3GXLWXP6+Mk8+UikcZsJZH8DJ227PYHyEfQ@mail.gmail.com>

On Wed, Aug 16, 2017 at 5:55 AM, Dibyendu Majumdar
<mobile@majumdar.org.uk> wrote:
> Hi Chris,
>
> I would argue that the simplest possible solution is what we should
> start with. The solution implemented based on this paper appears to be
> simple and elegant - and if this works correctly then why go for more
> complicated solutions? Theoretical scenarios are not very useful - in

Because the paper "simple and elegant" only cover the reducible
graph case. When you considering the irreducible graph source file
input, say having "goto", all the sudden it is not simple and elegant
any more. It is more like complex and ad-hoc.

> my view, if the solution works now with all known inputs then it is
> good enough.

Know input include "goto", period.

>>
>> - Cytron might still be worthwhile to implement due to the better
>>    worse case complexity.
>>
>>
>
> Certainly you should prototype this - even if just to compare. But I
> would suggest - lets merge the solution we have now. Additional
> solutions are always good to have.

Yes, I am doing the prototype as the side project. I start with building
the dominator tree as I mention in the list earlier. Another way to
evaluate the complexity of the code, just go take a look at the Clang,
how it promote the memory access into SSA pesudo. That is the
critical piece we are talking about here. It is actually not that complex
at all.

To fully evaluate the complexity suggest by this paper. I want to see
the full implementations with "gotos".


> The great thing about Sparse I find is that it is smaller and simpler
> than gcc or clang - and I would urge that this should be maintained.

Exactly. I am totally agree with you. My worries are the hidden complexity
dealing with gotos in that paper.

Chris

  reply	other threads:[~2017-08-16 12:09 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-16  6:33 Some random thoughts regarding the SSA paper Christopher Li
2017-08-16  7:15 ` Luc Van Oostenryck
2017-08-16 12:03   ` Christopher Li
2017-08-16  9:55 ` Dibyendu Majumdar
2017-08-16 12:09   ` Christopher Li [this message]
2017-08-16 12:24     ` Dibyendu Majumdar
2017-08-16 12:42       ` Christopher Li
2017-08-16 12:47         ` Dibyendu Majumdar
2017-08-16 12:56           ` Christopher Li
2017-08-16 12:33     ` Luc Van Oostenryck
2017-08-16 12:34       ` Christopher Li

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='CANeU7Q=r4A8WQrqaACQ2iak9CcEXds20peJrr1AqJ8tyxCF56Q@mail.gmail.com' \
    --to=sparse@chrisli.org \
    --cc=linux-sparse@vger.kernel.org \
    --cc=luc.vanoostenryck@gmail.com \
    --cc=mobile@majumdar.org.uk \
    --cc=torvalds@linux-foundation.org \
    /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 NNTP newsgroup(s).