+2008-01-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/34966
+ * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but
+ default defs and PHI_NODEs we have to insert after the
+ defining statement.
+
2008-01-24 Nick Clifton <nickc@redhat.com>
* config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD):
+2008-01-25 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/34966
+ * gcc.c-torture/compile/pr34966.c: New testcase.
+
2008-01-25 Richard Guenther <rguenther@suse.de>
PR c++/33887
--- /dev/null
+extern double sin (double), cos (double);
+
+__inline double
+atan (double __x)
+{
+ register double __result;
+ __asm __volatile__ ("" : "=t" (__result) : "0" (__x));
+ return __result;
+}
+
+double
+f(double x)
+{
+ double t = atan (x);
+ return cos (t) + sin (t);
+}
+
call = build_call_expr (fndecl, 1, name);
stmt = build_gimple_modify_stmt (res, call);
def_stmt = SSA_NAME_DEF_STMT (name);
- if (bb_for_stmt (def_stmt) == top_bb
- && TREE_CODE (def_stmt) == GIMPLE_MODIFY_STMT)
+ if (!SSA_NAME_IS_DEFAULT_DEF (name)
+ && TREE_CODE (def_stmt) != PHI_NODE
+ && bb_for_stmt (def_stmt) == top_bb)
{
bsi = bsi_for_stmt (def_stmt);
bsi_insert_after (&bsi, stmt, BSI_SAME_STMT);