mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-05 05:20:24 +08:00
re PR rtl-optimization/63384 (scheduler loops on endless fence list with -fselective-scheduling2 on x86)
gcc/ PR rtl-optimization/63384 * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on DEBUG_INSN_P insns. testsuite/ PR rtl-optimization/63384 * g++.dg/pr63384.C: New test. From-SVN: r234217
This commit is contained in:
parent
74ea9ab61b
commit
81fa2944ec
@ -1,3 +1,9 @@
|
||||
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
|
||||
|
||||
PR rtl-optimization/63384
|
||||
* sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
|
||||
DEBUG_INSN_P insns.
|
||||
|
||||
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
|
||||
|
||||
PR target/64411
|
||||
|
@ -4262,8 +4262,9 @@ invoke_aftermath_hooks (fence_t fence, rtx_insn *best_insn, int issue_more)
|
||||
issue_more);
|
||||
memcpy (FENCE_STATE (fence), curr_state, dfa_state_size);
|
||||
}
|
||||
else if (GET_CODE (PATTERN (best_insn)) != USE
|
||||
&& GET_CODE (PATTERN (best_insn)) != CLOBBER)
|
||||
else if (!DEBUG_INSN_P (best_insn)
|
||||
&& GET_CODE (PATTERN (best_insn)) != USE
|
||||
&& GET_CODE (PATTERN (best_insn)) != CLOBBER)
|
||||
issue_more--;
|
||||
|
||||
return issue_more;
|
||||
|
@ -1,3 +1,8 @@
|
||||
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
|
||||
|
||||
PR rtl-optimization/63384
|
||||
* g++.dg/pr63384.C: New test.
|
||||
|
||||
2016-03-15 Andrey Belevantsev <abel@ispras.ru>
|
||||
|
||||
PR target/64411
|
||||
|
12
gcc/testsuite/g++.dg/pr63384.C
Normal file
12
gcc/testsuite/g++.dg/pr63384.C
Normal file
@ -0,0 +1,12 @@
|
||||
/* { dg-do compile { target powerpc*-*-* ia64-*-* i?86-*-* x86_64-*-* } } */
|
||||
/* { dg-options "-O2 -fselective-scheduling2 -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fsel-sched-reschedule-pipelined -fvar-tracking-assignments-toggle -ftree-vectorize" } */
|
||||
|
||||
template <class T> T **make_test_matrix() {
|
||||
T **data = new T *;
|
||||
for (int i = 0; i < 1000; i++)
|
||||
;
|
||||
}
|
||||
|
||||
template <typename T> void test() { T **c = make_test_matrix<T>(); }
|
||||
|
||||
main() { test<float>(); }
|
Loading…
x
Reference in New Issue
Block a user