re PR tree-optimization/50763 (ICE: verify_gimple failed: missing PHI def with -ftree-tail-merge)

2011-10-26  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/50763
	* tree-ssa-tail-merge.c (replace_block_by): Update vops if phi_vuse1 or
	phi_vuse2 is NULL_TREE only if bb1 dominates or is dominated by bb2.

From-SVN: r180518
This commit is contained in:
Tom de Vries 2011-10-26 09:33:49 +00:00 committed by Tom de Vries
parent f31c001887
commit 9e1d5f491f
2 changed files with 12 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2011-10-26 Tom de Vries <tom@codesourcery.com>
PR tree-optimization/50763
* tree-ssa-tail-merge.c (replace_block_by): Update vops if phi_vuse1 or
phi_vuse2 is NULL_TREE only if bb1 dominates or is dominated by bb2.
2011-10-26 Richard Guenther <rguenther@suse.de>
PR lto/41844

View file

@ -1551,7 +1551,12 @@ replace_block_by (basic_block bb1, basic_block bb2, bool update_vops)
phi_vuse1 = vop_at_entry (bb1);
/* If both are not found, it means there's no need to update. */
update_vops = phi_vuse1 != NULL_TREE || phi_vuse2 != NULL_TREE;
if (phi_vuse1 == NULL_TREE && phi_vuse2 == NULL_TREE)
update_vops = false;
else if (phi_vuse1 == NULL_TREE)
update_vops = dominated_by_p (CDI_DOMINATORS, bb1, bb2);
else if (phi_vuse2 == NULL_TREE)
update_vops = dominated_by_p (CDI_DOMINATORS, bb2, bb1);
}
if (phi_vuse1 && gimple_bb (SSA_NAME_DEF_STMT (phi_vuse1)) == bb1)