summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-26 20:36:05 +0000
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2009-06-26 20:36:05 +0000
commit1f2d41ad5dc05ca967d60a986ad45bceb82b4080 (patch)
tree825f3706c637171a203c59fde5a1dc72db24c826
parentda870daca9dd502e59cb7ef45c0792702da0a44a (diff)
downloadppe42-gcc-1f2d41ad5dc05ca967d60a986ad45bceb82b4080.tar.gz
ppe42-gcc-1f2d41ad5dc05ca967d60a986ad45bceb82b4080.zip
* config/mep/mep.opt (mfar): Remove -mfar as it doesn't do anything.
* config/mep/mep.c (mep_bundle_insns): Account for the fact that the scheduler doesn't tag jump insns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148986 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/mep/mep.c14
-rw-r--r--gcc/config/mep/mep.opt4
3 files changed, 15 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 86e7d6e7ff1..42b6b778f49 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2009-06-26 DJ Delorie <dj@redhat.com>
+
+ * config/mep/mep.opt (mfar): Remove -mfar as it doesn't do anything.
+
+ * config/mep/mep.c (mep_bundle_insns): Account for the fact that
+ the scheduler doesn't tag jump insns.
+
2009-06-26 H.J. Lu <hongjiu.lu@intel.com>
* c-decl.c (merge_decls): Re-indent.
diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c
index 0ecfce27822..88d6a0761a5 100644
--- a/gcc/config/mep/mep.c
+++ b/gcc/config/mep/mep.c
@@ -6925,6 +6925,8 @@ mep_bundle_insns (rtx insns)
VOIDmode. After this function, the first has VOIDmode and the
rest have BImode. */
+ /* Note: this doesn't appear to be true for JUMP_INSNs. */
+
/* First, move any NOTEs that are within a bundle, to the beginning
of the bundle. */
for (insn = insns; insn ; insn = NEXT_INSN (insn))
@@ -6932,10 +6934,10 @@ mep_bundle_insns (rtx insns)
if (NOTE_P (insn) && first)
/* Don't clear FIRST. */;
- else if (INSN_P (insn) && GET_MODE (insn) == TImode)
+ else if (NONJUMP_INSN_P (insn) && GET_MODE (insn) == TImode)
first = insn;
- else if (INSN_P (insn) && GET_MODE (insn) == VOIDmode && first)
+ else if (NONJUMP_INSN_P (insn) && GET_MODE (insn) == VOIDmode && first)
{
rtx note, prev;
@@ -6968,7 +6970,7 @@ mep_bundle_insns (rtx insns)
}
}
- else if (!INSN_P (insn))
+ else if (!NONJUMP_INSN_P (insn))
first = 0;
}
@@ -6978,7 +6980,7 @@ mep_bundle_insns (rtx insns)
if (NOTE_P (insn))
continue;
- if (!INSN_P (insn))
+ if (!NONJUMP_INSN_P (insn))
{
last = 0;
continue;
@@ -7001,14 +7003,14 @@ mep_bundle_insns (rtx insns)
The IVC2 assembler can insert whatever NOPs are needed,
and allows a COP insn to be first. */
- if (INSN_P (insn)
+ if (NONJUMP_INSN_P (insn)
&& GET_CODE (PATTERN (insn)) != USE
&& GET_MODE (insn) == TImode)
{
for (last = insn;
NEXT_INSN (last)
&& GET_MODE (NEXT_INSN (last)) == VOIDmode
- && INSN_P (NEXT_INSN (last));
+ && NONJUMP_INSN_P (NEXT_INSN (last));
last = NEXT_INSN (last))
{
if (core_insn_p (last))
diff --git a/gcc/config/mep/mep.opt b/gcc/config/mep/mep.opt
index d8b41345077..54e6161829a 100644
--- a/gcc/config/mep/mep.opt
+++ b/gcc/config/mep/mep.opt
@@ -83,10 +83,6 @@ mel
Target Mask(LITTLE_ENDIAN) RejectNegative
Use little-endian byte order
-mfar
-Target RejectNegative
-Enable -ml, -mtf, and -mc=far
-
mio-volatile
Target Mask(IO_VOLATILE)
__io vars are volatile by default
OpenPOWER on IntegriCloud