2008-12-04 16:15:40 +00:00
|
|
|
ia64/ia64.c (ia64_reorg): Ignore prologue_use insns too.
|
|
|
|
|
|
|
|
Index: gcc/config/ia64/ia64.c
|
|
|
|
===================================================================
|
2009-11-20 12:08:01 +00:00
|
|
|
--- gcc/config/ia64/ia64.c.orig 2009-11-20 13:05:21.000000000 +0100
|
|
|
|
+++ gcc/config/ia64/ia64.c 2009-11-20 13:06:08.000000000 +0100
|
|
|
|
@@ -7179,11 +7179,15 @@ ia64_reorg (insns)
|
2008-12-04 16:15:40 +00:00
|
|
|
insn = get_last_insn ();
|
|
|
|
if (! INSN_P (insn))
|
|
|
|
insn = prev_active_insn (insn);
|
|
|
|
- if (GET_CODE (insn) == INSN
|
|
|
|
- && GET_CODE (PATTERN (insn)) == UNSPEC_VOLATILE
|
|
|
|
- && XINT (PATTERN (insn), 1) == UNSPECV_INSN_GROUP_BARRIER)
|
|
|
|
- {
|
|
|
|
- saw_stop = 1;
|
|
|
|
+ while (GET_CODE (insn) == INSN
|
|
|
|
+ && ((GET_CODE (PATTERN (insn)) == UNSPEC_VOLATILE
|
|
|
|
+ && XINT (PATTERN (insn), 1) == UNSPECV_INSN_GROUP_BARRIER)
|
|
|
|
+ || (GET_CODE (PATTERN (insn)) == UNSPEC
|
|
|
|
+ && XINT (PATTERN (insn), 1) == UNSPEC_PROLOGUE_USE)))
|
|
|
|
+ {
|
|
|
|
+ if (GET_CODE (PATTERN (insn)) == UNSPEC_VOLATILE
|
|
|
|
+ && XINT (PATTERN (insn), 1) == UNSPECV_INSN_GROUP_BARRIER)
|
|
|
|
+ saw_stop = 1;
|
|
|
|
insn = prev_active_insn (insn);
|
|
|
|
}
|
|
|
|
if (GET_CODE (insn) == CALL_INSN)
|