OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gcc33?expand=0&rev=3
28 lines
1.1 KiB
Diff
28 lines
1.1 KiB
Diff
ia64/ia64.c (ia64_reorg): Ignore prologue_use insns too.
|
|
|
|
Index: gcc/config/ia64/ia64.c
|
|
===================================================================
|
|
--- 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)
|
|
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)
|