summaryrefslogtreecommitdiffstats
path: root/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106836.patch
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106836.patch')
-rw-r--r--toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106836.patch61
1 files changed, 0 insertions, 61 deletions
diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106836.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106836.patch
deleted file mode 100644
index 95b9ea9b83..0000000000
--- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/linaro/gcc-4.6-linaro-r106836.patch
+++ /dev/null
@@ -1,61 +0,0 @@
12011-11-04 Revital Eres <revital.eres@linaro.org>
2
3 Backport from mainline -r180673:
4
5 gcc/
6 * modulo-sched.c (generate_prolog_epilog): Mark prolog
7 and epilog as BB_DISABLE_SCHEDULE.
8 (mark_loop_unsched): New function.
9 (sms_schedule): Call it.
10
11=== modified file 'gcc/modulo-sched.c'
12--- old/gcc/modulo-sched.c 2011-10-10 14:35:32 +0000
13+++ new/gcc/modulo-sched.c 2011-10-30 05:31:00 +0000
14@@ -1173,6 +1173,8 @@
15 /* Put the prolog on the entry edge. */
16 e = loop_preheader_edge (loop);
17 split_edge_and_insert (e, get_insns ());
18+ if (!flag_resched_modulo_sched)
19+ e->dest->flags |= BB_DISABLE_SCHEDULE;
20
21 end_sequence ();
22
23@@ -1186,9 +1188,24 @@
24 gcc_assert (single_exit (loop));
25 e = single_exit (loop);
26 split_edge_and_insert (e, get_insns ());
27+ if (!flag_resched_modulo_sched)
28+ e->dest->flags |= BB_DISABLE_SCHEDULE;
29+
30 end_sequence ();
31 }
32
33+/* Mark LOOP as software pipelined so the later
34+ scheduling passes don't touch it. */
35+static void
36+mark_loop_unsched (struct loop *loop)
37+{
38+ unsigned i;
39+ basic_block *bbs = get_loop_body (loop);
40+
41+ for (i = 0; i < loop->num_nodes; i++)
42+ bbs[i]->flags |= BB_DISABLE_SCHEDULE;
43+}
44+
45 /* Return true if all the BBs of the loop are empty except the
46 loop header. */
47 static bool
48@@ -1714,9 +1731,10 @@
49 permute_partial_schedule (ps, g->closing_branch->first_note);
50
51 /* Mark this loop as software pipelined so the later
52- scheduling passes doesn't touch it. */
53+ scheduling passes don't touch it. */
54 if (! flag_resched_modulo_sched)
55- g->bb->flags |= BB_DISABLE_SCHEDULE;
56+ mark_loop_unsched (loop);
57+
58 /* The life-info is not valid any more. */
59 df_set_bb_dirty (g->bb);
60
61