re PR middle-end/68146 (ice in gimple_stmt_nonnegative_warnv_p with -O2)
authorJakub Jelinek <jakub@redhat.com>
Thu, 14 Jan 2016 15:25:22 +0000 (16:25 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 14 Jan 2016 15:25:22 +0000 (16:25 +0100)
commit0c9b32949ef61409db3615aa7fe55ce51069b2e6
tree5cd8699fbc1fd76580481caede4120739a694bd2
parent3688e13db33177ac065aa0064ebd68e0afbadc66
re PR middle-end/68146 (ice in gimple_stmt_nonnegative_warnv_p with -O2)

PR middle-end/68146
PR tree-optimization/69155
* tree-complex.c: Include cfganal.h.
(phis_to_revisit): New variable.
(extract_component): Add phiarg_p argument.  Assert that returned
SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
(update_phi_components): Partly rewrite to use loop over real/imag
components instead of code duplication.  If extract_component returns
SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
create_tmp_reg into the PHI node instead, and mention the phi triplet
in phis_to_revisit.
(tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
in phis_to_revisit at the end.

* gfortran.dg/pr68146.f: New test.
* gfortran.dg/pr69155.f90: New test.

From-SVN: r232368
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr68146.f [new file with mode: 0644]
gcc/testsuite/gfortran.dg/pr69155.f90 [new file with mode: 0644]
gcc/tree-complex.c