This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PR64164] drop copyrename, integrate into expand
- From: Jeff Law <law at redhat dot com>
- To: Alexandre Oliva <aoliva at redhat dot com>
- Cc: Alan Lawrence <alan dot lawrence at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>, James Greenhalgh <james dot greenhalgh at arm dot com>
- Date: Mon, 23 Nov 2015 22:38:14 -0700
- Subject: Re: [PR64164] drop copyrename, integrate into expand
- Authentication-results: sourceware.org; auth=none
- References: <orio9cw10j dot fsf at livre dot home> <CAMe9rOpR+2gPxo0tKaRPtcML_Q4=r-_=9iqk+_JZFPkM=eN=BQ at mail dot gmail dot com> <CAMe9rOpbLEyDexVJqJAFJ3W6o4AktNog-jwk2CY4GZkrmT+nfA at mail dot gmail dot com> <or4mkmhgc9 dot fsf at livre dot home> <CAMe9rOp=S5fu1N=i7waswCYqJeLBCrySqYdFYkVa7LV04vpQSg at mail dot gmail dot com> <CAMe9rOrq+ZBAg1nZ1twEcPqwBj4j9+XA+SXQJVWWzjfdvidjtw at mail dot gmail dot com> <or1tfkdjhj dot fsf at livre dot home> <20150810082355 dot GA31149 at arm dot com> <55C8BFC3 dot 3030603 at redhat dot com> <CAKQMxzRzMrGtf921vqXCno5uoBN+uzsnJ5wX2Twmvhp1ziAEcA at mail dot gmail dot com> <or37zlpujd dot fsf at livre dot home> <55E72D4C dot 40705 at arm dot com> <orfv2wxygm dot fsf at livre dot home> <55FC3171 dot 7040509 at arm dot com> <ord1x8nblu dot fsf at livre dot home> <or7flxhw2r dot fsf at livre dot home> <56420DC4 dot 3070407 at arm dot com> <or4mgtmpgs dot fsf at livre dot home> <564280E0 dot 7090700 at redhat dot com> <orh9ksl84g dot fsf at livre dot home> <56458448 dot 7030301 at redhat dot com> <orr3jpij3s dot fsf at livre dot home>
On 11/16/2015 05:07 PM, Alexandre Oliva wrote:
The check is not in my patch, indeed. That's because the previous block
performs the runtime check, and it only lets through two cases: the one
we handle, and the one nobody uses.
That was the conclusion I was starting to come to, but expressed so
poorly in my last message. Sadly it was non-obvious from staring at the
current code. Though I must admit that after a week, I can see it
better now. Maybe that's a result of re-reading your message a
half-dozen more times with the current code and your patch all visible
in windows next to each other :-)
Prior to your change we'd just blindly copy from ENTRY_PARM to MEM,
which would result in missing the implicit shift if MEM wasn't actually
a memory.
You're just moving that conditional up and handling the shift
explicitly. You've got asserts for the cases you're not handling (and
no, I'm not aware of the need for this on any LE architecture, while I
am aware of BE architectures that align in both directions).
Any suggestions on how to improve the comments so that they convey
enough of this reasoning to make sense, without our having to write a
book :-) on the topic?
Refer back to this thread? :-) Seriously though, looking at things a
week later, I can see it much better now. Thanks for your patience on this.
OK for the trunk,
jeff