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 middle-end/34400] [4.3 regression] bad interaction between DF and SJLJ exceptions



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


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