This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/15524] [3.5 Regression] jump threading on trees is slow with switch statements with large # of cases
- From: "stevenb at suse dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 31 May 2004 21:21:49 -0000
- Subject: [Bug tree-optimization/15524] [3.5 Regression] jump threading on trees is slow with switch statements with large # of cases
- References: <20040518194300.15524.pinskia@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From stevenb at suse dot de 2004-05-31 21:21 -------
Subject: Re: [3.5 Regression] jump threading on trees is slow with switch statements with large # of cases
On Monday 31 May 2004 23:01, pinskia at gcc dot gnu dot org wrote:
> Now only label_to_block is really a problem on powerpc-apple-darwin.
No. label_to_block is fine as it is. The real problem is something
of quadratic-like behavior:
1) walk every dom successor
2) walk a big part of the case label vector
which is (N_dom_children * TREE_VEC_LENGTH (label_vector)), and
since both typically are of the same order of magnitude, this is
quadratic behavior.
Walking the case label vector once is possible if the information
extracted in the dominated block is instead precomputed in the
dominating block (and probably attach the unique case label to the
edge's or the block's aux field, or something like that).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15524