aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@kss-loka.si>2005-11-08 07:21:51 +0100
committerUros Bizjak <uros@gcc.gnu.org>2005-11-08 07:21:51 +0100
commitdfea1f6121293f7ddccc8a599ee4a70cf7a06ab7 (patch)
tree166d9955cced43acc0779bd5bba06c8452409cf5 /gcc
parent2c9c9afdba87b81834674c14cf9ae5f8ab6aecda (diff)
downloadgcc-dfea1f6121293f7ddccc8a599ee4a70cf7a06ab7.zip
gcc-dfea1f6121293f7ddccc8a599ee4a70cf7a06ab7.tar.gz
gcc-dfea1f6121293f7ddccc8a599ee4a70cf7a06ab7.tar.bz2
re PR target/19340 (Compilation SEGFAULTs with -O1 -fschedule-insns2 -fsched2-use-traces on an x86 architecture.)
PR target/19340 * reg-stack.c (reg_to_stack): Update register liveness also for flag_sched2_use_traces. testsuite/ PR target/19340 * gcc.dg/pr19340.c: New test. From-SVN: r106632
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/reg-stack.c2
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.dg/pr19340.c26
4 files changed, 39 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6e45b9e..1e22fd3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2005-11-08 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/19340
+ * reg-stack.c (reg_to_stack): Update register liveness also
+ for flag_sched2_use_traces.
+
2005-11-08 Alan Modra <amodra@bigpond.net.au>
PR target/23704
diff --git a/gcc/reg-stack.c b/gcc/reg-stack.c
index 34e2dd9..665311c 100644
--- a/gcc/reg-stack.c
+++ b/gcc/reg-stack.c
@@ -3046,7 +3046,7 @@ reg_to_stack (FILE *file)
Also need to rebuild life when superblock scheduling is done
as it don't update liveness yet. */
if (!optimize
- || (flag_sched2_use_superblocks
+ || ((flag_sched2_use_superblocks || flag_sched2_use_traces)
&& flag_schedule_insns_after_reload))
{
count_or_remove_death_notes (NULL, 1);
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9b09e79..95040bc 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-08 Uros Bizjak <uros@kss-loka.si>
+
+ PR target/19340
+ * gcc.dg/pr19340.c: New test.
+
2005-11-07 Ian Lance Taylor <ian@airs.com>
PR rtl-optimization/24683
@@ -5,7 +10,7 @@
2005-11-07 Uros Bizjak <uros@kss-loka.si>
- * gcc.dg/vect/pr24225.c: Add cleanup-coverage-files.
+ * gcc.dg/pr24225.c: Add cleanup-coverage-files.
* gcc.dg/vect/pr24300.c: Add cleanup-tree-dump.
2005-11-07 Uros Bizjak <uros@kss-loka.si>
diff --git a/gcc/testsuite/gcc.dg/pr19340.c b/gcc/testsuite/gcc.dg/pr19340.c
new file mode 100644
index 0000000..cac4b09
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr19340.c
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+/* { dg-options "-O1 -fschedule-insns2 -fsched2-use-traces" } */
+
+extern double f (double x);
+
+double g (int a)
+{
+ int b, c, d, e = 0;
+ double h;
+
+ for (d = 0; d < a; d++)
+ for (c = 0; c < a; c++)
+ b = 1;
+
+ h = (double) e / (double) a;
+
+ if (h)
+ {
+ h = 1.0 / h;
+ h = f (h);
+ }
+ else
+ h = 1.0;
+
+ return h;
+}