Hi,
The testcase gfortran.dg/default_format_denormal_2.f90 has been
reporting XPASS since 4.8 on the powerpc*-unknown-linux-gnu platforms.
This patch removes the XFAIL for powerpc*-*-linux-* from the test. I
believe this pattern doesn't match any other platforms, but please let
me know if I shoul
On Tue, 2012-09-25 at 09:14 +0200, Richard Guenther wrote:
> On Mon, 24 Sep 2012, William J. Schmidt wrote:
>
> > In cases where pointers and ints are cast back and forth, SLSR can be
> > tricked into introducing a multiply where one of the operands is of
> > poin
In cases where pointers and ints are cast back and forth, SLSR can be
tricked into introducing a multiply where one of the operands is of
pointer type. Don't do that!
Verified that the reduced test case in the PR is fixed with a
cross-compile to sh4-unknown-linux-gnu with -Os, which is the only k
Here's the revised patch with a param. Bootstrapped and tested in the
same manner. Ok for trunk?
Thanks,
Bill
2012-08-10 Bill Schmidt
* doc/invoke.texi (max-slsr-cand-scan): New description.
* gimple-ssa-strength-reduction.c (find_basis_for_candidate): Limit
the tim
On Mon, 2012-09-10 at 16:56 +0200, Richard Guenther wrote:
> On Mon, 10 Sep 2012, Jakub Jelinek wrote:
>
> > On Mon, Sep 10, 2012 at 04:45:24PM +0200, Richard Guenther wrote:
> > > On Mon, 10 Sep 2012, William J. Schmidt wrote:
> > >
> > > > Richard foun
On Mon, 2012-09-10 at 16:45 +0200, Richard Guenther wrote:
> On Mon, 10 Sep 2012, William J. Schmidt wrote:
>
> > Richard found some N^2 behavior in SLSR that has to be suppressed.
> > Searching for the best possible basis is overkill when there are
> > hundreds of th
Richard found some N^2 behavior in SLSR that has to be suppressed.
Searching for the best possible basis is overkill when there are
hundreds of thousands of possibilities. This patch constrains the
search to "good enough" in such cases.
Bootstrapped and tested on powerpc64-unknown-linux-gnu with
On Thu, 2012-08-23 at 00:53 +0200, Steven Bosscher wrote:
> Hello Bill,
>
> This patch plugs a leak in rs6000.c:rs6000_density_test(). You have to
> free the array that get_loop_body returns. Noticed while going over
> all uses of get_loop_body (it's a common mistake to leak the return
> array).
>
On Thu, 2012-08-23 at 00:53 +0200, Steven Bosscher wrote:
> Hello Bill,
>
> This patch plugs a leak in rs6000.c:rs6000_density_test(). You have to
> free the array that get_loop_body returns. Noticed while going over
> all uses of get_loop_body (it's a common mistake to leak the return
> array).
>
Currently we can insert an initializer that performs a multiply in too
small of a type for correctness. For now, detect the problem and avoid
the optimization when this would happen. Eventually I will fix this up
to cause the multiply to be performed in a sufficiently wide type.
Bootstrapped and
Thanks, Andrew!
Bill
On Tue, 2012-08-14 at 14:17 -0700, Andrew Pinski wrote:
> On Tue, Aug 14, 2012 at 2:15 PM, Andrew Pinski wrote:
> > On Tue, Aug 14, 2012 at 2:11 PM, William J. Schmidt
> > wrote:
> >> Replace the once vacuously true, and now vacuously false, test
Replace the once vacuously true, and now vacuously false, test for
existence of a conditional move instruction for a given mode, with one
that actually checks what it's supposed to. Add a test case so we don't
miss such things in future.
The test is powerpc-specific. It would be good to have an
As suggested by Janis regarding testsuite/gcc.dg/tree-ssa/slsr-30.c,
this patch adds a new effective target for machines having long and int
of differing sizes.
Tested on powerpc64-unknown-linux-gnu, where the test passes for -m64
and is skipped for -m32. Ok for trunk?
Thanks,
Bill
doc:
2012-
Fix a thinko in strength reduction. I was checking the type of the
wrong operand to determine whether address arithmetic should be used in
replacing expressions. This produced a spurious POINTER_PLUS_EXPR when
an address was converted to an unsigned long and back again.
Bootstrapped and tested o
On Wed, 2012-08-08 at 19:22 -0700, Janis Johnson wrote:
> On 08/08/2012 06:41 PM, William J. Schmidt wrote:
> > On Wed, 2012-08-08 at 15:35 -0700, Janis Johnson wrote:
> >> On 08/08/2012 03:27 PM, Andrew Pinski wrote:
> >>> On Wed, Aug 8, 2012 at 3:25 PM, H.J. Lu wro
On Wed, 2012-08-08 at 15:35 -0700, Janis Johnson wrote:
> On 08/08/2012 03:27 PM, Andrew Pinski wrote:
> > On Wed, Aug 8, 2012 at 3:25 PM, H.J. Lu wrote:
> >> On Wed, Aug 1, 2012 at 10:36 AM, William J. Schmidt
> >> wrote:
> >>> Greetings,
> >>
Change this test case to use the optimized dump so that the unreliable
vect-details dump can't cause different behavior on different targets.
Verified on powerpc64-unknown-linux-gnu, committed as obvious.
Thanks,
Bill
2012-08-03 Bill Schmidt
* testsuite/gcc.dg/vect/pr53773.c: Change
Greetings,
Thanks for the review of part 2! Here's another chunk of the SLSR code
(I feel I owe you a few beers at this point). This performs analysis
and replacement on groups of related candidates having an SSA name
(rather than a constant) for a stride.
This leaves only the conditional incre
This cleans up terminology in strength reduction. What used to be a
base SSA name is now sometimes other tree expressions, so the term "base
name" is replaced by "base expression" throughout.
Bootstrapped and tested with no new regressions on
powerpc64-unknown-linux-gnu; committed as obvious.
Th
Now that the vectorizer cost model is set up to facilitate per-target
heuristics, I'm revisiting the "density" heuristic I submitted
previously. This allows the vec_permute and vec_promote_demote costs to
be set to their natural values, but inhibits vectorization in cases like
sphinx3 where vector
This fixes the de-canonicalization of commutative GIMPLE operations in
the vectorizer that occurs when processing reductions. A loop_vec_info
is flagged for cleanup when a de-canonicalization has occurred in that
loop, and the cleanup is done when the loop_vec_info is destroyed.
Bootstrapped on p
On Fri, 2012-07-27 at 15:40 +0200, Richard Guenther wrote:
> On Thu, Jul 26, 2012 at 11:57 AM, Steven Bosscher
> wrote:
> > On Thu, Jul 26, 2012 at 11:23 AM, Richard Guenther
> > wrote:
> >> Ok! Thanks for adding this exhaustive documentation.
> >
> > There's more to come! I want to add some ex
On Wed, 2012-07-25 at 13:39 -0600, Sandra Loosemore wrote:
> On 07/17/2012 05:22 AM, Richard Guenther wrote:
> > On Wed, Jul 4, 2012 at 6:35 PM, Sandra Loosemore
> > wrote:
> >>
> >> Ping? Original post with patch is here:
> >>
> >> http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00319.html
> >
> >
On Wed, 2012-07-25 at 09:59 -0700, Richard Henderson wrote:
> On 07/25/2012 09:13 AM, William J. Schmidt wrote:
> > Per Richard Henderson's suggestion
> > (http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01370.html), this patch
> > changes the IVOPTS and straight-line st
Per Richard Henderson's suggestion
(http://gcc.gnu.org/ml/gcc-patches/2012-06/msg01370.html), this patch
changes the IVOPTS and straight-line strength reduction passes to make
use of data computed by init_expmed. This required adding a new
convert_cost array in expmed to store the costs of convert
On Tue, 2012-07-24 at 10:57 +0200, Richard Guenther wrote:
> On Mon, 23 Jul 2012, William J. Schmidt wrote:
>
> > This patch completes the conversion of the vectorizer cost model to use
> > target hooks for recording vectorization information and calculating
> > costs. P
Ping...
On Thu, 2012-06-28 at 16:45 -0500, William J. Schmidt wrote:
> Here's a relatively small piece of strength reduction that solves that
> pesky addressing bug that got me looking at this in the first place...
>
> The main part of the code is the stuff that was review
Here's the patch with documentation changes included. I also cleaned up
missing work from a couple of my previous patches, so
-fhoist-adjacent-loads is documented now, and -fvect-cost-model is added
to the list of options on by default at -O3.
Ok for trunk?
Thanks,
Bill
2012-07-18 Bill Schmid
On Wed, 2012-07-18 at 08:24 -0500, William J. Schmidt wrote:
> On Wed, 2012-07-18 at 11:01 +0200, Richard Guenther wrote:
> > On Wed, 18 Jul 2012, Steven Bosscher wrote:
> >
> > > On Wed, Jul 18, 2012 at 9:59 AM, Richard Guenther
> > > wrote:
> > >
On Wed, 2012-07-18 at 11:01 +0200, Richard Guenther wrote:
> On Wed, 18 Jul 2012, Steven Bosscher wrote:
>
> > On Wed, Jul 18, 2012 at 9:59 AM, Richard Guenther wrote:
> > > On Tue, 17 Jul 2012, William J. Schmidt wrote:
> > >
> > >> I overlooked adding
I overlooked adding a pass-control flag for strength reduction, added
here. I named it -ftree-slsr for consistency with other -ftree- flags,
but could change it to -fgimple-slsr if you prefer that for a pass named
gimple-ssa-...
Bootstrapped and tested on powerpc-unknown-linux-gnu with no new
reg
The auto-vectorizer is overly aggressive when not constrained by the
vectorizer cost model. Although the cost model is by no means perfect,
it does a reasonable job of avoiding many poor vectorization decisions.
Since the auto-vectorizer is enabled by default at -O3 and above, we
should also enabl
Configure with --disable-build-poststage1-with-cxx exposed functions
that should have been marked static. Bootstrapped on
powerpc-unknown-linux-gnu, committed as obvious.
Thanks,
Bill
2012-07-13 Bill Schmidt
PR bootstrap/53955
* config/spu/spu.c (spu_init_cost): Mark static.
On Wed, 2012-07-04 at 10:49 +0200, Richard Guenther wrote:
> On Tue, 3 Jul 2012, William J. Schmidt wrote:
>
> > Hi Richard,
> >
> > Here's a revision incorporating changes addressing your comments. As
> > before it passes bootstrap and regression testing on p
On Tue, 2012-07-03 at 10:00 -0500, William J. Schmidt wrote:
> On Tue, 2012-07-03 at 15:59 +0200, Richard Guenther wrote:
> > On Tue, 3 Jul 2012, William J. Schmidt wrote:
> > > > +@deftypefn {Target Hook} int TARGET_VECTORIZE_FINISH_COST (void
> > > >
Here's a relatively small piece of strength reduction that solves that
pesky addressing bug that got me looking at this in the first place...
The main part of the code is the stuff that was reviewed last year, but
which needed to find a good home. So hopefully that's in pretty good
shape. I reca
Here's a new version of the main strength reduction patch, addressing
previous comments. A couple of quick notes:
* I opened PR53773 and PR53774 for the cases where commutative
operations were encountered with a constant in rhs1. This version of
the patch still has the gcc_asserts in place to ca
On Fri, 2012-06-22 at 10:44 +0200, Richard Guenther wrote:
> On Thu, 21 Jun 2012, William J. Schmidt wrote:
> > I ran into a glitch with multiply_by_const_cost. The original code
> > declared a static htab_t in the function and allocated it on demand.
> > When I tried addin
On Fri, 2012-06-22 at 10:44 +0200, Richard Guenther wrote:
> On Thu, 21 Jun 2012, William J. Schmidt wrote:
>
> > As promised, this breaks out the changes to the IVOPTS cost model and
> > the added function in double-int.c. Please let me know if you would
> > rather see m
As promised, this breaks out the changes to the IVOPTS cost model and
the added function in double-int.c. Please let me know if you would
rather see me attempt to consolidate the IVOPTS logic into expmed.c per
Richard H's suggestion.
I ran into a glitch with multiply_by_const_cost. The original
On Tue, 2012-06-19 at 16:20 +0200, Richard Guenther wrote:
> On Tue, 19 Jun 2012, William J. Schmidt wrote:
>
> > On Tue, 2012-06-19 at 14:48 +0200, Richard Guenther wrote:
> > > On Tue, 19 Jun 2012, William J. Schmidt wrote:
> > >
> > > > I remember hav
On Wed, 2012-06-20 at 11:52 -0700, Richard Henderson wrote:
> On 06/20/2012 04:11 AM, Richard Guenther wrote:
> > I notice (with all of these functions)
> >
> > +unsigned
> > +negate_cost (enum machine_mode mode, bool speed)
> > +{
> > + static unsigned costs[NUM_MACHINE_MODES];
> > + rtx seq;
>
On Wed, 2012-06-20 at 13:11 +0200, Richard Guenther wrote:
> On Thu, Jun 14, 2012 at 3:21 PM, William J. Schmidt
> wrote:
> > Pro forma ping. :)
>
> ;)
>
> I notice (with all of these functions)
>
> +unsigned
> +negate_cost (enum machine_mode mode, bool speed
On Tue, 2012-06-19 at 14:48 +0200, Richard Guenther wrote:
> On Tue, 19 Jun 2012, William J. Schmidt wrote:
>
> > I remember having this discussion, and I was looking for it to check on
> > the details, but I can't seem to find it either in my inbox or in the
> > ar
On Tue, 2012-06-19 at 12:10 +0200, Richard Guenther wrote:
> On Mon, 18 Jun 2012, William J. Schmidt wrote:
>
> > On Mon, 2012-06-18 at 13:49 -0500, William J. Schmidt wrote:
> > > On Mon, 2012-06-11 at 13:40 +0200, Richard Guenther wrote:
> > > > On Fri, 8 J
On Tue, 2012-06-19 at 12:08 +0200, Richard Guenther wrote:
> On Mon, 18 Jun 2012, William J. Schmidt wrote:
>
> > On Mon, 2012-06-11 at 13:40 +0200, Richard Guenther wrote:
> > > On Fri, 8 Jun 2012, William J. Schmidt wrote:
> > >
> >
> > >
>
On Mon, 2012-06-18 at 13:49 -0500, William J. Schmidt wrote:
> On Mon, 2012-06-11 at 13:40 +0200, Richard Guenther wrote:
> > On Fri, 8 Jun 2012, William J. Schmidt wrote:
> >
>
> >
> > Hmm. I don't like this patch or its general idea too much. Instead
>
On Mon, 2012-06-11 at 13:40 +0200, Richard Guenther wrote:
> On Fri, 8 Jun 2012, William J. Schmidt wrote:
>
>
> Hmm. I don't like this patch or its general idea too much. Instead
> I'd like us to move more of the cost model detail to the target, giving
> it a chan
The test case exposes a bug that occurs only when a diamond control flow
pattern has the arguments of the joining phi in a different order from
the successor arcs of the entry block. My logic for setting
bb_for_def[12] was just brain-dead. This cleans that up and also
prevents wasting time examin
Pro forma ping. :)
Thanks,
Bill
On Sun, 2012-04-29 at 18:17 -0500, William J. Schmidt wrote:
> Thought I'd ping http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01225.html
> since it's been about six weeks. Any initial feedback would be very
> much appreciated!
>
> Thanks,
> Bill
This is just some general maintenance to the vectorizer's cost model
code:
* Corrects a typo in a function name;
* Eliminates an unnecessary function;
* Combines some duplicate inline functions.
Bootstrapped and tested on powerpc64-unknown-linux-gnu, no new
regressions. Ok for trunk?
Thanks,
It turns out we have some old machine descriptions that have no L1
cache, so we must account for a zero line size. Regstrapped on
powerpc64-linux-unknown-gnu with no new failures, committed as obvious.
Thanks,
Bill
2012-06-13 Bill Schmidt
PR tree-optimization/53647
* tree-ss
On Wed, 2012-06-13 at 11:26 +0200, Richard Guenther wrote:
> On Tue, 12 Jun 2012, William J. Schmidt wrote:
>
> > This patch is a follow-up to the discussion generated by
> > http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00546.html. I've added
> > vec_construct
This patch is a follow-up to the discussion generated by
http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00546.html. I've added
vec_construct to the cost model for use in vect_model_load_cost, and
implemented a cost calculation that makes sense to me for PowerPC. I'm
less certain about the default,
On Tue, 2012-06-12 at 12:59 +0200, Richard Guenther wrote:
> Btw, with PR53533 I now have a case where multiplications of v4si are
> really expensive on x86 without SSE 4.1. But we only have vect_stmt_cost
> and no further subdivision ...
>
> Thus we'd need a tree_code argument to the cost hook.
OK, once more with feeling... :)
This patch differs from the previous one in two respects: It disables
the optimization when either the then or else edge is well-predicted;
and it now uses the existing l1-cache-line-size parameter instead of a
new one (with updated commentary).
Bootstraps and te
On Mon, 2012-06-11 at 12:11 -0500, William J. Schmidt wrote:
> I found this parameter that seems to correspond to well-predicted
> conditional jumps:
>
> /* When branch is predicted to be taken with probability lower than this
>threshold (in percent), then it is considered w
On Mon, 2012-06-11 at 14:59 +0200, Richard Guenther wrote:
> On Mon, 11 Jun 2012, William J. Schmidt wrote:
>
> > On Mon, 2012-06-11 at 13:28 +0200, Richard Guenther wrote:
> > > On Mon, Jun 4, 2012 at 3:45 PM, William J. Schmidt
> > > wrote:
> > > > Hi
On Mon, 2012-06-11 at 11:09 -0400, David Edelsohn wrote:
> On Mon, Jun 11, 2012 at 10:55 AM, Richard Guenther wrote:
>
> > Well, they are at least magic numbers and heuristics that apply
> > generally and not only to the single issue in sphinx. And in
> > fact how it works for sphinx _is_ magi
On Mon, 2012-06-11 at 16:58 +0200, Richard Guenther wrote:
> On Mon, 11 Jun 2012, Richard Guenther wrote:
>
> > On Mon, 11 Jun 2012, William J. Schmidt wrote:
> >
> > > On Mon, 2012-06-11 at 13:40 +0200, Richard Guenther wrote:
> > > > On Fr
On Mon, 2012-06-11 at 16:10 +0200, Richard Guenther wrote:
> On Mon, 11 Jun 2012, William J. Schmidt wrote:
>
> >
> >
> > On Mon, 2012-06-11 at 11:15 +0200, Richard Guenther wrote:
> > > On Sun, Jun 10, 2012 at 5:58 PM, William J. Schmidt
> > > w
On Mon, 2012-06-11 at 13:40 +0200, Richard Guenther wrote:
> On Fri, 8 Jun 2012, William J. Schmidt wrote:
>
> > This patch adds a heuristic to the vectorizer when estimating the
> > minimum profitable number of iterations. The heuristic is
> > target-dependent, and is cu
On Mon, 2012-06-11 at 11:15 +0200, Richard Guenther wrote:
> On Sun, Jun 10, 2012 at 5:58 PM, William J. Schmidt
> wrote:
> > The fix for PR53331 caused a degradation to 187.facerec on
> > powerpc64-unknown-linux-gnu. The following simple patch reverses the
> > degra
On Mon, 2012-06-11 at 13:28 +0200, Richard Guenther wrote:
> On Mon, Jun 4, 2012 at 3:45 PM, William J. Schmidt
> wrote:
> > Hi Richard,
> >
> > Here's a revision of the hoist-adjacent-loads patch. I'm sorry for the
> > delay since the last revis
The fix for PR53331 caused a degradation to 187.facerec on
powerpc64-unknown-linux-gnu. The following simple patch reverses the
degradation without otherwise affecting SPEC cpu2000 or cpu2006.
Bootstrapped and regtested on that platform with no new regressions. Ok
for trunk?
Thanks,
Bill
2012-
This patch adds a heuristic to the vectorizer when estimating the
minimum profitable number of iterations. The heuristic is
target-dependent, and is currently disabled for all targets except
PowerPC. However, the intent is to make it general enough to be useful
for other targets that want to opt
On Mon, 2012-06-04 at 08:45 -0500, William J. Schmidt wrote:
> Hi Richard,
>
> Here's a revision of the hoist-adjacent-loads patch. I'm sorry for the
> delay since the last revision, but my performance testing has been
> blocked waiting for a fix to PR53487. I ended up
Hi Richard,
Here's a revision of the hoist-adjacent-loads patch. I'm sorry for the
delay since the last revision, but my performance testing has been
blocked waiting for a fix to PR53487. I ended up applying a test
version of the patch to 4.7 and ran performance numbers with that
instead, with n
On Wed, 2012-05-23 at 13:25 +0200, Richard Guenther wrote:
> On Tue, 22 May 2012, William J. Schmidt wrote:
>
> > Here's a revision of the hoist-adjacent-loads patch. Besides hopefully
> > addressing all your comments, I added a gate of at least -O2 for this
> > tr
Here's a revision of the hoist-adjacent-loads patch. Besides hopefully
addressing all your comments, I added a gate of at least -O2 for this
transformation. Let me know if you prefer a different minimum opt
level.
I'm still running SPEC tests to make sure there are no regressions when
opening th
On Mon, 2012-05-21 at 14:17 +0200, Richard Guenther wrote:
> On Thu, May 3, 2012 at 4:33 PM, William J. Schmidt
> wrote:
> > This patch was posted for comment back in February during stage 4. It
> > addresses a performance issue noted in the EEMBC routelookup benchmark
>
This repairs the bootstrap issue due to unsafe signed overflow
assumptions. Bootstrapped and tested on powerpc64-unknown-linux-gnu
with no new regressions. Ok for trunk?
Thanks,
Bill
2012-05-18 Bill Schmidt
* config/rs6000/rs6000.c (print_operand): Revise code that unsafely
This patch gives up on using the reassociation rank algorithm to
correctly place __builtin_powi calls and their feeding multiplies. In
the end this proved to introduce more complexity than it saved, due in
part to the poor fit of introducing DAG expressions into the
reassociated operand tree. Thi
On Tue, 2012-05-15 at 14:17 +0200, Richard Guenther wrote:
> This is the first patch to make the generated code for the testcase
> in PR53355 better. It teaches VRP about LSHIFT_EXPRs (albeit only
> of a very simple form).
>
> Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
This a
Ping.
Thanks,
Bill
On Thu, 2012-05-03 at 09:33 -0500, William J. Schmidt wrote:
> This patch was posted for comment back in February during stage 4. It
> addresses a performance issue noted in the EEMBC routelookup benchmark
> on a common idiom:
>
> if (...)
> x =
On Wed, 2012-05-16 at 14:05 +0200, Richard Guenther wrote:
> On Wed, 16 May 2012, William J. Schmidt wrote:
>
> > On Wed, 2012-05-16 at 11:45 +0200, Richard Guenther wrote:
> > > On Tue, 15 May 2012, William J. Schmidt wrote:
> > >
> > > > Ping.
&
On Wed, 2012-05-16 at 11:45 +0200, Richard Guenther wrote:
> On Tue, 15 May 2012, William J. Schmidt wrote:
>
> > Ping.
>
> I don't like it too much - but pondering a bit over it I can't find
> a nicer solution.
>
> So, ok.
>
> Thanks,
> Richard
Ping.
Thanks,
Bill
On Tue, 2012-05-08 at 22:04 -0500, William J. Schmidt wrote:
> This fixes another statement-placement issue when reassociating
> expressions with repeated factors. Multiplies feeding into
> __builtin_powi calls were not getting placed properly ahead of them in
>
On Thu, 2012-05-10 at 18:49 +0200, Jakub Jelinek wrote:
> On Thu, May 10, 2012 at 11:44:27AM -0500, William J. Schmidt wrote:
> > Backporting this patch to 4.7 fixes a problem building Fedora 17.
> > Bootstrapped and regression tested on powerpc64-unknown-linux-gnu. Is
>
Backporting this patch to 4.7 fixes a problem building Fedora 17.
Bootstrapped and regression tested on powerpc64-unknown-linux-gnu. Is
the backport OK?
Thanks,
Bill
2012-05-10 Bill Schmidt
Backport from trunk:
2012-03-12 Richard Guenther
* tree.c (signed_or_unsi
This fixes another statement-placement issue when reassociating
expressions with repeated factors. Multiplies feeding into
__builtin_powi calls were not getting placed properly ahead of them in
some cases.
Bootstrapped and tested on powerpc64-unknown-linux-gnu with no new
regressions. I've also
On Thu, 2012-05-03 at 11:44 -0600, Jeff Law wrote:
> On 05/03/2012 10:47 AM, William J. Schmidt wrote:
> >>
> > Yes and no. What's important is that you don't want to introduce page
> > faults (or less urgently, cache misses) by speculating the load. So th
On Thu, 2012-05-03 at 09:40 -0600, Jeff Law wrote:
> On 05/03/2012 08:33 AM, William J. Schmidt wrote:
> > This patch was posted for comment back in February during stage 4. It
> > addresses a performance issue noted in the EEMBC routelookup benchmark
> > on a common
This patch was posted for comment back in February during stage 4. It
addresses a performance issue noted in the EEMBC routelookup benchmark
on a common idiom:
if (...)
x = y->left;
else
x = y->right;
If the two loads can be hoisted out of the if/else, the if/else can be
replaced by
On Mon, 2012-04-30 at 20:22 -0700, Andrew Pinski wrote:
> Hi,
> This patch improves the expansion of COND_EXPR into RTL, directly
> using conditional moves.
> I had to fix a bug in the x86 backend where emit_conditional_move
> could cause a crash as we had a comparison mode of DImode which is not
Thought I'd ping http://gcc.gnu.org/ml/gcc-patches/2012-03/msg01225.html
since it's been about six weeks. Any initial feedback would be very
much appreciated!
Thanks,
Bill
This fixes an error wherein a nontrivial expression oassed to an Altivec
built-in results in an ICE, following Joseph Myers's suggested approach
in the bugzilla.
Bootstrapped and tested with no new regressions on
powerpc64-unknown-linux-gnu. Ok for trunk?
Thanks,
Bill
gcc:
2012-04-24 Bill Sc
On Mon, 2012-04-23 at 11:09 +0200, Richard Guenther wrote:
> On Fri, 20 Apr 2012, William J. Schmidt wrote:
>
> > On Fri, 2012-04-20 at 11:32 -0700, H.J. Lu wrote:
> > > On Thu, Apr 19, 2012 at 6:58 PM, William J. Schmidt
> > > wrote:
> > > > This
On Fri, 2012-04-20 at 11:32 -0700, H.J. Lu wrote:
> On Thu, Apr 19, 2012 at 6:58 PM, William J. Schmidt
> wrote:
> > This enhances constant folding for division by complex and vector
> > constants. When -freciprocal-math is present, such divisions are
> > converte
On Fri, 2012-04-20 at 10:04 +0200, Richard Guenther wrote:
> On Thu, 19 Apr 2012, William J. Schmidt wrote:
>
> > This enhances constant folding for division by complex and vector
> > constants. When -freciprocal-math is present, such divisions are
> > converted into mu
This enhances constant folding for division by complex and vector
constants. When -freciprocal-math is present, such divisions are
converted into multiplies by the constant reciprocal. When an exact
reciprocal is available, this is done for vector constants when
optimizing. I did not implement l
The emergency patch for PR52976 manipulated the operand rank system to
force inserted __builtin_powi calls to occur before uses of the call
results. However, this is generally the wrong approach, as it forces
other computations to move unnecessarily, and extends the lifetimes of
other operands.
T
The emergency reassociation patch for PR52976 disabled un-distribution
in the presence of repeated factors to avoid ICEs in zero_one_operation.
This patch fixes such cases properly by teaching zero_one_operation
about __builtin_pow* calls.
Bootstrapped with no new regressions on powerpc64-linux.
On Mon, 2012-04-16 at 11:01 +0200, Richard Guenther wrote:
> On Sat, Apr 14, 2012 at 7:05 PM, William J. Schmidt
> wrote:
> > This patch corrects two errors in reassociating expressions with
> > repeated factors. First, undistribution needs to recognize repeated
> > fac
This patch corrects two errors in reassociating expressions with
repeated factors. First, undistribution needs to recognize repeated
factors. For now, repeated factors will be ineligible for this
optimization. In the future, this can be improved. Second, when a
__builtin_powi call is introduced
On Thu, 2012-04-12 at 09:50 -0700, H.J. Lu wrote:
> On Thu, Apr 5, 2012 at 6:49 AM, William J. Schmidt
> wrote:
> > On Thu, 2012-04-05 at 11:23 +0200, Richard Guenther wrote:
> >> On Wed, Apr 4, 2012 at 9:15 PM, William J. Schmidt
> >> wrote:
> >>
On Thu, 2012-04-12 at 09:50 -0700, H.J. Lu wrote:
> On Thu, Apr 5, 2012 at 6:49 AM, William J. Schmidt
> wrote:
> > On Thu, 2012-04-05 at 11:23 +0200, Richard Guenther wrote:
> >> On Wed, Apr 4, 2012 at 9:15 PM, William J. Schmidt
> >> wrote:
> >>
On Thu, 2012-04-05 at 11:23 +0200, Richard Guenther wrote:
> On Wed, Apr 4, 2012 at 9:15 PM, William J. Schmidt
> wrote:
> >
> > Unfortunately this seems to be necessary if I name the two passes
> > "reassoc1" and "reassoc2". If I try to name both o
On Thu, 2012-04-05 at 11:30 +0200, Richard Guenther wrote:
> On Thu, Apr 5, 2012 at 6:22 AM, Mike Stump wrote:
> > On Apr 4, 2012, at 7:56 PM, William J. Schmidt wrote:
> >> There seems to be tacit agreement that the vector tests should use
> >> -fno-common on all
There seems to be tacit agreement that the vector tests should use
-fno-common on all targets to avoid the recent spate of failures (see
discussion in 52571 and 52603). This patch (proposed by Dominique
D'Humieures) does just that. I agreed to shepherd the patch through.
I've verified that it rem
1 - 100 of 217 matches
Mail list logo