This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c/63338] New: Compiling large amounts of large switch cases takes a large amount of time


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

            Bug ID: 63338
           Summary: Compiling large amounts of large switch cases takes a
                    large amount of time
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: sstewartgallus00 at mylangara dot bc.ca

Compiling a large amount of large switch cases takes a really large
amount of time. In the attached code I did two things which caused and
justify the large amounts of large switch cases. First, I emulated
computed gotos in a portable way by using a macro that expands to a
switch case that jumps to a label and second I optimized dispatching
of return value registers for an intepreter by folding the return
value register selection into the instruction dispatching. The
original source is at
https://gitorious.org/uvm/uvm/source/9c8afcef3b3e87a81ff0b948fc9525cf8ec82e77:src/vm/module.c
and the preprocessed file is attached here.

I think that this specific case might be optimizable to be
accomplished in a reasonable amount of time so I thought I might as
well ask but if compiling this case is too difficult that's fine then.

Thank you,
Steven Stewart-Gallus


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]