diff options
author | dpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-27 21:44:55 +0000 |
---|---|---|
committer | dpatel <dpatel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-09-27 21:44:55 +0000 |
commit | 6d03809a5c7305226b48fd601d7f197586f73be2 (patch) | |
tree | e16ad23964e27638c0cf9040bb26c64666d13029 | |
parent | 839904a0e3a1859cdfeb5ff23e5263c332f347fa (diff) | |
download | gcc-6d03809a5c7305226b48fd601d7f197586f73be2.tar.gz |
PR tree-optimization/23625
* tree-flow-inline.h (bsi_after_labels): Remove, first statement is
LABEL_EXPR, assertion check.
* gcc.dg/PR23625.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@104711 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr23625.c | 27 | ||||
-rw-r--r-- | gcc/tree-flow-inline.h | 9 |
4 files changed, 40 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d1db15ee091..8963cab452d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2005-09-27 Daniel Berlin <dberlin@dberlin.org> + Devang Patel <dpatel@apple.com> + + PR tree-optimization/23625 + * tree-flow-inline.h (bsi_after_labels): Remove, first statement is + LABEL_EXPR, assertion check. + 2005-09-27 J"orn Rennecke <joern.rennecke@st.com> * optabs.c (no_conflict_move_test): Check if a result of a diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9fd016a1eef..61bf586dbf8 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-09-27 Devang Patel <dpatel@apple.com> + + PR tree-optimization/23625 + * gcc.dg/pr23625.c: New test. + 2005-09-27 Uros Bizjak <uros@kss-loka.si> * gcc.target/i386/pr22585.c: Run on 32-bit x86 only. diff --git a/gcc/testsuite/gcc.dg/pr23625.c b/gcc/testsuite/gcc.dg/pr23625.c new file mode 100644 index 00000000000..aaeddb2886d --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr23625.c @@ -0,0 +1,27 @@ +/* Test case for PR23625 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -ftree-vectorize -ftree-loop-linear" } */ + +typedef long INT32; +void find_best_colors () +{ +int ic0, ic1, ic2; +INT32 * bptr; +INT32 dist1; +INT32 dist2; +INT32 xx1; +for (ic0 = (1<<(5 -3))-1;ic0 >= 0;ic0--) +{ + for (ic1 = (1<<(6 -3))-1;ic1 >= 0;ic1--) + { + dist2 = dist1; + for (ic2 = (1<<(5 -3))-1;ic2 >= 0;ic2--) + { + *bptr = dist2; + bptr++; + } + dist1 += xx1; + } +} +} + diff --git a/gcc/tree-flow-inline.h b/gcc/tree-flow-inline.h index b317c8ccc9a..d8b57a556af 100644 --- a/gcc/tree-flow-inline.h +++ b/gcc/tree-flow-inline.h @@ -727,7 +727,7 @@ bsi_start (basic_block bb) return bsi; } -/* Return a block statement iterator that points to the last label in +/* Return a block statement iterator that points to the first non-label block BB. */ static inline block_stmt_iterator @@ -750,13 +750,6 @@ bsi_after_labels (basic_block bb) if (tsi_end_p (bsi.tsi)) return bsi; - /* Ensure that there are some labels. The rationale is that we want - to insert after the bsi that is returned, and these insertions should - be placed at the start of the basic block. This would not work if the - first statement was not label; rather fail here than enable the user - proceed in wrong way. */ - gcc_assert (TREE_CODE (tsi_stmt (bsi.tsi)) == LABEL_EXPR); - next = bsi.tsi; tsi_next (&next); |