OSDN Git Service

libgo: Update to weekly.2011-12-14.
[pf3gnuchains/gcc-fork.git] / gcc / tree-complex.c
index 3429851..0547fcf 100644 (file)
@@ -956,7 +956,7 @@ expand_complex_libcall (gimple_stmt_iterator *gsi, tree ar, tree ai,
             (BUILT_IN_COMPLEX_DIV_MIN + mode - MIN_MODE_COMPLEX_FLOAT));
   else
     gcc_unreachable ();
-  fn = built_in_decls[bcode];
+  fn = builtin_decl_explicit (bcode);
 
   stmt = gimple_build_call (fn, 4, ar, ai, br, bi);
   gimple_call_set_lhs (stmt, lhs);
@@ -1569,11 +1569,6 @@ tree_lower_complex (void)
   gimple_stmt_iterator gsi;
   basic_block bb;
 
-  /* With errors, normal optimization passes are not run.  If we don't
-     lower complex operations at all, rtl expansion will abort.  */
-  if (cfun->curr_properties & PROP_gimple_lcx)
-    return 0;
-
   if (!init_dont_simulate_again ())
     return 0;
 
@@ -1628,8 +1623,7 @@ struct gimple_opt_pass pass_lower_complex =
   PROP_gimple_lcx,                     /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func
-    | TODO_ggc_collect
+    TODO_ggc_collect
     | TODO_update_ssa
     | TODO_verify_stmts                        /* todo_flags_finish */
  }
@@ -1639,7 +1633,9 @@ struct gimple_opt_pass pass_lower_complex =
 static bool
 gate_no_optimization (void)
 {
-  return true;
+  /* With errors, normal optimization passes are not run.  If we don't
+     lower complex operations at all, rtl expansion will abort.  */
+  return !(cfun->curr_properties & PROP_gimple_lcx);
 }
 
 struct gimple_opt_pass pass_lower_complex_O0 =
@@ -1657,8 +1653,7 @@ struct gimple_opt_pass pass_lower_complex_O0 =
   PROP_gimple_lcx,                     /* properties_provided */
   0,                                   /* properties_destroyed */
   0,                                   /* todo_flags_start */
-  TODO_dump_func
-    | TODO_ggc_collect
+  TODO_ggc_collect
     | TODO_update_ssa
     | TODO_verify_stmts                        /* todo_flags_finish */
  }