clisp currently can't be compiled with optimization very well, because PTA
takes ages when presented with source code of the form clisp uses.
The attachment demonstrates this:

% /usr/lib/gcc/powerpc64-suse-linux/4.1.0/cc1 -O1 slow-pta.i
....
 tree PTA              :  18.08 (100%) usr   0.03 (75%) sys  18.11 (100%) wall
....

The code is trivial:
 symbol_ *bla;
 void slow (void) {
  bla = &symbol_tab_data.S_nil;
 }

The crux is the form of symbol_tab_data containing a large number of members,
each of them being a struct containing seven pointers.  Making that latter
struct contain less members hugely decreases compile time.


-- 
           Summary: PTA is slow with large structs (hits clisp)
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: matz at suse dot de
  GCC host triplet: ppc-linux


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

Reply via email to