r255593 - in /trunk/gcc: ChangeLog gimple-ssa-e...

law@gcc.gnu.org law@gcc.gnu.org
Tue Dec 12 22:46:00 GMT 2017


Author: law
Date: Tue Dec 12 22:46:46 2017
New Revision: 255593

URL: https://gcc.gnu.org/viewcvs?rev=255593&root=gcc&view=rev
Log:
	PR tree-optimization/83298
	PR tree-optimization/83362
	PR tree-optimization/83383
	* gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Make
	push_value_range a public interface.  Add new argument to
	record_ranges_from_stmt.
	* gimple-ssa-evrp-analyze.c
	(evrp_range_analyzer::record_ranges_from_stmt): Add new argument.
	Update comments.  Handle recording temporary equivalences.
	* tree-ssa-dom.c (dom_opt_opt_walker::before_dom_children): Add
	new argument to call to evrp_range_analyzer::record_ranges_from_stmt.
	* gimple-ssa-evrp.c (evrp_dom_walker::before_dom_children): Likewise.
	* tree-ssa-threadedge.c: Include alloc-pool.h, vr-values.h and
	gimple-ssa-evrp-analyze.h.
	(record_temporary_equivalences_from_phis): Add new argument.  When
	the PHI arg is an SSA_NAME, set the result's range to the range
	of the PHI arg.
	(record_temporary_equivalences_from_stmts_at_dest): Record ranges
	from statements too.
	(thread_through_normal_block): Accept new argument, evrp_range_analyzer.
	Pass it down to children as needed.
	(thread_outgoing_edges): Likewise.
	(thread_across_edge): Likewise.   Push/pop range state as needed.
	* tree-ssa-threadedge.h (thread_outgoing_edges): Update prototype.

	PR tree-optimization/83298
	PR tree-optimization/83362
	PR tree-optimization/83383
	* gcc.c-torture/execute/pr83298.c: New test.
	* gcc.c-torture/execute/pr83362.c New test.
	* gcc.c-torture/execute/pr83383.c New test.

Added:
    trunk/gcc/testsuite/gcc.c-torture/execute/pr83298.c
    trunk/gcc/testsuite/gcc.c-torture/execute/pr83362.c
    trunk/gcc/testsuite/gcc.c-torture/execute/pr83383.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/gimple-ssa-evrp-analyze.c
    trunk/gcc/gimple-ssa-evrp-analyze.h
    trunk/gcc/gimple-ssa-evrp.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-ssa-dom.c
    trunk/gcc/tree-ssa-threadedge.c
    trunk/gcc/tree-ssa-threadedge.h
    trunk/gcc/tree-vrp.c



More information about the Gcc-cvs mailing list