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 tree-optimization/15524] [3.5 Regression] jump threading on trees is slow with switch statements with large # of cases


------- 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


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