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

             Bug #: 52001
           Summary: [4.7 reegression] Huge compile-time regression with
                    var-tracking
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: rsand...@gcc.gnu.org


r182760 significantly increased the compile time of 20001226-1.c -O3 -g
on mips64-linux-gnu:

time for -O3:
    real    0m25.656s
    user    0m25.106s
    sys     0m0.544s

time for -O3 -g before r182760:
    real    0m28.212s
    user    0m27.586s
    sys     0m0.624s

time for -O3 -g after r182760, CTRL-Ced after:
    real    15m11.725s
    user    15m11.177s
    sys     0m0.496s

The testcase has a lot of identical "load high, add low" sequences.
Even though there are only two values here (the high part and
the result), we end up with thousands of value rtxs and thousands
of distinct "reverse" locations attached to the "load high" value.

c.f.: http://gcc.gnu.org/ml/gcc-patches/2012-01/msg01051.html

Reply via email to