public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/22501] New: tramp3d-v4 missed optimizations
@ 2005-07-15 13:23 rguenth at gcc dot gnu dot org
2005-07-15 13:24 ` [Bug tree-optimization/22501] " rguenth at gcc dot gnu dot org
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-07-15 13:23 UTC (permalink / raw)
To: gcc-bugs
Meta-bug to track (still) missed optimizations in tramp3d-v4 testcase
and so in FreePOOMA library using code.
Full tramp3d-v4 can be fetched from
http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/tramp3d-v4.cpp.gz
attached is a reduced testcase (compile-time only), which instantiates
one of the expression kernels representative for the application. Look
at
;; Function void MultiArgKernel<MultiArg, Function>::run() [with MultiArg = Mult
iArg2<Field<UniformRectilinearMesh<MeshTraits<3, double, UniformRectilinearTag,
CartesianTag, 3> >, double, BrickViewU>, Field<UniformRectilinearMesh<MeshTraits
<3, double, UniformRectilinearTag, CartesianTag, 3> >, double, BrickViewU> >, Fu
nction = EvaluateLocLoop<Adv5::Ekin<3>, 3>] (_ZN14MultiArgKernelI9MultiArg2I5Fie
ldI22UniformRectilinearMeshI10MeshTraitsILi3Ed21UniformRectilinearTag12Cartesian
TagLi3EEEd10BrickViewUES9_E15EvaluateLocLoopIN4Adv54EkinILi3EEELi3EEE3runEv)
preferably compile with "-O2 -Dleafify=flatten".
--
Summary: tramp3d-v4 missed optimizations
Product: gcc
Version: 4.1.0
Status: UNCONFIRMED
Keywords: missed-optimization
Severity: normal
Priority: P2
Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22501] tramp3d-v4 missed optimizations
2005-07-15 13:23 [Bug tree-optimization/22501] New: tramp3d-v4 missed optimizations rguenth at gcc dot gnu dot org
@ 2005-07-15 13:24 ` rguenth at gcc dot gnu dot org
2005-07-15 13:29 ` [Bug tree-optimization/22501] [meta-bug] " pinskia at gcc dot gnu dot org
` (2 subsequent siblings)
3 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-07-15 13:24 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rguenth at gcc dot gnu dot org 2005-07-15 13:23 -------
Created an attachment (id=9279)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9279&action=view)
reduced compile-time testcase
testcase
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22501] [meta-bug] tramp3d-v4 missed optimizations
2005-07-15 13:23 [Bug tree-optimization/22501] New: tramp3d-v4 missed optimizations rguenth at gcc dot gnu dot org
2005-07-15 13:24 ` [Bug tree-optimization/22501] " rguenth at gcc dot gnu dot org
@ 2005-07-15 13:29 ` pinskia at gcc dot gnu dot org
2005-07-15 13:32 ` rguenth at gcc dot gnu dot org
2005-07-18 14:52 ` rguenth at gcc dot gnu dot org
3 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-15 13:29 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
Severity|normal |enhancement
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Keywords| |meta-bug
Last reconfirmed|0000-00-00 00:00:00 |2005-07-15 13:24:27
date| |
Summary|tramp3d-v4 missed |[meta-bug] tramp3d-v4 missed
|optimizations |optimizations
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22501] [meta-bug] tramp3d-v4 missed optimizations
2005-07-15 13:23 [Bug tree-optimization/22501] New: tramp3d-v4 missed optimizations rguenth at gcc dot gnu dot org
2005-07-15 13:24 ` [Bug tree-optimization/22501] " rguenth at gcc dot gnu dot org
2005-07-15 13:29 ` [Bug tree-optimization/22501] [meta-bug] " pinskia at gcc dot gnu dot org
@ 2005-07-15 13:32 ` rguenth at gcc dot gnu dot org
2005-07-18 14:52 ` rguenth at gcc dot gnu dot org
3 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-07-15 13:32 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From rguenth at gcc dot gnu dot org 2005-07-15 13:29 -------
One easy to locate problem (and possibly the one blocking other optimizers
like IVOPTs do anything useful) is aliasing. From the .vars dump we can see
<L2>:;
D.215486.D.81558.D.81253.domain_m[0].D.80426.D.50706.D.50587.domain_m = i0.4405;
D.215486.D.81558.D.81253.domain_m[1].D.80426.D.50706.D.50587.domain_m = i1.4406;
D.215486.D.81558.D.81253.domain_m[2].D.80426.D.50706.D.50587.domain_m = i2;
D.215914 = D.215486.D.81558.D.81253.domain_m[0].D.80426.D.50706.D.50587.domain_m;
D.215816 = D.215486.D.81558.D.81253.domain_m[1].D.80426.D.50706.D.50587.domain_m;
D.215629 = *(D.215772 + (double *) ((unsigned int) (D.215808 + D.215914 +
D.215816 * D.215806) * 8));
The structure containing an 3-dimensional index into an array D.215486 is
assigned from the integer variables i0, i1, i2 which control a three-level
nested loops. You can see easily that in the inner loop (whose head you
can see) operations on indices i1 and i2 are not hoisted out of the loop
because aliasing thinks the stores to the structure alias. Which also
causes us not to propagate the assignments from i0, i1, i2 to the final
use in the memory access.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22501] [meta-bug] tramp3d-v4 missed optimizations
2005-07-15 13:23 [Bug tree-optimization/22501] New: tramp3d-v4 missed optimizations rguenth at gcc dot gnu dot org
` (2 preceding siblings ...)
2005-07-15 13:32 ` rguenth at gcc dot gnu dot org
@ 2005-07-18 14:52 ` rguenth at gcc dot gnu dot org
3 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-07-18 14:52 UTC (permalink / raw)
To: gcc-bugs
--
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |22548
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22501] [meta-bug] tramp3d-v4 missed optimizations
[not found] <bug-22501-4@http.gcc.gnu.org/bugzilla/>
2015-03-26 3:15 ` hubicka at gcc dot gnu.org
@ 2015-03-26 10:54 ` rguenth at gcc dot gnu.org
1 sibling, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-26 10:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
No, let's just close this.
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22501] [meta-bug] tramp3d-v4 missed optimizations
[not found] <bug-22501-4@http.gcc.gnu.org/bugzilla/>
@ 2015-03-26 3:15 ` hubicka at gcc dot gnu.org
2015-03-26 10:54 ` rguenth at gcc dot gnu.org
1 sibling, 0 replies; 10+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-26 3:15 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu.org
--- Comment #6 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Do we still need this given that all PRs are fixed?
Or shall we attach more bugs here, like the compile time/unrolling before
inlining and other issues?
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22501] [meta-bug] tramp3d-v4 missed optimizations
[not found] <bug-22501-10053@http.gcc.gnu.org/bugzilla/>
2005-11-30 20:55 ` rguenth at gcc dot gnu dot org
2006-01-14 14:30 ` rguenth at gcc dot gnu dot org
@ 2006-02-25 20:15 ` pinskia at gcc dot gnu dot org
2 siblings, 0 replies; 10+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-02-25 20:15 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from pinskia at gcc dot gnu dot org 2006-02-25 20:09 -------
PR 19431 shows up in tramp3d.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |19431
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22501] [meta-bug] tramp3d-v4 missed optimizations
[not found] <bug-22501-10053@http.gcc.gnu.org/bugzilla/>
2005-11-30 20:55 ` rguenth at gcc dot gnu dot org
@ 2006-01-14 14:30 ` rguenth at gcc dot gnu dot org
2006-02-25 20:15 ` pinskia at gcc dot gnu dot org
2 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-01-14 14:30 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from rguenth at gcc dot gnu dot org 2006-01-14 14:30 -------
Subject: Bug 22501
Author: rguenth
Date: Sat Jan 14 14:30:33 2006
New Revision: 109703
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109703
Log:
2006-01-14 Richard Guenther <rguenther@suse.de>
PR tree-optimization/22548
PR tree-optimization/22555
PR tree-optimization/22501
* Makefile.in (tree-ssa-structalias.o): Depend on $(PARAMS_H).
* params.def (salias-max-array-elements): New parameter.
* params.h (SALIAS_MAX_ARRAY_ELEMENTS): Define.
* doc/invoke.texi (salias-max-array-elements): Document.
* tree-flow-inline.h (var_can_have_subvars): We also handle
arrays now.
* tree-ssa-alias.c (find_used_portions): Handle ARRAY_REF like
COMPONENT_REF.
* tree-ssa-structalias.c (params.h): Include.
(push_fields_onto_fieldstack): Handle ARRAY_TYPE.
(find_func_aliases): Handle multiple constraints from ARRAY_REF.
(get_constraint_for): For ADDR_EXPR operating on something
containing an ARRAY_REF, add all subvars to the solution.
(handle_ptr_arith): Handle ARRAY_TYPE like RECORD_TYPE types.
* tree-ssa-operands.c (parse_ssa_operands): Handle ARRAY_REF
for creating MUST_DEFs.
(get_expr_operands): Treat ARRAY_REF like COMPONENT_REF wrt subvars.
* gcc.dg/tree-ssa/alias-4.c: New testcase.
* gcc.dg/tree-ssa/alias-5.c: Likewise.
* gcc.dg/tree-ssa/alias-6.c: Likewise.
* gcc.dg/tree-ssa/alias-7.c: Likewise.
* gcc.dg/tree-ssa/alias-8.c: Likewise.
* gcc.dg/tree-ssa/alias-9.c: Likewise.
* gcc.dg/tree-ssa/alias-10.c: Likewise.
* gcc.dg/tree-ssa/alias-11.c: Likewise.
* gcc.dg/tree-ssa/alias-12.c: Likewise.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-10.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-11.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-12.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-5.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-6.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-7.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-8.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/alias-9.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/doc/invoke.texi
trunk/gcc/params.def
trunk/gcc/params.h
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-flow-inline.h
trunk/gcc/tree-ssa-alias.c
trunk/gcc/tree-ssa-operands.c
trunk/gcc/tree-ssa-structalias.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug tree-optimization/22501] [meta-bug] tramp3d-v4 missed optimizations
[not found] <bug-22501-10053@http.gcc.gnu.org/bugzilla/>
@ 2005-11-30 20:55 ` rguenth at gcc dot gnu dot org
2006-01-14 14:30 ` rguenth at gcc dot gnu dot org
2006-02-25 20:15 ` pinskia at gcc dot gnu dot org
2 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-11-30 20:55 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from rguenth at gcc dot gnu dot org 2005-11-30 20:55 -------
Subject: Bug 22501
Author: rguenth
Date: Wed Nov 30 20:55:41 2005
New Revision: 107737
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=107737
Log:
2005-11-30 Richard Guenther <rguenther@suse.de>
PR tree-optimization/22501
* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New
function split out from ...
(forward_propagate_addr_expr): ... here. Use it to propagate
ADDR_EXPRs to all uses.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/tree-ssa-forwprop.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22501
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-03-26 8:56 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-15 13:23 [Bug tree-optimization/22501] New: tramp3d-v4 missed optimizations rguenth at gcc dot gnu dot org
2005-07-15 13:24 ` [Bug tree-optimization/22501] " rguenth at gcc dot gnu dot org
2005-07-15 13:29 ` [Bug tree-optimization/22501] [meta-bug] " pinskia at gcc dot gnu dot org
2005-07-15 13:32 ` rguenth at gcc dot gnu dot org
2005-07-18 14:52 ` rguenth at gcc dot gnu dot org
[not found] <bug-22501-10053@http.gcc.gnu.org/bugzilla/>
2005-11-30 20:55 ` rguenth at gcc dot gnu dot org
2006-01-14 14:30 ` rguenth at gcc dot gnu dot org
2006-02-25 20:15 ` pinskia at gcc dot gnu dot org
[not found] <bug-22501-4@http.gcc.gnu.org/bugzilla/>
2015-03-26 3:15 ` hubicka at gcc dot gnu.org
2015-03-26 10:54 ` rguenth at gcc dot gnu.org
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).