re PR tree-optimization/33855 (Segfault in verify_ssa/execute_function_todo with -O)
PR tree-optimization/33855 * tree-ssa-phiopt.c (cond_store_replacement): Handle * COMPLEX_TYPE and VECTOR_TYPE. * gcc.c-torture/compile/pr33855.c: New testcase. From-SVN: r129551
This commit is contained in:
parent
174f8765a8
commit
22a5d0133d
4 changed files with 41 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2007-10-22 Michael Matz <matz@suse.de>
|
||||
|
||||
PR tree-optimization/33855
|
||||
* tree-ssa-phiopt.c (cond_store_replacement): Handle COMPLEX_TYPE
|
||||
and VECTOR_TYPE.
|
||||
|
||||
2007-10-22 Ira Rosen <irar@il.ibm.com>
|
||||
|
||||
PR tree-optimization/33854
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2007-10-22 Michael Matz <matz@suse.de>
|
||||
|
||||
PR tree-optimization/33855
|
||||
* gcc.c-torture/compile/pr33855.c: New testcase.
|
||||
|
||||
2007-10-22 Ira Rosen <irar@il.ibm.com>
|
||||
|
||||
PR tree-optimization/33854
|
||||
|
|
27
gcc/testsuite/gcc.c-torture/compile/pr33855.c
Normal file
27
gcc/testsuite/gcc.c-torture/compile/pr33855.c
Normal file
|
@ -0,0 +1,27 @@
|
|||
/* Testcase by Martin Michlmayr <tbm@cyrius.com> */
|
||||
/* Used to segfault due to cselim not marking the complex temp var
|
||||
as GIMPLE reg. */
|
||||
|
||||
typedef struct {
|
||||
int nsant, nvqd;
|
||||
_Complex long double *vqd;
|
||||
} vsorc_t;
|
||||
vsorc_t vsorc;
|
||||
|
||||
void foo(int next_job, int ain_num, int iped, long t) {
|
||||
long double zpnorm;
|
||||
|
||||
while (!next_job)
|
||||
if (ain_num)
|
||||
{
|
||||
if (iped == 1)
|
||||
zpnorm = 0.0;
|
||||
int indx = vsorc.nvqd-1;
|
||||
vsorc.vqd[indx] = t*1.0fj;
|
||||
if (cabsl(vsorc.vqd[indx]) < 1.e-20)
|
||||
vsorc.vqd[indx] = 0.0fj;
|
||||
zpnorm = t;
|
||||
if (zpnorm > 0.0)
|
||||
iped = vsorc.nsant;
|
||||
}
|
||||
}
|
|
@ -1287,6 +1287,9 @@ cond_store_replacement (basic_block middle_bb, basic_block join_bb,
|
|||
{
|
||||
condstoretemp = create_tmp_var (TREE_TYPE (lhs), "cstore");
|
||||
get_var_ann (condstoretemp);
|
||||
if (TREE_CODE (TREE_TYPE (lhs)) == COMPLEX_TYPE
|
||||
|| TREE_CODE (TREE_TYPE (lhs)) == VECTOR_TYPE)
|
||||
DECL_GIMPLE_REG_P (condstoretemp) = 1;
|
||||
}
|
||||
add_referenced_var (condstoretemp);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue