https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71403
Jan Hubicka <hubicka at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenther at suse dot de --- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> --- > What I don't see is any reasonable API for invaliding the saved iteration > data. It appears to be attached to the loop with no way to update it. Updating is usually done by hand because it depends on particular loop transform you make. See unrollin/vectorizing/peeling code and search for any_upper_bound. Here you fuse two loops and I think the reasonable thing is to claim that original loops no longer exists i.e. remove it and let loop fixup code to discover the new loop. This is Richard's area, so he may have different preferences. Obviously the two estimates can be merged, because the loop iterates at most inner_upper_bound*outer_upper_bound times.. Honza