re PR tree-optimization/88074 (g++ hangs on math expression)
authorJakub Jelinek <jakub@redhat.com>
Sat, 16 Feb 2019 18:46:04 +0000 (19:46 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sat, 16 Feb 2019 18:46:04 +0000 (19:46 +0100)
commit843192c0ebde5cc6e4f1abeb02e3ac05b02d984a
tree79ecf432d5606a1767ac365b360e68389080f284
parent3fe53000bbaa5024af7ceecb950e0a7fd6b189e3
re PR tree-optimization/88074 (g++ hangs on math expression)

PR middle-end/88074
* simplify.c (simplify_transformation_to_array): Run post_op
immediately after processing corresponding row, rather than at the
end.
(norm2_scale): New variable.
(add_squared): Rename to ...
(norm2_add_squared): ... this.  Scale down operand and/or result
if needed.
(do_sqrt): Rename to ...
(norm2_do_sqrt): ... this.  Handle the result == e case.  Scale up
result and clear norm2_scale.
(gfc_simplify_norm2): Clear norm2_scale.  Change add_squared to
norm2_add_squared and &do_sqrt to norm2_do_sqrt.  Scale up result
and clear norm2_scale again.

From-SVN: r268962
gcc/fortran/ChangeLog
gcc/fortran/simplify.c