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

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
Actually it does - just compile-time isn't linear in the max operations :/

--param max-isl-operations   compile-time
100000                       0.36s
110000                       2.62s
120000                       5.35s
130000                      15.57s
140000                      30.16s
200000                     138.96

IIRC I've "tuned" the default so we don't hit the timeout for SPEC 2006
(and that didn't cause any compile-time issues).

From looking at the source the number of operations are more related
to memory use (allocations trigger one "operations"), the only other
"operation" is isl_tab_pivot.

The time hog is finishing cut_to_integer_lexmin (which eventually calls
isl_tab_pivot multiple times).  It seems that when isl_tab_pivot is
the driving hog the limit is too high but when it is allocation it works
well enough.

It looks like ISL should have two different limits, one for memory use
and one for time since they are not really comparable.

Also looks like (on this testcase at least) ISL-Imath is a lot slower
than ISL-gmp (by nearly a factor of 10!).

Reply via email to