re PR tree-optimization/35737 (ICE with __builtin_setjmp and complex variable)
PR tree-opt/35737 * tree-complex.c (set_component_ssa_name): Don't optimize is_gimple_min_invariant values with ssa_names in abnormal phis. From-SVN: r140812
This commit is contained in:
parent
2d66eeeb56
commit
35a45bd40e
3 changed files with 25 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-10-01 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR tree-opt/35737
|
||||
* tree-complex.c (set_component_ssa_name): Don't optimize
|
||||
is_gimple_min_invariant values with ssa_names in abnormal phis.
|
||||
|
||||
2008-09-30 Paolo Bonzini <bonzini@gnu.org>
|
||||
|
||||
PR tree-optimization/37662
|
||||
|
|
17
gcc/testsuite/gcc.c-torture/compile/complex-6.c
Normal file
17
gcc/testsuite/gcc.c-torture/compile/complex-6.c
Normal file
|
@ -0,0 +1,17 @@
|
|||
/* PR tree-opt/35737 */
|
||||
|
||||
long buf[10];
|
||||
|
||||
int foo()
|
||||
{
|
||||
__complex__ int i = 0;
|
||||
|
||||
if (__builtin_setjmp(buf))
|
||||
{
|
||||
i = 1;
|
||||
bar();
|
||||
}
|
||||
|
||||
return i == 0;
|
||||
}
|
||||
|
|
@ -537,7 +537,8 @@ set_component_ssa_name (tree ssa_name, bool imag_p, tree value)
|
|||
/* If we've nothing assigned, and the value we're given is already stable,
|
||||
then install that as the value for this SSA_NAME. This preemptively
|
||||
copy-propagates the value, which avoids unnecessary memory allocation. */
|
||||
else if (is_gimple_min_invariant (value))
|
||||
else if (is_gimple_min_invariant (value)
|
||||
&& !SSA_NAME_OCCURS_IN_ABNORMAL_PHI (ssa_name))
|
||||
{
|
||||
VEC_replace (tree, complex_ssa_name_components, ssa_name_index, value);
|
||||
return NULL;
|
||||
|
|
Loading…
Add table
Reference in a new issue