This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/63338] New: Compiling large amounts of large switch cases takes a large amount of time
- From: "sstewartgallus00 at mylangara dot bc.ca" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 23 Sep 2014 01:12:03 +0000
- Subject: [Bug c/63338] New: Compiling large amounts of large switch cases takes a large amount of time
- Auto-submitted: auto-generated
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