From 04f427c7aa9f2d53b1cfe18704857dc74bd5dd0b Mon Sep 17 00:00:00 2001
From: law <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Fri, 13 Jan 2017 15:42:08 +0000
Subject:         PR tree-optimization/33562         PR tree-optimization/61912
         PR tree-optimization/77485 	* doc/invoke.texi: Document new
 dse-max-object-size param. 	* params.def (PARM_DSE_MAX_OBJECT_SIZE): New
 PARAM. 	* tree-ssa-dse.c: Include params.h. 	(dse_store_status):
 New enum. 	(initialize_ao_ref_for_dse): New, partially extracted from 
 dse_optimize_stmt. 	(valid_ao_ref_for_dse, normalize_ref): New. 
 (setup_live_bytes_from_ref, compute_trims): Likewise. 
 (clear_bytes_written_by, maybe_trim_complex_store): Likewise. 
 (maybe_trim_partially_dead_store): Likewise. 	(maybe_trim_complex_store):
 Likewise. 	(dse_classify_store): Renamed from dse_possibly_dead_store_p. 
 Track what bytes live from the original store.  Return tri-state 	for
 dead, partially dead or live. 	(dse_dom_walker): Add constructor, destructor
 and new private members. 	(delete_dead_call, delete_dead_assignment):
 New extracted from 	dse_optimize_stmt. 	(dse_optimize_stmt): Make a
 member of dse_dom_walker. 	Use initialize_ao_ref_for_dse.

        PR tree-optimization/33562
        PR tree-optimization/61912
        PR tree-optimization/77485
	* gcc.dg/tree-ssa/complex-4.c: Remove xfail.
	* gcc.dg/tree-ssa/complex-5.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dse-18.c: New test.
	* gcc.dg/tree-ssa/ssa-dse-19.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dse-20.c: Likewise.
	* gcc.dg/tree-ssa/ssa-dse-21.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@244442 138bc75d-0d04-0410-961f-82ee72b054a4

Conflicts:
	gcc/ChangeLog
	gcc/doc/invoke.texi
	gcc/params.def
	gcc/testsuite/ChangeLog
	gcc/tree-ssa-dse.c
---
 gcc/params.def | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'gcc/params.def')

diff --git a/gcc/params.def b/gcc/params.def
index 9e05401f028..4f68f75aff0 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -520,6 +520,11 @@ DEFPARAM(PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND,
 	 "If number of candidates in the set is smaller, we always try to remove unused ivs during its optimization.",
 	 10, 0, 0)
 
+DEFPARAM(PARAM_DSE_MAX_OBJECT_SIZE,
+	 "dse-max-object-size",
+	 "Maximum size (in bytes) of objects tracked bytewise by dead store elimination.",
+	 256, 0, 0)
+
 DEFPARAM(PARAM_SCEV_MAX_EXPR_SIZE,
  	 "scev-max-expr-size",
 	 "Bound on size of expressions used in the scalar evolutions analyzer.",
-- 
cgit v1.2.3

