mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-13 01:17:17 +08:00
[Haifa Scheduler] Fix latent bug in macro-fusion/instruction grouping
gcc/ * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P as forcing a HARD_DEP between instructions, thereby disallowing rewriting to break dependencies. From-SVN: r220751
This commit is contained in:
parent
87be7f0cbb
commit
61a17dcaf2
@ -1,3 +1,9 @@
|
||||
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-02-16 Jan Hubicka <hubicka@ucw.cz>
|
||||
|
||||
* symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
|
||||
|
@ -1233,6 +1233,11 @@ recompute_todo_spec (rtx_insn *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'. */
|
||||
|
Loading…
Reference in New Issue
Block a user