X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=5f9b9c14a4048dbf92dae68e65b7d6def212ebc9;hp=1d54be6542407bc0f51ddc0bbdfb666cfb566839;hb=68e09621f09746e2e15e58cb102b537543eda6cd;hpb=bb22691bd0d87521079f5d6a7d4c5ac442ce7b56 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1d54be65424..5f9b9c14a40 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,58 @@ +2009-03-29 Steven Bosscher + + * regmove.c (perhaps_ends_bb_p): Remove. + (optimize_reg_copy_1): Don't call perhaps_ends_bb_p. Get basic block + from INSN and check that the main loop stays within that basic block. + (optimize_reg_copy_1, optimize_reg_copy_3, fixup_match_2): Likewise. + (regmove_forward_pass): Split out from regmove_optimize. Use + FOR_EACH_BB and FOR_BB_INSNS instead of traversing the insns stream. + (regmove_backward_pass): Split out from regmove_optimize. Use + FOR_EACH_BB_REVERSE and FOR_BB_INSNS_REVERS_SAFE. + (regmove_optimize): Simplify. + +2009-03-29 H.J. Lu + + PR target/39545 + * config/i386/i386.c (classify_argument): Ignore flexible array + member in struct and warn ABI change. + +2009-03-29 H.J. Lu + + * config/i386/i386-protos.h (ix86_agi_dependent): New. + + * config/i386/i386.c (ix86_agi_dependent): Rewrite. + (ix86_adjust_cost): Updated. + +2009-03-29 Jan Hubicka + + PR middle-end/28850 + * tree-pass.h (pass_cleanup_eh): New function. + (remove_unreachable_regions): Break code handling RTL + to rtl_remove_unreachable_regions; remove ERT_MUST_NOT_THROW + that can not be reached by runtime. + (can_be_reached_by_runtime): New function. + (label_to_region_map): New function. + (num_eh_regions): New function. + (rtl_remove_unreachable_regions): New function. + (convert_from_eh_region_ranges): Call rtl_remove_unreachable_regions. + (remove_eh_region): New function. + * except.h: Include sbitmap and vecprim. + (remove_eh_region, remove_unreachable_regions, label_to_region_map, + num_eh_regions): Declare. + * passes.c (init_optimization_passes): Schedule cleanup_eh. + * Makefile.in (EXCEPT_H): New; replace all uses of except.h + by it. + * tree-eh.c (tree_remove_unreachable_handlers): New function. + (tree_empty_eh_handler_p): New function. + (cleanup_empty_eh): New function. + (cleanup_eh): New function. + (pass_cleanup_eh): New function. + +2009-03-29 Jan Hubicka + + * except.c (verify_eh_tree): Fix handling of fun!=cfun; be ready + for removed regions. + 2009-03-29 Jan Hubicka * except.c (dump_eh_tree): Dump all datastructures.