[Bug tree-optimization/100494] [11/12 Regression] Unterminated recursion in gimple-range.cc (x86_64-w64-mingw32)

amacleod at redhat dot com gcc-bugzilla@gcc.gnu.org
Tue Jun 15 13:36:12 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100494

--- Comment #6 from Andrew Macleod <amacleod at redhat dot com> ---
WE collided making comments :-)   
--- or maybe not.. that traceback doesn't look like it would be affected :-(.

The traceback also doesn't look like its in an infinite loop?.. there can be
long chains of calls to resolve things on back edges. Looking at the listing
for that file, I see at its maximal depth, the call chain is 492 "traceable"
statements deep. This does not include range_of_range_op or calc_stmt method
calls, so Id expect the peak call depth to be about 30-40% higher than that, so
somewhere in the 640-690 deep range from the first hybrid_folder::value_on_edge
call.  Your call chain is at 619, so that is not completely unexpected. 

Does the compilation not finish? or just take ma very long time?   On the other
targets it finishes very quickly, spending very little time in EVRP.  Its
unclear to me why this target would be so different, unless a deep call stack
is a problem. 

Does the issue go away with --param=evrp-mode=legacy   ?

If it does seem to go into an infinite loop, can you try it with
   -fdump-tree-evrp-details --param=evrp-mode=trace

That will generate a sha1*.evrp file, and if you are truly in an infinite loop
it will become quite long.  On x86-64 mine is 48940 lines long when it
finishes.  If you have to stop it, and its growing excessively, I shouldn't
need more than the first 50,000 lines to see what going on.


More information about the Gcc-bugs mailing list