This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/32755] Seg fault when compile CPU2000 with -fsee
- From: "Joey dot ye at intel dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Jul 2007 09:27:11 -0000
- Subject: [Bug rtl-optimization/32755] Seg fault when compile CPU2000 with -fsee
- References: <bug-32755-14503@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from Joey dot ye at intel dot com 2007-07-13 09:27 -------
Root cause looks like at see.c line 1643:
emit_insn_after (merged_ref, ref);
delete_insn (ref);
where merged_ref and ref have the same INSN_UID. delete_insn will clear the df
information of that UID, resulted as no df information for merged_ref.
I tried inserting following line and it works:
+ INSN_UID(merged_ref)=cfun->emit->x_cur_insn_uid++;
But it is apparantly ugly. Anyone can share the right approach to replace
a insn with another one who has the same UID?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32755