re PR c/91526 (Unnecessary SSE and other instructions generated when compiling in C mode (vs. C++ mode))

2019-08-26  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/91526
	* passes.def: Note that after late FRE we do TODO_update_address_taken.
	* tree-ssa-sccvn.c (pass_fre::execute): In late mode schedule
	TODO_update_address_taken.

From-SVN: r274922
This commit is contained in:
Richard Biener 2019-08-26 09:29:07 +00:00 committed by Richard Biener
parent 20e7012b75
commit bf05a3bbb5
3 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2019-08-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/91526
* passes.def: Note that after late FRE we do TODO_update_address_taken.
* tree-ssa-sccvn.c (pass_fre::execute): In late mode schedule
TODO_update_address_taken.
2019-08-26 Gerald Pfeifer <gerald@pfeifer.com>
* config/i386/gmm_malloc.h: Only use <errno.h> and errno if

View File

@ -313,6 +313,8 @@ along with GCC; see the file COPYING3. If not see
NEXT_PASS (pass_split_paths);
NEXT_PASS (pass_tracer);
NEXT_PASS (pass_fre, false /* may_iterate */);
/* After late FRE we rewrite no longer addressed locals into SSA
form if possible. */
NEXT_PASS (pass_thread_jumps);
NEXT_PASS (pass_dominator, false /* may_peel_loop_headers_p */);
NEXT_PASS (pass_strlen);

View File

@ -7312,6 +7312,11 @@ pass_fre::execute (function *fun)
if (iterate_p)
loop_optimizer_finalize ();
/* For late FRE after IVOPTs and unrolling, see if we can
remove some TREE_ADDRESSABLE and rewrite stuff into SSA. */
if (!may_iterate)
todo |= TODO_update_address_taken;
return todo;
}