This is the mail archive of the gcc-patches@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]

Re: [tree-ssa][PATCH]: Stop PRE from extending lifetimes across abnormal edges or inserting on them



On Sep 11, 2003, at 11:38 AM, Gerald Pfeifer wrote:


On Wed, 10 Sep 2003, Daniel Berlin wrote:
I know this fixes Gerald's testcase, i'm currently bootstrapping it on
x86 and powerpc.

If it passes, i'll commit it.

Would you mind also adding a testcase?



Errr, it's not that easy to do, since i never reduced your file to anything small.
:)


I'll set the testcase minimizer on it and leave it running to see if i can reduce it to something smaller.


2003-09-10 Daniel Berlin <dberlin@dberlin.org>

	* tree-ssa-pre.c (ephi_has_bottom): Remove dead function.
	(ephi_has_unsafe_arg): New function.
	(compute_down_safety): Use it.
	(reset_down_safe): Continue search on abnormal edges, too.

Unfortunately, it fixes the testcase I had sent you, but a different file from the same project now exhibits the same erroneous behavior:

% gccvs diag.ii -c -O2
Different root vars '
pretmp.7543' and 'T.7152' across an abnormal edge
In file included from diag.C:32:
diag_parser.c: In function `int diagyyparse()':
diag_parser.c:1260: internal compiler error: in coalesce_abnormal_edges,
at tree-ssa.c:1260


(I'll send you, and the others who were interested in the original
problem, preprocessed sources.)

Please do!



Gerald


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