aboutsummaryrefslogtreecommitdiff
path: root/gcc/cse.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2007-09-06 17:10:28 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2007-09-06 15:10:28 +0000
commit7903b3e5bb007611afad518d7b1f028b39c596a7 (patch)
tree689aa54037bec5575d376a5e151f7bdc08b53a95 /gcc/cse.c
parent5ee7f30627dfac38d5bd1b9815cf69e3844ff9c9 (diff)
downloadgcc-7903b3e5bb007611afad518d7b1f028b39c596a7.zip
gcc-7903b3e5bb007611afad518d7b1f028b39c596a7.tar.gz
gcc-7903b3e5bb007611afad518d7b1f028b39c596a7.tar.bz2
re PR middle-end/33318 (fortran/expr.c:305: internal compiler error: internal consistency failure)
PR target/33318 * cse.c (fold_rtx): Avoid invalid sharing. From-SVN: r128187
Diffstat (limited to 'gcc/cse.c')
-rw-r--r--gcc/cse.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/cse.c b/gcc/cse.c
index fc4f895..590adfa 100644
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -3246,7 +3246,8 @@ fold_rtx (rtx x, rtx insn)
/* If we have a cheaper expression now, use that
and try folding it further, from the top. */
if (cheapest_simplification != x)
- return fold_rtx (cheapest_simplification, insn);
+ return fold_rtx (copy_rtx (cheapest_simplification),
+ insn);
}
}