Mercurial > hg > CbC > CbC_gcc
diff gcc/tree-complex.c @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children | f6334be47118 |
line wrap: on
line diff
--- a/gcc/tree-complex.c Fri Feb 12 23:41:23 2010 +0900 +++ b/gcc/tree-complex.c Mon May 24 12:47:05 2010 +0900 @@ -1,5 +1,5 @@ /* Lower complex number operations to scalar operations. - Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 + Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GCC. @@ -23,8 +23,6 @@ #include "coretypes.h" #include "tm.h" #include "tree.h" -#include "rtl.h" -#include "real.h" #include "flags.h" #include "tree-flow.h" #include "gimple.h" @@ -1622,7 +1620,7 @@ 0, /* static_pass_number */ TV_NONE, /* tv_id */ PROP_ssa, /* properties_required */ - 0, /* properties_provided */ + PROP_gimple_lcx, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ TODO_dump_func @@ -1633,32 +1631,12 @@ }; -/* Entry point for complex operation lowering without optimization. */ - -static unsigned int -tree_lower_complex_O0 (void) -{ - int old_last_basic_block = last_basic_block; - gimple_stmt_iterator gsi; - basic_block bb; - - FOR_EACH_BB (bb) - { - if (bb->index >= old_last_basic_block) - continue; - - for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) - expand_complex_operations_1 (&gsi); - } - return 0; -} - static bool gate_no_optimization (void) { /* With errors, normal optimization passes are not run. If we don't lower complex operations at all, rtl expansion will abort. */ - return optimize == 0 || sorrycount || errorcount; + return !(cfun->curr_properties & PROP_gimple_lcx); } struct gimple_opt_pass pass_lower_complex_O0 = @@ -1667,16 +1645,18 @@ GIMPLE_PASS, "cplxlower0", /* name */ gate_no_optimization, /* gate */ - tree_lower_complex_O0, /* execute */ + tree_lower_complex, /* execute */ NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ TV_NONE, /* tv_id */ PROP_cfg, /* properties_required */ - 0, /* properties_provided */ + PROP_gimple_lcx, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ - TODO_dump_func | TODO_ggc_collect - | TODO_verify_stmts, /* todo_flags_finish */ + TODO_dump_func + | TODO_ggc_collect + | TODO_update_ssa + | TODO_verify_stmts /* todo_flags_finish */ } };