This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/37381] [4.4 Regression] ICE in ia64_speculate_insn, at config/ia64/ia64.c:6902
- From: "amonakov at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Sep 2008 10:38:12 -0000
- Subject: [Bug target/37381] [4.4 Regression] ICE in ia64_speculate_insn, at config/ia64/ia64.c:6902
- References: <bug-37381-12387@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from amonakov at gcc dot gnu dot org 2008-09-08 10:38 -------
Scheduling of instructions dependent on speculative loads was implemented a
bit differently on sel-sched branch and on trunk (before the merge). Since
ia64.c changes were not checked in, a discrepancy appeared, resulting in an ICE
when attempting to schedule an instruction dependent on speculative load.
This issue is fixed by restoring the scheduler behaviour to the
pre-merge state. This change will have to be reverted when ia64 changes are
approved (handling of BE_IN_SPEC bits will be implemented in back-end).
Bootstrapped and regtested on ia64-linux. I will add the testcase and re-post
to gcc-patches@.
PR target/37381
* haifa-sched.c (sched_speculate_insn): Filter BE_IN_SPEC bits before
passing dependence status to back-end.
Index: gcc/haifa-sched.c
===================================================================
--- gcc/haifa-sched.c (revision 140093)
+++ gcc/haifa-sched.c (working copy)
@@ -4288,7 +4288,7 @@ sched_speculate_insn (rtx insn, ds_t req
&& !(request & BEGIN_SPEC))
return 0;
- return targetm.sched.speculate_insn (insn, request, new_pat);
+ return targetm.sched.speculate_insn (insn, request & BEGIN_SPEC, new_pat);
}
static int
--
amonakov at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |amonakov at gcc dot gnu dot
|dot org |org
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2008-09-08 10:38:12
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37381