diff options
author | Xinliang David Li <davidxl@gcc.gnu.org> | 2011-06-09 22:49:12 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@gcc.gnu.org> | 2011-06-09 22:49:12 +0000 |
commit | 1f9081d15d2bfd28a5951d87f6e6f3fb254cdbdd (patch) | |
tree | 90db0a19c995b30c6d8bb39190ca384e0d63716e /gcc/tree-eh.c | |
parent | 54466dde7477a1ef8dacf54b89ab47ef59d83555 (diff) | |
download | gcc-1f9081d15d2bfd28a5951d87f6e6f3fb254cdbdd.zip gcc-1f9081d15d2bfd28a5951d87f6e6f3fb254cdbdd.tar.gz gcc-1f9081d15d2bfd28a5951d87f6e6f3fb254cdbdd.tar.bz2 |
Revert r174848,174849
From-SVN: r174864
Diffstat (limited to 'gcc/tree-eh.c')
-rw-r--r-- | gcc/tree-eh.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/gcc/tree-eh.c b/gcc/tree-eh.c index 7d27e0c..e87c32e 100644 --- a/gcc/tree-eh.c +++ b/gcc/tree-eh.c @@ -3234,9 +3234,6 @@ execute_lower_eh_dispatch (void) bool any_rewritten = false; bool redirected = false; - if (cfun->eh->region_tree == NULL) - return 0; - assign_filter_values (); FOR_EACH_BB (bb) @@ -3257,7 +3254,7 @@ execute_lower_eh_dispatch (void) static bool gate_lower_eh_dispatch (void) { - return true; + return cfun->eh->region_tree != NULL; } struct gimple_opt_pass pass_lower_eh_dispatch = @@ -3986,12 +3983,8 @@ execute_cleanup_eh_1 (void) static unsigned int execute_cleanup_eh (void) { - int ret; + int ret = execute_cleanup_eh_1 (); - if (cfun->eh == NULL || cfun->eh->region_tree == NULL) - return 0; - - ret = execute_cleanup_eh_1 (); /* If the function no longer needs an EH personality routine clear it. This exposes cross-language inlining opportunities and avoids references to a never defined personality routine. */ @@ -4005,7 +3998,7 @@ execute_cleanup_eh (void) static bool gate_cleanup_eh (void) { - return true; + return cfun->eh != NULL && cfun->eh->region_tree != NULL; } struct gimple_opt_pass pass_cleanup_eh = { |