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
+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
--- /dev/null
+/* PR tree-opt/35737 */
+
+long buf[10];
+
+int foo()
+{
+ __complex__ int i = 0;
+
+ if (__builtin_setjmp(buf))
+ {
+ i = 1;
+ bar();
+ }
+
+ return i == 0;
+}
+
/* 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;