[PR middle-end/60832] Do not convert widest_int to tree just for printing it.
authorManuel López-Ibáñez <manu@gcc.gnu.org>
Mon, 21 Sep 2015 10:11:24 +0000 (10:11 +0000)
committerManuel López-Ibáñez <manu@gcc.gnu.org>
Mon, 21 Sep 2015 10:11:24 +0000 (10:11 +0000)
commit973dabae60a2129374b5cbe54ea0d6bd1e6f9f9a
tree99fcda1134c2e7c64285192a0c3d824825d844cb
parent6ad9ac88388d049d48364b59a58d1cb72c50c7c6
[PR middle-end/60832] Do not convert widest_int to tree just for printing it.

In do_warn_aggressive_loop_optimizations, we convert to a tree just to print a
widest_int. Apart from overly complicated, this results in printing '3u'
instead of just '3'.

Unfortunately, adding a printf-like conversion specifier would require making
pretty-print.c link with wide-int.cc, which will include a lot of new
dependencies into several other programs (gcov-tool for example). It would be
possible to add the conversion specifier to every FE pretty-printer, but this
still would require updating c-format.c, which is far from trivial. A simpler
approach is to convert to a string rather than to a tree.

In addition, "iteration 3 invokes undefined behavior within this loop" seems to
me clearer than "iteration 3 invokes undefined behavior; containing loop".

gcc/testsuite/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR middle-end/60832
* gcc.dg/pr53265.c: Update.

gcc/ChangeLog:

2015-09-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>

PR middle-end/60832
* tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
Print i_bound without converting it to a tree.

From-SVN: r227964
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr53265.c
gcc/tree-ssa-loop-niter.c