This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] TREE-SSA remove redundant condition checks in get_default_value


In function get_default_value of tree-ssa-ccp.c,
261   else if (is_gimple_assign (stmt)
262            /* Value-returning GIMPLE_CALL statements assign to
263               a variable, and are treated similarly to GIMPLE_ASSIGN.  */
264            || (is_gimple_call (stmt)
265                && gimple_call_lhs (stmt) != NULL_TREE)
266            || gimple_code (stmt) == GIMPLE_PHI)
267     {
268       tree cst;
269       if (gimple_assign_single_p (stmt)
270           && DECL_P (gimple_assign_rhs1 (stmt))
271           && (cst = get_symbol_constant_value (gimple_assign_rhs1 (stmt))))
272         {
273           val.lattice_val = CONSTANT;
274           val.value = cst;
275         }
276       else
277         /* Any other variable defined by an assignment or a PHI node
278            is considered UNDEFINED.  */
279         val.lattice_val = UNDEFINED;
if the stmt is a gimple call node or a gimple phi node, it will never satisfy
the condition gimple_assign_single_p (stmt). so there exists redundant condition
checks. The patch attached try to remove this.


Bootstrap passed. Regression tested on x86_64-unknown-linux-gnu (pc).

ChangeLog:
2013-08-13  Zhouyi Zhou  <yizhouzhou@ict.ac.cn>
	* tree-ssa-ccp.c (get_default_value): remove redundant condition checks	


-- 
Zhouyi Zhou <yizhouzhou@ict.ac.cn>

Attachment: patch.txt
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]