summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-19 17:29:59 +0000
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>2013-08-19 17:29:59 +0000
commit2c4dc247c17a42e80f65070bd99840e8e7d5ecf3 (patch)
tree76fce6ee4a0f6457a8ea8967c4c8aae88c6f1316
parentbfbeb32f57b24f2b65a7350683222ab322ad70c6 (diff)
downloadgcc-2c4dc247c17a42e80f65070bd99840e8e7d5ecf3.tar.gz
gcc/
* config/mips/mips.c (mips_adjust_insn_length): Add checks for JUMP_P and INSN_P. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201847 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c5
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index dd6559d2017..8c96b96a911 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2013-08-19 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/mips/mips.c (mips_adjust_insn_length): Add checks for
+ JUMP_P and INSN_P.
+
2013-08-19 Aldy Hernandez <aldyh@redhat.com>
* doc/invoke.texi (-fcilkplus): Clarify that implementation is
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 4da80f42e7b..5993aabe578 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -12297,6 +12297,7 @@ mips_adjust_insn_length (rtx insn, int length)
/* mips.md uses MAX_PIC_BRANCH_LENGTH as a placeholder for the length
of a PIC long-branch sequence. Substitute the correct value. */
if (length == MAX_PIC_BRANCH_LENGTH
+ && JUMP_P (insn)
&& INSN_CODE (insn) >= 0
&& get_attr_type (insn) == TYPE_BRANCH)
{
@@ -12318,7 +12319,9 @@ mips_adjust_insn_length (rtx insn, int length)
length += TARGET_MIPS16 ? 2 : 4;
/* See how many nops might be needed to avoid hardware hazards. */
- if (!cfun->machine->ignore_hazard_length_p && INSN_CODE (insn) >= 0)
+ if (!cfun->machine->ignore_hazard_length_p
+ && INSN_P (insn)
+ && INSN_CODE (insn) >= 0)
switch (get_attr_hazard (insn))
{
case HAZARD_NONE: