------- Comment #14 from zadeck at naturalbridge dot com 2007-12-10 19:13 ------- [13:51] <stevenb> you wont believe this [13:51] <zadeck> yes ???? [13:51] <stevenb> but that SJLJ thing, that's almost entirely call overhead [13:52] <spark> stevenb: calling what ? [13:52] <stevenb> the calls to df_live_{confluence_n,tranfer_function} [13:52] <spark> we need c++ functor :( [13:52] <stevenb> yup [13:53] <zadeck> the thing that i do not understand is how/why it shows up most uninitialized regs or am i reading comment #9 wrong [13:53] <stevenb> no, that is true [13:53] <stevenb> it seems this LIVE problem has more issues with a densely connected CFG than RU and LR [13:54] <stevenb> it really is the LIVE problem only. [13:55] <stevenb> i'm not sure i understand why... [13:55] <stevenb> (actually I am sure I don't understand why ;)) [13:55] <spark> LR is fine but LIVE is not ? [13:55] <stevenb> yes [13:57] <zadeck> remember that live is one of the few forwards problems. it could be that your (sparks) ordering of the blocks is wierd for forwards problems [13:57] <zadeck> s/wierd/bad/ [13:57] <stevenb> yeah, that crossed my mind too [13:58] <spark> could be. [13:58] <zadeck> i see a reassignment in pr3400's future [13:58] <stevenb> or we may be passing it the wrong order [13:58] <zadeck> you could easily get n**2 behavior in either case. [13:59] <stevenb> what was it again, forward problems need pre-order?? [14:00] <spark> both reverse post order. but one is with inverted graph. [14:00] <stevenb> right [14:00] <stevenb> i always have to look this up :) [14:01] <spark> actually there's no literature on this - cause the literature is wrong. [14:01] <stevenb> we pass it postorder_inverted for DF_FORWARD [14:02] <spark> hm. i think i might know what's wrong. [14:03] <stevenb> pray tell [14:03] <spark> when the graph is inverted, it could have multiple entries. [14:04] <spark> we deal with that by some hack. [14:04] <stevenb> you mean fake edges [14:04] <spark> no. without fake edges. [14:04] <stevenb> uh... [14:04] <spark> if we add fake edges, there's no multiple entries. [14:05] <spark> but we can't, because some passes do not want to have those fake edges. [14:06] <spark> i think we might not have the correct order between regions from multiple entries in an inverted graph - i haven't thought about that, and i should have. [14:07] <spark> hold on. i think it shouldn't matter for the forward problem. hm. [14:07] <stevenb> are you going to think about it now then, and take the bug? [14:07] <spark> send it to me anyway :(
-- zadeck at naturalbridge dot com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|steven at gcc dot gnu dot |spark at gcc dot gnu dot org |org | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400