This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: pretty-ipa merge 16: EH redirection


On Sat, Apr 25, 2009 at 6:04 AM, Jan Hubicka<hubicka@ucw.cz> wrote:
> Hi,
> this is updated patch I am re-testing.
> For now I left except.h/tree-flow.h split as it is and also didn't
> remove tree-flow.h dependency of except.c. I am not sure adding extra
> bits to redirect_eh_edge_to_label to handle label lists instead of
> using gimple_block_label is going to help anything unless we really
> want to do redirection on RTL land too.
>
> Honza
>
> ? ? ? ?* tree.c (list_equal_p): New function.
> ? ? ? ?* tree.h (list_equal_p): Declare.
> ? ? ? ?* coretypes.h (edge_def, edge, const_edge, basic_block_def
> ? ? ? ?basic_block_def, basic_block, const_basic_block): New.
> ? ? ? ?* tree-eh.c (make_eh_edge): EH edges are not abnormal.
> ? ? ? ?(redirect_eh_edge): New function.
> ? ? ? ?(make_eh_edge_update_phi): EH edges are not abnormal.
> ? ? ? ?* except.c: Include tree-flow.h.
> ? ? ? ?(list_match): New function.
> ? ? ? ?(eh_region_replaceable_by_p): New function.
> ? ? ? ?(replace_region): New function.
> ? ? ? ?(hash_type_list): New function.
> ? ? ? ?(hash_eh_region): New function.
> ? ? ? ?(eh_regions_equal_p): New function.
> ? ? ? ?(merge_peers): New function.
> ? ? ? ?(remove_unreachable_regions): Verify EH tree when checking;
> ? ? ? ?merge peers.
> ? ? ? ?(copy_eh_region_1): New function.
> ? ? ? ?(copy_eh_region): New function.
> ? ? ? ?(push_reachable_handler): New function.
> ? ? ? ?(build_post_landing_pads, dw2_build_landing_pads): Be ready for
> ? ? ? ?regions without label but with live RESX.
> ? ? ? ?* except.h (redirect_eh_edge_to_label): New.
> ? ? ? ?* tree-flow.h (redirect_eh_edge): New.
> ? ? ? ?* coretypes.h (edge_def, edge, const_edge, basic_block_def
> ? ? ? ?basic_block_def, basic_block, const_basic_block): Remove.
> ? ? ? ?* Makefile.in (except.o): Add dependency on tree-flow.h
> ? ? ? ?* tree-cfg.c (gimple_redirect_edge_and_branch): Handle EH edges.
> ? ? ? ?* basic-block.h (edge, const_edge, basic_block, const_basic_block):
> ? ? ? ?Remove.

Hi,

This caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40388

H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]