------- Comment #7 from rakdver at kam dot mff dot cuni dot cz 2007-11-28 16:05 ------- Subject: Re: [4.3 Regression] VRP/SCEV miscompiles Firefox
> ------- Comment #6 from rguenth at gcc dot gnu dot org 2007-11-28 15:47 > ------- > We could clear the SCEV cache for an SSA_NAME we set a new value range > (in set_value_range and set_value_range_to_varying), but I > see that SCEV also caches loop->nb_iterations which we probably would need to > clear unconditionally (for all loops). yes, the simplest solution is to call scev_reset somewhere (either in set_value_range, or in adjust_range_with_scev). However, I fear the compile time impact would be too large (# of iterations analysis is fairly time consuming, and not caching the results used to cause us to spend 10% or more in it). More feasible solution seems to be to determine the number of iterations for all loops before the start of VRP, and to remember the values. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34244