mirror of git://gcc.gnu.org/git/gcc.git
re PR tree-optimization/23625 (ICE: in bsi_after_labels, at tree-flow-inline.h:758)
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.
From-SVN: r104711
This commit is contained in:
parent
118ea208fa
commit
93954fcc89
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue