aboutsummaryrefslogtreecommitdiff
path: root/gcc/sel-sched.c
diff options
context:
space:
mode:
authorabel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-19 10:03:39 +0000
committerabel <abel@138bc75d-0d04-0410-961f-82ee72b054a4>2010-08-19 10:03:39 +0000
commit775be97ebc5826d7261eca15641185d5cbecb4f9 (patch)
tree0c5119003967ec2c376ca440652e2f63b362c091 /gcc/sel-sched.c
parent112748540cdcf18c74628c345e8cf0b1223d811e (diff)
PR rtl-optimization/44691
* sel-sched.c (count_occurrences_1): Also punt when SUBREG_REG is not a register. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163369 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sel-sched.c')
-rw-r--r--gcc/sel-sched.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index 3a86e22feef..534c55ca470 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -835,7 +835,8 @@ count_occurrences_1 (rtx *cur_rtx, void *arg)
if (GET_CODE (*cur_rtx) == SUBREG
&& REG_P (p->x)
- && REGNO (SUBREG_REG (*cur_rtx)) == REGNO (p->x))
+ && (!REG_P (SUBREG_REG (*cur_rtx))
+ || REGNO (SUBREG_REG (*cur_rtx)) == REGNO (p->x)))
{
/* ??? Do not support substituting regs inside subregs. In that case,
simplify_subreg will be called by validate_replace_rtx, and