--- Comment #60 from joel at gcc dot gnu dot org 2008-01-23 15:12 ---
I did a build of powerpc-rtems4.9 on the trunk and it built much more quickly.
I haven't had a chance to run the ACATS yet to check run-time behavior. Thanks
for all the effort for this one.
--
--- Comment #59 from zadeck at gcc dot gnu dot org 2008-01-22 13:57 ---
Subject: Bug 34400
Author: zadeck
Date: Tue Jan 22 13:57:01 2008
New Revision: 131719
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131719
Log:
2008-01-22 Kenneth Zadeck [EMAIL PROTECTED]
PR
--- Comment #55 from steven at gcc dot gnu dot org 2008-01-19 09:41 ---
IMHO we can close this one now as fixed. Objections to that, anyone?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400
--- Comment #56 from zadeck at naturalbridge dot com 2008-01-19 13:09
---
Subject: Re: [4.3 regression] bad interaction between DF and SJLJ exceptions
Let me commit the patch first.
Sent from my iPod
On Jan 19, 2008, at 4:41 AM, steven at gcc dot gnu dot org
[EMAIL PROTECTED]
--- Comment #57 from zadeck at gcc dot gnu dot org 2008-01-20 01:49 ---
Subject: Bug 34400
Author: zadeck
Date: Sun Jan 20 01:48:25 2008
New Revision: 131670
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131670
Log:
2008-01-19 Kenneth Zadeck [EMAIL PROTECTED]
PR
--- Comment #58 from zadeck at naturalbridge dot com 2008-01-20 02:13
---
The three patches that have been committed seem to have brought this under
control.
--
zadeck at naturalbridge dot com changed:
What|Removed |Added
--- Comment #54 from zadeck at gcc dot gnu dot org 2008-01-19 00:39 ---
Subject: Bug 34400
Author: zadeck
Date: Sat Jan 19 00:38:34 2008
New Revision: 131649
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131649
Log:
2008-01-18 Kenneth Zadeck [EMAIL PROTECTED]
--- Comment #49 from spark at gcc dot gnu dot org 2008-01-17 20:03 ---
Subject: Bug 34400
Author: spark
Date: Thu Jan 17 20:02:56 2008
New Revision: 131608
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=131608
Log:
2008-01-17 Seongbae Park [EMAIL PROTECTED]
PR
--- Comment #50 from zadeck at naturalbridge dot com 2008-01-17 21:06
---
Subject: [4.3 regression] bad interaction between DF
and SJLJ exceptions
This is the second of three patches to fix 34400. This patch also makes
some progress on 26854 but more work is required that is not
--- Comment #51 from seongbae dot park at gmail dot com 2008-01-17 21:31
---
Subject: Re: [4.3 regression] bad interaction between DF and SJLJ exceptions
In df_live_transfer_function:
Doesn't look like we need df_live_scratch - can't we do:
bitmap_and (out, gen, bb_lr_info-out);
--- Comment #52 from seongbae dot park at gmail dot com 2008-01-17 22:31
---
Subject: Re: [4.3 regression] bad interaction between DF and SJLJ exceptions
I just talked to Kenny on the phone, and my suggestion is wrong
since it changes the return value - doing my naive suggestion
--- Comment #53 from zadeck at naturalbridge dot com 2008-01-17 22:37
---
Subject: Re: [4.3 regression] bad interaction between
DF and SJLJ exceptions
seongbae dot park at gmail dot com wrote:
--- Comment #52 from seongbae dot park at gmail dot com 2008-01-17 22:31
---
--- Comment #48 from zadeck at naturalbridge dot com 2008-01-10 18:44
---
Subject: Re:
I do not want to commit this patch until after seongbae gets the new
node visiting sorted out.
This patch does for the rd problem what
http://gcc.gnu.org/bugzilla/attachment.cgi?id=14729
does for
--- Comment #47 from bonzini at gnu dot org 2008-01-04 11:11 ---
Created an attachment (id=14874)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14874action=view)
kenny's trimmed rd patch
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400
--- Comment #46 from bonzini at gnu dot org 2008-01-04 11:01 ---
on a non-checking compiler:
4.11.8s
on a checking compiler:
unpatched 21s
hybrid search, no pruning 3.6s
hybrid search, LIVE pruning3.5s
hybrid
--- Comment #44 from mmitchel at gcc dot gnu dot org 2008-01-02 23:12
---
I've marked this as P2 because it seems to depend on the less-used SJLJ EH
method, and, as I understand it, in Ada. (The comments above suggest that the
C testcase is not actually so problematic.)
--
--- Comment #45 from zadeck at naturalbridge dot com 2008-01-02 23:17
---
Subject: Re: [4.3 regression] bad interaction between
DF and SJLJ exceptions
mmitchel at gcc dot gnu dot org wrote:
--- Comment #44 from mmitchel at gcc dot gnu dot org 2008-01-02 23:12
---
I've
--- Comment #39 from bonzini at gnu dot org 2007-12-19 13:57 ---
Yes, we need a no-checking comparison. And this might be a PR of its own, for
example:
tree PRE : 7.94 (15%) usr 0.10 (32%) sys 8.04 (15%) wall
1687 kB ( 2%) ggc
--
--- Comment #40 from steven at gcc dot gnu dot org 2007-12-19 22:49 ---
The issue with tree PRE is probably the quadratic behavior of insert(). Easily
tested by lowering the maximum number of basic blocks from 4000 to 2000 (even
though that's obviously not an actual fix for this
--- Comment #41 from steven at gcc dot gnu dot org 2007-12-19 23:57 ---
Patches attached to this bug report address more general issues, namely:
1. The LIVE problem allocates too many bitmaps (xf. df_hack2.diff)
2. Large and very connected CFGs are a time problem
Bug 26854 is another
--- Comment #42 from zadeck at naturalbridge dot com 2007-12-20 01:56
---
Subject: Re: [4.3 regression] bad interaction between
DF and SJLJ exceptions
steven at gcc dot gnu dot org wrote:
--- Comment #41 from steven at gcc dot gnu dot org 2007-12-19 23:57
---
Patches
--- Comment #43 from stevenb dot gcc at gmail dot com 2007-12-20 06:15
---
Subject: Re: [4.3 regression] bad interaction between DF and SJLJ exceptions
I did not mean more bitmaps but more elements per bitmap, obviously.
I know the effect of the patch, or I wouldn't have written it
--- Comment #30 from ludovic at ludovic-brenta dot org 2007-12-17 10:52
---
(In reply to comment #28)
Created an attachment (id=14778)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14778action=view) [edit]
Change worklist solver to double queue algorithm
I would like to try
--- Comment #31 from steven at gcc dot gnu dot org 2007-12-17 10:55 ---
You could apply both, but numbers for the patch of comment #28 in isolation
would also be welcome.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400
--- Comment #32 from zadeck at naturalbridge dot com 2007-12-17 13:21
---
Subject: Re: [4.3 regression] bad interaction between
DF and SJLJ exceptions
steven at gcc dot gnu dot org wrote:
--- Comment #31 from steven at gcc dot gnu dot org 2007-12-17 10:55
---
You could
--- Comment #34 from zadeck at naturalbridge dot com 2007-12-17 16:01
---
Subject: Re: [4.3 regression] bad interaction between
DF and SJLJ exceptions
ludovic at ludovic-brenta dot org wrote:
--- Comment #33 from ludovic at ludovic-brenta dot org 2007-12-17 15:35
---
--- Comment #35 from ludovic at ludovic-brenta dot org 2007-12-17 16:16
---
Created an attachment (id=14784)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14784action=view)
Results of gnat1 -ftime-report [...] g-catiio.adb with SJLJ exceptions
$ time ../../gnat1 -ftime-report
--- Comment #36 from zadeck at naturalbridge dot com 2007-12-17 16:33
---
Subject: Re: [4.3 regression] bad interaction between
DF and SJLJ exceptions
ludovic at ludovic-brenta dot org wrote:
--- Comment #35 from ludovic at ludovic-brenta dot org 2007-12-17 16:16
---
--- Comment #37 from stevenb dot gcc at gmail dot com 2007-12-17 16:55
---
Subject: Re: [4.3 regression] bad interaction between DF and SJLJ exceptions
Compiling with checking disabled might give a less unfair comparison.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400
--- Comment #38 from steven at gcc dot gnu dot org 2007-12-17 19:33 ---
Applying df_hack3 and df_double_queue_worklist is pointless for your test cae.
With df_hack3 the worklist algorithm never runs.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400
--- Comment #28 from steven at gcc dot gnu dot org 2007-12-16 12:01 ---
Created an attachment (id=14778)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14778action=view)
Change worklist solver to double queue algorithm
I re-read Cooper, Harvey and Kennedy, who wrote a nice paper
--- Comment #29 from zadeck at naturalbridge dot com 2007-12-16 13:56
---
Subject: Re: [4.3 regression] bad interaction between
DF and SJLJ exceptions
steven at gcc dot gnu dot org wrote:
--- Comment #28 from steven at gcc dot gnu dot org 2007-12-16 12:01
---
Created an
--- Comment #26 from steven at gcc dot gnu dot org 2007-12-16 01:50 ---
For Eric's second test case, pr24400-2.c, I have on cygwin in tree-ssa 1006
basic blocks, 2044 edges and only 840 DFS back edges. After expanding to RTL
we have 1046 basic blocks, 78005 edges, and 38760 DFS back
--- Comment #27 from steven at gcc dot gnu dot org 2007-12-16 01:54 ---
Typos. Wanted to say:
The test case has no cyclic paths, so A is
38760 and the optimal number of passes in a worklist solver is A + 2 = 38762
if the blocks are presented in reverse post order.
--
--- Comment #20 from joel at gcc dot gnu dot org 2007-12-14 19:41 ---
I left a build running all night and got ACATS results on the trunk on
powerpc-rtems, I get a lot of failures which appear to be constraint or
exception related. I don't know if these are related or not.
,.,.
--- Comment #21 from zadeck at naturalbridge dot com 2007-12-14 19:55
---
I am confused about comment #20. Are these constraint failures caused by the
proposed patch? are they independent of the patch? why is this related to the
performance issues in doing SJLJ analysis?
--
--- Comment #22 from joel at gcc dot gnu dot org 2007-12-14 20:00 ---
(In reply to comment #21)
I am confused about comment #20. Are these constraint failures caused by the
proposed patch? are they independent of the patch? why is this related to the
performance issues in doing SJLJ
--- Comment #23 from zadeck at naturalbridge dot com 2007-12-14 20:07
---
Subject: Re: [4.3 regression] bad interaction between
DF and SJLJ exceptions
joel at gcc dot gnu dot org wrote:
--- Comment #22 from joel at gcc dot gnu dot org 2007-12-14 20:00 ---
(In reply to
--- Comment #24 from steven at gcc dot gnu dot org 2007-12-14 23:29 ---
Created an attachment (id=14759)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14759action=view)
Eric's new test case
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400
--- Comment #25 from steven at gcc dot gnu dot org 2007-12-15 00:29 ---
Created an attachment (id=14760)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14760action=view)
hybrid search, resurrected
This new test case looks even worse for the typical work list algorithm, so I
had the
--- Comment #17 from zadeck at naturalbridge dot com 2007-12-11 13:30
---
Created an attachment (id=14729)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14729action=view)
fixup of stevens hack
This hack cuts the -O compile time for the c testcase from 35 to 2 seconds.
my guess is
--- Comment #18 from zadeck at naturalbridge dot com 2007-12-11 13:55
---
The thing i forgot to say in the previous post was that i had to change stevens
patch because the way that it was written causes df verify errors. You cannot
make the gen set in a block dependent on the output
--- Comment #9 from ebotcazou at gcc dot gnu dot org 2007-12-10 09:46
---
It's apparently a DF problem:
df liveinitialized regs: 27.83 (97%) usr 0.01 (50%) sys 28.48 (97%) wall
0 kB ( 0%) ggc
--
ebotcazou at gcc dot gnu dot org changed:
What|Removed
--
ebotcazou at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|ebotcazou at gcc dot gnu dot|unassigned at gcc dot gnu
|org
--- Comment #10 from steven at gcc dot gnu dot org 2007-12-10 12:32 ---
Thanks for the test case!
Will investigate.
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #11 from zadeck at naturalbridge dot com 2007-12-10 13:02
---
Subject: Re: [4.3 regression] bad interaction between
DF and SJLJ exceptions
steven at gcc dot gnu dot org wrote:
--- Comment #10 from steven at gcc dot gnu dot org 2007-12-10 12:32
---
Thanks for
--- Comment #12 from joel at gcc dot gnu dot org 2007-12-10 14:22 ---
I've seen this on PowerPC and SPARC now, so I can confirm it is target
independent.
--
joel at gcc dot gnu dot org changed:
What|Removed |Added
--- Comment #13 from steven at gcc dot gnu dot org 2007-12-10 18:40 ---
The problem seems to be that we just converge too slowly because the CFG is
densely connected: 566 basic blocks and 19925 edges.
Actually this is perfectly quadratic: Two basic blocks are fake (exit and
entry) so
--- Comment #14 from zadeck at naturalbridge dot com 2007-12-10 19:13
---
[13:51] stevenb you wont believe this
[13:51] zadeckyes
[13:51] stevenb but that SJLJ thing, that's almost entirely call
overhead
[13:52] spark stevenb: calling what ?
[13:52] stevenb
--- Comment #15 from ebotcazou at gcc dot gnu dot org 2007-12-10 19:14
---
Actually this is perfectly quadratic: Two basic blocks are fake (exit and
entry) so there are 564 real basic blocks. (564 / 4)^2 = 141^2 = 19881.
Indeed the number of edges scales with the number of MCASEs
--- Comment #16 from steven at gcc dot gnu dot org 2007-12-10 22:08 ---
The problem is similar to bug 17340.
And so is my proposed fix.
I've sent out a hack for testing to a few people. We'll get back to this one
asap.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400
51 matches
Mail list logo