OSDN Git Service

* ifcvt.c (cond_exec_find_if_block): Return FALSE if no
[pf3gnuchains/gcc-fork.git] / gcc / cfgexpand.c
index b91af8e..b0ea1fc 100644 (file)
@@ -1,5 +1,5 @@
 /* A pass for lowering trees to RTL.
-   Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -1516,9 +1516,12 @@ expand_gimple_basic_block (basic_block bb)
          /* For the benefit of calls.c, converting all this to rtl,
             we need to record the call expression, not just the outer
             modify statement.  */
-         if (call && call != stmt
-             && (region = lookup_stmt_eh_region (stmt)) > 0)
-           add_stmt_to_eh_region (call, region);
+         if (call && call != stmt)
+           {
+             if ((region = lookup_stmt_eh_region (stmt)) > 0)
+               add_stmt_to_eh_region (call, region);
+             gimple_duplicate_stmt_histograms (cfun, call, cfun, stmt);
+           }
          if (call && CALL_EXPR_TAILCALL (call))
            {
              bool can_fallthru;
@@ -1826,7 +1829,7 @@ tree_expand_cfg (void)
 
   compact_blocks ();
 #ifdef ENABLE_CHECKING
-  verify_flow_info();
+  verify_flow_info ();
 #endif
 
   /* There's no need to defer outputting this function any more; we