[Bug tree-optimization/56490] [4.6/4.7/4.8 Regression] -Wall triggering infinite loop

xinliangli at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Mar 8 16:22:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56490

--- Comment #5 from davidxl <xinliangli at gmail dot com> 2013-03-08 16:21:13 UTC ---
(In reply to comment #4)
> Clearly the limiting is bougs ... the issue is with large fanout BBs
> we recurse in compute_control_dep_chain which leads to exponential
> complexity.  Limiting that to 8^5 isn't really a fix ... (yes, you
> can call that O(1)).
> 
> compute_control_dep_chain is called 65 million times(!) for the testcase
> after the patch.
> 
> There has to be a better algorithmic way of implementing this.
> 
> IMHO still not fixed in 4.8.

Right. 

However for on demand computation like this,  limiting is still needed. For
this particular case, limiting the depth to 3 (or may be smaller) won't cause
any regressions.



More information about the Gcc-bugs mailing list