diff options
author | amonakov <amonakov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-01-14 10:40:19 +0000 |
---|---|---|
committer | amonakov <amonakov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-01-14 10:40:19 +0000 |
commit | a2d56a0eabb7d7274e2d68ca718dbe45a52a103d (patch) | |
tree | e323315c55868e5b80a92761215614a104d56236 /gcc/sel-sched-ir.c | |
parent | 414420084f9a2262c51e23954c97ad2a694ab646 (diff) | |
download | gcc-a2d56a0eabb7d7274e2d68ca718dbe45a52a103d.tar.gz |
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
PR rtl-optimization/39453
PR rtl-optimization/42246
* sel-sched-ir.c (considered_for_pipelining_p): Do not test
for pipelining_p.
(sel_add_loop_preheaders): Add preheader to last_added_blocks.
* gcc.dg/pr39453.c: New.
* gcc.dg/pr42246.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155892 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/sel-sched-ir.c')
-rw-r--r-- | gcc/sel-sched-ir.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c index ad1dcb212de..218c04e5bf1 100644 --- a/gcc/sel-sched-ir.c +++ b/gcc/sel-sched-ir.c @@ -5883,7 +5883,7 @@ considered_for_pipelining_p (struct loop *loop) latch. We can't use header here, because this header could be just removed preheader and it will give us the wrong region number. Latch can't be used because it could be in the inner loop too. */ - if (LOOP_MARKED_FOR_PIPELINING_P (loop) && pipelining_p) + if (LOOP_MARKED_FOR_PIPELINING_P (loop)) { int rgn = CONTAINING_RGN (loop->latch->index); @@ -6032,7 +6032,10 @@ sel_add_loop_preheaders (void) for (i = 0; VEC_iterate (basic_block, preheader_blocks, i, bb); i++) + { + VEC_safe_push (basic_block, heap, last_added_blocks, bb); sel_add_bb (bb); + } VEC_free (basic_block, heap, preheader_blocks); } |