Commit 30d3fc60 by Zdenek Dvorak Committed by Zdenek Dvorak

re PR rtl-optimization/17625 (ICE on legal (doloop creates shared RTL))

	PR rtl-optimization/17625
	* loop-doloop.c (doloop_modify): Unshare rtl before emitting it.

From-SVN: r88038
parent 5cf447db
2004-09-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
PR rtl-optimization/17625
* loop-doloop.c (doloop_modify): Unshare rtl before emitting it.
2004-09-24 Andrew Pinski <pinskia@physics.uc.edu> 2004-09-24 Andrew Pinski <pinskia@physics.uc.edu>
PR tree-opt/17624 PR tree-opt/17624
......
...@@ -292,7 +292,7 @@ doloop_modify (struct loop *loop, struct niter_desc *desc, ...@@ -292,7 +292,7 @@ doloop_modify (struct loop *loop, struct niter_desc *desc,
if (GET_CODE (counter_reg) == PLUS) if (GET_CODE (counter_reg) == PLUS)
counter_reg = XEXP (counter_reg, 0); counter_reg = XEXP (counter_reg, 0);
count = desc->niter_expr; count = copy_rtx (desc->niter_expr);
increment_count = false; increment_count = false;
switch (GET_CODE (condition)) switch (GET_CODE (condition))
{ {
...@@ -345,7 +345,7 @@ doloop_modify (struct loop *loop, struct niter_desc *desc, ...@@ -345,7 +345,7 @@ doloop_modify (struct loop *loop, struct niter_desc *desc,
if (desc->noloop_assumptions) if (desc->noloop_assumptions)
{ {
rtx ass = desc->noloop_assumptions; rtx ass = copy_rtx (desc->noloop_assumptions);
basic_block preheader = loop_preheader_edge (loop)->src; basic_block preheader = loop_preheader_edge (loop)->src;
basic_block set_zero basic_block set_zero
= loop_split_edge_with (loop_preheader_edge (loop), NULL_RTX); = loop_split_edge_with (loop_preheader_edge (loop), NULL_RTX);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment