diff options
author | collison <collison@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-03-11 06:18:24 +0000 |
---|---|---|
committer | collison <collison@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-03-11 06:18:24 +0000 |
commit | e5e78a3b71da23f7fb187997c70361db8330def9 (patch) | |
tree | 519fd79af87d143a017314b45852f947f5727302 | |
parent | bfc6f992bbf407cc4fcd03d242313631281c673f (diff) |
2015-03-06 Michael Collison <michael.collison@linaro.org>
Backport from trunk r220751.
2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
* haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
as forcing a HARD_DEP between instructions, thereby
disallowing rewriting to break dependencies.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/linaro/gcc-4_9-branch@221343 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog.linaro | 9 | ||||
-rw-r--r-- | gcc/haifa-sched.c | 5 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gcc/ChangeLog.linaro b/gcc/ChangeLog.linaro index 36e0463d9c2..fb4e128f9cf 100644 --- a/gcc/ChangeLog.linaro +++ b/gcc/ChangeLog.linaro @@ -1,3 +1,12 @@ +2015-03-06 Michael Collison <michael.collison@linaro.org> + + Backport from trunk r220751. + 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com> + + * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P + as forcing a HARD_DEP between instructions, thereby + disallowing rewriting to break dependencies. + 2015-03-10 Michael Collison <michael.collison@linaro.org> Backport from trunk r217725. diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c index e437e0a429c..55dc3e945fe 100644 --- a/gcc/haifa-sched.c +++ b/gcc/haifa-sched.c @@ -1203,6 +1203,11 @@ recompute_todo_spec (rtx next, bool for_backtrack) if (!sd_lists_empty_p (next, SD_LIST_HARD_BACK)) return HARD_DEP; + /* If NEXT is intended to sit adjacent to this instruction, we don't + want to try to break any dependencies. Treat it as a HARD_DEP. */ + if (SCHED_GROUP_P (next)) + return HARD_DEP; + /* Now we've got NEXT with speculative deps only. 1. Look at the deps to see what we have to do. 2. Check if we can do 'todo'. */ |