public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/6 v2] PR/63679 Make SRA scalarize constant-pool loads
@ 2015-10-29 19:22 Alan Lawrence
  2015-10-29 19:20 ` [PATCH 1/6]tree-ssa-dom.c: Normalize exprs, starting with ARRAY_REF to MEM_REF Alan Lawrence
                   ` (5 more replies)
  0 siblings, 6 replies; 26+ messages in thread
From: Alan Lawrence @ 2015-10-29 19:22 UTC (permalink / raw)
  To: gcc-patches

This is a revision of previous series at
https://gcc.gnu.org/ml/gcc-patches/2015-08/msg01485.html , and follows on from
the first two patches of that series, which have been pushed already.

A few things have happened since. The previous patch 3, making SRA generate
ARRAY_REFS, is removed. As Martin comments, it seems unfair to make SRA work
around this limitation of DOM, so instead the first two patches extend DOM to
understand this equivalence. Richi suggested that we might want a normalization
pass to convert all ARRAY_REFs to MEM_REFS, and while that would have
advantages, this simpler approach is enough to persuade DOM to optimize the
MEM_REFS produced by SRA with array accesses, even when the vectorizer
intervenes. Moreover we can apply more normalizations in DOM than would be
permissible elsewhere, even if these two patches are only a small step towards
that.

A number of other changes followed, with most problems coming from Ada, specifically on ARM.

I intend to follow up with changes to the heuristics and gimplification code,
moving heuristics from gimplify_init_constructor to SRA, but this series as it
is fixes PR/63679 (with the --param), and it is not certain I will be able to
tackle said heuristics in time for gcc 6.

I've tested each patch (in sequence supplied) with

Bootstrap + check-gcc,g++,ada,fortran on x86_64 and ARM;
Bootstrap + check-gcc,g++,fortran on AArch64.

And also tested that the ssa-dom-cse-2.c scan-tree-dump test is fixed on hppa, ppc64le, sparc, alpha, s390.

Are these OK for trunk?

Cheers, Alan

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2015-11-06 21:19 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-29 19:22 [PATCH 0/6 v2] PR/63679 Make SRA scalarize constant-pool loads Alan Lawrence
2015-10-29 19:20 ` [PATCH 1/6]tree-ssa-dom.c: Normalize exprs, starting with ARRAY_REF to MEM_REF Alan Lawrence
2015-10-30  5:39   ` Jeff Law
2015-10-30  9:21     ` Richard Biener
2015-11-03 10:27     ` Alan Lawrence
2015-11-03 11:13       ` Alan Lawrence
2015-11-03 11:49         ` Richard Biener
2015-10-29 19:21 ` [PATCH 2/6] tree-ssa-dom.c: Normalize data types in MEM_REFs Alan Lawrence
2015-10-29 19:22 ` [PATCH 5/6]tree-sra.c: Fix completely_scalarize for negative array indices Alan Lawrence
2015-10-30 10:54   ` Richard Biener
2015-10-30 10:55     ` Eric Botcazou
2015-11-05 13:22       ` Alan Lawrence
2015-11-06 12:30         ` Richard Biener
2015-10-29 19:22 ` [PATCH 4/6][Trivial] tree-sra.c: A few comment fixes/additions Alan Lawrence
2015-10-30  5:35   ` Jeff Law
2015-10-29 19:22 ` [PATCH 3/6] Share code from fold_array_ctor_reference with fold Alan Lawrence
2015-10-30  9:25   ` Richard Biener
2015-11-03  3:20   ` Jeff Law
2015-11-04 14:35     ` Alan Lawrence
2015-11-06 21:19       ` Jeff Law
2015-10-29 19:32 ` [PATCH 6/6] Make SRA replace constant-pool loads Alan Lawrence
2015-10-31 23:48   ` Bernhard Reutner-Fischer
2015-11-03 14:01   ` Richard Biener
2015-11-05 18:55     ` Alan Lawrence
2015-11-06 10:25       ` Eric Botcazou
2015-11-06 16:29       ` Richard Biener

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).