This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/38721] [alias-improvements] vectorizer miscompiles gfortran.fortran-torture/execute/elemental.f90 at -O3
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Jan 2009 12:29:59 -0000
- Subject: [Bug tree-optimization/38721] [alias-improvements] vectorizer miscompiles gfortran.fortran-torture/execute/elemental.f90 at -O3
- References: <bug-38721-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from rguenth at gcc dot gnu dot org 2009-01-08 12:29 -------
Subject: Bug 38721
Author: rguenth
Date: Thu Jan 8 12:29:46 2009
New Revision: 143185
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=143185
Log:
2009-01-07 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38721
* tree-into-ssa.c (pass_build_ssa): Add TODO_update_address_taken.
* tree-pass.h (TODO_update_address_taken): New flag.
* tree-ssa-loop.c (tree_ssa_loop_ivopts): Update address-taken.
* tree-ssa.c (execute_update_addresses_taken): Optimize only when
optimizing.
(pass_update_address_taken): Just use TODO_update_address_taken.
* tree-flow.h (execute_update_addresses_taken): Update prototype.
* tree-cfg.c (verify_expr): Verify that stmt addresses-taken and
function addressable-vars are conservatively correct.
(verify_stmt): Initialize gsi of walk data.
* tree-inline.c (optimize_inline_calls): Execute
TODO_update_address_taken.
(tree_function_versioning): Call execute_update_addresses_taken.
* passes.c (execute_function_todo): Handle TODO_update_address_taken.
(init_optimization_passes): Remove redundant update-address-taken pass
after final inlining.
* tree-parloops.c (parallelize_loops): Call
execute_update_addresses_taken.
* tree-vectorizer.c (vectorize_loops): Likewise.
Modified:
branches/alias-improvements/gcc/ChangeLog.alias
branches/alias-improvements/gcc/passes.c
branches/alias-improvements/gcc/tree-cfg.c
branches/alias-improvements/gcc/tree-flow.h
branches/alias-improvements/gcc/tree-inline.c
branches/alias-improvements/gcc/tree-into-ssa.c
branches/alias-improvements/gcc/tree-parloops.c
branches/alias-improvements/gcc/tree-pass.h
branches/alias-improvements/gcc/tree-ssa-loop.c
branches/alias-improvements/gcc/tree-ssa.c
branches/alias-improvements/gcc/tree-vectorizer.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38721